为什么最新版本的 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