부팅시 xhost 설정


8

Fedora에서 부팅 할 때 xhost를 편집 /etc/gdm/Init/Default하고 예를 들어 add 하여 설정할 수 있습니다.

/usr/bin/xhost +local:

우분투에서 어떻게 비슷한 일을 할 수 있습니까? 나는 그것을 원한다

/usr/bin/xhost +local:

시스템이 로그인 프롬프트에있을 때 명령이 실행됩니다.

답변:


11

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 응용 프로그램을 활성화해야했습니다.


1
chhost + x /home/user/bin/xhost.sh
George Litos

Xubuntu 18.04에서 작동하지만 @George Litos가 언급 한대로 스크립트가 실행 가능한지 확인하십시오. 그렇지 않으면 시스템이 부팅되지 않습니다.
José Tomás Tocino 2016 년

2

이것은 나를 위해 일했다 :

편집 ~/.xinitrc:

export DISPLAY=":0.0"
xhost +
openbox

참고 : 특정 설정에서는 openbox 만 실행 중 입니다. 일반적으로 해당 파일이 비어 있거나 우분투에서 없습니다. 내 생각 엔 "openbox"줄을 제거하면 효과가 있지만 지금은 테스트 할 방법이 없다. 작동하지 않으면 창 관리자 명령의 마지막 줄을 바꾸십시오.


1

~/.xinitrc우분투 14.04에서 나를 위해 작동하지 않았지만 다음은 ~/.profile그랬습니다. 각 로그인, GUI / 터미널 / SSH / etc ...에서 스크립트가 실행되므로 stdout출력을 무음으로 리디렉션 합니다.

xhost +local: > /dev/null


1

우분투 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사용자 를 추가했습니다 .


0

다음은 @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에서 작동합니다.


-1

파일 편집 /etc/rc.local(과를 sudo) 마지막 명령 전에 명령을 추가합니다 ( exit 0).


1
이것은 작동하지 않습니다 (그리고 나는 결코 더 적게 시도했지만 작동하지 않습니다). 해당 스크립트는 처음에 해당 설정을 변경할 수있는 액세스 권한이 없기 때문입니다. lightdm 사용자로 수행해야합니까?
yurtesen

-1

다음 줄을 추가하십시오 /etc/xdg/lxsession/LXDE/autostart

xhost +local:
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.