Debian VNC远程桌面自动登录设置
目标与总体思路
方案一 新建虚拟桌面会话 TigerVNC 并启用系统自动登录
#!/bin/sh
unset SESSION_MANAGER
exec /etc/X11/xinit/xinitrc
[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
xsetroot -solid grey
vncconfig -iconic &
export DESKTOP_SESSION=gnome
gnome-session &
[Unit]
Description=Start TigerVNC server at startup
After=syslog.target network.target
[Service]
Type=forking
User=<your_username>
Group=<your_group>
WorkingDirectory=/home/<your_username>
PIDFile=/home/<your_username>/.vnc/%H:%i.pid
ExecStartPre=-/usr/bin/vncserver -kill :%i > /dev/null 2>&1
ExecStart=/usr/bin/vncserver -depth 24 -geometry 1280x800 :%i
ExecStop=/usr/bin/vncserver -kill :%i
[Install]
WantedBy=multi-user.target
[daemon]
AutomaticLoginEnable=True
AutomaticLogin=<your_username>
重启 GDM:sudo systemctl restart gdm[Seat:*]
autologin-user=<your_username>
autologin-user-timeout=0
重启 LightDM:sudo systemctl restart lightdm方案二 共享当前已登录桌面 x0vncserver 或 x11vnc
x0vncserver -rfbauth ~/.vnc/passwd
x0vncserver -PAMService=login -PlainUsers=<your_username> -SecurityTypes=TLSPlain
mkdir -p ~/.config/systemd/user
cat > ~/.config/systemd/user/x0vncserver.service <<'EOF'
[Unit]
Description=Remote desktop service (VNC)
After=graphical-session.target
[Service]
Type=simple
ExecStartPre=/bin/sh -c 'while ! pgrep -U "$USER" Xorg; do sleep 2; done'
ExecStart=/usr/bin/x0vncserver -rfbauth %h/.vnc/passwd
[Install]
WantedBy=default.target
EOF
systemctl --user daemon-reload
systemctl --user enable --now x0vncserver.service
x11vnc -display :0 -usepw -listen <服务器IP> -autoport 5903
客户端自动登录 VNC 口令(可选)
vncviewer -passwd ~/.vnc/passwd-client <服务器IP>:1
常见问题与排查