From: Erik Hetzner <egh@e6h.org>
To: Michael Albinus <michael.albinus@gmx.de>
Cc: 46466@debbugs.gnu.org
Subject: bug#46466: 28.0.50; Tramp hangs with bad prompt even when using /bin/sh
Date: Sat, 13 Feb 2021 09:07:50 -0800 [thread overview]
Message-ID: <60280767.1c69fb81.2aa53.b38c@mx.google.com> (raw)
In-Reply-To: <87eehkbb74.fsf@gmx.de>
Hi Michael,
On Sat, 13 Feb 2021 00:53:35 -0800,
Michael Albinus <michael.albinus@gmx.de> wrote:
>
> […]
>
> What is /bin/sh, both locally and remote? In my case, running Fedora 33,
> I see
>
> --8<---------------cut here---------------start------------->8---
> # ls -l /bin/sh
> lrwxrwxrwx. 1 root root 4 Jul 27 2020 /bin/sh -> bash
> --8<---------------cut here---------------end--------------->8---
Good question, I should have mentioned that. I have tested this on
both debian and ubuntu, where /bin/sh is linked to dash
$ ls -l /bin/sh
lrwxrwxrwx 1 root root 4 Dec 10 05:23 /bin/sh -> dash
As a follow up, I suspect that in some way this is expected behavior.
I see that the *sshx* connection method specifies the shell to run
when connecting, whereas the *ssh* connection method connects without
specifying a command, and therefore starts a default remote shell.
This suggests a fix which turns out to works. The behavior is fixed,
for me, by adding `("-o" "RemoteCommand='%l'")` to the list of
`tramp-login-args' for `tramp-methods' (see below).
It is also possible to set the PS1 value directly with this remote
command, e.g. `("-o" "RemoteCommand='PS1=\"$ \" %l'")`, which might
provide even more safety against unusual prompts.
Is this a patch that would be welcome? It would fix cases where users
had more elaborate prompts in their default shell and where /bin/sh
was a simpler shell (debian and ubuntu, at least). Unusual prompts are
more and more popular, but users to do not usually enable them for
/bin/sh. However, it might have effects that I am not aware of.
```
(add-to-list 'tramp-methods
`("ssh"
(tramp-login-program "ssh")
(tramp-login-args (("-l" "%u") ("-p" "%p") ("%c")
("-e" "none")
("-o" "RemoteCommand='%l'") ("%h")))
(tramp-async-args (("-q")))
(tramp-direct-async t)
(tramp-remote-shell ,tramp-default-remote-shell)
(tramp-remote-shell-login ("-l"))
(tramp-remote-shell-args ("-c"))))
```
best, Erik
next prev parent reply other threads:[~2021-02-13 17:07 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-02-12 18:14 bug#46466: 28.0.50; Tramp hangs with bad prompt even when using /bin/sh Erik Hetzner
2021-02-13 8:53 ` Michael Albinus
2021-02-13 17:07 ` Erik Hetzner [this message]
2021-02-14 14:37 ` Michael Albinus
2021-02-14 17:28 ` Erik Hetzner
2021-06-14 12:10 ` Michael Albinus
2021-06-16 14:38 ` Erik Hetzner
2021-06-19 8:48 ` Michael Albinus
2021-06-24 4:40 ` Erik Hetzner
2021-06-24 15:19 ` Michael Albinus
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.gnu.org/software/emacs/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=60280767.1c69fb81.2aa53.b38c@mx.google.com \
--to=egh@e6h.org \
--cc=46466@debbugs.gnu.org \
--cc=michael.albinus@gmx.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).