답변:
이 xhost
명령을 실행하려면 활성 X 서버가 필요 lightdm
합니다. 예를 들어 로드 시 로그인 화면에서 실행할 수 있습니다 . /etc/lightdm/lightdm.conf
다음 줄 을 편집 하고 추가하여 활성화 할 수 있습니다 .
display-setup-script=/home/user/bin/xhost.sh
예제 /etc/lightdm/lightdm.conf
파일 :
[SeatDefaults]
greeter-session=unity-greeter
user-session=ubuntu
display-setup-script=/home/user/bin/xhost.sh
예제 /home/user/bin/xhost.sh
파일 :
#!/bin/bash
xhost +
Ubuntu 12.04.1 LTS에서 작동하며 X가 필요하고 Tomcat 6에 의해 실행되는 Java 응용 프로그램을 활성화해야했습니다.
우분투 17.10과 같은 문제가있었습니다. 내 시스템이 제대로 구성되지 않았을 수 있습니다. 어쨌든 내 경우에는
xhost + SI:localuser:root > /dev/null
내 ~/.bashrc
파일 맨 아래에서 작동했습니다. 이것이 보안 위험인지 모르겠습니다. 다른 사람이 같은 상황에 처해있는 경우 공유하고 사전 권한이 부여 된 X 서버 사용자 목록에 루트를 추가하는 것이 좋습니다.
여기에 제안되어 있습니다 http://ubuntuhandbook.org/index.php/2017/10/ubuntu-17-10-tip-graphical-apps-doesnt-launch-via-root-sudo-gksu/
먼저 터미널에서 직접 테스트 할 수 있습니다.
$ xhost + SI:localuser:root
$ xhost -
두 번째 줄은 목록에있는 사용자 만 X 서버에 액세스 할 수 있도록합니다. 그런 다음 파일을 마우스 오른쪽 버튼으로 클릭하거나 직접 실행하여 "관리자로 편집"을 시도하십시오.
$ pkexec gedit
이것이 작동하지 않으면 ~ / .bashrc에서 명령을 영구적으로 만드는 것은 의미가 없습니다.
더 정확하게 말하면, 나는 먼저 실행
$ xhost
X 서버에 액세스 한 사용자를 확인하십시오. 나는 형식이 것을보고 SI:localuser:dominic
어디에 dominic
내 로그인 이름입니다. 따라서 동일한 형식 SI:localuser:root
을 사용 하여 root
사용자 를 추가했습니다 .
다음은 @GeorgeLitos의 답변 변형이며 다음과 같습니다.
/etc/lightdm/lightdm.conf
이 파일은 시스템 업그레이드로 덮어 쓸 수있는 시스템 소유 파일이므로 직접 수정하지 마십시오 . 대신 확장 디렉토리를 사용하십시오 /etc/lightdm/lightdm.conf.d/
. 또한 다른 설정을 복제 할 필요가 없습니다./etc/lightdm/lightdm.conf.d/xhost.conf
다음 내용 으로 파일을 (사용자 루트로) 작성하십시오 .
[SeatDefaults]
display-setup-script=xhost +
이것은 Ubuntu 16.04.5 LTS에서 작동합니다.