Как запустить скрипт Юпитер как суперпользователь в lubuntu-rc.xml?
Я пытаюсь связать с моей парой горячих клавиш asus eee функции Юпитера, чтобы они работали как на Windows. Проблема в том, что я должен запускать их как суперпользователь. Под терминалом скрипты работают нормально, поэтому я положил в ~/.config/openbox/lubuntu-rc.xml
:
<keybind key="XF86Launch6">
<action name="Execute">
<command>sudo /usr/lib/jupiter/scripts/cpu-control</command>
</action>
</keybind>
Ааааа и... Это частично работает.
Некоторые файлы для изменения с помощью этого скрипта были изменены, а другие нет. Некоторые из измененных заблокированы, поэтому sudo, вероятно, работает. Я понятия не имею, как отладить это, потому что я не знаю, где найти журнал этого.
Мне немного стыдно, но я не знаю, как именно работает sudo. Я не хочу каждый раз вводить пароль для изменения частоты процессора или переключения сенсорной панели, поэтому я не хочу использовать gksu
или другой sudo gui.
1 ответ
Что вы делаете, так это заказываете openbox открывать оболочку и запускать вещи. Если вы делаете ps ax | grep sudo
вы увидите, что экземпляр sudo висит в ожидании вашего пароля. Если вы хотите запустить команду, не являющуюся демоном, лучше всего использовать init-scrips:
sudo vim /etc/rc.local
И добавьте ваш скрипт в начале:
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
/usr/lib/jupiter/scripts/cpu-control
exit 0
Или добавьте сценарий выскочки, если это демон. Создать /etc/init/jupiter.conf
сценарий:
description "My jupiter script"
start on [2345]
stop on ![2345]
script
exec /usr/lib/jupiter/script/cpu-control
end script