Mir에 연결하지 못했습니다 : 서버 소켓에 연결하지 못했습니다 : 해당 파일 또는 디렉토리가 없습니다.


18

다른 사용자로 로그인 한 후 GUI 프로그램을 어떻게 실행합니까?

thufir@doge:~$ 
thufir@doge:~$ sudo -u hawat -i
hawat@doge:~$ 
hawat@doge:~$ whoami
hawat
hawat@doge:~$ 
hawat@doge:~$ pwd
/home/hawat
hawat@doge:~$ 
hawat@doge:~$ echo $HOME
/home/hawat
hawat@doge:~$ 
hawat@doge:~$ firefox
No protocol specified
Failed to connect to Mir: Failed to connect to server socket: No such file or directory
Unable to init server: Could not connect: Connection refused
Error: cannot open display: :0
hawat@doge:~$ 

답변:


13

export DISPLAY=:0나를 위해 일했다. 연결중인 시스템이 아니라 연결 시스템에서 명령을 실행하십시오!


2
연결하려는 컴퓨터가 아니라 연결하는 데 사용한 컴퓨터에서
user2938093

아, 이것은 같은 상자에 있습니다. 다른 계정.
Thufir

1
내 컴퓨터에는 영향을 미치지 않았습니다
ComputerScientist

나를 위해 작동하지 않습니다. 왜 이런 일이 일어나고 있는지 모르겠습니다.
Chan Kim

6

이 답변은 Ubuntu 16.04 및 Mir (약간 적응)에서 작동합니다.

xauth를 사용하여 다른 사용자로 x 명령 실행

랩퍼 bash 스크립트 :

편의를 위해 래퍼 bash 스크립트를 만들었습니다.이 스크립트 는 다운로드하여 /usr/local/bin/xsudo실행 파일 ( chmod +x /usr/local/bin/xsudo)에 표시 할 수 있습니다 .

그런 다음 간단히 실행하십시오.

xsudo hawat firefox

가능한 대안 :

  • 훨씬 간단한 대안으로, 당신은 pam_xauth(s. this answer )를 조사 할 수도 있지만 어떤 이유로 든 작동하지 않습니다. (Firefox가 디스플레이에 연결할 수 없다는 오류가 여전히 : 0에 표시됩니다)
  • 포럼의 많은 당신은 명령을 볼 수 있습니다 xhost +local:유사하거나, 수 있도록 gksudo -u hawat firefox모든 래퍼 스크립트없이 작업을. 그러나 이것은 보안 허점을 엽니 다 : 로컬 호스트의 모든 활성 사용자는 키보드, 마우스, 화면 등에 액세스 할 수 있습니다
  • 있을 사용 SUX 어떤 이유로 중단되었습니다 - 당신은 여전히 다운로드하지만 그것을 사용할 수 있습니다. 내가 알 수있는 한, 그것은 내 스크립트와 비슷한 것을 훨씬 더 많이했습니다. 불행히도 나는 이것이 더 이상 유지되지 않는 이유를 알 수 없었습니다. (아마도 pam_xauth를 대신 사용해야하기 때문에-s. 첫 번째 대안)

3

이것에 너무 많은 시간을 보낸 후, 우분투 16.04의 Gnome을 사용하면 옛날부터 정확한 값이 DISPLAY=:1아니라는 것을 알았 DISPLAY=:0습니다.


1

export DISPLAY = : 0 작동하지만 터미널을 열 때마다 입력해야하므로 임시 솔루션입니다.

영구적 인 해결책 : / etc / sudoers의 env_keep 변수로 인해 문제가 발생했을 수 있습니다. gedit 또는 sudo visudo를 사용하여 / etc / sudoers 끝에 다음 행을 추가하십시오.

기본값 env_keep + = "DISPLAY"

참고 : env_keep에 추가하는 동안 항상 "+ =" 를 사용해야합니다. "="를 사용하여 다른 env_keep이있는 경우 "="를 사용 하면 다른 값이 무시 되므로 "+ ="로 변경하십시오 .


참고 : sudoers 파일을 직접 편집하지 말고 visudo랩퍼 를 사용하여 새 sudoers 파일을 작성하기 전에 안정성 검사를 제공합니다.
가브리엘 페어
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.