协议

协议

为什么最新版本的 Ubuntu(18.04)有 8 年历史的 x11vnc?

我的问题比发布的内容更具体这里我已得到答案。

Ubuntu 版本:

user:~/$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 18.04 LTS
Release:    18.04
Codename:   bionic

我已经安装了 x11vnc:

sudo apt-get install x11vnc -y

后来我发现这个版本已经有8年了。

X11vnc version

29/07/2018 17:15:54 x11vnc version: 0.9.13 lastmod: 2011-08-10  pid: 3283

因此,我检查了 Ubuntu 18.04 的源代码,发现最新版本不可用。

b-ii-6@b-ii-6:~/$ apt-get source x11vncReading package lists... Done
Need to get 2,868 kB of source archives.
Get:1 http://us.archive.ubuntu.com/ubuntu bionic/universe x11vnc 0.9.13-3 (dsc) [2,000 B]
Get:2 http://us.archive.ubuntu.com/ubuntu bionic/universe x11vnc 0.9.13-3 (tar) [2,854 kB]
Get:3 http://us.archive.ubuntu.com/ubuntu bionic/universe x11vnc 0.9.13-3 (diff) [12.5 kB]
Fetched 2,868 kB in 0s (6,632 kB/s)
dpkg-source: info: extracting x11vnc in x11vnc-0.9.13
dpkg-source: info: unpacking x11vnc_0.9.13.orig.tar.gz
dpkg-source: info: unpacking x11vnc_0.9.13-3.debian.tar.xz
dpkg-source: info: applying 0001-Fix-openssl-1.1.x-detection.patch
dpkg-source: info: applying 0002-Support-openssl-1.1.0.patch
dpkg-source: info: applying 10_usepkgconfig.diff
dpkg-source: info: applying do-not-run-dbus-launch.patch
dpkg-source: info: applying enforce-bash.patch
dpkg-source: info: applying java_target_source.patch

目前可用的版本github是 x11vnc 0.9.15 2018-02-04

答案1

看着https://packages.ubuntu.com/bionic/x11vnc我可以看到它在“universe”中,即社区支持。这意味着社区中没有人获取、编译、测试和打包最新版本。

如果您可以并且愿意,欢迎您这样做,或者您可以“提交”一个错误建议也这样做(当 MOTU 和其他人有时间这样做时)。

原因是社区里没有多少人站出来提供帮助,而只靠极少数的志愿者来做这件事。

答案2

我已经在自己的机器上编译并安装了新版的 x11vnc。经过一夜的测试,新版更加稳定,没有出现旧版的内存泄漏问题。

协议

如果当前 x11vnc 正在运行,则停止它

sudo systemctl stop x11vnc

如果你没有,请获取 git

sudo apt-get install git

在主目录(或其他位置)创建一个源文件夹并克隆新版本的 x11vnc。

mkdir src
cd src
git clone git://github.com/LibVNC/x11vnc

你将获得一个包含 x11vnc 的新文件夹,将 x11vnc 克隆到你的本地机器

src/x11vnc

按照自述文件

简要地, 构建 x11vnc: 确保安装了所有需要的构建/编译/开发包。在基于 Debian 的发行版中,您只需执行

apt-get build-dep x11vnc

安装其中的大部分。

如果你收到错误“你必须在 sources.list 中放入一些‘源’ URI”,解决方案是这里

要生成构建系统,请执行以下操作

autoreconf -fiv

之后,一切如常

./configure
 make

安装新的 x11vnc

user@user:~/src/x11vnc$ sudo make install

接下来,如果您已将 x11vnc 添加到自动启动服务列表中并按照本议定书 您需要更改 x11vnc 服务的位置

sudo gedit /lib/systemd/system/x11vnc.service

更改 /usr/bin/ -> /usr/local/bin/

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

[Service]
Type=simple
ExecStart=/usr/local/bin/x11vnc -loop -forever -bg -rfbport 5900 -xkb -noxrecord -noxfixes -noxdamage -shared -norc -auth /run/user/120/gdm/Xauthority -rfbauth /etc/x11vnc.pass

[Install] 
WantedBy=multi-user.target

到达配置文件并更改为 /etc/local/bin...

sudo systemctl daemon-reload
sudo systemctl start x11vnc

现在你有了新的 x11vnc 0.9.15 版本n

user@user:~/src/x11vnc$ /usr/local/bin/x11vnc -version
x11vnc: 0.9.15 lastmod: 2018-02-04

并且 x11vnc 服务器自动启动并使用新版本

user@user:~$ systemctl status x11vnc
● x11vnc.service - Start x11vnc at startup.
Loaded: loaded (/lib/systemd/system/x11vnc.service; enabled; vendor preset: enabled)
Active: active (running) since Wed 2018-08-08 20:03:44 EDT; 13h ago
Main PID: 24049 (x11vnc)
Tasks: 2 (limit: 4915)
CGroup: /system.slice/x11vnc.service
           ├─24049 /usr/local/bin/x11vnc -loop -forever -bg -rfbport 5900 -xkb -noxrecord -noxfixes -noxdamage -shared -norc -auth /run/user/1000/gdm/Xauthority -r
           └─24052 /usr/local/bin/x11vnc -loop -forever -bg -rfbport 5900 -xkb -noxrecord -noxfixes -noxdamage -shared -norc -auth /run/user/1000/gdm/Xauthority -r

相关内容