Skip to content

Instantly share code, notes, and snippets.

@rbreaves
Last active December 4, 2023 09:12
Show Gist options
  • Save rbreaves/87059f92f030ee4e068f911ddb56a4dd to your computer and use it in GitHub Desktop.
Save rbreaves/87059f92f030ee4e068f911ddb56a4dd to your computer and use it in GitHub Desktop.
#/bin/bash
# Clone, compile & install
git clone --single-branch --branch Super-with-Scrolling https://github.com/rbreaves/x11vnc.git
# Enable all sources
sudo sed -i '/^#\sdeb-src /s/^#//' "/etc/apt/sources.list"
cd ./x11vnc
sudo apt update
sudo apt-get build-dep x11vnc
autoreconf -fiv
./configure
make
sudo make install
# Get your keyboard and mouse event id's
ls -l /dev/input/by-id
# or if not available
ls -l /dev/input/by-path
ls -l /dev/input/
# Alternatively you can sudo cat your inputs to figure out which is your keyboard and which is your mouse
sudo cat /dev/input/eventX
# Use mouse event id for direct_abs below
# Use keybord event id for direct_key below
# Make sure you update my id's to your id's in the command below
# Command is now revised to fix cursor as well (vnc client may need tweaking to avoid double cursors, or dots)
sudo /usr/local/bin/x11vnc -forever -display :0 -auth guess -rfbport 5900 -noxdamage -pipeinput UINPUT:direct_key=/dev/input/event1,direct_abs=/dev/input/event7 -overlay -repeat -cursor_drag -nocursorshape -usepw
# If combined w/ xrdp then you may need to update an ini file
# to pass all modifier keys properly, not sure.
# https://github.com/neutrinolabs/xrdp/issues/2169#issuecomment-1059792757
@rbreaves
Copy link
Author

On macOS Jump Desktop is actually better than RealVNC - Jump Desktop is the only one that will allow you to go full screen without creating a new Space (edit in preferences). This makes it easier to switch to apps in your dock vs being kicked out of your "Space" as fullscreen apps often don't allow other apps to overlay on top of your fullscreen app.

@learex
Copy link

learex commented Dec 4, 2023

I've gotten almost everything to work, except for the x11vnc that ist redirecting my input.
At first it said that /root/.XAuthoritiy didn't exist, so I touched it, but now it still fails. Any idea why?

Setup: macOS via Jump Desktop (latest, respectively) using RDP to Ubuntu 22.04 with xrdp.

sudo /usr/local/bin/x11vnc -forever -display :0 -auth guess -rfbport 5900 -noxdamage -pipeinput UINPUT:direct_key=/dev/input/event2,direct_abs=/dev/input/event3 -overlay -repeat -cursor_drag -nocursorshape -usepw
04/12/2023 09:56:16 passing arg to libvncserver: -rfbport
04/12/2023 09:56:16 passing arg to libvncserver: 5900
04/12/2023 09:56:16 -usepw: found /root/.vnc/passwd
04/12/2023 09:56:16 x11vnc version: 0.9.16 lastmod: 2019-01-05  pid: 22063
/tmp/fd.m0hJQo: 320: [: -a: unexpected operator
04/12/2023 09:56:17 -auth guess: failed for display=':0'
04/12/2023 09:56:17 -auth guess: since we are root, retrying with FD_XDM=1
/tmp/fd.hvK4pX: 320: [: -a: unexpected operator
04/12/2023 09:56:17 -auth guess: failed for display='0'

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