Remote desktop: Difference between revisions

From 太極
Jump to navigation Jump to search
Line 154: Line 154:
* RPort has the ability to create a tunnel to a remote RDP server with a built-in HTTPS proxy and uses the '''Apache Guacamole Server''' to connect to the remote RDP Server. This brings the remote desktop into your browser without the need for an RDP viewer. However, you don’t need a fully featured Guacamole installation, only the guacd daemon is needed 1. RPort has its own version of '''guacd''' installed to /opt/rport-guacamole and by default, it listens only on localhost port 9445. See [https://oss.rport.io/advanced/rdp-proxy/ RDP-Proxy], [https://github.com/realvnc-labs/rport-guacamole Pre-compiled Guacamole Proxy Daemon packages].
* RPort has the ability to create a tunnel to a remote RDP server with a built-in HTTPS proxy and uses the '''Apache Guacamole Server''' to connect to the remote RDP Server. This brings the remote desktop into your browser without the need for an RDP viewer. However, you don’t need a fully featured Guacamole installation, only the guacd daemon is needed 1. RPort has its own version of '''guacd''' installed to /opt/rport-guacamole and by default, it listens only on localhost port 9445. See [https://oss.rport.io/advanced/rdp-proxy/ RDP-Proxy], [https://github.com/realvnc-labs/rport-guacamole Pre-compiled Guacamole Proxy Daemon packages].
* [https://youtu.be/Xc_5qE7ZyYA?t=542 RPort - an open source, self hosted Remote Machine Management System running on Linux!] & [https://wiki.opensourceisawesome.com/books/rport/page/installing-and-configure-rport-for-remote-monitoring-and-access Notes]
* [https://youtu.be/Xc_5qE7ZyYA?t=542 RPort - an open source, self hosted Remote Machine Management System running on Linux!] & [https://wiki.opensourceisawesome.com/books/rport/page/installing-and-configure-rport-for-remote-monitoring-and-access Notes]
** [https://youtu.be/Xc_5qE7ZyYA?t=826 RPort log in screen]
** [https://youtu.be/Xc_5qE7ZyYA?t=826 RPort log in screen] (26:40)
** [https://youtu.be/Xc_5qE7ZyYA?t=861 TOTP initializing] (time-based one-time passwords). Google, Microsoft, Bitwarden, ...  
** [https://youtu.be/Xc_5qE7ZyYA?t=861 TOTP initializing] (time-based one-time passwords). Google, Microsoft, Bitwarden, ...  
** [https://youtu.be/Xc_5qE7ZyYA?t=929 RPort interface setup]
** [https://youtu.be/Xc_5qE7ZyYA?t=929 RPort interface setup]

Revision as of 06:06, 20 May 2023

Comparison

Comparison of remote desktop software

Remote desktop connection from Ubuntu to Ubuntu (vino)

  • Ubuntu Gnome Desktop (youtube) It works when I tested it on Ubuntu 18.04.
    sudo apt install vino
    # Go to GNOME settings -> sharing -> enable remote desktop. 
    # Type a password (not username is needed for remote desktop).
    sudo ufw allow from any to any port 5900 proto tcp
    sudo apt install dconf-editor 
    dconf-editor
    # go to org -> gnome -> desktop -> remote access -> require encryption -> turn it off
    

    In Remmina, type a new name. In the 'Protocol' drop-down list, select Remmina VNC plugin. Enter the server IP and enter the User password (again, no Username is needed). Hit "Connect". Done! Or use IP:5900 in order to quickly connect (use nmap localhost to check the exact VNC port).

  • How to Remote Access to Ubuntu 16.04 from Windows. The instruction is the same for older versions of Ubuntu.
    • On a Ubuntu server. Go to Dash, type 'desktop sharing' and select it. Check sharing. Close the dialog. Open a terminal and run ps -ef | grep vino to make sure the server is running.
    • Disable encryption. Run sudo apt install dconf-editor. Go to Dash and type 'dconf' and select 'dconf editor'. When it opens, navigate to org -> gnome -> desktop -> remote-access, and uncheck the value of 'require-encryption.' Another way is to run gsettings set org.gnome.Vino require-encryption false.
    • On a client machine (eg another Ubuntu), open a remote desktop client program (eg Remmina). Choose VNC as the protocol. Enter necessary information to connect to the server.
  • How to connect to a remote desktop from Linux Remmina's minimal UI makes it easy to remotely access Linux PCs and Windows 10
  • How to set up remote desktop on Ubuntu, access it from macOS
    $ gsettings set org.gnome.Vino require-encryption false
    $ gsettings get org.gnome.Vino require-encryption
    

Tightvnc server

RealVNC

RealVNC Is lame. On client, I need to

  1. Sign into the account
  2. Remember and type the server password.
  3. To use the virtual keyboard, I need to use my finger to click the virtual keyboard icon; not try to use the cursor to click the virtual keyboard icon.

It seems RealVNC will start itself again if it was not stopped when the OS shutdown.

Alternatives: TeamViewer or AnyDesk (no free plan). Raspberry Pi's documentation about VNC

The default vnc server included in Ubuntu is not quite compatible with other clients. For example I can connect to Ubuntu 14.04 from Ubuntu 16.04 but not from a Mac. The 3rd party software is better. See the following screenshot after I have installed RealVNC server.

Realvnc-server.png

Note that RealVNC Server is not free for commercial users but is free for home subscription/users up to 5 computers (running the server) & 3 users (team members); see https://manage.realvnc.com/. An email and a password can be used to sign in your account for activating the license in VNC Server.

To start VNC server, use (https://www.realvnc.com/docs/debian-install-remove.html)

sudo /etc/init.d/vncserver-x11-serviced start

The RealVNC will have an icon sitting on the tray at the top-right corner.

Before using VNC viewer, we also need to create a VNC password in VNC Server.

On Mac, the viewer can be launched from Applications -> VNC Viewer (if we have drag and drop the app to the Applications folder).

x11vnc

How to Connect with VNC to a Linux Computer Across the Network

Remote Desktop Protocol

GNOME RDP

Ubuntu 22.04 VNC

HomeLab 3: Install and configure Apache Guacamole as Docker Container

Remote desktop connection from Windows 7: xrdp

  • How to Install Xrdp Server on Debian 11
  • (2022/12/11). For some reason Ubuntu 22.04 does not work. Debian 11 GNOME does not work either. Debian 11 KDE works. No special instruction needed except when we log into Debian we need to select KDE Plasma. NOTE:
    • xrdp will not duplicate/share the desktop's screen to the remote client,
    • although I log in to the desktop with KDE, the client still use GNOME (neofetch),
    • we need to use an account on the OS to log in (no separate account was created for xrdp),
    • I use iPad's RDP to test.
    sudo apt install xrdp
    sudo systemctl status xrdp
    
  • On Windows, open its Remote Desktop client utility mstsc.exe.
  • Instruction from Rock Pi 4.

Remote desktop connection to Windows 7 from xubuntu: rdesktop

sudo apt-get update
sudo apt-get install rdesktop
rdesktop xxx.xxx.x.x -f -u USERNAME -p PASSWORD
rdesktop 192.168.1.4 -g 1280x720 -u USERNAME -p PASSWORD

where -f option means full screen and -g means geometry.

Teamviewer

RustDesk

AnyDesk (cross platform, closed-source)

Guacamole (Remote Desktop in the browser)

RPort

VM on Proxmox

  • https://pve.proxmox.com/wiki/VNC_Client_Access
  • On iPad the noVNC method works fine. Not bad.
    • I can open the virtual keyboard using the drawer on the LHS.
    • The cursor/mouse is directly controlled by the finger we use.
    • change Local Scaling in the drawer - settings.
  • SPICE/Virt-viewer: Windows client only.
  • VNC Client with a Proxmox VM. It works when I use the Remmina client on Linux. But when I use RealVNC client on iPad, it will shut down the VM immediately.

NoMachine and Amazon cloud

https://www.nomachine.com/accessing-your-remote-linux-desktop-on-amazon-elastic-compute-cloud-via-NoMachine

It seems nomachine is using port 4000.

odroid@odroid:~$ sudo nmap -sV localhost

Starting Nmap 7.01 ( https://nmap.org ) at 2016-11-16 20:10 EST
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000051s latency).
Other addresses for localhost (not scanned): ::1
rDNS record for 127.0.0.1: odroid
Not shown: 997 closed ports
PORT     STATE SERVICE         VERSION
22/tcp   open  ssh             OpenSSH 7.2p2 Ubuntu 4ubuntu2.1 (Ubuntu Linux; protocol 2.0)
4000/tcp open  remoteanything?
7001/tcp open  X11             (access denied)
Service Info: OSs: Linux, Unix; CPE: cpe:/o:linux:linux_kernel

odroid@odroid:~$ sudo lsof -i :4000
COMMAND PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
nxd     735   nx    3u  IPv4  19208      0t0  TCP *:4000 (LISTEN)
nxd     735   nx    4u  IPv6  21234      0t0  TCP *:4000 (LISTEN)

NoMachine. I ran the service on my Ubuntu 12.04 server. I also tested the client on my Android 6.0 tablet and Odroid xu4 running Ubuntu 15.10. I am using the version 5.0.63. I need to use my server's user account info to connect.

odroid@odroid:~/Downloads$ ps -ef | grep nx
nx       12168     1  1 21:11 ?        00:00:20 /usr/NX/bin/nxserver.bin root 12151 --daemon
odroid   12199 12168  1 21:11 ?        00:00:12 /usr/NX/bin/nxnode.bin
nx       12225 12168  0 21:11 ?        00:00:00 /usr/NX/bin/nxd
odroid   12263 12199  1 21:11 ?        00:00:13 /usr/NX/bin/nxclient.bin --monitor --pid 1153
nx       15916 12225 24 21:28 ?        00:00:08 /usr/NX/bin/nxserver.bin -c /etc/NX/nxserver --login -H 5
odroid   15944 15916 33 21:29 ?        00:00:04 /usr/NX/bin/nxnode.bin -H 5
odroid   16130  8527  0 21:29 pts/1    00:00:00 grep --color=auto nx

odroid@odroid:~/Downloads$ ls /usr/NX/bin
drivers       nxd         nxkb        nxplayer      nxsh         nxusbd
nxagent       nxesd       nxkeygen    nxplayer.bin  nxspool
nxauth        nxexec      nxlocate    nxpost        nxssh
nxclient      nxfs        nxlpd       nxprint       nxssh-add
nxclient.bin  nxfsm       nxnode      nxserver      nxssh-agent
nxcodec.bin   nxfsserver  nxnode.bin  nxserver.bin  nxtunctl

If for some reason some nx programs disappeared, restart the service by

sudo /usr/NX/bin/nxserver --restart

It is interesting that nomachine is faster than 'ssh -X' method when I tested running a Qt application launched from Qt Creator. For example, the progress bar is not moving when it is supposed to move forward and backward when the app is launched through 'ssh -X'.

Remote desktop using Chrome

X2Go

used in Linux Data Science Virtual Machine by Microsoft.

Remote desktop connection through vmware workstation

We shall be able to remote desktop connect to a Windows guest machine if the guest machine has configured to use bridge connection and a static IP. If there is a problem, it is likely caused by Window's firewall. See the two screenshots. We can just turn off the firewall of home network but keep the firewall on for the public network.

We don't need to use port forward for the remote desktop connection.

ViewActiveNetwork.png Firewall.png

Share your keyboard and mouse between computers: KVM

Why You No Longer Need a KVM Switch for Multi-PC Setups

Barrier

Share your keyboard and mouse between computers with Barrier

Barrier KVM - Contol Multiple Computers With Single Keyboard & Mouse (youtube)

TinyPilot

TinyPilot Use your Raspberry Pi as a browser-based KVM

Dummy HDMI adapter

VNC + headless Raspberry Pi

Turbo charge your Headless Raspberry Pi

Mirror/second screen: Deskreen

This Trick Allows You to Extend Your Display On any OS and Device!. Turns any device with a web browser into a secondary screen for your computer over WiFi with this trick on Linux, Windows, or Mac. A dummy VGA or HDMI is needed.

Remote desktop connection to NCI (outdated)

Note the information here is outdated now.

The version 1.7.1 of rdesktop program in Ubuntu 14 has a bug with mouse cursor (invisible). To fix the bug, download the version 1.8.3 and build it. See http://ubuntuforums.org/showthread.php?t=2266743

sudo apt-get update
sudo apt-get install build-essential libx11-dev libssl-dev libgssglue-dev libpcsclite-dev
tar zxvf rdesktop-1.8.3.tar.gz 
cd rdesktop-1.8.3
./configure
make
sudo make install

After that the new rdesktop is located under /usr/local/bin folder. The old rdesktop installed through apt-get is not deleted.

ts.nci.nih.gov:1494

DOMAIN: NIH

resolution: 1024 x 768

Use remmina or rdesktop or freerdp (sudo apt-get install freerdp-x11)

rdesktop ts.nci.nih.gov:1494 -d NIH -u XXXXX -g 1024x768

To share a folder from the local machine, use "-r" option

rdesktop ts.nci.nih.gov:1494 -d NIH -u XXXXX -g 1280x1024 -r disk:remotedisk=/home/$USER/Downloads

The new secure connection relies on the SmartCard is using ncits-p111.nci.nih.gov.