$HOME/.Xauthority
실수로 파일을 삭제했습니다 . X11을 다시 시작하지 않고 다시 만들고 싶습니다. ATM 이 명령을 사용하여 새 X11 세션을 시작했습니다.
startx -- :1
하지만 내 :0 디스플레이는 여전히 X11 응용 프로그램을 실행하지 않습니다. 나는이 명령을 시도했습니다
rm ~/.Xauthority
touch ~/.Xauthority
xauth add ${HOSTNAME}/unix:0 . $(xxd -l 16 -p /dev/urandom)
xauth add ${HOSTNAME}/unix:1 . $(xxd -l 16 -p /dev/urandom)
xauth add ${HOSTNAME}/unix:10 . $(xxd -l 16 -p /dev/urandom)
xauth add ${HOSTNAME}/unix:12 . $(xxd -l 16 -p /dev/urandom)
xauth add ${HOSTNAME}/unix:13 . $(xxd -l 16 -p /dev/urandom)
xauth list 명령은 정상을 보고합니다.
xauth 목록
myhost.mydomain/unix:0 MIT-MAGIC-COOKIE-1 blablabla
myhost.mydomain/unix:1 MIT-MAGIC-COOKIE-1 blablabla
myhost.mydomain/unix:10 MIT-MAGIC-COOKIE-1 blablabla
myhost.mydomain/unix:12 MIT-MAGIC-COOKIE-1 blablabla
myhost.mydomain/unix:13 MIT-MAGIC-COOKIE-1 blablabla
하지만..
xterm -display :0
Invalid MIT-MAGIC-COOKIE-1 keyxterm: Xt error: Can't open display: :0
xeyes -display :0
Invalid MIT-MAGIC-COOKIE-1 keyError: Can't open display: :0
좋은 Xauthority를 생성하고 다시 시작하지 않고 "잃어버린" :0 디스플레이를 복원하려면 어떻게 해야 합니까?
편집: 의사 솔루션을 찾았습니다. 이전 Xauthority 파일을 어딘가에 저장하거나 올바른 쿠키를 상기시키면 X11 디스플레이가 다시 작동하지만 올바른 쿠키 값을 상기시키지 않으면 어떻게 되나요?
답변1
새 쿠키를 생성하고 클라이언트에게 이 새 쿠키를 사용하도록 지시합니다. 그러나 서버는 여전히 자체 쿠키를 사용합니다. 쿠키를 모르면 서버에 접속하여 쿠키를 검색할 수 없습니다.
다른 방법으로 쿠키를 얻을 수도 있습니다(결국 서버 프로세스의 메모리에 상주합니다). 이는 X 서버에 따라 다릅니다. 프로세스의 메모리를 검색하는 것 외에 Xorg를 사용하여 이를 달성할 수 있는 다른 방법이 있는지 모르겠습니다.
X 서버가 호출된 방식에 따라 쿠키가 여전히 존재하는 파일에 있을 수 있습니다. 서버의 명령줄을 확인하세요.
ps ww -C Xorg
인수가 존재하는 경우 -auth
해당 인수의 이름을 딴 파일이 여전히 존재하는지 확인하십시오. 예를 들어 다음과 같은 경우가 있습니다 Xorg … -auth /tmp/serverauth.abcdefgh
.
xauth merge /tmp/serverauth.abcdefgh