Ubuntu 上 TigerVNC 连接日志的查看方法
一 用户级日志文件
- 默认路径在用户主目录的 ~/.vnc/。常见命名:
- ~/.vnc/主机名:显示号.log(如:~/.vnc/ubuntu:1.log)
- 或 ~/.vnc/显示号.log(如:~/.vnc/1.log)
- 部分安装会在 ~/.vnc/logs/ 下生成(如:~/.vnc/logs/vncserver@:1.log)
- 常用查看命令(将 :1 替换为你的实际显示号):
- 查看全部:cat ~/.vnc/:1.log
- 分页查看:less ~/.vnc/:1.log
- 实时跟踪:tail -f ~/.vnc/:1.log
- 关键字筛选:grep -i “connect|authenticat|error” ~/.vnc/:1.log
- 提示:若使用 systemd 的用户级服务(如 vncserver@:1.service),仍建议同时检查上述用户目录日志,通常能直接看到客户端连接、认证与断开信息。
二 systemd 服务日志
- 若以系统服务运行,使用 journalctl 查看服务日志(服务名以实际配置为准):
- 查看全部:sudo journalctl -u tigervnc@:1.service
- 实时跟踪:sudo journalctl -u tigervnc@:1.service -f
- 时间范围:sudo journalctl -u tigervnc@:1.service --since “2025-09-01” --until “2025-09-19”
- 错误筛选:sudo journalctl -u tigervnc@:1.service | grep -i “error”
- 若服务名不同(如 vncserver@:1.service 或 tigervnc.service),将命令中的服务名替换为实际名称即可。
三 系统通用日志与认证日志
- 系统级日志可能写入通用日志文件,便于排查认证与访问问题:
- 实时查看系统日志:sudo tail -f /var/log/syslog
- 认证相关(登录失败等):sudo tail -f /var/log/auth.log
- 部分系统或版本可能存在 /var/log/tigervnc.log 或 /var/log/tigervnc/ 目录下的专用日志,可用 sudo 查看。
四 实时连接与端口排查
- 查看监听端口与当前连接(VNC 默认端口为 5900 + 显示号,如 :1 对应 5901):
- 查看监听与连接:sudo ss -tulnp | grep :590
- 或使用 netstat:sudo netstat -tulnp | grep :590
- 输出示例:
- tcp 0 0 0.0.0.0:5901 0.0.0.0:* LISTEN 1234/Xvnc
- tcp 0 0 192.168.1.100:5901 192.168.1.101:54321 ESTABLISHED 1234/Xvnc
- 流量异常排查(可选):
- 安装 iftop:sudo apt install iftop
- 监控指定端口:sudo iftop -P -f “port 5901”
- 提示:若使用非默认显示号,请将 :590 替换为对应的 :59xx。
五 找不到日志时的排查要点
- 确认正在使用的显示号(如 :1),并检查对应的 ~/.vnc/ 下是否存在 :1.log 或 logs/ 子目录中的日志。
- 检查服务名称与单元文件:
- 列出相关单元:systemctl list-units --type=service | grep -i vnc
- 查看单元文件:systemctl cat vncserver@:1.service(确认 ExecStart 与日志相关配置)
- 注意日志轮转:除 .log 外,可能还有 .log.1、.log.2.gz 等历史文件,需一并检查(如 zcat :1.log.2.gz | less)。
- 权限问题:查看 /var/log/ 下文件通常需要 sudo。