tramp-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Set PS1 on login?


From: John Collins
Subject: Re: Set PS1 on login?
Date: Mon, 11 Jun 2018 23:08:00 -0700

Thanks for the fast responses. Apologies, I should have red the man page more carefully. That looks like a good solution.

On Mon, Jun 11, 2018, 10:03 AM yary <address@hidden> wrote:
Or better see https://superuser.com/questions/163167/when-sshing-how-can-i-set-an-environment-variable-on-the-server-that-changes-f

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



-y

On Mon, Jun 11, 2018 at 9:49 AM, yary <address@hidden> wrote:
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).


-y

On 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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]