Você provavelmente deseja usar gksudo
se quiser iniciá-lo a partir da sua área de trabalho. Isso abrirá uma janela pedindo sua senha.
#!/bin/bash
gksudo -u userA bash -c 'PACKAGE_PATH=/home/userA/package1; cd /home/userA/scripts'
Também para depurar, você provavelmente deseja executar esse script no seu terminal primeiro. Dessa forma, não será fechado logo após a impressão de algumas mensagens de erro.
Atualizar
Uma maneira de fazer isso é criar um arquivo da seguinte forma:
/home/user_name/.gnome2/panel2.d/default/launchers/script_name.desktop
Em seguida, coloque algo assim:
#!/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 gnome-terminal aceita parâmetros para que você possa alterar várias configurações.
Use --working-directory=...
em vez do comando cd ...
. Para obter variáveis específicas, você provavelmente desejará usar a opção --profile=...
.
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 que precisar no script de perfil.