그래서 최근에 Arch Linux에 tigervnc
패키지(uname -r )를 설치했습니다 . SSH 터널을 통해 VNC 서버를 실행하려고 하므로 4.18.10-arch1-1-ARCH
localhost에서 -localhost
서버를 시작합니다 vncserver
.
문제는 vncserver 를 시작하는 .service 파일을 사용한 후 systemctl start vncserver@:1
VNC 서버가 응답하지 않고 실제로 Xvnc 프로세스가 실행되고 있지 않다는 것입니다.
나는 이 문제를 해결하려고 시도했고 먼저 systemctl status vncserver@:1
다음을 제공했습니다.
● vncserver@:1.service - Remote desktop service (VNC)
Loaded: loaded (/etc/systemd/system/vncserver@:1.service; enabled; vendor preset: disabled)
Active: failed (Result: exit-code) since Wed 2018-10-10 20:57:46 EEST; 10min ago
Process: 4936 ExecStop=/usr/bin/vncserver -kill :1 (code=exited, status=2)
Process: 4897 ExecStart=/usr/bin/vncserver :1 -fg -alwaysshared -localhost :1 (code=exited, status=0/SUCCESS)
Process: 4891 ExecStartPre=/usr/bin/dbus-launch (code=exited, status=0/SUCCESS)
Process: 4885 ExecStartPre=/bin/sh -c /usr/bin/vncserver -kill :1 > /dev/null 2>&1 || : (code=exited, status=0/SUCCESS)
Main PID: 4897 (code=exited, status=0/SUCCESS)
Oct 10 20:57:41 JUHANPELIKONE-L systemd[1]: Starting Remote desktop service (VNC)...
Oct 10 20:57:42 JUHANPELIKONE-L systemd[4885]: pam_unix(login:session): session opened for user juha by (uid=0)
Oct 10 20:57:42 JUHANPELIKONE-L systemd[4891]: pam_unix(login:session): session opened for user juha by (uid=0)
Oct 10 20:57:42 JUHANPELIKONE-L systemd[1]: Started Remote desktop service (VNC).
Oct 10 20:57:42 JUHANPELIKONE-L systemd[4897]: pam_unix(login:session): session opened for user juha by (uid=0)
Oct 10 20:57:46 JUHANPELIKONE-L systemd[1]: vncserver@:1.service: Control process exited, code=exited status=2
Oct 10 20:57:46 JUHANPELIKONE-L systemd[1]: vncserver@:1.service: Failed with result 'exit-code'.
그런 다음 으로 진단을 시도 journalctl -xe
하고 일부 pam 오류를 발견한 다음 Xvnc에 대한 segfault 추적을 찾았습니다.
(현재 존재하는) 서비스 파일에 dbus 시작 명령을 추가하고, 창 관리자를 변경하고, 서비스 파일에서 vncservice 호출을 제거하고 서비스 파일에 매개변수를 추가하고, 터미널 에뮬레이터에서 직접 실행한 다음 TigerVNC를 다시 설치해 보았습니다. .
.service 파일이 시작되었습니다.페이스트빈journalctl -x
, 혼란을 방지하기 위한 내 출력 및 기타 항목 도 포함됩니다 .
답변1
나는 이것이 약간 오래되었다는 것을 알고 있으며 OP가 이것을 포기했을 수도 있습니다. 그러나 나는 또한 이 문제에 직면했고 (시행 착오를 통해) "-fg"(전경에서 실행) 플래그까지 추적했습니다. vncserver를 수동으로 실행하는 경우(또는 시작 시 다른 방식으로 vncserver를 실행하는 경우) vncserver는 문제가 없습니다.
그러나 fg 플래그를 제거해도 systemd의 문제는 해결되지 않습니다. 세그폴트의 원인이 정확히 무엇인지 모르겠습니다.
systemd 없이 문제를 복제하려면 수동으로 실행할 수 vncserver -fg
있으며 즉시 충돌이 발생하고 vncserver 로그에 동일한 segfault 문제가 발생하지만 fg 플래그를 제거하고 vncserver
전경 플래그 없이 실행하면 서버는 괜찮을 것입니다.
포그라운드에서 vncserver를 실행하려고 하면 Xvnc가 충돌하게 됩니다. 나는 그것이 무엇인지 잘 모르겠습니다.