Debian 8을 설치한 지 일주일이 지났는데 루트 사용자를 사용하여 콘솔에서 그래픽 애플리케이션을 실행할 수 없습니다. 실제로 xampp(또는 다른 프로그램)을 실행하면 다음 오류가 발생합니다.
root# /opt/lampp/manager-linux-x64.run
No protocol specified
No protocol specified
Unknown Error couldn't connect to display ":0"
Google에서 오류를 검색하고 제안 사항을 시도했지만 아직 문제가 해결되지 않았습니다.
이것이 나의 Xauthority입니다
root# echo $XAUTHORITY
/root/.Xauthority
이것은 내 DISPLAY 변수입니다.
root# echo $DISPLAY
:0
이상한 사실은 루트가 아닌 내 사용자로는 아무런 문제가 없으며 모든 그래픽 응용 프로그램을 실행할 수 있다는 것입니다. DISPLAY 변수는 루트 변수와 동일합니다.
user# echo $DISPLAY
:0
나는 또한 여기에서 제안을 시도했습니다 -->"루트": "지정된 프로토콜 없음"에서 GUI 응용 프로그램을 실행할 수 없는 이유는 무엇입니까?:
root# xauth + root
xauth: (argv):1: unknown command "+"
그리고 명령을 내리다
export XAUTHORITY=~/.Xauthority
영향 없음
답변1
그냥 사용 xhost +
하고 달리면 sudo ./manager-linux-x64.run
나에게 온다.
답변2
나는 명령을 사용하여 이 문제를 해결했습니다 su -
.
여기su -
사이의 차이는 무엇입니까?su
답변3
이 명령을 올바르게 사용해야 합니다 xhost
. xhost +IP
또는 를 사용할 수 있습니다 xhost +Username
.
루트 사용자의 경우 실행해야 하는 명령은 다음과 같습니다. xhost +root
또는 localhost의 모든 사용자에 대해: xhost +localhost
.
드디어 작동한다
$ xhost +
이렇게 하면 xserver
ACL이 일시적으로 제거됩니다.
xhost의 맨페이지를 읽고 하나의 인수를 허용하고 1개 대신 두 개의 인수( 또는 중 하나) man xhost
를 전달하는 것을 볼 수 있습니다 .+
username
+username
+IP