Linha de comando para alternar entre perfis no gnome-terminal

18

Eu criei um novo perfil para o gnome-terminal e posso alternar entre o perfil "implícito" e o novo perfil criado, como você pode ver na imagem abaixo:

Agora eu me pergunto como posso alternar entre perfis usando uma linha de comando / script ou talvez usando um atalho para isso.

Note: Solutions like:

gnome-terminal --tab-with-profile=Implicit && exit 

are excluded because I prefer not to close and open another terminal or get another terminal window in this process of changing the profile.

    
por Radu Rădeanu 27.07.2013 / 12:53

8 respostas

6

Para mudar para o perfil "implícito":

xdotool key Alt+t p Return

Para mudar para o segundo perfil:

xdotool key Alt+t p Down Return

xdotool nãoéinstaladoporpadrãonoUbuntu,entãodeveserinstaladoprimeiro.

Éclaroque,paraessescomandos,podemser adicionados atalhos de teclado personalizados .

    
por Radu Rădeanu 14.11.2013 / 19:33
4

Não existe um atalho que permita alterar o perfil dentro do terminal (sem navegar nos menus como você disse nos comentários), sem o uso da GUI. Citando o manual ( estável , desenvolvimento 3.9 ):

You can change the profile in your current Terminal tab or window by selecting a profile from Terminal ▸ Change Profile.

(Você pode sugerir isso como uma sugestão no rastreador de bugs )

    
por Braiam 03.08.2013 / 23:51
3

Eu estava procurando fazer o mesmo e finalmente consegui um script trabalhando, eu coloquei no meu GitHub .

Como explicarei no README.md, ele não muda, mas carrega uma configuração de perfis no perfil padrão. Para fazer isso, a configuração de cada perfil é salva no arquivo na primeira execução do script. O script faz parecer que você está alternando entre os perfis, o que é bom o suficiente para mim. Espero que ajude alguém ...

    
por SigiSang 22.11.2015 / 12:40
2

Dependendo do seu objetivo, você pode achar esse script útil: link

Ele faz uma espécie de patch de macaco e gera um novo perfil para cada terminal, em seguida, define algumas variáveis de ambiente para expor um programa para alternar o tema do perfil para o seu terminal atual.

Espero que o script safe_ssh do exemplo torne as coisas claras :-). Eu uso isso há pouco mais de um ano e isso me ajudou a não destruir o banco de dados ao vivo da empresa ^ _ ^

    
por xyrix 10.01.2014 / 20:23
1

Se você tiver uma lista de servidores que acessa com frequência, acredito que a solução mais fácil seria simplesmente chamar uma segunda janela apenas para a sessão dessa caixa.

Primeiro, crie um perfil gnome-terminal separado para cada local remoto que você usa com frequência. Em seguida, em cada perfil, especifique que o terminal deve executar o comando de login do SSH para essa caixa, em vez de um shell simples.

ssh alice@athena

Por fim, escreva um pequeno script para iniciar uma nova janela remota com um ID de perfil.

#!/bin/bash
if [[ $# -ne 1 ]] ; then
  echo "Give me a server/profile name!"
  exit 1
fi
gnome-terminal --window-with-profile=$1
exit 0

Usando essa estratégia, você pode "infinitamente" variar a aparência da janela de terminal de cada caixa e expulsá-la de um único terminal de "controle". Por exemplo, se chamarmos esse script de "rlv", poderemos gerar uma janela remota simplesmente chamando o script com um nome de perfil.

>> rlv athena

Se você digitar um nome de host ou negligenciar a configuração de um perfil para esse host, você verá uma outra janela de perfil padrão na caixa local. Existe uma maneira de codificar o script para evitar isso, colocando o login no próprio script, em vez de no gnome-terminal:

#!/bin/bash
if [[ $# -ne 1 ]] ; then
  echo "Give me a server/profile name!"
  exit 1
fi
gnome-terminal --window-with-profile=$1 -e "ssh $1"
exit 0

... mas você perde a flexibilidade de definir seu nome de usuário de login para essa caixa. Essa característica adicional do roteiro eu deixo como um exercício para o leitor.

    
por zerobandwidth 20.05.2014 / 21:32
1

Acabei de perceber que minha solução original já foi rejeitada na pergunta. Embora não pareça haver uma maneira simples de alterar o perfil, você pode alterar a cor de fundo / primeiro plano usando o comando setterm .

Então, esse setterm -term linux -background black -foreground green fornecerá a você um plano de fundo preto com texto verde. O único problema é que o ls tem saída colorida, então você pode querer desligar o ls. Caso contrário, ele é redefinido para o esquema de cores anterior

Postagem original : há uma maneira de contornar. Do man gnome-terminal:

--window-with-profile=PROFILENAME

             Open a new window containing a  tab  with  the
             given profile.  More than one of these options
             can be provided.

Aqui está o exemplo da minha máquina. Eu tenho três perfis: B & G (preto sobre verde), ForPrinting (fonte preta, fundo branco) e Padrão. Então, o que eu faço está no tipo de janela atual gnome-terminal --window-with-profile=ForPrinting . Então eu posso matar a janela antiga da linha de comando ou alternar e fechá-la graficamente.

O perfil B & G não funciona. Provavelmente porque & não é um caractere válido, portanto, lembre-se disso ao nomear perfis.

    
por Sergiy Kolodyazhnyy 28.09.2014 / 09:57
0

A solução muito feia que acabei de usar é

unset x y
eval $(xwininfo -id $(xdotool getactivewindow) |
       sed -n -e 's/^ \+Absolute upper-left X: \+\([0-9]\+\).*/x=/p' \
              -e 's/^ \+Absolute upper-left Y: \+\([0-9]\+\).*/y=/p')
xdotool mousemove $(($x + 50)) $(($y + 50))
xdotool click 3; xdotool key --repeat 3 Up; xdotool key Right; xdotool key --delay 50 Down; xdotool key --delay 50 Return

(Isto seleciona o segundo perfil, mas você pode mudar isso para dizer o perfil htir alterando o segundo comando "key Down" para xdotool key --delay 50 --repeat 2 Down .

O que isso está fazendo:

  1. encontre as coordenadas superiores da esquerda da janela atual (por exemplo, o terminal do gnome em uso).
  2. mova o mouse para passar por esse terminal
  3. clique com o botão direito e navegue no menu de contexto para selecionar o segundo perfil.

Você precisará do xdotool instalado sudo apt install xdotool .

É extraordinário que o próprio terminal não permita a configuração através do terminal!

    
por SColvin 22.03.2017 / 15:45
0

Seria ótimo que o gnome-terminal oferecesse um comando e um atalho para "próximo perfil"; infelizmente, isso não acontece.

Uma solução alternativa para aqueles com Alt+T desativado (Editar > Preferências > Ativar mnemônicos - desmarcada) é: F10 left left down right e selecione o perfil. Ai.

    
por Mario 24.01.2018 / 21:12