Criei um scriptA.sh
no desktop e tornei ele executável então foi esse o conteúdo:
#!/bin/bash
sudo -u userA bash -c 'PACKAGE_PATH=/home/userA/package1; cd /home/userA/scripts'
Quero clicar duas vezes nele para abrir o terminal e executar os dois comandos nele e manter o terminal aberto. Mas o que realmente acontece depois de clicar duas vezes nele e escolher a run with terminal
opção, o terminal abre por um segundo e depois fecha sozinho. Não sei por que isso está acontecendo, então agradeceria se alguém pudesse informar por que isso está acontecendo e como superá-lo.
Responder1
Você provavelmente desejará usá-lo gksudo
se quiser iniciá-lo em sua área de trabalho. Isso abrirá uma janela solicitando sua senha.
#!/bin/bash
gksudo -u userA bash -c 'PACKAGE_PATH=/home/userA/package1; cd /home/userA/scripts'
Além disso, para depurar, você provavelmente deseja executar esse script primeiro em seu terminal. Dessa forma ele não fechará logo após imprimir algumas mensagens de erro.
Atualizar
Uma maneira de fazer isso é criar um arquivo como segue:
/home/user_name/.gnome2/panel2.d/default/launchers/script_name.desktop
Então coloque algo assim nele:
#!/usr/bin/env xdg-open
[Desktop Entry]
Version=1.0
Type=Application
Terminal=false
Icon[en_US]=gdu-category-peripheral
Name[en_US]=Receiving fax
Exec=gksu /usr/bin/gnome-terminal
Comment[en_US]=Some description...
Name=My Script
Comment=Start my script
Icon=gnome-panel-launcher
Isso funciona muito bem para mim, em geral. O terminal gnome aceita parâmetros para que você possa alterar várias configurações.
Use --working-directory=...
em vez do seu cd ...
comando. Para obter variáveis específicas, você provavelmente desejará usar a --profile=...
opção.
Exec=gksu -u userA /usr/bin/gnome-terminal --profile=/home/userA/profile --working-directory=/home/userA/scripts
Em seguida, crie o script de perfil para a variável:
# In /home/userA/profile
PACKAGE_PATH=/home/userA/package1
Obviamente você pode adicionar qualquer outro alias ou qualquer outra coisa necessária no script de perfil.
Responder2
Por padrão, quando você escolhe a opção "executar em uma janela de terminal", a janela do terminal (gnome-) fecha após a conclusão. Istofazaberto, já que você mencionou que ele abre por um segundo. Você consegueficarabra alterando a configuração no perfil do seu terminal:
No menu (gnome-terminal), escolha "Editar" > "Configurações de perfil" > "Título e comando". Na opção “Quando o comando sai” escolha “Manter o terminal aberto”.
Isso deve funcionar.