사용자 스크립트를위한 또 다른 수정 : 스크립트 내에서 적절한 환경 변수를 결정하십시오.
다음과 같은 스 니펫을 사용하여이를 수행 할 수 있습니다.
getXuser() {
user=`pinky -fw | awk '{ if ($2 == ":'$displaynum'" || $(NF) == ":'$displaynum'" ) { print $1; exit; } }'`
if [ x"$user" = x"" ]; then
startx=`pgrep -n startx`
if [ x"$startx" != x"" ]; then
user=`ps -o user --no-headers $startx`
fi
fi
if [ x"$user" = x"" ]; then
user=$(pinky -fw | awk '{ print $1; exit; }')
fi
if [ x"$user" != x"" ]; then
userhome=`getent passwd $user | cut -d: -f6`
export XAUTHORITY=$userhome/.Xauthority
else
export XAUTHORITY=""
fi
export XUSER=$user
}
for x in /tmp/.X11-unix/*; do
displaynum=`echo $x | sed s#/tmp/.X11-unix/X##`
getXuser;
if [ x"$XAUTHORITY" != x"" ]; then
export DISPLAY=":$displaynum"
fi
done
(ACPI getXuser
기능 기준)
.desktop
파일이 여전히 작동하지 않는 것을 발견하면 다음 pkexec commandline
과 같이 sh
스 니펫으로 파일을 래핑하십시오 .
Exec=sh -c "pkexec --user root script_that_needs_root.sh"
마지막 문제는 알려진 버그입니다.
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=690339
https://bugzilla.xfce.org/show_bug.cgi?id=9373
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=650038
https://bugzilla.gnome.org/show_bug.cgi?id=686059
sudo
내가 업데이트 한 것 중 하나는 gksu에 대한 지원을 sudo에 통합하는 것과 관련이 있다고 말했습니다. 보아야 할 또 다른 사항sudo -A
은 매뉴얼 페이지에 따라 (아마도) 그래픽 로그인을 시작한다는 것입니다.