Remote
General
See also GUI#XDMCP
- https://en.wikipedia.org/wiki/Remote_desktop_software - refers to a software or operating system feature that allows a personal computer's desktop environment to be run remotely on one system (usually a PC, but the concept applies equally to a server), while being displayed on a separate client device. Remote desktop applications have varying features. Some allow attaching to an existing user's session (i.e., a running desktop) and "remote controlling", either displaying the remote control session or blanking the screen. Taking over a desktop remotely is a form of remote administration.
KVM
- https://en.wikipedia.org/wiki/KVM_switch - with KVM being an abbreviation for "keyboard, video and mouse") is a hardware device that allows a user to control multiple computers from one or more[1] sets of keyboards, video monitors, and mice. Although multiple computers are connected to the KVM, typically a smaller number of computers can be controlled at any given time. Modern devices have also added the ability to share other peripherals like USB devices and audio.
Synergy
barrier
- https://github.com/debauchee/barrier - Open-source KVM software
display-switch
- https://github.com/haimgel/display-switch - watches for USB device connect/disconnect events and switches monitor inputs via DDC/CI. This turns a simple USB switch into a full-fledged KVM solution: press one button on your USB switch and all your monitors connect to a different input.
VNC
Server
x11vnc
- x11vnc allows one to view remotely and interact with real X displays (i.e. a display corresponding to a physical monitor, keyboard, and mouse) with any VNC viewer. In this way it plays the role for Unix/X11 that WinVNC plays for Windows.
RealVNC
TightVNC
TigerVNC
Vino
Krfb Desktop Sharing
- Krfb - Desktop Sharing is a KDE server application that allows you to share your current session with a user on another machine, who can use a VNC client to view or even control the desktop.
jsmpeg-vnc
- https://github.com/phoboslab/jsmpeg-vnc - A low latency, high framerate screen sharing server for Windows and client for browsers [3]
wayvnc
- https://github.com/any1/wayvnc - a VNC server for wlroots based Wayland compositors.
Client
Vinagre
- Vinagre (Remote Desktop Viewer) is the default VNC client in Ubuntu 8.04. It currently allows you to connect to desktops running VNC servers and control them. Specific connection options are not currently supported, e.g. high or low bandwidth settings, but it is planned to add them in an upcoming version.
- https://en.wikipedia.org/wiki/Vinagre - a VNC, SSH, RDP and SPICE client for the GNOME desktop environment. It was included in GNOME 2.22. It has several features, like the ability to connect to multiple servers simultaneously and to switch between them using tabs, VNC servers browsing and bookmarking. In version 2.29 Vinagre added controlling frame compression, better scaling and color depth. Version 2.30 added improved SSH tunneling and better support for copy/paste features between client and server.
multivnc
- https://github.com/bk138/multivnc - a cross-platform Multicast-enabled VNC viewer using wxWidgets and libvncclient . It runs on Unix, Mac OS X and Windows.
Android
bVNC
- bVNC - a secure, open source VNC client.
VNC Viewer for Android
- VNC Viewer for Android - Open Source (GPL) remote desktop program for Android devices. Connects to most VNC servers: incl TightVNC, RealVNC on Win and Linux, x11vnc, and Apple Remote Desktop on OS/X. Lots of customizable features let you adapt the way your device controls map to the controls of your desktop.
VNC Viewer
- VNC Viewer - turns your phone into a remote desktop, giving you instant access to your Mac, Windows and Linux computers from anywhere in the world. You can view your computer's desktop remotely, and control its mouse and keyboard as though you were sitting down in front of it.
Web
noVNC
- noVNC - VNC client using HTML5 (WebSockets, Canvas) with encryption (wss://) support. There are many companies/projects that have integrated noVNC into their products including: Ganeti Web Manager, Archipel, openQRM, OpenNode, OpenStack, Broadway (HTML5 GDK/GTK+ backend), OpenNebula, CloudSigma, Zentyal (formerly Ebox), SlapOS, Intel MeshCentral, Amahi, Brightbox, Foreman, LibVNCServer, and PocketVNC.
VNC Viewer for Google Chrome
vnc
- https://github.com/saljam/vnc - This is a VNC viewer Chrome app. It uses Chrome's sockets API to talk to the VNC server directly.
js-vnc-demo-project
Mac
Chicken
Chicken - a VNC client for Mac OS X. A VNC client allows remote access to another computer over the network. Chicken is based on Chicken of the VNC.
RDP
- https://en.wikipedia.org/wiki/Remote_Desktop_Protocol - a proprietary protocol developed by Microsoft, which provides a user with a graphical interface to connect to another computer over a network connection. The user employs RDP client software for this purpose, while the other computer must run RDP server software. Clients exist for most versions of Microsoft Windows (including Windows Mobile), Linux, Unix, macOS, iOS, Android, and other operating systems. RDP servers are built into Windows operating systems; an RDP server for Unix and OS X also exists. By default, the server listens on TCP port 3389 and UDP port 3389. Microsoft currently refers to their official RDP client software as Remote Desktop Connection, formerly "Terminal Services Client". The protocol is an extension of the ITU-T T.128 application sharing protocol.
xrdp
- https://github.com/neutrinolabs/xrdp - provides a graphical login to remote machines using Microsoft Remote Desktop Protocol (RDP). xrdp accepts connections from a variety of RDP clients: FreeRDP, rdesktop, KRDC, NeutrinoRDP and Microsoft Remote Desktop Client (for Windows, Mac OS, iOS and Android).RDP transport is encrypted using TLS by default.
FreeRDP
- FreeRDP - a free implementation of the Remote Desktop Protocol (RDP), released under the Apache license. Enjoy the freedom of using your software wherever you want, the way you want it, in a world where interoperability can finally liberate your computing experience.
rdesktop
- rdesktop - an open source UNIX client for connecting to Windows Remote Desktop Services, capable of natively speaking Remote Desktop Protocol (RDP) in order to present the user's Windows desktop. rdesktop is known to work with Windows server versions ranging from NT 4 terminal server to Windows Server 2012 R2.
redemption
- https://github.com/wallix/redemption - A GPL RDP proxy
NX
FreeNX
- https://wiki.archlinux.org/index.php/FreeNX - a GPL implementation of the NX Server and NX Client Components.
Neatx
- https://code.google.com/p/neatx/
- https://en.wikipedia.org/wiki/Neatx - an open-source NX server based on NoMachine's NX technology.
X2Go
- X2Go enables you to access a graphical desktop of a computer over a low bandwidth (or high bandwidth) connection. Multiple users/clients can access a single X2Go Server at the same time, with each user/client having an individual Desktop session by default - however, Desktop sharing (Remote Assistance) is possible, too (see below). For the graphical part of remote desktop sessions, X2Go uses No Machine NX3 technology under the hood.
- https://wiki.x2go.org/doku.php/wiki:advanced:x2goplugin - browser based
QVD
- QVD - VDI platform
LTSP
- Linux Terminal Server Project - adds thin client support to Linux servers. LTSP is a flexible, cost effective solution that is empowering schools, businesses, and organizations all over the world to easily install and deploy thin clients.
"Most network adaptors, particularly those built into motherboards, have a network boot facility. The BIOS sends a specific DHCP request over the network, and the server runs a particular network bootloader (either Pxelinux or a version of Grub). ... LTSP starts off in the same way, but instead of loading a full system from the network-mounted drive, it sets up a very minimal system, with just the basics needed to boot the kernel, start the X display, and handle mouse and keyboard input (and usually the sound). Then it opens a desktop session using XDMCP (version 4) or ssh -x (version 5), which opens a desktop from the server on the thin client.
- https://github.com/kvaps/ltsp
- https://github.com/leschartreux/ltsp-vmview
- https://github.com/tmerrill530/ltsp-view
Guacamole
- Apache Guacamole - a clientless remote desktop gateway. It supports standard protocols like VNC, RDP, and SSH. We call it clientless because no plugins or client software are required. Thanks to HTML5, once Guacamole is installed on a server, all you need to access your desktops is a web browser. [5] [6] [7]
Remmina
- Remmina - a remote desktop client written in GTK+, aiming to be useful for system administrators and travellers, who need to work with lots of remote computers in front of either large monitors or tiny netbooks. Remmina supports multiple network protocols in an integrated and consistent user interface. Currently RDP, VNC, NX, XDMCP and SSH are supported. Remmina is free and open-source software, released under GNU GPL license.
TeamViewer
- TeamViewer - Empowering secure remote desktop access and support
- https://en.wikipedia.org/wiki/TeamViewer - proprietary computer software for remote control, desktop sharing, online gaming, web conferencing and file transfer between computers.
- TeamViewer for Remote Control - Android app