Hello, so I understand the issue better, and read through the quite reasonable doc. This is mostly an FYI reply to share what I learned, although any tips would be appreciated of course.
The issue is that the shell has changed, though I am not sure why. Thus my .bashrc file does not run, and thus the prompt is not set. When I ssh to a machine, it runs the shell found in /etc/passwd. When I run a remote shell from Tramp, though it makes use of ssh (it seems), it runs /bin/sh. I am not sure if a linux update on the server changed /bin/sh from bash to dash, but I would not be surprised. Discussion on that has been going on for years. It seems more likely that something has changed in the way ssh is being invoked. So, I gather that Tramp wants to pick the shell, and it will not come from /etc/passwd. Is there a way to configure that? There was some mention of a /etc/passwd reader function in the docs. This would be the best solution. A solution that would work for me is to always use /usr/bin/bash. I found various things in the doc for coercing Tramp to pick a different shell: ;(add-to-list 'tramp-connection-properties ; (list (regexp-quote "/ssh:[email protected] :") ; "remote-shell" "/usr/bin/bash")) ; ;(customize-set-variable 'tramp-encoding-shell "/usr/bin/bash") (connection-local-set-profile-variables 'remote-bash '((explicit-shell-file-name . "/bin/bash") (explicit-bash-args . ("-i")))) (connection-local-set-profiles '(:application tramp :protocol "ssh" :machine "localhost") 'remote-bash) (connection-local-set-profiles '(:application tramp :protocol "ssh" :machine "reasoningtechnology.com") 'remote-bash) The commented out lines did nothing. Perhaps if I play around with it more. Actually given that is a regular expression, perhaps I should just match '.*', as I always use bash anyway. The other lines convinced Tramp to call /usr/bin/bash on the one account, but the sudo root stuff is still runing /bin/sh. I will play around with that more also. Again, the shell specified in /etc/passwd would be best, but /usr/bin/bash would work for me. Hmm, I wonder if my .bashrc to .shrc would also get my prompt set... Now that I understand what is happening, I have found a reasonable work around. I just run bash at the first prompt, the .bashrc runs and the prompt is set, then life is good. Thanks again. Tramp is a wonderful tool. If the dired stuff works remotely. It is a blessing for emacs users. On Thu, Sep 24, 2020 at 4:33 PM Michael Albinus <[email protected]> wrote: > Thomas Walker Lynch <[email protected]> writes: > > Hi Thomas, > > > Thanks Michael. Looks like I should have gone to the Tramp manual, > > Don't worry. My experience is, that *nobody* reads the manual. > Sometimes, I have the impression I write it just for myself, in case I > have forgotten something ... > > > but I was confused. It truly was working before. It is tied into my > > dirtrack and elsewhere so there is no way I could have confused that. > > I also modify the prompt when entering projects by adding the project > > name. I developed a lot of code using remote access through Tramp. I > > also set an inside emacs environment variable in scripts. RTFM time . > > .. why every time I ask a question ... > > If anything is not clear, just ask. And if it isn't clear in the manual, > tell it. I'm not a native English speaker ... > > Best regards, Michael. >
