Gostaria que minha cor de fundo do terminal fosse alterada com base no nome do host. Meu raciocínio para isso é principalmente ter uma maneira extra de me lembrar em qual servidor estou, para não fazer algo estúpido.
Existe alguma maneira de fazê-lo usar o plano de fundo padrão de beringela se estiver na minha máquina local e depois mudar para vermelho se eu fizer um SSH em um servidor Web de produção ou em outros hosts que eu possa especificar?
Respostas:
Você pode usar a opção de comando local do ssh / config para executar um comando sempre que um alias for usado. eu uso
Isso depende do xtermcontrol e seu termo é xterm. Presumivelmente, existem outros aplicativos para outros termos.
O único problema com essa abordagem é que isso acontece quando você chama ssh. Não há nada para desfazer a mudança de cor. Eu fiz isso envolvendo uma função em torno do ssh, mas isso também tem suas desvantagens.
fonte
Não parece haver nenhuma funcionalidade
gnome-terminal
para adicionar uma nova guia a uma janela existente na linha de comando. Mas existem algumas opções para realizar o que você deseja.Perfis por comando
Crie um novo
gnome-terminal
perfil para cada host no qual você fará o SSH. Se você tiver apenas alguns hosts aos quais se conecta regularmente, isso pode ser o mais simples. Cada perfil pode ter um título diferente, cor de primeiro plano, cor de fundo, comando personalizado e outras configurações definidas. Em seguida, você pode usarFile -> Open Tab
para abrir uma nova guia com o perfil selecionado.Perfil reutilizável
Crie um novo
gnome-terminal
perfil que será usado para abrir uma nova janela sempre que desejar conectar-se a um host SSH diferente (com base nesta resposta do AskUbuntu que Stefano apontou). Isso funcionaria bem se você se conectar com muitos hosts diferentes com frequência. Isso não permitirá a distinção entregnome-terminal
janelas diferentes nas quais você está conectado a hosts diferentes apenas nas cores de plano de fundo / primeiro plano, mas você terá um título diferente por janela.gnome-terminal
perfil (File -> New Profile
) com base noDefault
perfil e chame-o de "RemoteHost" (observe, não há espaços no "RemoteHost" para facilitar os comandos).Title and Command
guia, altere:Initial title:
para "Host remoto"When terminal commands set their own titles:
paraReplace initial title
Colors
guia, altere:Use colors from system theme
Build-in schemes:
paraCustom
Text color:
eBackground color:
às cores de sua escolha. Lembre-se de que alguns comandos (comols
) usam cores para sua saída e você não deseja escolher cores que dificultem a leitura da saída.Close
botão para salvar seu novo perfil.gnome-terminal
janela para cada host SSH remoto usando o comandognome-terminal --window-with-profile=RemoteHost -t "Some Remote SSH Host" -x ssh user@somehost
. A-t
opção define ognome-terminal
título da janela e-x
executa o restante da linha de comando no terminal. Você pode atéalias
reduzir o total de pressionamentos de tecla.Linha de comando
Encontrei esta entrada de blog com o seguinte script que usa os comandos
xdotool
ewmctrl
(eles não foram instalados por padrão no Ubuntu, então você pode precisar instalá-los primeiro) para usar o atalho de tecladognome-terminal
Ctrl+ Shift+ tpara abrir uma nova guia nagnome-terminal
janela atual . Pode ser modificado para abrir uma nova guia com um perfil específico e executar algum comando para você.De outros
Você pode ser criativo e tentar outras coisas.
Essa resposta do Superusuário basicamente usa um pouco de acrobatas "script-fu" para criar um
gnome-terminal
perfil temporário usado para abrir uma nova janela. Pode ser modificado para seu uso.Você provavelmente poderia usar essas perguntas e respostas sobre o StackOverflow e mais acrobatas "script-fu" para alterar dinamicamente o
gnome-terminal
título sempre que fizer o SSH para um host remoto. Não seria tão proeminente quanto as alterações de cor de segundo plano / primeiro plano, mas seria melhor do que umTerminal
título padrão o tempo todo.fonte
Isso funcionará no Gnome, se você estiver disposto a usar uma nova janela do terminal gnome para cada sessão ssh.
Crie um novo perfil (com cor de fundo diferente) chamado "Remoto"
Insira o seguinte em
.bash_aliases
, ou.bashrc
Agora
sshc remote-machine
abre uma nova sessão do terminal gnome com o perfil "Remoto". isso diferencia os perfis local e remoto.Para acomodar vários perfis / hosts, crie vários perfis e coloque algo assim
.bash_aliases
:Agora
sshc Production
abrirá uma nova janela de sessão usando o perfil "Vermelho",sshc Test
abrirá uma nova janela de sessão usando o perfil "Verde" e outros hosts usarão o perfil "Padrão".fonte
Reunir todas as informações dos sites de pilha *** aqui é a solução mais simples que encontrei para o terminal mint mate + mate (o mesmo que para o gnome).
sudo apt get install xdotool
Agora você pode modificar / etc / ssh / ssh_config, para que ele possa alterar o perfil após o estabelecimento de cada sessão ssh:
Agora, depois que cada conexão ssh for estabelecida no terminal, o perfil será alterado e você nunca mais colocará atualizações indesejadas do sql no banco de dados de produção :)
No entanto, não há uma solução fácil para retornar ao perfil padrão após o fechamento da conexão ssh. Mas isso parece suficiente para mim e não procurei mais informações.
fonte