[Top][All Lists]

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

Re: Set PS1 on login?

From: yary
Subject: Re: Set PS1 on login?
Date: Mon, 11 Jun 2018 10:03:29 -0700

Or better see 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 'MYVAR=${TERM%:*}; TERM=${TERM##*:}; export MYVAR; mycommand'


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


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

--8<---------------cut here---------------start------------->8---
# ssh localhost "PS1='$ '; /bin/sh"
--8<---------------cut here---------------end--------------->8---


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

reply via email to

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