0

Why does the newest version of Ubuntu (18.04) have 8 years old x11vnc?

My question is more specific than posted here and I have gotten an answer to it.

Ubuntu version:

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

I have installed the x11vnc:

sudo apt-get install x11vnc -y

Later I discovered the version is 8 years old.

X11vnc version

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

So, I checked sources for the Ubuntu 18.04 and I see that the newest cersion is not available.

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

The current available version on the github is x11vnc 0.9.15 2018-02-04

Valentyn
  • 349
  • 1
    Looking at https://packages.ubuntu.com/bionic/x11vnc i can see it's in 'universe', ie. community supported. This means no-one in the community has grabbed, compiled, tested & packaged the latest version. You're welcome to do it if you wish, or you could 'file' a bug suggesting it be done too (when the MOTU & others find the time to do it) – guiverc Aug 08 '18 at 23:37
  • Make your own deb and your own repo for it. Or become someone who will contribute this to the main line. – Konrad Gajewski Aug 09 '18 at 00:54
  • Also, did you check the README of the repo you linked to? "This is x11vnc with its development continued by LibVNC and the GitHub community. While 0.9.13 was the last release by the original author Karl Runge, 0.9.14 was the first community-based release here on GitHub." This repo is by someone else. – muru Aug 09 '18 at 03:40

2 Answers2

3

Looking at https://packages.ubuntu.com/bionic/x11vnc i can see it's in 'universe', ie. community supported. This means no-one in the community has grabbed, compiled, tested & packaged the latest version.

You're welcome to do these if you can & wish, or you could 'file' a bug suggesting it be done too (when the MOTU & others find the time to do it).

The reason is not many in the community step forward & help, leaving it for a very small number of volunteers.

guiverc
  • 30,396
  • MOTU is defined as "Masters of the Universe (MOTUs) are the brave souls who keep the Universe and Multiverse components of Ubuntu in shape.", from https://wiki.ubuntu.com/MOTU – guiverc Aug 08 '18 at 23:52
2

I have compiled and installed the new version of the x11vnc on my machine. The overnight testing has shown that it is more stable and doesn't have memory leaks observed in the older version.

Protocol

stop the current x11vnc if it is running

sudo systemctl stop x11vnc

get git if you don't have it

sudo apt-get install git

create a source folder in the home directory(or somewhere else if you want) and clone the new version of the x11vnc.

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

you will get a new folder with x11vnc into it clone the x11vnc to your local machine

src/x11vnc

following the instructions in the readme file

Briefly, Building x11vnc: Make sure you have all the needed build/compile/development packages installed. On a Debian-based distro you can simply do

apt-get build-dep x11vnc

to install most of them.

if you get the error "You must put some 'source' URIs in your sources.list" the solution is here

To generate the build system, do a

autoreconf -fiv

After that, it's the usual

./configure
 make

install new x11vnc

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

next, if you have added x11vnc to your autostart service list and followed this protocol you need to change location of your x11vnc service

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

change /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

Got to config file and change to /etc/local/bin….

sudo systemctl daemon-reload
sudo systemctl start x11vnc

now you have new x11vnc 0.9.15 version

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

and the x11vnc server autostarts and uses the new versio

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
Valentyn
  • 349