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