x11vnc 密码检查失败

x11vnc 密码检查失败

据我所知,一切都配置正确。服务文件如下:

[Unit]
Description=Start x11vnc at startup
After=multi-user.target

[Service]
Type=simple
ExecStart=/usr/bin/x11vnc -auth guess -display :0 -forever -loop -noxdamage -repeat -rfbauth /etc/x11nvc.pass -rfbport 5900 -shared
ExecStop=/usr/bin/killall x11vnc
Restart=on-failure
RestartSec=5

[Install]
WantedBy=multi-user.target

密码存储在/etc/x11vnc.passusing中sudo x11vnc -storepasswd /etc/x11vnc.pass。我已经重新加载了守护进程:sudo systemctl daemon-reload 并启用了服务:sudo systemctl enable x11vnc,并启动了该服务sudo systemctl start x11vnc

重新启动后,该服务运行得很好,但是当我尝试使用 VNC 查看器访问它时,输入正确的密码后,我只是收到一个password check failed错误:

在此输入图像描述

问题在于:当我转到机器本身并打开 x11vnc 实用程序时,一旦我检查按钮Allow Connections,一切都会正常工作。问题是,这是一个无人值守的信息亭面板​​,我们不能每次重新启动时都这样做......因为它位于国家的另一边。

系统是 Debian 10.13 Buster,尚未运行防火墙。

有人可以指出我缺少什么吗?

答案1

之后很多经过测试,我发现有两个主要问题可以解决这个问题:

  1. 从 x11vnc 或任何其他设备中删除先前 VNC 配置的所有痕迹。尤其要确保从路径中删除所有与 VNC 相关的文件~/.config/...

  2. 重新运行x11vnc -storepasswd并使用建议的路径。由于某种原因,即使在服务文件中指定了它,当文件passwd位于建议路径中时,x11vnc 的工作也会更加一致。

我知道有些人会说这个问题可以通过全新安装来解决,但是,由于现有的设置和配置已在运行的系统上就位,因此擦除是不可行的。由于我们已部署到 10 台计算机,因此之后使用清理脚本来修复问题就很简单了。我希望这对其他人有用,这样他们就不必像我一样浪费几天的时间烦恼。

相关内容