gksu : Gtk- 경고 ** : 디스플레이를 열 수 없습니다 : : 0


40

갑자기 모든 gksu가 나를 위해 작동을 멈췄습니다.

~$ gksu gparted

(gpartedbin:24252): Gtk-WARNING **: cannot open display: :0

동일하게 발생합니다 gparted-pkexec:

~$ gparted-pkexec 
No protocol specified

(gpartedbin:25454): Gtk-WARNING **: cannot open display: :0

무엇이 원인 일 수 있습니까?

SSH 또는 VNC를 통해 이것을 실행하지 않습니다. 이것은 일반적인 터미널 창 에있는 localhost입니다 .


그래픽 사용자 인터페이스에서 작업하거나 그래픽 인터페이스가 제공하지 않는 시스템 (예 : ssh를 통해)에서 프로그램을 실행하려고하지 마십시오.
AB

1
@AB 이것이 ssh를 통한 것이 아님을 분명히해야합니다. 매우 일반적인 터미널 창에서 로컬 호스트에 있습니다. 응용 프로그램 메뉴에서 분리 된 사실 열기는 동일한 결과를 갖습니다.
d_inevitable

gksuGParted를 실행하는 데 사용할 필요는 없습니다 . gpartedpolkit을 사용하여 높은 권한을 얻습니다.
muru

내가 실행할 때 @muru gparted없이 gksu내가 얻을Root privileges are required for running gparted.
d_inevitable

좋아, gparted-pkexec(없이 gksu) 또는을 시도하십시오 gksu gpartedbin.
muru

답변:


66

Ubuntu 17.10 이상을 실행하는 경우 Wayland를 완전히 지원하도록 응용 프로그램을 업데이트하지 않은 경우이 문제가 발생할 수 있습니다. 응용 프로그램이 업데이트 될 때까지 해결 방법으로 다음을 실행할 수 있습니다.

xhost +SI:localuser:root

이를 통해 root사용자는 데스크탑에 응용 프로그램을 표시 할 수 있습니다. 다른 가능한 해결 방법은이 Q & A를 참조하십시오. Wayland에서 sudo를 사용하여 gksu / gksudo를 실행하거나 그래픽 응용 프로그램을 시작하지 않는 이유는 무엇입니까?

출처


@MDMower 편집을위한 Thx, 새로운 것을 배웠습니다 =)!
Cutton Eye

링크를 추가하는 @pomsky Thx;)!
Cutton Eye

18.04에서는 X-Org가 기본값으로 다시 사용됩니다. 따라서이 문제는 사라져야합니다. 참조
Cutton Eye

11

실행 해보십시오 xhost +localhost터미널에서 다음 명령을 다시 실행. 이를 통해 시스템의 모든 사용자 (예 : 루트)가 화면에서 창을 열 수 있습니다. 어디에서보다 로컬 호스트에서만 연결을 허용하는 것이 더 안전하므로 +가 아닌 + localhost를 사용해야합니다.

이것을 영구적으로 만들려면 다음 ~/.xinitrc과 같이 파일을 편집하십시오 .

운영 gedit ~/.xinitrc

다음과 같이 파일을 편집하십시오 (시작시 비어 있어야 함).

#! /bin/bash
xhost +localhost &

이제 파일을 저장하고 로그 아웃 한 후 로그인하십시오. 이제 sudo로 모든 것이 제대로 실행됩니다.

14.04에서 문제를 재현 할 수 없지만 sudo / gksu 가이 오류를 던졌을 때 과거에는 효과가있었습니다.

출처 :

  1. http://www.nikhef.nl/~mjg/xhost_plus.html
  2. https://forums.opensuse.org/showthread.php/405624-sudo-doesnt-open-X-programs
  3. https://wiki.ubuntu.com/CustomXSession

1
이것은 실제로 작동합니다. 이것이 액세스 제어 제한을 의미합니까? 이것의 원인이 무엇인지 알 수 있습니까?
d_inevitable

예, 그것은 X의 보안 기능입니다. 달리 말할 때까지 사용자와 xserver 로의 연결 만 허용합니다. 왜 일부 앱에 필요한지, 다른 앱에 필요한지 확실하지 않으며 모든 일에 대해 왜 그렇게 할 것인지에 대한 단서가 없습니다. 어쩌면 당신은 어딘가에 보안을 땜질하고 강화 했습니까?
Mark Paskal

2
이 오류 산출 에 xhost를 : 수 없습니다 ""개방 디스플레이
IgorGanapolsky

5
레디 스 , 그것은 사용하도록 제안했다 xhost +local:. 그 후 터미널에서 gparted를 시작할 수 있었지만 사용 xhost +localhost이 작동하지 않았습니다.
rmin

1
과연! xhost +local:고정 광산! non-network local connections being added to access control list필요한 것을 산출 합니다.
lobner

5

터미널에서 다음을 실행하십시오.

nano /home/user/.bashrc # user = name of your user

끝에 다음 줄을 추가하십시오.

export XAUTHORITY=$HOME/.Xauthority

2
이것이 어떻게 문제를 해결하고 부작용이 있는지에 대한 설명을 추가 할 수 있다면 유용할까요?
제프
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.