阅读量:2
Ubuntu VNC 日志记录指南
一 日志位置与快速查看
- 常见 VNC 实现(如 TigerVNC、TightVNC、vnc4server)会将运行日志写入用户主目录的 ~/.vnc/,文件名为 主机名:显示号.log(例如:ubuntu:1.log 或 VM-0-9-ubuntu:1.log)。启动或重启 VNC 时,终端会打印类似 “Log file is /home/ubuntu/.vnc/ubuntu:1.log” 的提示,可直接据此定位日志文件。查看方式示例:
- 查看日志:cat ~/.vnc/ubuntu:1.log
- 实时跟踪:tail -f ~/.vnc/ubuntu:1.log
- 列出实例:ps aux | grep vncserver
- 端口检查:ss -ltnp | grep 590(VNC 显示号 N 通常对应端口 590N)
以上路径与现象在 Ubuntu 18.04/20.04/22.04 搭配 TigerVNC/TightVNC/vnc4server 的实践中均适用。
二 使用 systemd 托管时的日志
- 若通过 systemd 管理 VNC(例如创建了 /etc/systemd/system/vncserver@.service),除 ~/.vnc/*.log 外,还可用 journalctl 查看服务日志:
- 查看服务日志:journalctl -u vncserver@1 -b
- 实时跟踪:journalctl -u vncserver@1 -f
- 按时间过滤:journalctl -u vncserver@1 --since “2025-12-20 00:00:00”
- 建议同时保留 ~/.vnc/*.log 与 journalctl,前者记录 VNC 会话细节,后者便于排查 systemd 层面的启动/重启/权限问题。
三 将输出重定向到自定义日志文件
- 直接运行方式:在启动脚本或命令行中将 stdout/stderr 重定向到指定文件,便于集中审计与轮转。
- 示例脚本 /home/ubuntu/vncserver-day.sh:
#!/usr/bin/env bash set -e vncserver -kill :1 >/dev/null 2>&1 || true exec vncserver :1 >>/home/ubuntu/vncserver-run.log 2>&1 - 赋权并测试:
chmod +x /home/ubuntu/vncserver-day.sh /home/ubuntu/vncserver-day.sh tail -f /home/ubuntu/vncserver-run.log - 定时重启并将脚本自身输出也记录(便于审计重启过程):
# crontab -e 0 0 * * * /home/ubuntu/vncserver-day.sh >>/home/ubuntu/vncserver-day-log.log 2>&1
- 示例脚本 /home/ubuntu/vncserver-day.sh:
- systemd 方式:在单元文件中为 ExecStart/ExecStop 增加日志重定向,例如:
提示:使用 systemd 时,若同时配置了 StandardOutput/StandardError 与自行重定向,注意避免重复写入或冲突(按需二选一或统一到 journald)。[Service] ExecStart=/usr/bin/vncserver -depth 24 -geometry 1280x800 :%i >>/var/log/vncserver@%i.log 2>&1 ExecStop=/usr/bin/vncserver -kill :%i >>/var/log/vncserver@%i.log 2>&1 StandardOutput=append:/var/log/vncserver@%i.log StandardError=append:/var/log/vncserver@%i.log
四 日志轮转与长期保留
- 建议对自定义日志(如 /var/log/vncserver@*.log 或 ~/vncserver-*.log)配置 logrotate,示例:
/var/log/vncserver@*.log /home/*/.vnc/*.log { daily rotate 30 missingok compress delaycompress copytruncate notifempty } - 若使用 systemd 的 journald,可通过 /etc/systemd/journald.conf 调整 SystemMaxUse、MaxRetentionSec 等参数控制持久化与保留策略,然后使用 systemctl restart systemd-journald 使配置生效。
以上就是关于“Ubuntu VNC如何进行日志记录”的相关介绍,筋斗云是国内较早的云主机应用的服务商,拥有10余年行业经验,提供丰富的云服务器、租用服务器等相关产品服务。云服务器资源弹性伸缩,主机vCPU、内存性能强悍、超高I/O速度、故障秒级恢复;电子化备案,提交快速,专业团队7×24小时服务支持!
简单好用、高性价比云服务器租用链接:https://www.jindouyun.cn/product/cvm