Автоматизированные визуальные подсказки для входа на разные машины?

335
einpoklum

Я часто работаю с 3-мя машинами одновременно, несколько сессий на X, несколько на Y, и Z - моя локальная машина, так что, очевидно, некоторые сессии там - все сидят в терминальных окнах / вкладках.

Дело в том, что я часто путаю свою локальную машину с какой-то удаленной, и это приводит к забавным, но иногда несколько трагическим результатам.

Я хотел бы иметь сильные визуальные сигналы, которые автоматически активируются при входе в систему на другой машине, для которой я установлен, или, по крайней мере, сигналы, которые значительно различаются для разных машин.

До сих пор я вручную переключал цветовую схему для удаленных хостов (используя Konsole), но это: 1. вручную и 2. не различает разные хосты. И 1. руководство, это самая раздражающая часть. Если вы забудете сделать этот параметр, вы получите ложное чувство безопасности.

Заметки:

  • У меня уже есть PS1 с указанием имени хоста, мне нужно нечто более привлекательное, чем это.
  • Подойдет любая разумная эвристика для решения, когда я переключил хосты, и вы можете предположить, что я использую ssh, только если это помогает.
  • Решения, которые также поддерживают SSHing-внутри-SSHing, приветствуются.
  • Я особенно (но не исключительно) интересуюсь приложениями эмулятора терминала, которые позволяют вам управлять не только фоном в виде сплошного цвета, но также иметь какое-то изображение, плавающее где-то, или изменять цвет панели заголовка сеанса / строки окна или другого виды наворотов. На самом деле, что-то с настоящими наворотами, вероятно, сработает :-)
0
Корректировка подсказки (PS1) с использованием цветов и / или специфических для хоста строк в .rc оболочки - это наиболее распространенный способ избежать подобных катастроф. На самом деле, это тоже не абсолютная безопасность. Если вы нигде не будете получать права root, но будете использовать собственные идентификаторы и запускать все чувствительные с помощью sudo, иметь РАЗЛИЧНЫЕ пароли на всех хостах (в любом случае, это обязательно, не так ли?) Действительно помешает вам запустить sudo ugly_command на X, пока вы этого хотите. бежать на Y. Gombai Sándor 8 лет назад 0
Кроме того, отображение правильных последовательностей цветов ANSI (echo -e '...') в .rc может установить фон сеанса. Просто попробуйте: echo -e "\ e [44m"; очистить Затем посмотрите это: https://en.wikipedia.org/wiki/ANSI_escape_code#Colors Gombai Sándor 8 лет назад 0
@ GombaiSándor: В любом случае, я везде работаю без полномочий root (в большинстве мест у меня даже нет root-доступа), так что это не сильно поможет. Полагаю, что раскраска моей подсказки с использованием escapess в PS1 может быть полезной. Если вы дадите ответ на этом примере, у вас будет голос :-) einpoklum 8 лет назад 0

2 ответа на вопрос

1
egmont

Посмотрите на Terminix . Он включает в себя такие функции, как цитирование их домашней страницы: «Автоматические (запускаемые) изменения профиля на основе имени хоста и каталога».

(Или iTerm2, если вы работаете на Mac, однако, в тот момент, когда вы используете Konsole, это, вероятно, не так.)

0
Gombai Sándor

My basic prompt:

$ echo $PS1 \u@\h\w\$ 

If I want the host to be green, I pick out the escape sequence of green from the ansi color list (\e[32m) and prepend the sequence of host (\h) with that and put the sequence of reset ([0m) so that other parts be with normal characters. Hence, my new PS1 is

export PS1='\u@\e[32m\h\e[0m\w\$ ' 

Putting it into my .bashrc would result in my choice of prompt at that host.

If I should want more, let's say my background to be cyan, then I would set the background sequence with an echo command and then just clear the screen:

echo -e '\e[46m'; clear 

Похожие вопросы