Я хотел бы, чтобы всплывающее окно zenity
спрашивало меня, хочу ли я выполнить резервное копирование, когда я подключил конкретный внешний диск.
К сожалению, у меня возникли проблемы с синтаксисом правила UDEV. У меня есть это правило в /etc/udev/rules.d/test.rules
:
ACTION=="add", ATTRS{manufacturer}=="Western Digital", ATTRS{idVendor}=="1058", ATTRS{idProduct}=="1140", RUN+="/usr/local/bin/test.sh"
Это довольно простой, но:
- Он срабатывает десятки раз вместо одного.
- Он не может «говорить», используя
zenity
когдаtest.sh
переходит вsudo -Hu <username> zenity --warning --text="Just some random text for now."
потому что udev спрятан в системе и не может найти оконный менеджер: Gtk-WARNING **: не может открыть дисплей: - Это не очень удобно для редактирования, я бы хотел, чтобы существовало какое-то правило, в котором я мог бы просто ввести LABEL для определенных разделов, на которых я хотел бы запускать определенные сценарии.
Я хотел бы видеть общее улучшение для правила UDEV, потому что, помимо множества вопросов и ответов о нем, здесь и в другом месте они кажутся немного отличающимися друг от друга, и большинство из них запускаются несколько раз.
Но самое главное, как, в любом случае, я могу установить соединение со скриптом в моем доме, который имеет доступ к таким вещам, как мой сеанс и мой экран, чтобы zenity
мог работать?