데스크탑을 Debian 10에서 12로 마이그레이션하기 전에 테스트를 위해 노트북에 임시 Debian 12 인스턴스를 설정했습니다. 지금까지 작동하지 않는 유일한 것은 TigerVNC 인스턴스이지만 이는 매우 중요합니다.
(예, 이 게시물은 길지만, 이 게시물을 보는 모든 사람이 계속 읽을 수 있을 만큼 충분한 정보를 갖고 있는지 확인하고 후속 질문 수를 최소한으로 유지하고 싶었습니다.)
저는 몇 년 전에 Xfce4 데스크탑이 있는 Debian 10 amd64 시스템에 Tigervnc-standalone-server를 설정했고 그 이후로 계속 훌륭하게 실행되고 있습니다. 매우 안정적이고 반응성이 뛰어납니다. 그러나 이제 Debian 12로 전환해야 할 때이고 평생 동안 내가 설정한 Debian 12 테스트 시스템(debian-12.2.0-amd64-DVD-1.iso를 사용하여 설치)에서 Tigervnc가 작동하도록 할 수 없습니다.
기존 Debian 10 구성은 잘 작동합니다(작동하지 않는 구성은 아래 참조).
패키지 버전:
Tigervnc-standalone-server 1.9.0+dfsg-3+deb10u3
구성 파일:
testuser@system:~$ cat ~/.vnc/xstartup
#!/bin/bash
xrdb $HOME/.Xresources
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
startxfce4
(아래 Xresources는 빈 파일이므로 위의 xrdb 줄은 아무 작업도 수행하지 않을 수 있습니다.)
testuser@system:~$ cat ~/.Xresources
testuser@system:~$
(아래 구성 파일의 형상은 시작 명령에 지정되므로 아래 파일도 중요하지 않을 수 있습니다)
testuser@system:~$ cat ~/.vnc/config
geometry=1920x1080
dpi=96
성공적으로 시작되었습니다:
testuser@system:~$ vncserver :1 -geometry 1920x1080 -localhost no
New 'system.org:1 (testuser)' desktop at :1 on machine system.org
Starting applications specified in /home/testuser/.vnc/xstartup
Log file is /home/testuser/.vnc/system.org:1.log
Use xtigervncviewer -SecurityTypes VncAuth,TLSVnc -passwd /home/testuser/.vnc/passwd system.org:1 to connect to the VNC server.
testuser@system:~$
사용상의 주의사항:
데비안 시스템이 재부팅되면 kvm을 사용하여 testuser 계정에 로그인하고 터미널을 열고 위 명령을 입력합니다. 그런 다음 KVM에서 로그아웃하고 Windows 시스템의 VNC 뷰어(RealVNC)를 사용하여 Debian 상자에 연결합니다. Debian에 처음 로그인한 후 Debian 사용자 데스크톱에서 로그아웃하지 않고도 마음대로 VNC 클라이언트 연결을 끊었다가 다시 연결할 수 있습니다(가정 환경, 포트 전달 없음, 이에 대한 보안 문제 최소화). 완벽하게 작동합니다. 예, 부팅 시 자동으로 시작되도록 구성할 수 있다는 것을 알고 있지만 해당 부분은 수동으로 두는 것이 좋습니다.
새로운 Debian 12 구성을 시도했지만 그 중 아무것도 작동하지 않았습니다.
패키지 버전:
tigervnc-standalone-server 1.12.0+dfsg-8
$ vncpasswd가 실행되었고 시작 명령을 실행한 동일한 사용자에 대한 비밀번호가 생성되었습니다. 원격 VNC 뷰어는 VNC를 사용하여 /usr/bin/xterm만 시작할 때 이 비밀번호를 허용합니다.
구성 파일:
~/.Xresources file: not present (wasn't needed before)
~/.vnc/config file: same as the Debian 10 file (defining geometry and dpi, but geometry is being overridden with the vncserver command)
~/.vnc/xstartup file: have tried multiple versions, none of which correctly start up an Xfce4 desktop on VNC. See below for details.
다음은 내가 시도한 ~/.vnc/xstartup의 다양한 버전과 서버를 시작하려고 할 때의 해당 출력입니다.
1 원본, 복사된 Debian 10 파일:
#!/bin/bash
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
startxfce4
Tailed log output from $ vncserver command:
=================== tail /home/sysuser/.vnc/testcase.nodomain.org:1.log ===================
/usr/bin/startxfce4: X server already running on display :1
(process:2353): xfce4-session-CRITICAL **: 02:42:27.394: dbus-launch not found, the desktop will not work properly!
xfce4-session-Message: 02:42:27.515: SSH authentication agent is already running
gpg-agent: a gpg-agent is already running - not starting a new one
===========================================================================================
Session startup via '/home/sysuser/.vnc/xstartup' cleanly exited too early (< 3 seconds)!
2 DBUS가 설정되지 않았습니다.
#!/bin/bash
unset SESSION_MANAGER
startxfce4
Tailed log output from $ vncserver command:
=================== tail /home/sysuser/.vnc/testcase.nodomain.org:1.log ===================
/usr/bin/startxfce4: X server already running on display :1
xfce4-session-Message: 01:46:16.716: SSH authentication agent is already running
gpg-agent: a gpg-agent is already running - not starting a new one
===========================================================================================
Session startup via '/home/sysuser/.vnc/xstartup' cleanly exited too early (< 3 seconds)!
3 아무것도 설정되지 않았습니다:
#!/bin/bash
startxfce4
Tailed log output from $ vncserver command:
=================== tail /home/sysuser/.vnc/testcase.nodomain.org:1.log ===================
/usr/bin/startxfce4: X server already running on display :1
xfce4-session: Another session manager is already running
===========================================================================================
Session startup via '/home/sysuser/.vnc/xstartup' exited with status 1!
공통점:
모든 경우에 위의 출력은 다음과 같습니다.
Maybe try something simple first, e.g.,
tigervncserver -xstartup /usr/bin/xterm
The X session exited with status 1!
Killing Xtigervnc process ID xxxx... success!
$ vncserver -list 명령을 실행하면 실행 중인 인스턴스가 없다는 메시지가 반환됩니다(제목 아래 아무것도 없음).
VNC의 핵심 작동 원리는 다음과 같습니다.
xstartup 파일을 다음과 같이 줄이면 VNC 서버가 기본 수준에서 작동한다는 것을 알고 있습니다.
#!/bin/bash
/usr/bin/xterm
그런 다음 $ vncserver -list 명령은 Windows 뷰어에서 연결할 수 있는 X 인스턴스를 표시하고 터미널 창이 표시됩니다(다른 것은 없음). 따라서 이것은 Xfce4가 올바르게 시작되지 않는 문제일 뿐입니다.
어떤 아이디어가 있나요? ?