温馨提示×

ubuntu tigervnc如何实现自动登录

小樊
65
2025-09-25 18:21:30
栏目: 智能运维

Ubuntu下TigerVNC实现自动登录的步骤

1. 安装TigerVNC服务器

首先更新系统软件包列表并安装TigerVNC服务器及常用组件:

sudo apt update
sudo apt install tigervnc-standalone-server tigervnc-common

2. 设置VNC访问密码

运行以下命令设置VNC连接的密码(用于远程登录验证):

vncpasswd

按照提示输入并确认密码(密码长度需至少6位)。

3. 配置桌面环境启动脚本

编辑用户目录下的~/.vnc/xstartup文件(若不存在则创建),添加以下内容以启动桌面环境(以XFCE为例,若使用GNOME需替换为gnome-session):

nano ~/.vnc/xstartup

粘贴以下配置(关键:取消exec行的注释并替换为你的桌面环境):

#!/bin/sh
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
export XDG_SESSION_TYPE=x11
export XDG_RUNTIME_DIR=/run/user/$(id -u)
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
exec startxfce4  # 替换为 gnome-session(GNOME)或 kde-plasma-desktop(KDE)

保存并退出编辑器,然后赋予脚本可执行权限:

chmod +x ~/.vnc/xstartup

4. 创建Systemd服务实现开机自启

创建VNC服务的Systemd单元文件:

sudo nano /etc/systemd/system/vncserver@.service

粘贴以下内容(将your_username替换为你的Ubuntu用户名,:%i中的1对应端口59012对应5902,依此类推):

[Unit]
Description=Start TigerVNC server at startup
After=syslog.target network.target

[Service]
Type=forking
User=your_username
Group=your_username
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 :%i -depth 24 -geometry 1280x800  # 设置分辨率和颜色深度
ExecStop=/usr/bin/vncserver -kill :%i

[Install]
WantedBy=multi-user.target

保存并退出编辑器。

5. 启用并启动VNC服务

重新加载Systemd配置以识别新服务:

sudo systemctl daemon-reload

启用服务(设置为开机自启):

sudo systemctl enable vncserver@1.service  # 若使用:2则改为vncserver@2.service

立即启动服务:

sudo systemctl start vncserver@1.service

6. 验证自动登录

重启Ubuntu系统:

sudo reboot

系统重启后,TigerVNC服务会自动启动,对应的VNC端口(如5901)将处于监听状态。使用VNC客户端(如RealVNC、TightVNC)连接<服务器IP>:5901,输入之前设置的VNC密码即可直接登录桌面环境,无需手动启动VNC服务器。

注意事项

  • 安全性:自动登录会降低系统安全性,建议仅在可信网络环境中使用,或结合SSH隧道(ssh -L 5901:localhost:5901 your_username@your_server_ip)加密连接。
  • 桌面环境适配:若使用GNOME桌面环境,需将xstartup中的exec startxfce4替换为exec gnome-session;若使用KDE,替换为exec kde-plasma-desktop
  • 端口检查:使用ss -ltnp | grep 59015901对应:1)命令验证VNC服务是否正常监听端口。

0