Как создать правила udev?

Использованиеgrep:

grep -Po ':\K.*' infile

утверждение \Kигнорирует вывод всего предшествующего и первого увиденного двоеточия :.

0
07.03.2019, 10:20
1 ответ

Решение, которое я нашел, состояло в том, чтобы создать правило udev в /lib/udev/rules.dс форматом:

ACTION=="add", \
    SUBSYSTEM=="input", \
        ATTR{uniq}=="00:06:f5:97:ab:94" \
                RUN+="/bin/systemctl start --no-block ps3bdremote.service

Вместо запуска скрипта я запускаю службу с помощью команды /bin/systemctl start --no-blockк этой службе, если я не ошибаюсь, это решение исправляет проблемы с тайм-аутом при запуске долго -запущенных скриптов, но я не получил чтобы проверить это.

Это сервис в/etc/systemd/system/ps3bdremote.service:

[Unit]
Description=PS3 BD Remote Script.

[Service]
Type=simple
User=luiz
Environment=XAUTHORITY=/home/luiz/.Xauthority
Environment=DISPLAY=:0
Environment=DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus
ExecStart=/usr/bin/python3 /media/luiz/HD/posinstall/repos/ps3bdremote/ps3bdremote.py -s

[Install]
WantedBy=graphical.target

Эта часть, я считаю, необязательна, если кто-то попробует что-то подобное, я использовал ее, потому что она позволяет генерировать уведомления на рабочем столе (использовать KDE ), но она должна быть такой же в других интерфейсах.

Environment=XAUTHORITY=/home/luiz/.Xauthority
Environment=DISPLAY=:0
Environment=DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus
0
14.03.2021, 22:51

Теги

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