Debian 11.2버전 기준으로 TigerVNC를 systemd 서비스로 구동하는 경우에 문제가 발생한다.

 

위와 같이 VNC Viewer에서 "Oh no! Something has gone wrong." 화면이 나오고 tigervnc service가 종료된다.

 

반면에 putty terminal에서 vncserver :1 으로 수동실행하면 Gnome이 정상적으로 로드 된다.

 

이 문제는 debian 10 때부터 고질적으로 발생하는 문제인데 정확한 원인을 찾지는 못했지만 대략적으로 짐작이 되는 부분이 있어서 내용을 정리해본다.

 

참고로 Centos 8에서는 TigerVNC를 서비스로 실행해도 Gnome이 정상적으로 로드된다.

 

따라서, 프로그램의 TigerVNC의 버그라기 보다는 구동 스크립트 상에 버그가 있는것으로 보인다.

 

Xrdp로 접속해보면 처음에 윈도우 서버를 선택하는 화면이 나오는데 Xorg, Xvnc 둘 중에 하나를 선택해야 한다.

 

여기서 Xorg를 선택하는 경우에 "Oh no! Something has gone wrong." 에러 스크린이 나타는걸 확인했다.

 

Xvnc를 선택하면 Gnome 정상적으로 로드 된다.

 

Local로 사용할 때에는 Xorg 서버를 이용해서 Gnome을 로드해도 문제가 없지만 VNC로 사용할 때는 Xvnc를 사용해야 하는데 서비스 스크립트 혹은 Gnome 구동 스크립트에 모종의 오류가 있어서 Xvnc를 윈도우 서버로 선택해서 로드하는 과정에 발생하는 오류로 보인다.

 

Debain 11.4버전부터 해결됨.

Debian 11.5 기준

 

0. sudo 설정

su(root변경)

/usr/sbin/usermod -aG sudo <targetuser>

reboot now

 

1. 방화벽 설치

sudo apt install ufw

sudo ufw enable

sudo ufw allow ssh

 

2. ssh 설정(인스톨 할때 ssh서버를 설치하지 않았을 경우 필요함)

sudo apt install openssh-server

sudo systemctl enable sshd

sudo systemctl start sshd

 

3. 기본패키지 추가 설치

sudo apt install net-tools

 

4. 데스크탑 환경 GNOME -> GNOME Flashback 변경

GNOME tigervnc를 서비스로 실행하면 오류를 뿜는 문제가 있어서 기본 데스크탑 환경을 GNOME Flashback으로 변경.

sudo tasksel 

 

5. VNC 설정

sudo apt install tigervnc-standalone-server

vncpasswd -> VNC패스워드 설정

sudo vi /etc/tigervnc/vncserver.users -> :1 [username] 추가

sudo systemctl enable tigervncserver@:1.service

sudo systemctl start tigervncserver@:1.service

 

6. GNOME Sleep Disable

sudo systemctl mask sleep.target suspend.target hibernate.target hybrid-sleep.target

gsettings set org.gnome.settings-daemon.plugins.power sleep-inactive-ac-type 'nothing'
gsettings set org.gnome.settings-daemon.plugins.power sleep-inactive-battery-type 'nothing'

 



 

+ Recent posts