sudo x11vnc -auth guess -forever -loop -noxdamage -repeat -rfbauth /root/.vnc/passwd -rfbport 5900 -shared 报错faled for display='unset'
时间: 2023-08-05 09:03:34 浏览: 100
这个错误提示说明 x11vnc 命令没有正确指定显示器。解决这个问题的方法是在命令中指定正确的显示器。你可以尝试下面两种方法:
方法一:使用 :0 指定默认显示器
在终端中输入以下命令:
```
sudo x11vnc -auth guess -forever -loop -noxdamage -repeat -rfbauth /root/.vnc/passwd -rfbport 5900 -shared -display :0
```
其中 `-display :0` 表示使用默认显示器。
方法二:使用 xrandr 命令查询显示器信息
在终端中输入以下命令:
```
xrandr
```
该命令会显示系统中所有的显示器信息。找到你要连接的显示器的名称,然后在 x11vnc 命令中使用 `-display` 参数指定该显示器的名称。例如,如果你要连接名为 HDMI-1 的显示器,可以使用下面的命令:
```
sudo x11vnc -auth guess -forever -loop -noxdamage -repeat -rfbauth /root/.vnc/passwd -rfbport 5900 -shared -display HDMI-1
```
请注意,在使用 xrandr 命令查询显示器信息时,你需要以普通用户身份运行该命令,而不是以 root 用户身份。
相关问题
安装VNC服务器x11vnc和配置x11vnc.service
### 如何安装 X11VNC VNC 服务器并配置 `x11vnc.service` 文件
#### 安装 X11VNC
为了在系统上安装 X11VNC,可以通过包管理器来完成这一过程。对于基于 Debian 的发行版,如 Ubuntu 或 Deepin,命令如下:
```bash
sudo apt-get update && sudo apt-get install x11vnc
```
这会更新本地包索引并将最新版本的 X11VNC 下载到计算机中[^4]。
#### 配置 X11VNC 连接密码
设置用于验证客户端身份的安全凭证非常重要。通过下面这条指令可创建一个新的认证密钥,并将其存储在一个指定位置以便后续调用:
```bash
sudo x11vnc -storepasswd /etc/x11vnc.pass
```
此命令提示输入两次新密码之后即完成了安全性的初步设定工作。
#### 创建与配置 `x11vnc.service` 文件
为了让 X11VNC 能够随操作系统一同启动,在 `/lib/systemd/system/` 目录下新建名为 `x11vnc.service` 的服务单元文件是非常必要的。具体操作方法为使用文本编辑器打开目标路径下的空白文档进行编写:
```bash
sudo vim /lib/systemd/system/x11vnc.service
```
向其中加入以下内容以定义该守护进程的行为模式:
```ini
[Unit]
Description=Start x11vnc at startup.
After=multi-user.target
[Service]
Type=simple
ExecStart=/usr/bin/x11vnc -auth guess -forever -loop -noxdamage -repeat -rfbauth /etc/x11vnc.pass -rfbport 5900 -shared
[Install]
WantedBy=multi-user.target
```
上述配置指定了当多用户环境准备就绪时自动激活本项服务;同时明确了执行程序的位置及其参数选项——这里特别注意 `-auth guess` 参数能够帮助我们更方便地获取当前登录用户的权限信息而无需额外指定显示编号或授权文件地址[^3]。
#### 加载新的服务配置并启用它
保存更改后的 `.service` 文件后,需告知 systemd 关于新增加的服务存在:
```bash
sudo systemctl daemon-reload
```
紧接着就可以开启这项功能使其成为默认行为的一部分了:
```bash
sudo systemctl enable x11vnc
```
最后一步则是立即启动刚刚建立起来的服务实例而不必等待下次重启再生效:
```bash
sudo systemctl start x11vnc
```
此时应该已经成功部署了一个完整的 X11VNC 解决方案,允许远程控制 Linux 图形界面的同时也保障了一定程度上的安全性[^2]。
阅读全文
相关推荐

















