Featured image of post x11vnc安装与配置

x11vnc安装与配置

最近学校在做ros使用树莓派做一个路径规划,但是一般的vncserver无法使用rviz可视化工具,所以选择了x11vnc这款工具。

1. 安装x11vnc

1
sudo apt-get install x11vnc -y

直接安装成功。

2. 设置vnc密码

密码存储在/etc/目录里面

1
sudo x11vnc -storepasswd /etc/x11vnc.pass

放在这个位置,需要设置文件读取权限
否则会提示密码校验失败

1
sudo chmod 777 /etc/x11vnc.pass

3.创建vnc配置文件

在/etc/init 下创建一个x11vnc.conf的文件

1
2
 cd /etc/init 
 sudo gedit x11vnc.conf

文件内容如下:

1
2
3
4
5
6
#description "xiaoqiang vnc server"
#start on runlevel [2345]
#stop on runlevel [06]
#script
    exec /usr/bin/x11vnc -auth guess -capslock -forever -loop -noxdamage -repeat -rfbauth /etc/x11vnc.pass -rfbport 5900 -shared
#end script

我的密码创建在/etc目录下,可以直接复制这段,不需要按照别人博客的修改成自己的,这里用的5900端口,也可以自己换成其他的。

4.启动vnc服务

1
source /etc/init/x11vnc.conf

在这里插入图片描述
启动了VNC和X11服务,端口号为5902,我这里用的5902,5900和5901被我分给其他的了

5.设置自启动

我直接添加开机启动项没有成功,又写了一个脚本,将脚本添加到开机启动项才成功了。

(1)首先编写一个脚本

1
gedit x11vnc.sh

添加以下内容
第一行是要添加的解释器,后面是要执行的指令内容

1
2
#!/bin/bash
source /etc/init/x11vnc.conf

防止误删,从home移动到/etc/init.d/文件夹中
并添加权限

1
2
sudo mv x11vnc.sh /etc/init.d/
sudo chmod 777 /etc/init.d/x11vnc.sh

(2)添加启动项

点开ubuntu的显示所有应用程序,左下角9个点,找到启动应用程序打开,图中第二行第5个。
在这里插入图片描述
点击右侧添加,添加自动启动项。
在这里插入图片描述
添加内容如下;重要的是第二行,

1
bash /etc/init.d/x11vnc.sh

用bash启动才能成功,保存之后重启,确实可以开机自启了。
在这里插入图片描述

6.x11vnc配置(安装虚拟显卡驱动)

如果你没有实时使用显示器而又想通过vnc远程查看桌面的话,可以考虑安装虚拟显卡驱动,唯一的缺点就是配置好后显示器那边可能无法正常显示

(1)首先还是安装命令

1
sudo apt-get install xserver-xorg-video-dummy

(2)接下来就是创建配置文件 /etc/X11/xorg.conf

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
Section "Device"
    Identifier  "Dummy"
    Driver      "dummy"
    VideoRam    64000
    Option      "IgnoreEDID"    "true"
    Option      "NoDDC" "true"
EndSection

Section "Monitor"
    Identifier  "Monitor"
    HorizSync   15.0-100.0
    VertRefresh 15.0-200.0
EndSection

Section "Screen"
    Identifier  "Screen"
    Monitor     "Monitor"
    Device      "Dummy"
    DefaultDepth    24
    SubSection  "Display"
        Depth   24
        Modes   "1280x720"
    EndSubSection
EndSection

(3)再修改个文件加点配置

1
vi /boot/firmware/usercfg.txt
1
2
framebuffer_width=1280
framebuffer_height=720

如果想要恢复显示器的连接,可以先使用ssh访问终端并将/etc/X11/xorg.conf这个文件删除,再次重启即可

Licensed under CC BY-NC-SA 4.0
Last updated on Jul 14, 2022 00:00 UTC
顺颂时祺,秋绥冬禧
Built with Hugo
Theme Stack designed by Jimmy