gpt4 book ai didi

linux - 插入 USB 设备时获取用户输入

转载 作者:太空宇宙 更新时间:2023-11-04 11:34:29 24 4
gpt4 key购买 nike

我在使用 udev 规则(运行命令)插入 USB 设备时运行脚本,并使用通知发送显示通知。

我想让它提示用户输入一些输入到 USB。我应该怎么做?

最佳答案

由于您正在运行的 X session 对于 udev 是未知的,udev 不知道要发送给谁,并且 X 可能有多个正在运行的事件 session 。为了使 Zenity 类型的脚本起作用,您还需要来自正在运行的当前 X session 的 X-Auth cookie。现在从家中更改为临时位置,您将没有修复脚本来破解它。

有很多方法可以满足您的需求,但这取决于您想要完成多少工作。

notify-send 仅显示信息,因此不会起作用。像上面的建议一样,您需要输入 zenity 或 kdialog 类型。但更重要的是,您需要当前会​​话,因此您可能希望使用 gnome-session-properties Hook 您的脚本。这样你的 Hook 就会在你每次登录时运行。

这只是 Hook gnome-session-propoties 的一种方法

#!/bin/sh 

mkfifo /tmp/usb_notify
mkfifo /tmp/usb_feedback

while ( true ) do {
CALLBACK=`cat /tmp/usb_notify`
# check CALLBACK for some specific password :) if you needed
notify-send "USB plugged in something, input something for me!";
USERINPUT=$(zenity --entry --title "USB plugged in" --text "Please enter something")
echo $USERINPUT > /tmp/usb_feedback
} done;

然后你可以在你的 usb 设备的 udev RUN 中 Hook 它

#!/bin/sh

echo "password" > /tmp/usb_notify
REPLY=`cat /tmp/usb_feedback`
# then you can do whatever you need to with the feedback

关于linux - 插入 USB 设备时获取用户输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9032547/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com