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

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

I've only just started looking at how all this works so I'm sure there's a lot I don't understand, but it seems to me the intention of tramp-sh-extra-args is broken by the combination of it using a regex on bash, the default remote shell for tramp being /bin/sh, and then the (quite common) arrangement of the remote having a symlink from /bin/sh to /bin/bash. The result is then bash, but tramp doesn't know it and then never applies those extra args.

That is true. When tramp-sh-extra-args was added to Tramp (2002-06-19 according to the ChangeLog), this problem (/bin/sh is a link) didn't exist. And even now, on many remote systems (like my QNAP NAS), the setup is different.

However, I don't know a better way to know which shell variant is used on the remote system prior calling it.

Is this a problem? I don't know how important those extra args are, but things seem to work better with them.

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? 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?

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.)

The settings are not essential. They give just a set of arguments which help to be a better Tramp buddy. But if they aren't used, the Tramp manual gives you several hints for configuration of the remote shell, mainly based on the value of $TERM.

I do think I understand the options, but as I said above, I'm not sure how to figure out what I'm aiming for.

Thanks and regards,

      - Joel

Reply via email to