일부 페이지가 있지만 timeout in locking authority file /root/.xauth
문제의 원인이 무엇인지 실제로 이해하지 못합니다.
vnc 서비스를 시작하면 다음이 표시됩니다.
root@cluster:mahmood# /etc/init.d/vncserver start
Starting VNC server: 1:vahidms xauth: timeout in locking authority file /root/.xauthVdNayr
New 'cluster.scu:1 (vahidms)' desktop is cluster.scu:1
Starting applications specified in /home/vahidms/.vnc/xstartup
Log file is /home/vahidms/.vnc/cluster.scu:1.log
이 명령은 루트로 실행되지만 /home/vahidms(사용자)를 대신하여 /root/.xauthVdNayr에 액세스하려는 것으로 보입니다.
왜?
업데이트 1 답변에 명시된 명령의 출력을 참조하십시오.
root@cluster:~# ls -l /etc/init.d/vncserver
-rwxr-xr-x 1 root root 3126 Dec 8 2011 /etc/init.d/vncserver
root@cluster:~# grep -i xauth /etc/init.d/vncserver
root@cluster:~# env | grep XAUTHORITY
root@cluster:~# su - vahidms
vahidms@cluster:~$ env | grep XAUTHORITY
vahidms@cluster:~$ exit
logout
root@cluster:~# lslocks
-bash: lslocks: command not found
업데이트 2
관련 출력을 참조하세요. 왜 이 lslocks
명령을 사용할 수 없는지 알고 싶습니다 .
root@cluster:~# yum list | grep util-linux-ng.x86_64
util-linux-ng.x86_64 2.17.2-12.18.el6 @base
root@cluster:~# find / -name lslocks
root@cluster:~# grep -i xauth /usr/bin/vncserver
$xauth = "xauth";
$xauthorityFile = "$ENV{XAUTHORITY}" || "$ENV{HOME}/.Xauthority";
open (XAUTH, "|xauth -f $xauthorityFile source -");
print XAUTH "add $host:$displayNumber . $cookie\n";
print XAUTH "add $host/unix:$displayNumber . $cookie\n";
close XAUTH;
$cmd .= " -auth $xauthorityFile";
if (-x "/usr/X11R6/bin/xauth") {
$xauth = "/usr/X11R6/bin/xauth";
foreach $cmd ("xauth") {
root@cluster:~# grep -i env /etc/init.d/vncserver
root@cluster:~# grep -i env /etc/rc.d/init.d/vncserver
root@cluster:~#
어떤 아이디어가 있나요?
답변1
vncserver
xauth
은 Perl 스크립트이므로 내부를 살펴보면 새로 생성된 임의의 MIT-MAGIC-COOKIE-1
값(에서 얻음)을 시작하려는 서버에 추가하여 실행되는 것을 볼 수 있습니다. mcookie
기본적으로 xauth에게 file 을 사용하도록 지시 ~/.Xauthority
하지만 XAUTHORITY=/root/.xauthVdNayr
사용자 환경에서 이를 설정한 것으로 보이며 이것이 우선 적용됩니다.
사용할 권한 파일은 일반적으로 서버용 클라이언트를 생성할 사용자의 홈 디렉터리에 있습니다.
XAUTHORITY
또는 유사한 디스플레이 관리자 로부터 상속받았을 수 xdm
있으며 파일을 잠그는 프로세스일 수 있습니다. lslocks
어떤 명령이 어떤 파일을 잠갔는지 나열하려면 이 명령을 사용하십시오 .
unset
기본 파일을 사용하도록 XAUTHORITY 환경 변수를 간단히 설정할 수 있습니다 .