Como executar comandos automaticamente no gnome-terminal após o login?

9

Após cada login, há certos comandos que eu executo em guias específicas do gnome-terminal. Este é um processo tedioso, então isso pode ser feito automaticamente?

    
por Tshepang 08.11.2010 / 10:17

3 respostas

5

Sim, existe um caminho. Você precisa dizer ao gnome-terminal para abrir abas com certos perfis; esses perfis devem ser configurados para iniciar um shell com os comandos desejados.

Primeiro, você precisa criar um script (ou um ícone de iniciador) que inicie gnome-terminal --tab-with-profile=Dev . "Dev" é o nome de um perfil que você irá criar, então substitua isso com o que você quer que seja. Além disso, você pode especificar quantos --tab-with-profile s desejar: ele abrirá uma guia para cada um.

Agora, você precisa do perfil que acabou de referenciar. Isso é criado abrindo gnome-terminal e encontrando Edit->Profiles... no menu. Crie um novo perfil e forneça o nome especificado na etapa anterior. Em seguida, você precisa definir suas preferências. Realce o perfil recém-criado e clique no botão Editar. Quando a caixa de diálogo Preferências de perfil estiver ativada, ative a guia "Título e comando", marque "Executar um comando personalizado ..." e, na caixa de texto associada, coloque sh -c "ENV=$HOME/.dev_profile sh" . Claro, você pode definir ENV para qualquer caminho que desejar, desde que seja consistente na próxima etapa. Isso inicia sh e sh executará qualquer comando que esteja em $HOME/.dev_profile

Em seguida, você precisa criar esse arquivo de perfil do shell. Então edite $ HOME / .dev_profile (ou qualquer arquivo que você especificou na etapa anterior). Coloque os comandos que você quiser lá; eles serão executados quando o shell for iniciado. Trate isso como você faria um .bashrc - isso irá substituí-lo. Dependendo de como o seu .bashrc está configurado, você pode querer source $HOME/.bashrc no perfil para copiar toda a funcionalidade do seu perfil normal.

    
por 08.11.2010 / 16:58
7

Você pode iniciar vários comandos na mesma linha de comando do gnome-terminal, especificando a opção --tab-with-profile várias vezes, seguido de cada vez por um único -e especificando qual comando deve ser executado nessa guia. Você também pode usar --window-with-profile para ter várias janelas. Por exemplo, o comando a seguir inicia duas janelas com duas guias cada; a primeira janela executa bash em cada guia, configurando a variável de ambiente TAB para 1 ou 2; a segunda janela executa htop em uma guia e iotop na outra guia. A invocação explícita de sh , com a cotação correta, é necessária por algum motivo.

gnome-terminal --tab-with-profile="Default" -e 'sh -c '\''export TAB=1; exec bash'\' \
               --tab-with-profile="Default" -e 'sh -c '\''export TAB=2; exec bash'\' \
               --window-with-profile="Default" -e 'htop' \
               --tab-with-profile="Default" -e 'iotop'

Se você quiser que um comando seja executado quando você efetuar login, coloque-o em um shell script (por exemplo ~/bin/my_gnome_login_commands , e registre-o em "System / Preferences / Startup Applications" no menu do Gnome. Alternativamente, crie um arquivo ~/.config/autostart/my_commands.desktop contendo

[Desktop Entry]
Type=Application
Exec=/home/tshepang/bin/my_gnome_login_commands
Hidden=false
NoDisplay=false
X-GNOME-Autostart-enabled=true

(Você deve usar o caminho completo para o seu diretório pessoal na linha Exec= , você não pode usar ~ .)

(Esta resposta foi testada com o Gnome 2.30 no Ubuntu 10.04. Como o Gnome às vezes quebra a compatibilidade, ele pode ou não se aplicar a outras versões.)

    
por 08.11.2010 / 22:53
0

Estou vendo muitas coisas aqui. Provavelmente você não precisa de nada disso.

Estas são as etapas que fiz no meu Oracle 5.9 Linux:

  1. Crie um ícone do terminal gnome em sua área de trabalho.
  2. Abra seu terminal gnome.
  3. Ir para Editar - > Perfis.
  4. Selecione seu perfil padrão e clique em Editar.
  5. Entre na guia "Título e comando".
  6. Selecione a opção "Executar comando como shell de login".
  7. Clique no botão Fechar.

Funcionou para mim. Claro, no meu caso, eu só quero correr .profile para configurar o meu ambiente de terminal.

    
por 17.07.2013 / 15:23

Tags