Linux的vncserver,能否设置-contralapp connect
时间: 2024-02-12 17:09:33 浏览: 120
是的,Linux的vncserver可以使用`-controlapp`参数来指定允许控制vnc会话的应用程序,同时使用`-connect`参数来指定允许连接到vnc会话的IP地址。例如,以下命令将启动一个vncserver实例,并将其配置为只允许使用RealVNC Viewer应用程序控制,并允许指定的IP地址连接:
```
vncserver :1 -geometry 1920x1080 -depth 24 -controlapp RealVNC-VNC-Viewer -connect 192.168.1.100
```
在上面的命令中,`-controlapp`参数指定了允许控制vnc会话的应用程序,而`-connect`参数指定了允许连接到vnc会话的IP地址。请注意,如果您希望允许多个IP地址连接到vnc会话,则可以在`-connect`参数中包含多个IP地址,以逗号分隔。
需要注意的是,为了使用`-controlapp`参数,您需要在vncserver配置文件(`~/.vnc/xstartup`)中指定`-nolisten tcp`参数。这将禁用vncserver的默认TCP监听端口,使其只能通过指定的控制应用程序进行访问。因此,您需要使用`-connect`参数来指定允许连接到vnc会话的IP地址。
相关问题
Linux的vncserver,能否设置connect
是的,Linux的vncserver可以设置连接选项,可以通过在命令中使用`-connect`参数来指定连接选项。例如,以下命令将启动一个vncserver实例,并将其配置为仅允许指定的IP地址(例如192.168.1.100)连接:
```
vncserver :1 -geometry 1920x1080 -depth 24 -connect 192.168.1.100
```
在上面的命令中,`-connect`参数指定了允许连接的IP地址,只有该IP地址的计算机才能连接到vncserver。请注意,如果您希望允许多个计算机连接到vncserver,则可以在`-connect`参数中包含多个IP地址,以逗号分隔。
需要注意的是,为了使用连接选项,您需要在vncserver配置文件(`~/.vnc/xstartup`)中指定`-nolisten tcp`参数。这将禁用vncserver的默认TCP监听端口,使其只能通过连接选项进行访问。因此,您需要使用`-connect`参数来指定连接选项来允许远程连接。
● vncserver.service - VNC Server Loaded: loaded (/etc/systemd/system/vncserver.service; enabled; vendor preset: enabled) Active: failed (Result: exit-code) since Tue 2023-06-06 16:25:57 CST; 19s ago Process: 2556 ExecStartPre=/usr/bin/vncserver -kill : > /dev/null 2>&1 (code=exited, status=1/FAILURE) Jun 06 16:25:57 paddlepi vncserver[2556]: [:<number>|:*] VNC server to kill, * for all Jun 06 16:25:57 paddlepi vncserver[2556]: [-dry-run] Take no real action Jun 06 16:25:57 paddlepi vncserver[2556]: [-verbose] Be more verbose Jun 06 16:25:57 paddlepi vncserver[2556]: [-clean] Also clean log files of VNC session Jun 06 16:25:57 paddlepi vncserver[2556]: vncserver -list List VNC server sessions Jun 06 16:25:57 paddlepi vncserver[2556]: [:<number>|:*] VNC server to list, * for all Jun 06 16:25:57 paddlepi vncserver[2556]: [-cleanstale] Do not list stale VNC server sessions Jun 06 16:25:57 paddlepi systemd[1]: vncserver.service: Control process exited, code=exited status=1 Jun 06 16:25:57 paddlepi systemd[1]: vncserver.service: Failed with result 'exit-code'. Jun 06 16:25:57 paddlepi systemd[1]: Failed to start VNC Server.
根据您提供的信息,vncserver 服务启动失败,主要原因是 ExecStartPre 命令执行失败。错误信息中提到了 "-kill" 参数,这个参数用于终止 VNC 会话,但是没有指定要终止的会话。因此,请尝试修改 vncserver.service 文件中的 ExecStartPre 行,将 "%i" 字符串替换为 "1",这样将终止所有 VNC 会话。改后的代码如下:
[Unit]
Description=VNC Server
After=syslog.target network.target
[Service]
Type=forking
User=root
Group=root
WorkingDirectory=/root
PIDFile=/root/.vnc/%H%i.pid
ExecStartPre=/usr/bin/vncserver -kill :1 > /dev/null 2>&1
ExecStart=/usr/bin/vncserver -depth 24 -geometry 1280x800 :%i
ExecStop=/usr/bin/vncserver -kill :%i
[Install]
WantedBy=multi-user.target
修改后保存文件,并重新启动 vncserver 服务,命令如下:
```
systemctl daemon-reload
systemctl restart vncserver
```
希望这能解决您的问题。
阅读全文