我有四个 VNC 服务器实例,在 Debian Buster 计算机上运行,供四个不同的用户使用。
感谢 Apache Guacamole,用户可以通过网络浏览器从远程计算机同时登录各自的帐户。
每个 VNC 实例都有自己的单元文件。它们看起来像这样:
[Unit]
Description=a wrapper to launch an X server for VNC
After=syslog.target network.target
[Service]
Type=forking
User=user2
Group=user2
WorkingDirectory=/home/user2
ExecStartPre=-/usr/bin/vncserver -kill :%i > /dev/null 2>&1
ExecStart=/usr/bin/vncserver -rfbport 5902 -depth 24 -geometry 1280x800 -localhost :%i
ExecStop=/usr/bin/vncserver -kill :%i
[Install]
WantedBy=multi-user.target
请注意,用户、用户的主目录和 VNC 服务器的端口已明确指定。他们需要匹配鳄梨酱的用户映射文件中的数据:
<connection name="User1">
<protocol>vnc</protocol>
<param name="hostname">localhost</param>
<param name="port">5902</param>
<param name="password">user2's vnc password</param>
</connection>
</authorize
我有一个在启动时运行的非常简单的脚本,每次只启动一个 VNC 实例。
所以这对我有用,只是我觉得这不太优雅。有没有更好的方法让 systemd 支持多用户?什么会是[电子邮件受保护]模板文件可能看起来可以处理用户名和端口号?