配置 TigerVNC 服务器随 Ubuntu GNOME 16.04 系统启动

配置 TigerVNC 服务器随 Ubuntu GNOME 16.04 系统启动

我正在尝试配置 TigerVNC 服务器以在Ubuntu GNOME 16.04.3。我安装了最新版本(1.8) 的TigerVNC使用这个帖子. 如果我使用以下命令启动服务器:

vncserver :4 -geometry 1920x1080 -depth 24 -nolisten tcp -localhost

它运行完美。我可以连接到显示 4通过 SSH,可以完全访问我的计算机,而无需解锁实验室中的真实(物理)显示器。此外,我可以调整几何形状以匹配我的笔记本电脑的显示器,因此一切都很完美。

然后我尝试使用 让服务器在启动时启动systemd,我发现这个帖子来帮助我。但是,我正在运行 GNOME 桌面,博客中的设置适用于 Unity。我的机器上没有安装 Unity,我更愿意避免使用它。

我该如何修改该帖子中的第 7 步和第 8 步以使用 GNOME 桌面而不是 Unity?我知道如果跳过它们则不起作用,因为当我远程连接时只会出现黑屏。


事实上,如果有另一种方法可以确保vncserver在启动时启动,那么这也将被接受为答案。TigerVNC 确实安装了一个名为的脚本vncserver/etc/init.d/但我无法使用update-rc.d

答案1

systemd单元文件对我有用:

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

[Service]
Type=forking
User=user
PAMName=login
PIDFile=/home/user/.vnc/%H:%i.pid
ExecStartPre=-/usr/bin/vncserver -kill :%i > /dev/null 2>&1
ExecStart=/usr/bin/vncserver :%i -depth 24 -geometry 1920x1080 -nolisten tcp -localhost
ExecStop=/usr/bin/vncserver -kill :%i

[Install]
WantedBy=multi-user.target

确保将和下方user对应的行替换为您的实际用户名。UserPIDFile[Service]

为了满足您的需求,请使用您首选的展示数字而不是4(就像我所做的那样)在启用时。此外,请确保在启动服务之前已在此服务单元文件之外初始化 vncserver。这将确保创建密码和必要的文件(等)。最简单的方法是针对单元文件中的xstartup运行命令。就我而言,这意味着:ExecStart[Service]

vncserver :4 -depth 24 -geometry 1920x1080 -nolisten tcp -localhost

资料来源:我改编了 Unit 文件本指南

相关内容