UDEV выполняет сценарий bash лишь частично

Модули ядра устанавливаются отдельно для каждой версии. После обновления до новой версии ядра вам необходимо переустановить модули VirtualBox (и любые другие нестандартные модули, такие как видеодрайверы с закрытым исходным кодом).

1
23.02.2016, 12:16
2 ответа

Для начала, ваши совпадающие директивы серьезно ошибочны: лучшее правило должно соответствовать только для SUBSYSTEM и USB VID и PID.

В любом случае, у вас не может быть просто команд запуска root, которые должны управлять вашим активным X-сеансом. Если вам действительно нужно это сделать, вы должны, по крайней мере, импортировать $ DISPLAY и $ XAUTHORITY, но правильное решение - использовать собственные инструменты среды рабочего стола для запуска этих команд, когда это необходимо.

2
27.01.2020, 23:26

Скрипты, выполняемые из udev, выполняются в почти пустой среде.Они не привязаны к какому-либо конкретному сеансу или терминалу.

Первое, что вам нужно сделать, это прочитать сообщения об ошибках. Добавить exec >> / var / log / my-udev-script.log 2> & 1; эхо; date в начале вашего скрипта чуть ниже #! и просмотрите /var/log/my-udev-script.log после запуска сценария.

Команда xset является клиентом X Window System , поэтому ей необходимо взаимодействовать с X-сервером. Он знает, с каким X-сервером разговаривать (их может быть много), по значению переменной среды DISPLAY . Если DISPLAY не установлен, xset не может взаимодействовать ни с одним X-сервером, поэтому все, что он делает, это выводит сообщение об ошибке и завершает работу.

Чтобы выяснить, как установить DISPLAY и XAUTHORITY , если необходимо, см. Могу ли я запустить графическую программу на рабочем столе другого пользователя с правами суперпользователя? и Открыть окно на удаленном X-дисплее (почему «Невозможно открыть дисплей»)? Обратите внимание, что может быть сложно понять, что делать, если имеется несколько X-серверов.

Ни xset, ни slock не заботятся о D-Bus. Если вам действительно нужна D-Bus, Как запустить dbus с фиксированным адресом? - самый простой способ.

2
27.01.2020, 23:26

Теги

Похожие вопросы