Michael Albinus <michael.albi...@gmx.de> writes:

Joel Reicher <joel.reic...@gmail.com> writes:

Users change tramp-default-remote-shell. And then, there is a good chance to benefit from tramp-sh-extra-args.

And that's kind of what I'm struggling with. I can see the default value for extra args caters for both bash and zsh. Let's imagine I have both; which one would be a "better Tramp buddy" as you say below?

Both could be good buddies. When used with care (proper shell arguments coming from tramp-sh-extra-args, sensitive settings in .profile). But Tramp doesn't recommend any of them; it is up to the user to change is she isn't happy with tramp-default-remote-shell. /bin/sh is the minimal consensus we could expect to exist remotely.

I was meaning to ask about tramp-default-remote-shell also. On my version of Tramp (2.7.3.30.2) it's not a defcustom and it's also not mentioned in the manual, so changing it doesn't seem to be "approved". Rather, the manual mentions customising tramp-connection-properties.

Is the default shell "supposed" to be changed?

And even as a third option I think invoking bash as sh enables some POSIX compatibility and disables some bash-specific features, so perhaps that's better still?

What do you mean with this?

"When invoked as sh, Bash enters POSIX mode after reading the startup files."

https://www.gnu.org/software/bash/manual/html_node/Bash-POSIX-Mode.html#Bash-POSIX-Mode-1

So it's possible this mode is an even better Tramp buddy than bash-as-bash with the extra args, but I don't know how to judge this. (Although the below suggests the opposite, which is exactly the kind of information I'm after.)

My problem here is that from what I can tell the remote shell is Tramp's agent, and I don't really know what helps Tramp the most. In the abstract I'm kind of a bit surprised it doesn't deploy a custom command loop with simple semantics implemented as an awk script or something like that. (Dependent on a good awk being available, of course.)

There's tramp-find-shell, which does kind of. Could be improved, of course, it is very rudimentary. And it still requires that Tramp has connected to the remote already with tramp-default-remote-shell.

That's very interesting. I think tilde expansion is exactly what I saw break on one of my remotes when the remote shell was /bin/sh, and the POSIX mode of bash does change tilde expansion. I didn't dig into the details enough to be sure that was the cause though.

Thanks and regards,

      - Joel

Reply via email to