Поскольку сеанс X, который вы запускаете, неизвестен udev, udev не имеет представления, кому отправлять сообщения, и X может запустить более одного активного сеанса.И для работы скрипта типа Zenity вам также понадобится X-Auth cookie из текущей запущенной X сессии.Который теперь изменится с домашнего на временное местоположение, у вас не будет сценария исправления, чтобы взломать это.
Есть много способов сделать то, что вам нужно, но это зависит от того, сколько работы вы хотите сделать.
уведомлять-отправлять только отображать информацию, поэтому она не будет работать.Как и в приведенном выше предложении, вам нужен тип zenity или kdialog для ввода.Но что более важно, вам нужен текущий сеанс, поэтому вы можете захотеть подключить ваш скрипт с помощью gnome-session-properties.Таким образом, ваш перехват будет выполняться каждый раз, когда вы входите в систему.
Это всего лишь один способ подключиться к 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;
Затем вы можете подключить его в RUN 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