2012-01-27 64 views

回答

1

由于您正在运行的X会话对于udev是未知的,因此udev不知道要发送给谁,并且X可能有多个活动会话正在运行。为了使Zenity类型的脚本正常工作,您还需要从当前正在运行的X会话中获取X-Auth Cookie。现在,这种情况已经从家庭变成了一个临时位置,您将不会有修复脚本来解决这个问题。

有很多方法可以做你需要的东西,但它取决于你想做多少工作。

通知 - 发送只显示信息,所以它不会工作。像上面的建议一样,你需要输入zenity或者kdialog类型。但更重要的是,您需要当前会​​话,因此您可能需要使用gnome-session-properties挂接脚本。这样,每次登录时都会运行您的挂钩。

这只是一个勾到GNOME会话,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; 

方式然后你可以在运行的udev这个勾你的USB设备

#!/bin/sh 

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