Мой сценарий выглядит примерно так:
#!/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 в качестве пользователя USERNAME, пока все еще запускаете остальных в качестве пользователя sudo, поскольку вы запускаете скрипт с gksu .
Если вам нужен простой способ проверить его, запустите с помощью gksu следующее:
#!/bin/bash
echo "Without 'sudo' -->" ; whoami
echo "With 'sudo -u USERNAME' -->" ; sudo -u USERNAME whoami
Вы можете изменить сценарий на:
#!/bin/bash
teamviewer --daemon enable
sudo -u USERNAME teamviewer
teamviewer --daemon disable
Таким образом, вы можете выполнить teamviewer в качестве пользователя USERNAME, пока все еще запускаете остальных в качестве пользователя sudo, поскольку вы запускаете скрипт с gksu .
Если вам нужен простой способ проверить его, запустите с помощью gksu следующее:
#!/bin/bash
echo "Without 'sudo' -->" ; whoami
echo "With 'sudo -u USERNAME' -->" ; sudo -u USERNAME whoami
Вы можете изменить сценарий на:
#!/bin/bash
teamviewer --daemon enable
sudo -u USERNAME teamviewer
teamviewer --daemon disable
Таким образом, вы можете выполнить teamviewer в качестве пользователя USERNAME, пока все еще запускаете остальных в качестве пользователя sudo, поскольку вы запускаете скрипт с gksu .
Если вам нужен простой способ проверить его, запустите с помощью gksu следующее:
#!/bin/bash
echo "Without 'sudo' -->" ; whoami
echo "With 'sudo -u USERNAME' -->" ; sudo -u USERNAME whoami