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, pergunto-me como posso alternar entre perfis usando uma linha de comando / script ou talvez usando um atalho para isso.
Nota: Soluções como:
gnome-terminal --tab-with-profile=Implicit && exit
são excluídos porque eu prefiro não fechar e abrir outro terminal ou obter outra janela nesse processo de alteração de perfil.
command-line
shortcut-keys
gnome-terminal
Radu Rădeanu
fonte
fonte
Respostas:
Para alternar para o perfil "implícito":
Para alternar para o segundo perfil:
xdotool
não é instalado por padrão no Ubuntu, portanto, ele deve ser instalado primeiro.Obviamente, para esses comandos podem ser adicionados atalhos de teclado personalizados .
fonte
man xdotool
para obter mais informações), como pedi, que está funcionando exatamente como desejo e fico feliz com esta resposta até que algo melhor apareça. ;)Muitas ótimas respostas já, mas eu queria adicionar mais uma variação usando o xdotool que não requer que a barra de menus fique visível ...
A combinação de teclas shift + F10 abrirá um menu pop-up (o equivalente a clicar com o botão direito do mouse no terminal) e a partir daí o perfil poderá ser alterado.
por exemplo,
xdotool key shift+F10 r 3
para chegar ao terceiro perfilTambém descobri que esse método não requer a configuração de um atraso para o xdotool (que achei necessário para o método da barra de menus), portanto, é um pouco mais rápido.
Eu costumo mudar muito de perfil, então envolvo isso em uma função:
para que eu possa ligar
chp N
para mudar para o enésimo perfil.Mais algumas dicas e idiossincrasias da minha configuração:
Ao adicionar um
chp
comando ao meu .bashrc, posso forçar novas guias a sempre mudar para o perfil padrãoEu codifico minhas sessões de ssh com base no host, mas não gosto que meu alias de ssh abra novas guias ou janelas E quero que o perfil volte ao padrão quando sair do ssh. Minha solução:
alias somehost="chp 2; ssh user@somehost; chp 1"
Atribuo ao xdotool o sinalizador
--clearmodifiers
para que, se eu estiver segurando uma tecla modificadora (ao abrir uma guia / janela, sair do ssh, etc.), ele não interfira no xdotool.Eu prefixo os nomes dos meus perfis com números para que, se eu adicionar um novo, ele não altere todos os outros devido à ordem alfabética do menu de perfil
fonte
--clearmodifiers
precisa vir depoiskey
.Não existe nenhum atalho que permita alterar o perfil dentro do terminal (sem navegar nos menus como você comentou nos comentários), sem o uso da GUI. Citando o manual ( estável , desenvolvimento 3.9 ):
(Você pode propor isso como sugestão no rastreador de erros )
fonte
gnome-terminal
, pressionealt
e veja qual letra está sendo destacada para a versão em idioma do 'Terminal' (é o quinto item da minha versão em polonês, à esquerda da 'Ajuda') e use essa letra comalt
.Eu estava olhando para fazer o mesmo e finalmente consegui um script, coloquei no meu GitHub .
Como expliquei no README.md, na verdade, ele não alterna, 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 perfis, o que é bom o suficiente para mim. Espero que ajude alguém ...
fonte
Dependendo do seu objetivo, você pode achar útil esse script: https://github.com/xyrix/gnome-terminal-profile-switcher
Ele faz uma espécie de patch de macaco e gera um novo perfil para cada terminal e, 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 exemplo do script safe_ssh torne as coisas claras :-). Uso-o há pouco mais de um ano e isso me ajudou a não destruir o banco de dados ativo da empresa ^ _ ^
fonte
Se você tem 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 de terminal gnome separado para cada local remoto que você usa com freqüência. Em cada perfil, especifique que o terminal deve executar o comando de login SSH para essa caixa, em vez de um shell simples.
Por fim, escreva um script curto para iniciar uma nova janela remota com um ID de perfil.
Usando essa estratégia, você pode "infinitamente" variar a aparência da janela do terminal de cada caixa e iniciá-los em um único terminal "controle". Por exemplo, se chamamos esse script de "rlv", podemos gerar uma janela remota simplesmente invocando o script com um nome de perfil.
Se você digitar o nome de um host ou deixar de configurar um perfil para esse host, receberá 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 terminal gnome:
... mas você perde a flexibilidade de definir seu nome de usuário de login para essa caixa. Esse recurso adicional do roteiro deixo como exercício para o leitor.
fonte
Acabei de perceber que minha solução original já foi rejeitada na pergunta. Embora não exista uma maneira simples de alterar o perfil, você pode alterar a cor de segundo plano / primeiro plano usando o
setterm
comandoPortanto, isso
setterm -term linux -background black -foreground green
forneceria um fundo preto com texto verde. O único problema é que ls tem saída colorida, portanto, você pode querer desativar ls colorindo. Caso contrário, ele será redefinido para o esquema de cores anteriorPostagem original : existe uma maneira de contornar. Do man gnome-terminal:
Aqui está um exemplo da minha máquina. Eu tenho três perfis: B&G (preto em verde), ForPrinting (fonte preta, fundo branco) e Padrão. Então, o que eu faço é 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, lembre-se disso ao nomear perfis.
fonte
A solução muito feia que acabei usando é
(Isso seleciona o segundo perfil, mas você pode alterar isso para dizer o perfil htir, alterando o segundo comando "tecla para baixo" para
xdotool key --delay 50 --repeat 2 Down
.O que está fazendo isso:
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!
fonte
Seria ótimo se o gnome-terminal oferecesse um comando e atalho para o "próximo perfil"; infelizmente, isso não acontece.
Uma solução alternativa para aqueles com
Alt+T
desativação (Editar> Preferências> Ativar mnemônicos - desmarcada) é:F10 left left down right
e selecione o perfil. Ai.fonte
Esta é uma publicação bastante antiga, mas como ela continuava aparecendo enquanto eu procurava resolver esse mesmo problema, pensei em publicar minha solução.
Isso envolve um pequeno script python e remapeando o botão CTRL + ALT + T para executar o script, em vez de simplesmente iniciar o terminal.
Crie um arquivo de texto com o nome mine terminal.py e verifique se ele é executável. Coloque o seguinte código nele. Isso abrirá as janelas do terminal usando todos os perfis disponíveis em sequência, certificando-se de que aquele marcado como "padrão" seja o primeiro da lista.
Use o utilitário de configurações do teclado para atribuir um novo atalho para esse script. Para mim, redesignei CTRL + ALT + T, porque esse é o atalho para abrir uma janela de terminal.
Certifique-se de criar vários perfis no seu terminal. Este script fará uso de todos os seus perfis. Portanto, quanto mais você cria, mais variações nas janelas você também pode acessar. Eu tenho vários que são todos idênticos, exceto pela cor de fundo. Isso me ajuda a reconhecê-los enquanto eu alterno entre eles.
fonte