TigerVNC 및 noVNC를 사용하여 Linux 상자(Ubuntu 20.4)에 VNC를 설정했습니다. 터미널에서 시작하면 제대로 작동하지만 부팅 시 자동으로 시작될 수 있도록 서비스에서 시작하고 싶지만 작동하지 않습니다.
내 서비스 파일 이름'[이메일 보호됨]/etc/systemd/system에 있는 '는 다음과 같습니다.
[Unit]
Description = VNC server
After=syslog.target network.target
[Service]
Type=forking
User=taisafmr15
ExecStartPre=-/usr/bin/vncserver -kill :2
ExecStart=/usr/bin/vncserver :2 -geometry 1600x900 -depth 24 -localhost no
ExecStop=/usr/bin/vncserver -kill :2
[Install]
WantedBy=multi-user.target
다음을 사용하여 서비스를 활성화할 수 있습니다.
sudo systemctl enable [email protected]
시작할 때와 마찬가지로 오류 없이 시작됩니다.
sudo systemctl start [email protected]
하지만 내 VNC 서버가 시작되지 않고 실행 중입니다.
sudo systemctl status [email protected]
실패했다고 표시됨(코드=종료, 상태=255/EXCEPTION) 로그를 보면 ExecStart에서 실패했음을 알 수 있습니다. 표시되는 유일한 오류 코드/메시지는 다음과 같습니다(코드=종료, 상태=255/EXCEPTION).
그러나 터미널에서 정상적으로 명령을 실행하면 서비스가 아닌 vnc 서버가 정상적으로 시작됩니다.
며칠 동안 어려움을 겪었습니다. 도움이나 조언이 도움이 될 것입니다.
편집: 내 xstartup 파일은 ~/.vnc/xstartup에 있습니다.
#!/bin/sh
[-x /etc/vnc/xstartup] && exec /etc/vnc/xstartup
[-r $HOME/.Xresources] && xrdb $HOME/.Xresources
내 xstartup 파일은 /etc/vnc/xstartup에 있습니다.
#!/bin/sh
export DISPLAY=:2
test x"$SHELL" = x"" && SHELL=/bin/bash
test x"$1" = x"" && set -- default
vncconfig -iconic &
"$SHELL" -l << EOF
export XDG_SESSION_TYPE=x11
export XDG_DATA_DIRS=/usr/share/ubuntu:/usr/local/share/:/usr/share/:/var/lib/snapd/desktop
export XDG_CONFIG_DIRS=/etc//xdg-ubuntu:/etc/xdg
export XDG_CURRENT_DESKTOP=ubuntu:GNOME
export DESKTOP_SESSION=/usr/share/xsessions/ubuntu.desktop
export GNOME_SHELL_SESSION_MODE=ubuntu
dbus-launch --exit-with-session /usr/bin/gnome-session --session=ubuntu
EOF
vncserver -kill $DISPLAY
두 xstartup 파일 모두 다음 권한을 갖습니다.
sudo chmod +x /etc/vnc/xstartup
sudo chmod 777 /etc/vnc/xstartup
전체 오류 메시지 vncserver[7143]: 2023년 4월 13일 목요일 16:26:40 vncserver[7143]: ComparingUpdateTracker: 0픽셀 입력/0픽셀 출력 vncserver[7143]: ComparingUpdateTracker: (1:-nan 비율) vncserver[ 7143]: Xtigervnc 프로세스 ID 6921 종료 중... 교착 상태인 것 같습니다. SIGKILL을 사용하세요!
vncserver[6912]: /home/tai79/.vnc/xstartup에 지정된 응용 프로그램을 시작하지 못했습니다. vncserver[6912]: 먼저 vncserver[6912]와 같이 간단한 것을 시도해 보세요: Tigervncserver -xstartup /usr/bin/xterm systemd[1]:[이메일 보호됨]: 기본 프로세스가 종료되었습니다. 코드=종료, 상태=255/EXCEPTION systemd[1]:[이메일 보호됨]:결과적으로 "종료 코드"가 발생하여 실패했습니다.