Após cada login, existem certos comandos que executo em guias específicas do gnome-terminal. Este é um processo tedioso, então pode ser feito automaticamente?
Sim, há um jeito. Você precisa dizer ao gnome-terminal para abrir abas com certos perfis; esses perfis devem ser configurados para iniciar um Shell com os comandos que você deseja.
Primeiro, você precisa fazer um script (ou um ícone de inicialização) que iniciará gnome-terminal --tab-with-profile=Dev
. "Dev" é o nome de um perfil que você criará, portanto, substitua-o pelo que você quiser. Além disso, você pode especificar tantos --tab-with-profile
s como você deseja: abrirá uma guia para cada um.
Agora, você precisa do perfil que acabou de fazer referência. Isso é criado ao abrir gnome-terminal
, e encontrando Edit->Profiles...
no menu. Faça um novo perfil e dê a ele o nome especificado na etapa anterior. Em seguida, você precisa definir suas preferências. Destaque o perfil recém-criado e clique no botão Editar. Quando a caixa de diálogo Preferências de perfil for exibida, 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"
. Obviamente, você pode definir ENV para qualquer caminho que desejar, contanto que seja consistente na próxima etapa. Isso inicia o sh, e sh irá executar quaisquer comandos que estejam em $HOME/.dev_profile
Em seguida, você precisa criar esse arquivo de perfil Shell. Portanto, edite $ HOME/.dev_profile (ou qualquer arquivo que você especificou na etapa anterior). Coloque todos os comandos que você quiser lá; eles serão executados quando o Shell for iniciado. Trate isso como se fosse um .bashrc - isso o substituirá. Dependendo de como seu .bashrc está configurado, você pode querer source $HOME/.bashrc
no perfil para copiar todas as funcionalidades de seu perfil sh normal.
Você pode iniciar vários comandos na mesma linha de comando do gnome-terminal especificando o --tab-with-profile
opção várias vezes, seguida a cada vez por um único -e
especificando qual comando executar nessa guia. Você também pode usar --window-with-profile
ter várias janelas. Por exemplo, o comando a seguir inicia duas janelas com duas guias cada; a primeira janela executa o bash em cada guia, definindo a variável de ambiente TAB
como 1 ou 2; a segunda janela executa htop
em uma guia e iotop
na outra guia. A invocação explícita de sh
, com aspas corretas, é 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 ao fazer o login, coloque-o em um script Shell (por exemplo ~/bin/my_gnome_login_commands
, e registre-o em “Sistema/Preferências/Aplicativos de inicialização” no menu Gnome. Como alternativa, 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 seu diretório inicial no Exec=
linha, você não pode usar ~
.)
(Esta resposta foi testada com 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.)
Estou vendo aqui um monte de coisas. Provavelmente você não precisa de nada disso.
Estas são as etapas que fiz no meu Oracle 5.9 Linux:
Funcionou para mim Claro, no meu caso, eu só quero executar .profile para configurar meu ambiente de terminal.