위키를 사용하여 자동 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 세션에 로그인해야 하므로 다음 두 가지를 확인해야 한다는 것입니다.
귀하의 사용자는 다음과 같아야 합니다.자동으로 로그인하도록 구성
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 데스크톱 세션이 시작될 때 필요한 것입니다 .