2012-01-27 2 views

답변

0

우수성을 사용할 수 있습니다. 쉘 스크립트에서 :

UserInput 사용자 = $ (zenity --entry --title --text "입력하십시오 뭔가" "연결 USB") 완전한 레퍼런스 참조하십시오

:이 http://library.gnome.org/users/zenity/stable/

또한 kdialog라는 KDE couterpart입니다.

1

실행중인 X 세션이 udev에 알려지지 않았기 때문에 udev는 누구에게 보낼지 모르고 X는 하나 이상의 활성 세션을 실행할 수 있습니다. Zenity 유형의 스크립트가 작동하려면 현재 실행중인 X 세션의 X-Auth 쿠키가 필요합니다. 이제 집에서 임시 위치로 바뀌 었습니다. 임시 위치에서는 해킹을위한 수정 스크립트가 없습니다.

필요한 작업을 수행하는 데는 많은 방법이 있지만 작업량에 따라 다릅니다.

notify-send는 정보를 표시하므로 작동하지 않습니다. 위의 제안과 마찬가지로 입력에 zenity 또는 kdialog 유형이 필요합니다. 하지만 더 중요한 것은 현재 세션이 필요하므로 gnome-session-properties를 사용하여 스크립트를 연결할 수 있습니다. 그렇게하면 로그인 할 때마다 후킹이 실행됩니다.

이것은 그런 다음 USB 장치 당신을 위해 udev에의 RUN이 훅 수있는 그놈 세션 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; 

에 훅하는 하나의 방법입니다

#!/bin/sh 

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