please checkout this article: ssh vnc port forwarding: https://dwaves.org/2018/02/20/centos7-vnc-server-remote-desktop-setup-howto-screen-sharing-in-2018-x11vnc-error-socket-address-family-not-supported-by-protocol-97/
if you have ssh setup and running… (you might need to configure your router to let ssh through) you can neatly do filestransfer (SFTP) or even remote desktop interaction with your server.
forwarding grafical output of a single program
while MobaXterm might allow such functionality for windows – this is a uniquely UNIX/LINUX feature 😀
Not to forward the whole desktop – but just the window of one program, even better: even if you do not have any GUI (Gnome) installed and running on your server… you can forward the grafical output to your client.
okay probably not intended for gaming 😀
while xclock (vector grafics) runs smooth
# this is the ssh-server ps uax|grep clock user 3358 0.3 0.6 9984 6476 pts/1 S+ 14:21 0:00 xclock -update -1 user 3360 0.0 0.2 4556 2296 pts/2 S+ 14:21 0:00 grep clock
blobby not so smooth (not vector grafics?) – but you can run the game on the server – and the grafical output goes to the client. Maybe this is interesting for thin-client-fat-server kind of infrastructure. But i have to say – it works – but the grafical output is rather slow – (all Hyper-V VMs) despite the fact that it is a LAN session… not sure what is to blame. (I guess for such purpses VNC is better :-D)
Also the Audio-Device Forwarding does NOT work 😀
blobby ALSA lib confmisc.c:768:(parse_card) cannot find card '0' ALSA lib conf.c:4259:(_snd_config_evaluate) function snd_func_card_driver returned error: No such file or directory ALSA lib confmisc.c:392:(snd_func_concat) error evaluating strings ALSA lib conf.c:4259:(_snd_config_evaluate) function snd_func_concat returned error: No such file or directory ALSA lib confmisc.c:1251:(snd_func_refer) error evaluating name ALSA lib conf.c:4259:(_snd_config_evaluate) function snd_func_refer returned error: No such file or directory ALSA lib conf.c:4738:(snd_config_expand) Evaluate error: No such file or directory ALSA lib pcm.c:2239:(snd_pcm_open_noupdate) Unknown PCM default Warning: Couldn't open audio Device! Reason: ALSA: Couldn't open audio device: No such file or directory Lua Warning: Missing function OnBounce loaded rules BV2 Default Rules by Blobby Volley 2 Developers from default.lua
now: 100% remote desktop
there seem to be problems forwarding a whole session, when different display-managers (gdm3, lightdm etc. pp.) are used – so it is probably better
1. to use a VNC server-client architecture
2. allow on server only VNC connections from localhost
3. tunnel all VNC traffic over ssh
…so weak VNC passwords „do not matter“ so much.
still have to find out what vnc-server-client combination works best across distributions and operating systems. (also windows<->linux, osx<->linux, linux<->windows)
# i tried "gnome-session", suse12(gdm)->debian8.7(lightdm+gnome2) apt-cache search gnome-session; # search for gnome-session package gnome-session-fallback - GNOME Session Manager - GNOME Flashback (transitional package) gnome-session-flashback - GNOME Session Manager - GNOME Flashback session gnome-session - GNOME Session Manager - GNOME 3 session gnome-session-bin - GNOME Session Manager - Minimal runtime gnome-session-common - GNOME Session Manager - common files gnome-session-canberra - GNOME session log in and log out sound events openbox-gnome-session - command line utility to run Openbox as GNOME session # or vice-versa suse12(gdm)<-debian8.7(lightdm+gnome2) did not work. WARNING **: Couldn't connect to accessibility bus: Failed to connect to socket /tmp/dbus-R6bKx4jMEh: Connection refused
therefore it would be vice to tunnel VNC
tightVNCserver on Debian and Java Client on Windows 8
works like a charm.
su; # become root apt-get update; apt-get install tightvncserver; # install server exit; # become normal user tightvncserver; # initial setup of server You will require a password to access your desktops. Password: # should be 8 characters Verify: Would you like to enter a view-only password (y/n)? n # now run server again, to start the server with your password settings tightvncserver; # you see console output like this New 'X' desktop is debian:1 Creating default startup script /home/user/.vnc/xstartup Starting applications specified in /home/user/.vnc/xstartup Log file is /home/user/.vnc/debian:1.log # checkout what port it is using # try 5900 or 5901 netstat -tulp | grep vnc (Not all processes could be identified, non-owned process info will not be shown, you would have to be root to see it all.) tcp 0 0 *:5901 *:* LISTEN 2025/Xtightvnc tcp 0 0 *:x11-1 *:* LISTEN 2025/Xtightvnc
ssh yes – full desktop yes – but no gaming 😀
tightVNCserver on Debian8.7 and MobaXterm client on Windows 8
availabel VNC software
apt-cache search vnc|grep server # vnc servers tightvncserver - virtual network computing server software vino - VNC server for GNOME vnc4server - Virtual network computing server software vncsnapshot - A utility that takes JPEG snapshots from VNC servers websockify - WebSockets support for any application/server x11vnc - VNC server to allow remote access to an existing X session xrdp - Remote Desktop Protocol (RDP) server linuxvnc - VNC server to allow remote access to a tty pagekite - Make localhost servers publicly visible. # for developers interesting libvncclient0 - API to write one's own vnc server - client library libvncserver-config - API to write one's own vnc server - library utility libvncserver-dev - API to write one's own vnc server - development files libvncserver0 - API to write one's own vnc server # what vnc related software is available? apt-cache search vnc archipel-agent-virtualmachine-vnc - Virtual Machine Orchestration (Agent Virtualmachine VNC) autocutsel - Keep the X clipboard and the cutbuffer in sync avahi-ui-utils - Avahi GTK+ utilities chaosreader - trace network sessions and export it to html format conspy - Remote control of Linux virtual consoles directvnc - VNC client using the framebuffer as display dmtcp - Checkpoint/Restart functionality for Linux processes dmtcp-dbg - Debug package for dmtcp gitso - simple frontend for reverse VNC connections (remote assistance) gnome-rdp - remote desktop client for GNOME gir1.2-gtk-vnc-2.0 - GObject introspection data for GTK-VNC. gvncviewer - VNC viewer using gtk-vnc libgtk-vnc-1.0-0 - VNC viewer widget for GTK+2 (runtime libraries) libgtk-vnc-1.0-0-dbg - VNC viewer widget for GTK+2 (debugging symbols) libgtk-vnc-1.0-dev - VNC viewer widget for GTK+2 (development files) libgtk-vnc-2.0-0 - VNC viewer widget for GTK+3 (runtime libraries) libgtk-vnc-2.0-0-dbg - VNC viewer widget for GTK+3 (debugging symbols) libgtk-vnc-2.0-dev - VNC viewer widget for GTK+3 (development files) libgvnc-1.0-0 - VNC gobject wrapper (runtime libraries) libgvnc-1.0-0-dbg - VNC gobject wrapper (debugging symbols) libgvnc-1.0-dev - VNC GObject wrapper (development files) python-gtk-vnc - VNC viewer widget for GTK+2 (Python binding) guacamole-tomcat - Tomcat-based Guacamole install with VNC support guacd - Guacamole proxy daemon libguac-client-vnc0 - VNC support plugin for Guacamole hydra - very fast network logon cracker hydra-gtk - very fast network logon cracker - GTK+ based GUI libsvnqt7 - Qt wrapper library for Subversion krdc - Remote Desktop Connection client krdc-dbg - Remote Desktop Connection client debugging symbols krfb - Desktop Sharing utility libnet-vnc-perl - Perl module implementing a simple VNC client libvncclient0 - API to write one's own vnc server - client library libvncclient0-dbg - debugging symbols for libvncclient libvncserver-config - API to write one's own vnc server - library utility libvncserver-dev - API to write one's own vnc server - development files libvncserver0 - API to write one's own vnc server libvncserver0-dbg - debugging symbols for libvncserver linuxvnc - VNC server to allow remote access to a tty nova-console - OpenStack Compute - console nova-consoleproxy - OpenStack Compute - NoVNC proxy novnc - HTML5 VNC client - daemon and programs python-novnc - HTML5 VNC client - libraries pagekite - Make localhost servers publicly visible. pyvnc2swf - screen recording tool with Flash (SWF) output libsvncpp-dev - Subversion C++ library (development files) libsvncpp3 - Subversion C++ shared library remmina - remote desktop client for GNOME desktop environment remmina-plugin-vnc - VNC plugin for remmina remote desktop client ssvnc - Enhanced TightVNC viewer with SSL/SSH tunnel helper libsvnclientadapter-java - High-level Java API for Subversion (library) libsvnclientadapter-java-doc - High-level Java API for Subversion (documentation) tightvncserver - virtual network computing server software xtightvncviewer - virtual network computing client software for X vinagre - remote desktop client for the GNOME Desktop vino - VNC server for GNOME virt-manager - desktop application for managing virtual machines virt-viewer - Displaying the graphical console of a virtual machine vnc4server - Virtual network computing server software xvnc4viewer - Virtual network computing client software for X vncsnapshot - A utility that takes JPEG snapshots from VNC servers vtgrab - A VNC like console monitoring websockify - WebSockets support for any application/server winswitch - tool to start and control remote sessions x11vnc - VNC server to allow remote access to an existing X session x11vnc-data - data files for x11vnc x2vnc - Link a VNC and an X display together, simulating a multiheaded display xorg-server-source - Xorg X server - source files xpra - tool to detach/reattach running X programs xpra-dbg - xpra -- debugging symbols xrdp - Remote Desktop Protocol (RDP) server