부팅 시 x0vncserver가 시작되지 않는 이유는 무엇입니까?

부팅 시 x0vncserver가 시작되지 않는 이유는 무엇입니까?

위키를 사용하여 자동 GUI 로그인 설정에서 포물선 아치 Gnu/Linux에서 ightvncserver를 시작하려고 합니다.https://wiki.archlinux.org/index.php/TigerVNC#Using_tigervnc.27s_x0vncserverx0vncserver.service systemd 장치를 생성한 다음 systemctl enable x0vncserver.service부팅/다시 시작하면 활성화된 vnc 서버가 표시되지 않고 다음이 표시되는지 확인합니다.

# systemctl 상태 x0vncserver.service
*x0vncserver.service - 원격 데스크톱 서비스(VNC)
   로드됨: 로드됨(/etc/systemd/system/x0vncserver.service; 활성화됨, 공급업체 기본값: 비활성화됨)
   활성: 2017-07-01 20:42:55 +06 1분 34초 전 이후 비활성(죽음);
  프로세스: 302 ExecStart=/usr/bin/sh -c /usr/bin/x0vncserver -display :0 -rfbport 5900 -passwordfile /home/peruvian/.vnc/passwd & (코드=종료, 상태=0/SUCCESS)

Jul 01 20:42:52 sky systemd[1]: 원격 데스크톱 서비스(VNC) 시작 중...
Jul 01 20:42:55 sky systemd[1]: 원격 데스크톱 서비스(VNC)를 시작합니다.

그리고 내

#journalctl-xe|
-- 주제: x0vncserver.service 장치가 시작을 시작했습니다.
-- 장치 x0vncserver.service가 시작되기 시작했습니다.
-- 주제: x0vncserver.service 장치 시작이 완료되었습니다.
-- x0vncserver.service 장치 시작이 완료되었습니다.
7월 1일 20:47:08 sky systemd[1]: x0vncserver.service: 기본 프로세스가 종료됨, 코드=종료, 상태=1/FAILURE
Jul 01 20:47:08 sky systemd[1]: x0vncserver.service: 장치가 실패 상태로 전환되었습니다.
7월 1일 20:47:08 sky systemd[1]: x0vncserver.service: '종료 코드'로 인해 실패했습니다.

하지만 명령을 실행하거나 systemctl start x0vncserver.service데스크탑 systemctl restart x0vncserver.service을 로드한 후 # systemctl status x0vncserver.service아래와 같이 정상적으로 작동합니다.

# systemctl 상태 x0vncserver.service
*x0vncserver.service - 원격 데스크톱 서비스(VNC)
   로드됨: 로드됨(/etc/systemd/system/x0vncserver.service; 활성화됨, 공급업체 기본값: 비활성화됨)
   활성: 2017-07-01 20:56:53 +06 Saturday 이후 활성(실행 중);
  프로세스: 924 ExecStart=/usr/bin/sh -c /usr/bin/x0vncserver -display :0 -rfbport 5900 -passwordfile /home/peruvian/.vnc/passwd & (코드=종료, 상태=0/SUCCESS)
 마스터 PID: 925(x0vncserver)
    임무: 1(한도: 4915)
   C그룹:/system.slice/x0vncserver.service
           `-925 /usr/bin/x0vncserver -display :0 -rfbport 5900 -passwordfile /home/peruvian/.vnc/passwd

Jul 01 20:56:53 sky systemd[1]: 원격 데스크톱 서비스(VNC) 시작 중...
Jul 01 20:56:53 sky systemd[1]: 원격 데스크톱 서비스(VNC)를 시작합니다.

내 default.target은

# systemctl 기본값 가져오기       
그래픽 타겟

서비스가 예상보다 일찍 시작되고 시작 시 리소스 부족으로 인해 실패하는 것 같습니다.

답변1

조금 늦었지만 저도 이 질문을 우연히 발견했습니다.

문제는 x0vncserver에서 사용자가 X 세션에 로그인해야 하므로 다음 두 가지를 확인해야 한다는 것입니다.

  1. 귀하의 사용자는 다음과 같아야 합니다.자동으로 로그인하도록 구성

  2. ExecStart서비스가 시작을 시도하기 전에 데스크탑이 x0vncserver시작되고 로그인 될 수 있도록 명령에서 절전 모드를 설정하십시오 .

    ExecStart=/usr/bin/sh -c 'sleep 3 && /usr/bin/x0vncserver -display :0 -rfbport 5900 -passwordfile /home/<사용자 이름>/.vnc/passwd &'

잠이 나에게 큰 도움이 되었고 이제 내 x0vnc일이 시작됩니다.

답변2

xsession 이후 에만 x0vncserver시작되고 내 환경은 LXDE 환경이므로 더 쉬운 방법은 script.sh다음 파일을 만드는 것입니다.

#!/bin/bash
x0vncserver -display :0 -rfbport 5900 -passwordfile ~/.vnc/passwd

실행 가능하게 만들고 아래와 같이 sudo chmod +x script.sh파일에 한 줄을 추가합니다.~/.config/lxsession/LXDE/autostart

path_to_the_script_file/script.sh

x0vncserver이것이 LXDE 데스크톱 세션이 시작될 때 필요한 것입니다 .

관련 정보