Definindo títulos da guia Terminal

10

Estou tentando abrir algumas abas do terminal no gnome-terminal, e até agora consegui fazer alguma coisa , mas estou preso agora.

Então, eu tenho o seguinte requisito:

  • Abra as guias "X" e "Y"
  • Execute alguns comandos
  • Mantenha as guias abertas e prontas para uso posterior; mantenha o título.

Até agora, consegui atender alguns dos requisitos, mas não todos:

gnome-terminal --tab -t "X" -e "bash" --tab -t "Y" -e "top"

Isso abre duas guias:

  1. "X" (e depois muda o título para o título padrão)
  2. "Y", mas a guia é fechada assim que eu sair do top .

Existe uma maneira de abrir uma guia, lançar bash , mas não alterar o título? Eu tentei o Google, mas desisti.

EDIT: Não tem que ser um comando.

    
por omninonsense 10.04.2014 / 17:40

4 respostas

4

Como você pode ver nas outras respostas , o título da aba é alterado pelo shell toda vez que gera uma saída pronto. E depois de executar top sua aba sai porque o comando que você mandou executar termina ...

Eu farei o seguinte:

Passo 1: chame o terminal com shells, adicionando variáveis de ambiente como essa:

gnome-terminal --tab -t X -e "env MYTAB=X bash" --tab -t Y -e "env MYTAB=Y bash" 

Passo 2: adicione no final do seu .bashrc o seguinte código:

#if MYTAB is not set, return
[ -z "$MYTAB" ] && return
# reset the cursor and title 
PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w$ '
PS1="\[\e]0;$MYTAB \w\a\]$PS1"   #title: $MYTAB and current dir
# execute the commands for every tab
case "$MYTAB" in
        X)
                echo this is X
        ;;

        Y)
                echo this is Y 
                top
        ;;
esac

... o que eu acho que é fácil de entender e você pode modificar com o comando / ajustes que você precisa. Testado e funciona bem; depois que você sair do top da guia, ainda terá o prompt e a guia para você examinar.

Screenshot (depois de pressionar "q" em top ):

    
por Rmano 10.04.2014 / 18:38
6

Para manter os títulos das guias, você precisa comentar as seguintes linhas no seu .bashrc :

# If this is an xterm set the title to user@host:dir
#case "$TERM" in
#xterm*|rxvt*)
#    PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1"
#    ;;
#*)
#    ;;
#esac

Então gnome-terminal --tab -t "X" -e "bash" --tab -t "Y" -e "top" funcionará como esperado:

    
por Sylvain Pineau 10.04.2014 / 18:07
1

Estou assumindo que não precisa ser um comando e dar uma maneira totalmente gráfica de fazer isso.

Após o lançamento do gnome-terminal, o menu 'arquivo' permite abrir novas abas que terão um determinado título atribuído. Isso pode ser alterado pelo menu 'terminal' ou pelo botão direito da aba e pelo menu de contexto.

Então você pode abrir o topo e qualquer outro comando que queira, está tudo no terminal, rodando como um processo normal e não ligado que está sendo executado de qualquer outro terminal - apenas o ambiente de desktop - que não vai morrer depois de sentir que é feito o que é suposto fazer.

    
por kikjezrous 10.04.2014 / 17:49
1

Enquanto brincava, descobri que não é o comando - é o perfil.

Vá para:

Edit | Profiles | (Default) | Edit | Title and Command 

e altere a opção "Quando os terminais definem seu próprio título" para "Manter título inicial", na parte inferior da lista. Agora, quando você iniciar um comando com um título, ele permanecerá ativo, então seu comando funcionará corretamente.

    
por kikjezrous 10.04.2014 / 18:02