|
From: | yary |
Subject: | Re: Set PS1 on login? |
Date: | Mon, 11 Jun 2018 10:03:29 -0700 |
...you can pass information in the TERM
environment variable, which is always copied (there may be a length limit however). You'll still have to make sure that the remote shell doesn't restrict the TERM
variable to designate a known terminal type. Pass the -t
option to ssh if you're not starting a remote interactive shell.
env TERM="extra information:$TERM" ssh -t server.example.com 'MYVAR=${TERM%:*}; TERM=${TERM##*:}; export MYVAR; mycommand'
You may have an alternate way of setting PS1 at the client, though the server may be configured to ignore it. The ssh man page says this on my system:
Additionally, ssh reads ~/.ssh/environment, and adds lines of the format ``VARNAME=vale'' to the environment if the file exists and users are allowed to change their environment. For more information, see the PermitUserEnvironment option in sshd_config(5).-yOn Mon, Jun 11, 2018 at 9:29 AM, Michael Albinus <address@hidden> wrote:John Collins <address@hidden> writes:
> Hello,
Hi John,
> Happy (mostly) tramp user here that is also very new to it. As someone
> working with remote machines that I do not own or control, TRAMPs
> inability to handle fancy prompts is highly crippling. It's stated in
> the FAQ that "tramp needs a clean recognizable prompt on the remote
> host for accurate parsing". What I don't understand is why tramp can't
> set PS1 when logging in the typical way one does:
>
> ssh ... -t 'PS1='$'; bash -i'
>
> When I modify tramp-maybe-open-connection to do this it works just
> fine; I'm able to login to a remote that would hang with the message:
>
> Tramp: Waiting for prompts from remote shell...fail
>
> I figure there is a good reason this can't be done, but wanted to
> raise the issue just in case.
ssh does not allow this kind of environment passing. Try in your local
shell
--8<---------------cut here---------------start------------->8---
# ssh localhost "PS1='$ '; /bin/sh"
--8<---------------cut here---------------end--------------->8---
or
--8<---------------cut here---------------start------------->8---
# ssh localhost "/usr/bin/env PS1='$ ' /bin/sh"
--8<---------------cut here---------------end--------------->8---
It doesn't work. Therefore, Tramp cannot use this mechanism.
Instead, Tramp recommends to adapt the remote prompt by something like
this in the remote ~/.profile:
--8<---------------cut here---------------start------------->8---
[ $TERM = "dumb" ] PS1='$ '
--8<---------------cut here---------------end--------------->8---
> Regards,
>
> John C.
Best regards, Michael.
_______________________________________________
Tramp-devel mailing list
address@hidden
https://lists.gnu.org/mailman/listinfo/tramp-devel
[Prev in Thread] | Current Thread | [Next in Thread] |