Adiciona uma camada / barra de texto estática no terminal

3

Eu tenho um script que eu uso para gerar automaticamente encaminhamentos de porta para SSH, já que estou trabalhando em várias janelas de terminal em diferentes servidores o dia todo, e isso verifica se a porta foi mapeada ou não e, em caso afirmativo Bate com +1 até encontrar uma porta disponível. Em seguida, ele ecoa as informações de encaminhamento de porta e apenas executa ssh -L<port1>:localhost:<port2> <server> . Simples.

Quando eu tenho um monte de saída e não me lembro o que as portas foram mapeadas para originalmente, eu tenho que rolar todo o caminho (trabalho duro) para encontrar isso. Isso me fez pensar que poderia haver algum tipo de wrapper de algum tipo que torna possível apenas adicionar uma ou várias linhas de texto na parte superior e, em seguida, a sessão ssh abaixo dela? Tomei a liberdade de elaborar um esboço básico:

EutenteipesquisarnoGoogle,masestoutentandoencontraralgumacoisa.Seissoexistir,ocomandopodeseralgoassim:wrapper--text="Port forwards: L5901:localhost:5900, L8080:localhost:80" --command="ssh -L<port1>:localhost:<port2> <server>"

Talvez usar a tela para isso também seja uma solução, mas eu gostaria de poder executar a "coisa toda" (adicionando a linha de texto + iniciando a sessão SSH abaixo dela) com um comando.

    
por carestad 01.04.2015 / 21:41

1 resposta

0

Gostaria apenas de definir a barra de título do Gnome, que mostra o que você definiu no topo da janela.

Para evitar que o bash altere o uso do título:

PROMPT_COMMAND=''
PS1='$ '

(o PROMPT_COMMAND ou o PS1 pode tentar alterar a barra de título) e, em seguida, definir o título com:

echo -ne "3]0;new title with port number found
if [ ! -z "$SSH_CLIENT" ] ; then
   PS1='$ '
fi
7"

Verifique se o seu PS1 no servidor também não está configurando o título. Para isso você pode testar no seu ~/.bashrc :

ssh -t user@server "PROMPT_COMMAND='' bash -l"

(o acima foi necessário em um servidor rodando o Ubuntu 12.04).

E execute seu comando ssh :

PROMPT_COMMAND=''
PS1='$ '

Seu PS1 e PROMPT_COMMAND podem ser mais complexos, contanto que eles não tentem definir a barra de título por meio de alguma seqüência de escape (usando 3]0; ou \e]0; )

Qualquer solução envolvendo tmux , screen e qualquer reserva baseada em maldições de uma linha da tela desativa a rolagem apropriada com a barra de rolagem do terminal Gnome.

    
por 01.04.2015 / 22:25