Мой сценарий выглядит примерно так:
#!/bin/bash
sudo teamviewer --daemon enable
teamviewer
sudo teamviewer --daemon disable
Он отлично работает сам по себе и запрашивает мой пароль в окне терминала. Итак, теперь я хочу сделать для него лаунчер. У меня есть это в моем файле .desktop
:
[Desktop Entry]
Version=1.0
Encoding=UTF-8
Type=Application
Categories=Network;
Name=TeamViewer 12
Comment=Remote control and meeting solution.
Exec=gksu /path/here/Start.sh
Icon=teamviewer
Таким образом, он запрашивает мой пароль во всплывающем окне вместо окна терминала, но при этом весь скрипт запускается с sudo, что является проблемой, потому что TeamViewer отказывается запускаться с sudo. Как я могу решить эту проблему?
Можно измениться на сценарий к:
#!/bin/bash
teamviewer --daemon enable
sudo -u USERNAME teamviewer
teamviewer --daemon disable
Этот способ, которым можно выполниться teamviewer
как ИМЯ ПОЛЬЗОВАТЕЛЯ, все еще выполняя другие как sudo пользователя, поскольку Вы запускаете скрипт с gksu
.
, Если Вы хотите простой способ протестировать его, выполните следующее с gksu
:
#!/bin/bash
echo "Without 'sudo' -->" ; whoami
echo "With 'sudo -u USERNAME' -->" ; sudo -u USERNAME whoami