Когда я запускаю экран, он меняет мою подсказку. Как я могу предотвратить это поведение? Например:
$ echo $PS1
\[\e]0;\h:Prod\a\]\n\[\e[32m\]\u@\h \[\e[33m\]\w\[\e[0m\]\n\$
$ screen
$ echo $PS1
[\u@\h \W]\$
Интересно, что он не делает этого на других машинах. Речь идет о Redhat 4, обновление 4, версия Screen 4.00.02 (FAU) 5 декабря 2003 года.
linux
gnu-screen
Swoogan
источник
источник
Многие дистрибутивы проверяют тип терминала перед установкой приглашения. Ubuntu, например, содержит этот маленький драгоценный камень в файле по умолчанию .bashrc:
Так как screen использует свою собственную переменную TERM («screen»), bash считает, что не может отображать причудливую цветовую подсказку, поэтому по умолчанию используется более простая. Экран, конечно, полностью способен на те же сложные подсказки, что и обычный терминал.
Итак, чтобы переопределить это поведение, просто жестко установите предпочитаемые параметры PS1 в конце вашего
~/.bashrc
файла. Или, если вы чувствуете себя авантюрным, найдите тест, который проверяет значение переменной TERM и измените его так, чтобы он принимал «screen» в дополнение к «xterm-color».источник
Возможно, это настраиваемая переменная, которая установлена в файле ~ / .screenrc?
источник
Возникла та же проблема (больше нет пользовательских подсказок на экране) на машине с
SHELL -$SHELL
и нетsetenv PS1
на screenrc, и не было специального теста для (немого) терминала в bashrc.Установка используемого $ TERM:
в screenrc вернул мое пользовательское приглашение, находясь под экраном:
PS: другой аккаунт не нуждался в этом, но bashrc тестирует на dircolors и современный терминал следующим образом 1 :
Я считаю, что это также работает:
источник