Skip to content

Instantly share code, notes, and snippets.

@mangoliou
Last active June 1, 2023 06:49
Show Gist options
  • Save mangoliou/407d6a39a60d128610c20c4143f39f0d to your computer and use it in GitHub Desktop.
Save mangoliou/407d6a39a60d128610c20c4143f39f0d to your computer and use it in GitHub Desktop.
x11vnc `stack smashing detected` solution.
# Install x-related to compile x11vnc from source code.
sudo apt-get update
sudo apt-get install -y libxtst-dev libssl-dev libjpeg-dev
# Grep source code.
wget http://x11vnc.sourceforge.net/dev/x11vnc-0.9.14-dev.tar.gz
gzip -dc x11vnc-0.9.14-dev.tar.gz | tar -xvf -
cd x11vnc-0.9.14/
./configure --prefix=/usr/local CFLAGS='-g -O2 -fno-stack-protector -Wall'
# Make and Make install.
make
make install
# Grep lighdm auth file.
ps wwwwaux | grep auth
# Run x11vnc.
/usr/local/bin/x11vnc -auth /var/run/lightdm/root/:0 -display :0 -xkb -forever -shared -rfbport 20000
# Use the chrome vnc client. Login Ubuntu and press ESC. Problems solved.
@pantaluna
Copy link

Thanks. x11vnc works now on Ubuntu Zesty :)

@alhopper
Copy link

Awesome. Works exactly as written.
Thanks!!

@Azrael808
Copy link

This solution works on Fedora 27, albeit with a different pre-requisite install line:

sudo dnf install libXtst-devel openssl-devel libjpeg-devel

Only other gotcha is that I couldn't get the ./configure step to recognise the openssl libraries, but this isn't a massive issue for me as I'm tunnelling over an SSH connection.

@michielproce
Copy link

michielproce commented Nov 27, 2017

Debian/Ubuntu requirements:

sudo apt-get install libxtst-dev libssl-dev libjpeg-dev

(also didn't recognize openssl libraries, also didn't need them)

@flefebure
Copy link

You saved my day with a fresh Ubuntu 18.04 install
Thanks

@sywalters
Copy link

Lovely. Worked for Bionic Beaver too. Had to run "sudo make install" though. Thanks!

Copy link

ghost commented Jun 1, 2018

Hi. I installed the new solution cause x11vnc closes randomly in a fresh 18.04 x64 Ubuntu. And I run this command at login but seems didn't works the -clip xinerama0 option cause it show both desktop when connecting. Is it because the new x11vnc version or am I doing something wrong?

/usr/local/bin/x11vnc -clip xinerama0 -auth /var/run/lightdm/root/:0 -display :0 -xkb -forever -shared -rfbport 5900

@pillsilly
Copy link

this one really helps, good job!

@johnthomas22
Copy link

Thanks!

@ethomas997
Copy link

Thanks for posting this. I was getting "stack smashing detected" disconnects with 'x11vnc-0.9.14-9.fc29.x86_64' on Fedora 29, and fixed it by building a new binary of x11vnc-0.9.16 and swapping it in; these are the commands I used:

sudo dnf install libXtst-devel openssl-devel libjpeg-devel
sudo dnf install autoconf automake libvncserver-devel
wget https://codeload.github.com/LibVNC/x11vnc/tar.gz/0.9.16 -O x11vnc-0.9.16.tar.gz
gzip -dc x11vnc-0.9.16.tar.gz | tar -xvf -
cd x11vnc-0.9.16
sh autogen.sh
./configure --prefix=/usr/local CFLAGS='-g -O2 -fno-stack-protector -Wall'
make
sudo cp src/x11vnc /usr/bin/
sudo chown root:root /usr/bin/x11vnc

@ethomas997
Copy link

These are commands I used on Linux Mint 19.1 to build a new binary of x11vnc-0.9.16 and swap it in:

sudo apt-get update
sudo apt-get install -y libxtst-dev libssl-dev libjpeg-dev
sudo apt-get install autoconf automake libvncserver-dev
wget https://codeload.github.com/LibVNC/x11vnc/tar.gz/0.9.16 -O x11vnc-0.9.16.tar.gz
gzip -dc x11vnc-0.9.16.tar.gz | tar -xvf -
cd x11vnc-0.9.16
sh autogen.sh
./configure --prefix=/usr/local CFLAGS='-g -O2 -fno-stack-protector -Wall'
make
sudo cp src/x11vnc /usr/bin/
sudo chown root:root /usr/bin/x11vnc

@kenysc99
Copy link

kenysc99 commented Apr 1, 2019

Thanks, in a Ubuntu 18.04.02 I need to install 2 more packages libssl1.0-dev zlib1g-dev to avoid the missing lib warnings. And yes I'm auto starting x11vnc as a system service

sudo apt-get update
sudo apt-get install -y libxtst-dev libssl-dev libjpeg-dev libssl1.0-dev zlib1g-dev
wget http://x11vnc.sourceforge.net/dev/x11vnc-0.9.14-dev.tar.gz
gzip -dc x11vnc-0.9.14-dev.tar.gz | tar -xvf -
cd x11vnc-0.9.14/
./configure --prefix=/usr/local CFLAGS='-g -O2 -fno-stack-protector -Wall'
make
sudo systemctl stop x11vnc.service
sudo cp ./x11vnc/x11vnc /usr/bin
sudo systemctl daemon-reload
sudo systemctl start x11vnc.service

@uku69
Copy link

uku69 commented Apr 20, 2019

@ethomas997:
thank you; that's the solution for Linux Mint 19.1 Tessa.
But - I hat to add also following packages before autogen:

sudo apt-get install autoconf libssl-dev xorg-dev libvncserver-dev

Now it's working...

@frzleaf
Copy link

frzleaf commented Mar 30, 2020

Thanks a lot!
It worked on my machine Linux Mint 19.1 Cinnamon

@frzleaf
Copy link

frzleaf commented Mar 30, 2020

make install should be in sudo mode

@abrahaobittar
Copy link

Thanks a lot.
Just a complement, if you want run VNC with password:
run command bellow
x11vnc -storepasswd for create a password.

Create a shellscript with this content:

#!/bin/bash
x11vnc -display :0 -forever -shared -o /home/theuser/x11vnc.log -bg -rfbauth /home/theuser/.vnc/passwd

Do not forget to make the script executable: chmod +x yourscript

If you want to make x11vnc(server) starts automatically just add to the path do startup (like xfce-session-manager)

@scraimer
Copy link

scraimer commented Jun 2, 2021

I didn't have root access on my Ubuntu, so I ended up building LibVNCServer as well. In case anyone needs to know how to use the LIBVNCSERVER_LIBS and LIBVNCSERVER_CFLAGS variables: https://gist.github.com/scraimer/1846fc01bd4660d16a37309b1ef9f744

@emcek
Copy link

emcek commented Sep 28, 2021

I got problem with ubuntu 18.04 and vnc-0.9.16:

# ./autogen.sh
:
:
checking dependency style of gcc... gcc3
checking for a sed that does not truncate output... /bin/sed
./configure: line 4101: PKG_PROG_PKG_CONFIG: command not found
checking for RAND_file_name in -lcrypto... yes
checking for crypt... no
checking for crypt in -lcrypt... yes
./configure: line 4254: syntax error near unexpected token `OPENSSL,'
./configure: line 4254: `		PKG_CHECK_MODULES(OPENSSL, openssl >= 1.0.0,'

fix with:

sudo apt install pkg-config

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment