Я использую evrouter для имитации нажатий клавиш от дополнительных кнопок моих мышек. Это прекрасно работает, но мне нужно запустить команду с sudo, чтобы она работала, поэтому я не могу просто использовать свой DE для обработки автозапуска.
Я рассмотрел init.d, но из того, что я слышал, это работает только для разных этапов загрузки, и мне нужно, чтобы он запускался как root после входа в систему.
$ cat .evrouterrc
"Logitech G500" "/dev/input/event4" any key/277 "XKey/0"
"Logitech G500" "/dev/input/event4" any key/280 "XKey/9"
"Logitech G500" "/dev/input/event4" any key/281 "XKey/8"
$ sudo evrouter /dev/input/event4
Редактировать: Хорошо, похоже, я могу использовать опцию session-setup-script
для lightdm.conf, чтобы запустить скрипт от имени пользователя root. У меня есть скрипт ниже, но, как и ожидалось, при запуске от имени root id -u
больше не равен 1000, а оператор if никогда не выполняется. Есть ли аргумент или переменная, которую я могу использовать, чтобы получить имя пользователя или идентификатор?