Я бы хотел, чтобы цвет моего терминала менялся в зависимости от имени хоста. Мое объяснение этому заключается в основном в том, чтобы иметь и дополнительный способ напомнить себе, на каком сервере я работаю, чтобы я не делал глупостей.
Можно ли как-нибудь использовать стандартный фон баклажанов, если я нахожусь на локальном компьютере, а затем изменить красный, если я использую ssh на производственном веб-сервере или других хостах, которые я могу указать?
Ответы:
Вы можете использовать опцию localshmand в ssh / config для запуска команды, когда используется псевдоним. я использую
Это зависит от xtermcontrol и вашего термина xterm. Предположительно есть другие приложения для других условий.
Единственная проблема с этим подходом состоит в том, что это происходит, когда вы вызываете ssh. Там нет ничего, чтобы отменить изменение цвета. Я сделал это, обернув функцию вокруг ssh, но у этого тоже есть свои недостатки.
источник
Кажется, что нет никакой функциональности,
gnome-terminal
чтобы добавить новую вкладку в существующее окно из командной строки. Но есть несколько вариантов, чтобы выполнить то, что вы хотите.По профилям команд
Создайте новый
gnome-terminal
профиль для каждого хоста, с которым вы будете работать по SSH. Если у вас есть только несколько хостов, к которым вы регулярно подключаетесь, это может быть самым простым. Каждый профиль может иметь разные заголовок, цвет переднего плана, цвет фона, пользовательские команды и другие параметры. Затем вы можете использовать,File -> Open Tab
чтобы открыть новую вкладку с выбранным профилем.Повторно используемый профиль
Создайте новый
gnome-terminal
профиль, который будет использоваться для открытия нового окна каждый раз, когда вы хотите подключиться к другому хосту SSH (на основе этого ответа AskUbuntu, на который указал Стефано ). Это будет хорошо работать, если вы часто подключаетесь к разным хостам. Это не позволит вам различать разныеgnome-terminal
окна, где вы подключены к разным хостам, только по цветам фона / переднего плана, но у вас будет разный заголовок для каждого окна.gnome-terminal
профиль (File -> New Profile
) на основеDefault
профиля и назовите его «RemoteHost» (обратите внимание, в «RemoteHost» нет пробелов, чтобы упростить команды).Title and Command
вкладкой измените:Initial title:
на «Удаленный хост»When terminal commands set their own titles:
вReplace initial title
Colors
вкладкой измените:Use colors from system theme
Build-in schemes:
вCustom
Text color:
иBackground color:
цвета по вашему выбору. Имейте в виду, что некоторые команды (напримерls
) используют цвета для своего вывода, и вы не хотите выбирать цвета, которые затруднят чтение выходных данных.Close
кнопку, чтобы сохранить ваш новый профиль.gnome-terminal
окно для каждого удаленного хоста SSH с помощью командыgnome-terminal --window-with-profile=RemoteHost -t "Some Remote SSH Host" -x ssh user@somehost
.-t
Опция устанавливаетgnome-terminal
заголовок окна и-x
опция выполняет остальную часть командной строки в терминале. Вы могли бы даже сделать,alias
чтобы сократить общее количество нажатий клавиш.Командная строка
Я нашел эту запись в блоге с помощью следующего сценария , который использует
xdotool
иwmctrl
команды (они не были установлены по умолчанию в Ubuntu, так что вам , возможно , потребуется установить их первый) использоватьgnome-terminal
Ctrl+ Shift+ tклавиши быстрого доступа , чтобы открыть новую вкладку в текущемgnome-terminal
окне , Его можно изменить, чтобы открыть новую вкладку с определенным профилем и выполнить некоторую команду для вас.Другой
Вы можете проявить творческий подход и попробовать другие вещи.
Этот ответ SuperUser в основном использует немного акробатов «script-fu» для создания временного
gnome-terminal
профиля, который используется для открытия нового окна. Он может быть изменен для вашего использования.Возможно, вы могли бы использовать эти вопросы и ответы StackOverflow и другие акробаты «script-fu» для динамического изменения
gnome-terminal
заголовка всякий раз, когда вы подключаетесь к удаленному хосту по SSH. Он не будет таким заметным, как изменения цвета фона / переднего плана, но все время будет лучше, чем стандартныйTerminal
заголовок.источник
Это будет работать в Gnome, ЕСЛИ вы готовы использовать новое окно gnome-терминала для каждой сессии ssh.
Создайте новый профиль (с другим цветом фона) под названием «Удаленный»
Вставьте следующее в
.bash_aliases
или.bashrc
Теперь
sshc remote-machine
открывается новый сеанс gnome-терминала с профилем «Удаленный». это будет отличать локальные и удаленные профили.Чтобы разместить несколько профилей / хостов, создайте несколько профилей и поместите в них что-то вроде этого
.bash_aliases
:Теперь
sshc Production
откроется новое окно сеанса с использованием «красного» профиля,sshc Test
откроется новое окно сеанса с помощью «зеленого» профиля, а другие хосты будут использовать профиль «по умолчанию».источник
Сбор всей информации со стековых *** сайтов здесь - самое простое решение, которое я нашел для терминала mint mate + mate (так же, как для gnome).
sudo apt get install xdotool
Теперь вы можете изменить / etc / ssh / ssh_config, чтобы он мог изменять профиль после каждой сессии ssh:
Теперь, после того как каждое ssh-соединение установлено в терминале, профиль будет изменен, и вы больше никогда не будете помещать нежелательное обновление sql в производственную базу данных :)
Однако нет простого решения вернуться к профилю по умолчанию после закрытия ssh-соединения. Но это выглядит достаточно для меня, и я не стал искать дополнительную информацию.
источник