------------------------------------------------------------------------------- VNC -- display one X server on a different X server NOTE: This is not RDP.. see "info/misc/RDP.hints" But much more X windows centric. RFB Remote Frame Buffer, is an old name for VNC, That is remote control of a X windows video frame buffer. ------------------------------------------------------------------------------- Client programs (typically these can also create a SSH link to remote host!) tigervnc provides "vncviewer", simple BUT fast! (F8 for menu) vinagre vnc, can connect ver ssh (from GUI interface)! x11vnc-javaviewers Java/Browser VNC connection applet gnome-boxes create new 'box' then type "vnc://server:5900" novnc python client that exports the VNC as a Web service browser -> novnc -> vncserver Export Current Display x0vncserver VNC server for the current X11 session *** x11vnc VNC server for the current X11 session x2vnc Export display for remote control via a VNC client window. / rfb the UNIX equivelent to "rdesktop" for Microsoft Windows tigervnc-server Warning system daemon start!!! package includes x0vncserver Virtual VNC Display vncserver Start a virtual X window server that you can run xclients / Xvnc on and can be viewed and controled via a VNC client. But is seperate to the normal X window display. EG: GUI clients on remote servers without graphical console. tigervnc-server-minimal Xvnc version. Note server passwords are typically stored in ~/.vnc/passwd ------------------------------------------------------------------------------- Screen-like Remote X window Clients I have never tried to do this, and heard little about it. xpra allows you to start and re-connect to remote X window applciations ------------------------------------------------------------------------------- Accessing a remote Display (SSH using TigerVNC vncviewer) On the remove machine run x0vncserver --PasswordFile=$HOME/.vnc/passwd -display :0 & or x11vnc -display :0 -usepw -localhost -noipv6 -ncache 3 -ncache_cr -quiet Now you can access it using (port 5900 + display_number) vncviewer -via acct@remote_machine :0 This sets up an SSH encrypted TCP tunnel to the given ssh hostname, to connect to the remote display! For example export display on "zombie" and connect to it from another server On zombie... x0vncserver --PasswordFile=$HOME/.vnc/passwd -display :0 Display it... vncviewer -via zombie :0 NOTE: vinagre should be able to set this up via GUI open connection but I have not been able to get it to work. ------------------------------------------------------------------------------- Accessing a remote Display (manually set up VNC over SSH) Create a SSH port forward to a VNC session started on the remote machine... ssh -f -L 5901:localhost:5900 acct@remote_machine \ x0vncserver --PasswordFile=$HOME/.vnc/passwd -display :0 or ssh -f -L 5901:localhost:5900 acct@remote_machine \ x11vnc -display :0 -usepw -localhost -noipv6 -ncache 3 -ncache_cr -quiet Note: Options for x11vnc can be added to a ~/.x11vncrc file instead. Password is set via a hash file ~/.vnc/passwd" (see personal "passwd" file) OR (my convenience method) r -vnc server Now access that display on your current machine vncviewer :0 # F8 for menu vinagre :0 NOTE: x0vncserver does not exit on client disconnect (it remains running) But x11vnc will disconnect. x11vnc options can be added to a ~/.x11vncrc filej. The password is automatically read from ~/.vnc/passwd The -ncache creates extra tall displays that will hold window cache data (for refreshing, moves and the background behind windows, etc.) This allow x11vnc to tell VNC clients to simply copy unchanging window data, it already has, but can make initial start up (setup cache) a bit slower. To get x11vnc to redraw you can use ALT-L three times. See also (reverse connection - VNC server contacts the VNC client) http://www.karlrunge.com/x11vnc/faq.html#faq-firewall-out ------------------------------------------------------------------------------- Remote Login to Display That is remotely connect to the X windows login prompt (display manager) so you can remotely log it in. First locate the Xauthority file, generally in /var/run/{display_manager} This will be root owned as no one has, as yet, logged in ! "gdm" uses... "lightdm" uses... /run/lightdm/root/:0 It can also automatically start the VNCServer! However this seems to have problems, but you can still x0vncserver manually. /etc/lightdm/lightdm.conf command=x11vnc --PasswordFile=/home/anthony/.vnc/passwd -auth /var/run/lightdm/root/:0 -display :0 --loop or in added file in /etc/lightdm/lightdm.conf.d and restarting "kdm" sets it on the process args of Xorg server /usr/bin/Xorg ... -auth /var/lib/xdm/authdir/authfiles/A:0-wEJjac Now run a VNC session (as root) connecting to that display XAUTHORITY=/run/lightdm/root/:0 DISPLAY=:0 \ x0vncserver --PasswordFile=/home/anthony/.vnc/passwd Connect and login Once logged in the display will continue to use the same X authority. But you can now disconnect and shutdown the root VNC you started, Then start a user based VNC as normal (see previous). ------------------------------------------------------------------------------- Export a display via a web! Follow directions from https://www.kasmweb.com/kasmvnc/docs/latest/install.html downloading source or binary package from https://github.com/kasmtech/KasmVNC/releases It is incompatible with tigervnc-server (as it replaces vncserver) Example is docker image from linuxserver.io "webtop" This is using KasmVNC which provides a web capable Xvnc (including sound), and a nginx wrapper ------------------------------------------------------------------------------- Gnome 2 VNC (OBSOLETE) Open firewall for port 5900 tcp and udp system-config-firewall Turn it on (on that desktop) System -> Preferences -> Remote Desktop Enable Sharing (view and control) Turn off confirmation Enable Require User Password (standard VNC password) Turn it on remotely.. Enable Remote VNC access to Gnome desktop gconftool-2 --set /desktop/gnome/remote_access/authentication_methods \ --type list --list-type string '[vnc]' gconftool-2 --set /desktop/gnome/remote_access/enabled \ --type bool true gconftool-2 --set /desktop/gnome/remote_access/vnc_passwd \ --type string `echo -n 'my_vnc_password' | base64` And Disable again gconftool-2 --set /desktop/gnome/remote_access/enabled \ --type bool false -------------------------------------------------------------------------------