Alterar automaticamente as cores do terminal na conexão remota?

22

Existe uma maneira de aplicar automaticamente um perfil de terminal quando conectado a uma máquina remota via SSH?

Gostaria de pistas visuais mais óbvias de que estou conectado a uma máquina remota do que o usuário / host exibido em cada linha do terminal. Passo a maior parte do dia conectado a várias máquinas e isso pode ficar confuso.

Jeremy Kauffman
fonte
O que faço agora é ter lançadores de terminal gnome separados para cada máquina à qual me conecto. Cada iniciador é aberto com um perfil e tamanho de janela diferentes. Se isso pudesse mudar de forma automática quando eu me conectar a um servidor a partir de qualquer terminal, seria incrível. Espero que encontre uma solução.
Ramón

Respostas:

9

Srigelsford dos fóruns do Ubuntu recomenda o seguinte:

Criei vários perfis no gnome-terminal com as configurações desejadas e criei aliases como o exemplo abaixo para ssh to ares. O perfil do Ares possui um fundo vermelho.

alias -p ares='gnome-terminal --window-with-profile=Ares -x bash -c "ssh ares"; exit'

A armadilha disso é que não pode ser feito na janela do terminal existente, ele lança outra. Meu alias fecha o existente depois de iniciar o novo, mas você pode interromper isso removendo o; sair do final.

Apenas crie quantos perfis desejar e associe cada servidor a um perfil em um alias. Para iniciar, digite o nome do alias $ ares

groovehunter
fonte
4

Você pode alterar o perfil do shell do sistema remoto para usar as instruções coloridas, consulte o seguinte link para obter detalhes: http://www.funtoo.org/en/articles/linux/tips/prompt/ .

João Pinto
fonte
Obrigado. Essa é uma opção, mas como eu me conecto a vários servidores diferentes, é um pouco chato. Talvez eu possa escrever um script para copiar um arquivo de configurações locais.
Jeremy Kauffman
2

O seguinte funciona para os terminais gnome3. Ele usa o xdotool para automatizar a interação com o menu do terminal gnome, já que os atalhos de teclado disponíveis são limitados no momento.

Eu criei dois perfis. O primeiro no menu Terminal-> Perfis é o meu padrão e indica uma máquina local. O segundo é o meu esquema de cores para uma conexão remota à máquina66.

Em seguida, defini os seguintes aliases no meu bashrc:

alias first_profile="xdotool key F10 Right Right Right Right Down Right Return"
alias second_profile="xdotool key F10 Right Right Right Right Down Right Down Return"
alias go66="second_profile; ssh remotemachine66; first_profile"

O first_profile e o second_profile apenas usam xdotools para clicar em f10 (abra o menu) e, em seguida, vá para o terminal, desça 1 até a seleção de perfis e selecione o primeiro ou o segundo perfil.

O go66 primeiro chama second_profile para definir as cores, o ssh está na máquina remota. Ao sair, o ssh first_profile é chamado, retornando o perfil ao perfil local.

É desajeitado, mas funciona. Fico feliz em ouvir sugestões de aprimoramento.

Spacemoose
fonte
0

eu tive isso no meu todolist por um bom tempo e apenas tentei e procurei novamente

este também é um lembrete para mim mesmo: tenho que tentar com screen / byobu

Por enquanto, uso perfis de terminal gnome. Os arquivos de configuração são xml em HOME / .gconf / apps ... e, portanto, posso criá-los / copiá-los via script lateron para cerca de 20 a 50 hosts, com cores criadas automaticamente etc. Enquanto escrevo, vejo e tenho que admitir que é idéia não muito sofisticada.

Por enquanto, preciso de um atalho mais fácil, em seguida, ALT + DR 0 para abrir uma nova guia com o perfil # 0 (atalho em alemão)

groovehunter
fonte
e adicione este ubuntuforums.org/member.php?u=536437
groovehunter