我想要一个 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
能行得通?
DISPLAY=:0
做了伎俩。这个答案是第2个问题,但正如子问题1预测的那样,我现在得到了我的答案zenity
一次插入驱动器弹出大约30次。知道我怎么能说这个吗?我希望只使用分区名称作为参数来调用脚本。 (例如,脚本被称为3次,有3个分区。)我也试过了udisks
因为它似乎很容易,但它只是坐在那里声称是监控,但没有报告我插入的任何内容。也许它没有正确实现Ubuntu。