Howto remote desktop linux: Difference between revisions

From Vidalinux Wiki
Jump to navigation Jump to search
No edit summary
 
(59 intermediate revisions by the same user not shown)
Line 1: Line 1:
= hoptodesk =
= install remmina client =
install hoptodesk on archlinux:
install remmina on archlinux:
  yay -S hoptodesk-bin
  pacman -S remmina libvncserver spice-gtk freerdp
install hoptodesk on almalinux 8 or 9:
install remmina debian/ubuntu:  
  dnf -y install https://www.hoptodesk.com/hoptodesk.rpm
  sudo apt -y install remmina remmina-plugin-rdp remmina-plugin-secret remmina-plugin-spice
install hoptodesk on debian or ubuntu:
 
  dpkg -i  https://www.hoptodesk.com/hoptodesk.deb
= gnome-remote-desktop =
install hoptodesk on windows:
install gnome-remote-desktop on archlinux:
https://www.hoptodesk.com/hoptodesk.msix
  sudo pacman -S gnome-remote-desktop
install hoptodesk on mac intel:
install gnome-remote-desktop on almalinux8 or 9:
https://www.hoptodesk.com/HopToDesk.dmg
  dnf -y install gnome-remote-desktop
install hoptodesk on mac silicon:
install gnome-remote-desktop on debian or ubuntu:
https://www.hoptodesk.com/HopToDesk-silicon.dmg
  sudo apt-get -y install gnome-remote-desktop
install hopdesk on debian arm:
if you have a blackscreen when connecting to your linux desktop on archlinux do the following:
dpkg -i https://www.hoptodesk.com/hoptodesk-rpi.deb
  sudo pacman -R pulseaudio-equalizer pulseaudio-jack --noconfirm
= rustdesk =
  sudo pacman -Sy pipewire-alsa pipewire-audio pipewire-docs pipewire-jack pipewire-media-session pipewire-pulse
intall rustdesk on archlinux:
sudo groupadd pipewire
  yay -S rustdesk-bin
  sudo usermod -a -G pipewire $USER
install rustdesk on almalinux8 or 9:
 
  dnf -y install https://github.com/rustdesk/rustdesk/releases/download/1.2.1/rustdesk-1.2.1-0.x86_64.rpm
install rustdesk on debian or ubuntu:
  dpkg -i https://github.com/rustdesk/rustdesk/releases/download/1.2.1/rustdesk-1.2.1-x86_64.deb
install rustdesk on debian arm:
  https://github.com/rustdesk/rustdesk/releases/download/1.2.1/rustdesk-1.2.1-aarch64.deb
install rustdesk on windows:
  https://github.com/rustdesk/rustdesk/releases/download/1.2.1/rustdesk-1.2.1-x86_64.exe
install rustdesk on mac:
  https://github.com/rustdesk/rustdesk/releases/download/1.2.1/rustdesk-1.2.1-x86_64.dmg
= thinlinc =
= thinlinc =
install thinlinc-server on archlinux:
install thinlinc-server on archlinux:
  yay -S thinlinc-server
  yay -G thinlinc-server
cd thinlinc-server
wget https://img.vidalinux.com/files/thinlinc-server-url.patch
patch PKGBUILD < thinlinc-server-url.patch
makepkg -si
install thinlinc-client on archlinux:
install thinlinc-client on archlinux:
  yay -S thinlinc
  yay -S thinlinc
Line 36: Line 31:
extract the bundle and start the installation program as follows:
extract the bundle and start the installation program as follows:
  ./install-server
  ./install-server
to setup the server run the following command:
/opt/thinlinc/sbin/tl-setup
enter web nterface for administration:
https://machine-ip-address:1010/status/sessions
thinlinc-client for linux .rpm:
thinlinc-client for linux .rpm:
  dnf -y install https://www.cendio.com/downloads/clients/thinlinc-client-4.14.0-2324.x86_64.rpm
  dnf -y install https://www.cendio.com/downloads/clients/thinlinc-client-4.14.0-2324.x86_64.rpm
Line 46: Line 45:
thinlinc-client for mac:
thinlinc-client for mac:
  https://www.cendio.com/downloads/clients/tl-4.14.0_2324-client-macos.iso
  https://www.cendio.com/downloads/clients/tl-4.14.0_2324-client-macos.iso
=  gnome-remote-desktop =
install gnome-remote-desktop on archlinux:
sudo pacman -S gnome-remote-desktop
install gnome-remote-desktop on almalinux8 or 9:
dnf -y install gnome-remote-desktop
install gnome-remote-desktop on debian or ubuntu:
sudo apt-get -y install gnome-remote-desktop


= x2go =
= x2go =
install x2goserver on archlinux:
install x2goserver on archlinux:
gpg --recv-keys F4A7678C9C6B0B2B
git clone https://aur.archlinux.org/nx.git
cd nx
makepkg -si
  yay -S x2goserver
  yay -S x2goserver
install x2goclient on archlinux:
install x2goclient on archlinux:
Line 73: Line 68:
install x2goclient on almalinux8 or 9:
install x2goclient on almalinux8 or 9:
  dnf -y install x2goclient
  dnf -y install x2goclient
start and enable x2goserver on host:
systemctl enable x2goserver
systemctl start x2goserver
install x2goclient for windows:
install x2goclient for windows:
  http://code.x2go.org/releases/X2GoClient_latest_mswin32-setup.exe
  http://code.x2go.org/releases/X2GoClient_latest_mswin32-setup.exe
install x2goclient for mac:
install x2goclient for mac:
  http://code.x2go.org/releases/X2GoClient_latest_macosx_10_13.dmg
  http://code.x2go.org/releases/X2GoClient_latest_macosx_10_13.dmg
to login to KDE on client configure session type custom desktop:
Command: startplasma-x11
fix errors with sqlite:
fix errors with sqlite:
  chown root:x2gouser /usr/lib/x2go/libx2go-server-db-sqlite3-wrapper
  chown root:x2gouser /usr/lib/x2go/libx2go-server-db-sqlite3-wrapper
  x2godbadmin --createdb
  x2godbadmin --createdb
  chmod g+s /usr/lib/x2go/libx2go-server-db-sqlite3-wrapper
  chmod g+s /usr/lib/x2go/libx2go-server-db-sqlite3-wrapper
= openuds =
install docker:
https://wiki.vidalinux.org/index.php/Howto_docker
as root user download openuds docker-compose:
mkdir ~/openuds && cd ~/openuds
wget https://raw.githubusercontent.com/vidalinux/docker/master/openuds/docker-compose/docker-compose.yml
pull containers images using docker-compose:
docker-compose pull
create rsa key:
mkdir ./certs/
cd ./certs
openssl genrsa -out example.com.key 3072
create certificate csr:
openssl req -new -key example.com.key -out example.com.csr
fill the following blanks:
Country Name (2 letter code) []: '''US'''
State or Province Name (full name) []: '''Puerto Rico'''
Locality Name (eg, city) []: '''San Juan'''
Organization Name (eg, company) []: '''Vidalinux.com Corp.'''
Organizational Unit Name (eg, section) []: '''Linux Consulting'''
Common Name (eg, your name or your server's hostname) []: '''*.example.com'''
Email Address []: '''myemail@example.com'''
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []: '''just press enter'''
An optional company name []: '''just press enter'''
create the certificate:
openssl x509 -req -days 365 -in example.com.csr -signkey example.com.key -out example.com.crt
create root certificate:
openssl req -x509 -new -nodes -key example.com.key -sha256 -out ca.pem
fill the following blanks:
Country Name (2 letter code) []: '''US'''
State or Province Name (full name) []: '''Puerto Rico'''
Locality Name (eg, city) []: '''San Juan'''
Organization Name (eg, company) []: '''Vidalinux.com Corp.'''
Organizational Unit Name (eg, section) []: '''Linux Consulting'''
Common Name (eg, your name or your server's hostname) []: '''*.example.com'''
Email Address []: '''myemail@example.com'''
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []: '''just press enter'''
An optional company name []: '''just press enter'''
replace ovox.io with your domain:
sed -i 's|ovox.io|example.com|g' docker-compose.yml
deploy containers using docker-compose:
cd ~/openuds
docker-compose up -d
watch container logs for errors:
docker-compose logs -f
add the following to your /etc/hosts:
cat >> /etc/hosts << EOF
# openuds.example.com
10.50.70.2      dbuds.example.com
10.50.70.3      serveruds.example.com
10.50.70.4      tunneluds.example.com
EOF
enter openuds web interface username/password: root/udsmam0 :
https://serveruds.example.com
= kasmvnc =
as nornmal user clone the following git repo:
cd ~/
git clone https://github.com/vidalinux/AUR.git
install perl-hash-merge-simple:
cd ~/AUR/perl-hash-merge-simple/
makepkg -si
install kasmvncserver:
cd ~/AUR/kasmvncserver-bin
makepkg -si
execute the following command to configure vncserver:
vncserver
select create a new user with write access:
1
enter the username of your current user and set password:
linux
on desktop environment select manually edit xstartup:
2
edit ~/.vnc/kasmvnc.yaml and add the following:
desktop:
  resolution:
    width: 1024
    height: 768
  allow_resize: true
  pixel_depth: 24
  gpu:
    hw3d: false
    drinode: /dev/dri/renderD128
logging:
  log_writer_name: all
  log_dest: logfile
  level: 100
network:
  protocol: http
  interface: 0.0.0.0
  websocket_port: auto
  use_ipv4: true
  use_ipv6: true
  udp:
    public_ip: auto
    port: auto
    stun_server: auto
  ssl:
    pem_certificate: /opt/ssl/certs/server.crt
    pem_key: /opt/ssl/certs/server.key
    require_ssl: true
create rsa key:
sudo mkdir /opt/ssl/certs/ -p
sudo chmod -R 777 /opt/ssl
cd /opt/ssl/certs
openssl genrsa -out server.key 3072
create certificate csr:
openssl req -new -key server.key -out server.csr
fill the following blanks:
Country Name (2 letter code) []: '''US'''
State or Province Name (full name) []: '''Puerto Rico'''
Locality Name (eg, city) []: '''San Juan'''
Organization Name (eg, company) []: '''Vidalinux.com Corp.'''
Organizational Unit Name (eg, section) []: '''Linux Consulting'''
Common Name (eg, your name or your server's hostname) []: '''vnc.example.com'''
Email Address []: '''myemail@gmail.com'''
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []: '''just press enter'''
An optional company name []: '''just press enter'''
create the certificate:
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
create root certificate:
openssl req -x509 -new -nodes -key server.key -sha256 -out ca.pem
fill the following blanks:
Country Name (2 letter code) []: '''US'''
State or Province Name (full name) []: '''Puerto Rico'''
Locality Name (eg, city) []: '''San Juan'''
Organization Name (eg, company) []: '''Vidalinux.com Corp.'''
Organizational Unit Name (eg, section) []: '''Linux Consulting'''
Common Name (eg, your name or your server's hostname) []: '''vnc.example.com'''
Email Address []: '''myemail@gmail.com'''
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []: '''just press enter'''
An optional company name []: '''just press enter'''
edit ~/.vnc/xstartup for xfce:
#!/bin/sh
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
if [ -d /etc/X11/xinit/xinitrc.d ] ; then
  for f in /etc/X11/xinit/xinitrc.d/?*.sh ; do
  [ -x "$f" ] && . "$f"
  done
  unset f
fi
dbus-launch startxfce4 &
edit ~/.vnc/xstartup for kde:
#!/bin/sh
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
if [ -d /etc/X11/xinit/xinitrc.d ] ; then
  for f in /etc/X11/xinit/xinitrc.d/?*.sh ; do
  [ -x "$f" ] && . "$f"
  done
  unset f
fi
startplasma-x11 &
set xstartup permissions:
chmod +x ~/.vnc/xstartup
create systemd directory:
mkdir -p ~/.config/systemd/user
configure systemd service:
cat > ~/.config/systemd/user/vncserver\@\:2.service << EOF
[Unit]
Description=Remote desktop service (VNC)
After=syslog.target network.target
[Service]
Type=forking
ExecStart=/usr/bin/vncserver %i
ExecStop=/usr/bin/vncserver -kill %i
[Install]
WantedBy=default.target
EOF
enable service:
systemctl --user enable vncserver@:2.service
start service:
systemctl --user start vncserver@:2.service
login as root on your computer:
sudo su -
add the ip address and hostname of your session to /etc/hosts:
cat >> /etc/hosts << EOF
192.168.77.124 vnc.example.com
EOF
connect to your vnc session using your browser:
https://vnc.example.com:8445


= nomachine =
= nomachine =
Line 104: Line 305:
to fix nxplayer for linux crashing when connecting to another machine edit this key in $HOME/.nx/config/player.cfg:
to fix nxplayer for linux crashing when connecting to another machine edit this key in $HOME/.nx/config/player.cfg:
  <option key="Enable hardware accelerated decoding" value="disabled" />
  <option key="Enable hardware accelerated decoding" value="disabled" />
= hoptodesk =
install hoptodesk on archlinux:
yay -G hoptodesk-bin
cd hoptodesk-bin
makepkg -si
if you got an error with sha256sum do the following:
sha256sum hoptodesk-1.40.6.deb
edit PKGBUILD
sha256sums=(''''394e93e365b755ed44f8ff6837bbc2e8d76c315132f74076cf1e988bcb2bdb0b''''
            '8486a10c4393cee1c25392769ddd3b2d6c242d6ec7928e1414efff7dfb2f07ef')
then run makepkg again:
makepkg -si
install hoptodesk on almalinux 8 or 9:
dnf -y install https://www.hoptodesk.com/hoptodesk.rpm
install hoptodesk on debian or ubuntu:
wget https://www.hoptodesk.com/hoptodesk.deb
apt install -f hoptodesk.deb
install hoptodesk on windows:
https://www.hoptodesk.com/hoptodesk.msix
install hoptodesk on mac intel:
https://www.hoptodesk.com/HopToDesk.dmg
install hoptodesk on mac silicon:
https://www.hoptodesk.com/HopToDesk-silicon.dmg
install hopdesk on debian arm:
dpkg -i https://www.hoptodesk.com/hoptodesk-rpi.deb
= rustdesk =
intall rustdesk on archlinux:
yay -S rustdesk-bin
install rustdesk on almalinux8 or 9:
dnf -y install https://github.com/rustdesk/rustdesk/releases/download/1.2.2/rustdesk-1.2.2-0.x86_64.rpm
install rustdesk on debian or ubuntu:
wget https://github.com/rustdesk/rustdesk/releases/download/1.2.2/rustdesk-1.2.2-x86_64.deb
sudo apt install -f rustdesk-1.2.2-x86_64.deb
install rustdesk on debian arm:
https://github.com/rustdesk/rustdesk/releases/download/1.2.2/rustdesk-1.2.2-aarch64.deb
install rustdesk on windows:
https://github.com/rustdesk/rustdesk/releases/download/1.2.2/rustdesk-1.2.2-x86_64.exe
install rustdesk on mac:
https://github.com/rustdesk/rustdesk/releases/download/1.2.2/rustdesk-1.2.2-x86_64.dmg


= references =
= references =

Latest revision as of 14:51, 22 March 2024

install remmina client

install remmina on archlinux:

pacman -S remmina libvncserver spice-gtk freerdp

install remmina debian/ubuntu:

sudo apt -y install remmina remmina-plugin-rdp remmina-plugin-secret remmina-plugin-spice

gnome-remote-desktop

install gnome-remote-desktop on archlinux:

sudo pacman -S gnome-remote-desktop

install gnome-remote-desktop on almalinux8 or 9:

dnf -y install gnome-remote-desktop

install gnome-remote-desktop on debian or ubuntu:

sudo apt-get -y install gnome-remote-desktop

if you have a blackscreen when connecting to your linux desktop on archlinux do the following:

sudo pacman -R pulseaudio-equalizer pulseaudio-jack --noconfirm
sudo pacman -Sy pipewire-alsa pipewire-audio pipewire-docs pipewire-jack pipewire-media-session pipewire-pulse
sudo groupadd pipewire
sudo usermod -a -G pipewire $USER

thinlinc

install thinlinc-server on archlinux:

yay -G thinlinc-server
cd thinlinc-server
wget https://img.vidalinux.com/files/thinlinc-server-url.patch
patch PKGBUILD < thinlinc-server-url.patch
makepkg -si

install thinlinc-client on archlinux:

yay -S thinlinc

install thinlinc-server on other linux distros:

wget https://www.cendio.com/downloads/server/tl-4.14.0-server.zip

extract the bundle and start the installation program as follows:

./install-server

to setup the server run the following command:

/opt/thinlinc/sbin/tl-setup

enter web nterface for administration:

https://machine-ip-address:1010/status/sessions

thinlinc-client for linux .rpm:

dnf -y install https://www.cendio.com/downloads/clients/thinlinc-client-4.14.0-2324.x86_64.rpm

thinlinc-client for linux .deb:

dpkg -i https://www.cendio.com/downloads/clients/thinlinc-client_4.14.0-2324_amd64.deb

thinlinc-client for debian arm:

dpkg -i https://www.cendio.com/downloads/clients/thinlinc-client_4.14.0-2324_armhf.deb

thinlinc-client for windows:

https://www.cendio.com/downloads/clients/tl-4.14.0-client-windows.exe

thinlinc-client for mac:

https://www.cendio.com/downloads/clients/tl-4.14.0_2324-client-macos.iso

x2go

install x2goserver on archlinux:

gpg --recv-keys F4A7678C9C6B0B2B
git clone https://aur.archlinux.org/nx.git
cd nx
makepkg -si 
yay -S x2goserver

install x2goclient on archlinux:

yay -S x2goclient

install x2goserver on debian or ubuntu:

sudo apt update
sudo apt -y install x2goserver x2goserver-xsession

install x2goclient on debian or ubuntu:

sudo apt -y install x2goclient

install x2goserver on almalinux 8 or 9:

dnf -y install yum-utils 
dnf config-manager --set-enabled crb
dnf -y install epel-release
dnf -y install epel-next-release
dnf -y install x2goserver

install x2goclient on almalinux8 or 9:

dnf -y install x2goclient

start and enable x2goserver on host:

systemctl enable x2goserver
systemctl start x2goserver

install x2goclient for windows:

http://code.x2go.org/releases/X2GoClient_latest_mswin32-setup.exe

install x2goclient for mac:

http://code.x2go.org/releases/X2GoClient_latest_macosx_10_13.dmg

to login to KDE on client configure session type custom desktop:

Command: startplasma-x11

fix errors with sqlite:

chown root:x2gouser /usr/lib/x2go/libx2go-server-db-sqlite3-wrapper
x2godbadmin --createdb
chmod g+s /usr/lib/x2go/libx2go-server-db-sqlite3-wrapper

openuds

install docker:

https://wiki.vidalinux.org/index.php/Howto_docker

as root user download openuds docker-compose:

mkdir ~/openuds && cd ~/openuds
wget https://raw.githubusercontent.com/vidalinux/docker/master/openuds/docker-compose/docker-compose.yml

pull containers images using docker-compose:

docker-compose pull

create rsa key:

mkdir ./certs/
cd ./certs
openssl genrsa -out example.com.key 3072

create certificate csr:

openssl req -new -key example.com.key -out example.com.csr

fill the following blanks:

Country Name (2 letter code) []: US
State or Province Name (full name) []: Puerto Rico
Locality Name (eg, city) []: San Juan
Organization Name (eg, company) []: Vidalinux.com Corp.
Organizational Unit Name (eg, section) []: Linux Consulting
Common Name (eg, your name or your server's hostname) []: *.example.com
Email Address []: myemail@example.com
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []: just press enter
An optional company name []: just press enter

create the certificate:

openssl x509 -req -days 365 -in example.com.csr -signkey example.com.key -out example.com.crt

create root certificate:

openssl req -x509 -new -nodes -key example.com.key -sha256 -out ca.pem

fill the following blanks:

Country Name (2 letter code) []: US
State or Province Name (full name) []: Puerto Rico
Locality Name (eg, city) []: San Juan
Organization Name (eg, company) []: Vidalinux.com Corp.
Organizational Unit Name (eg, section) []: Linux Consulting
Common Name (eg, your name or your server's hostname) []: *.example.com
Email Address []: myemail@example.com
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []: just press enter
An optional company name []: just press enter

replace ovox.io with your domain:

sed -i 's|ovox.io|example.com|g' docker-compose.yml

deploy containers using docker-compose:

cd ~/openuds
docker-compose up -d

watch container logs for errors:

docker-compose logs -f

add the following to your /etc/hosts:

cat >> /etc/hosts << EOF
# openuds.example.com
10.50.70.2      dbuds.example.com
10.50.70.3      serveruds.example.com
10.50.70.4      tunneluds.example.com
EOF

enter openuds web interface username/password: root/udsmam0 :

https://serveruds.example.com

kasmvnc

as nornmal user clone the following git repo:

cd ~/
git clone https://github.com/vidalinux/AUR.git

install perl-hash-merge-simple:

cd ~/AUR/perl-hash-merge-simple/
makepkg -si

install kasmvncserver:

cd ~/AUR/kasmvncserver-bin
makepkg -si

execute the following command to configure vncserver:

vncserver

select create a new user with write access:

1

enter the username of your current user and set password:

linux

on desktop environment select manually edit xstartup:

2

edit ~/.vnc/kasmvnc.yaml and add the following:

desktop:
  resolution:
    width: 1024
    height: 768
  allow_resize: true
  pixel_depth: 24
  gpu:
    hw3d: false
    drinode: /dev/dri/renderD128

logging:
  log_writer_name: all
  log_dest: logfile
  level: 100 

network:
  protocol: http
  interface: 0.0.0.0
  websocket_port: auto
  use_ipv4: true
  use_ipv6: true
  udp:
    public_ip: auto
    port: auto
    stun_server: auto
  ssl:
    pem_certificate: /opt/ssl/certs/server.crt
    pem_key: /opt/ssl/certs/server.key
    require_ssl: true

create rsa key:

sudo mkdir /opt/ssl/certs/ -p
sudo chmod -R 777 /opt/ssl
cd /opt/ssl/certs
openssl genrsa -out server.key 3072

create certificate csr:

openssl req -new -key server.key -out server.csr

fill the following blanks:

Country Name (2 letter code) []: US
State or Province Name (full name) []: Puerto Rico
Locality Name (eg, city) []: San Juan
Organization Name (eg, company) []: Vidalinux.com Corp.
Organizational Unit Name (eg, section) []: Linux Consulting
Common Name (eg, your name or your server's hostname) []: vnc.example.com
Email Address []: myemail@gmail.com
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []: just press enter
An optional company name []: just press enter

create the certificate:

openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt

create root certificate:

openssl req -x509 -new -nodes -key server.key -sha256 -out ca.pem

fill the following blanks:

Country Name (2 letter code) []: US
State or Province Name (full name) []: Puerto Rico
Locality Name (eg, city) []: San Juan
Organization Name (eg, company) []: Vidalinux.com Corp.
Organizational Unit Name (eg, section) []: Linux Consulting
Common Name (eg, your name or your server's hostname) []: vnc.example.com
Email Address []: myemail@gmail.com
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []: just press enter
An optional company name []: just press enter

edit ~/.vnc/xstartup for xfce:

#!/bin/sh 

unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS

if [ -d /etc/X11/xinit/xinitrc.d ] ; then
 for f in /etc/X11/xinit/xinitrc.d/?*.sh ; do
  [ -x "$f" ] && . "$f"
 done
 unset f
fi

dbus-launch startxfce4 &

edit ~/.vnc/xstartup for kde:

#!/bin/sh 

unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS

if [ -d /etc/X11/xinit/xinitrc.d ] ; then
 for f in /etc/X11/xinit/xinitrc.d/?*.sh ; do
  [ -x "$f" ] && . "$f"
 done
 unset f
fi

startplasma-x11 &

set xstartup permissions:

chmod +x ~/.vnc/xstartup

create systemd directory:

mkdir -p ~/.config/systemd/user

configure systemd service:

cat > ~/.config/systemd/user/vncserver\@\:2.service << EOF
[Unit]
Description=Remote desktop service (VNC)
After=syslog.target network.target

[Service]
Type=forking
ExecStart=/usr/bin/vncserver %i
ExecStop=/usr/bin/vncserver -kill %i

[Install]
WantedBy=default.target
EOF

enable service:

systemctl --user enable vncserver@:2.service

start service:

systemctl --user start vncserver@:2.service

login as root on your computer:

sudo su -

add the ip address and hostname of your session to /etc/hosts:

cat >> /etc/hosts << EOF
192.168.77.124 vnc.example.com
EOF

connect to your vnc session using your browser:

https://vnc.example.com:8445

nomachine

install nomachine on archlinux:

git clone https://aur.archlinux.org/yay.git
cd yay
makepkg -si

install nomachine:

yay -S nomachine

edit file "/usr/NX/etc/server.cfg", set "StartNXDaemon" to "Automatic":

StartNXDaemon Automatic

then restart nxserver service:

systemctl restart nxserver

from another computer install nomachine:

  • for windows:
https://download.nomachine.com/download/8.8/Windows/nomachine_8.8.1_1_x64.exe
  • for mac:
https://download.nomachine.com/download/8.8/MacOSX/nomachine_8.8.1_1.dmg
  • for linux .rpm:
https://download.nomachine.com/download/8.8/Linux/nomachine_8.8.1_1_x86_64.rpm
  • for linux .deb:
https://download.nomachine.com/download/8.8/Linux/nomachine_8.8.1_1_amd64.deb

to fix nxplayer for linux crashing when connecting to another machine edit this key in $HOME/.nx/config/player.cfg:

<option key="Enable hardware accelerated decoding" value="disabled" />

hoptodesk

install hoptodesk on archlinux:

yay -G hoptodesk-bin
cd hoptodesk-bin
makepkg -si

if you got an error with sha256sum do the following:

sha256sum hoptodesk-1.40.6.deb

edit PKGBUILD

sha256sums=('394e93e365b755ed44f8ff6837bbc2e8d76c315132f74076cf1e988bcb2bdb0b'
           '8486a10c4393cee1c25392769ddd3b2d6c242d6ec7928e1414efff7dfb2f07ef')

then run makepkg again:

makepkg -si

install hoptodesk on almalinux 8 or 9:

dnf -y install https://www.hoptodesk.com/hoptodesk.rpm

install hoptodesk on debian or ubuntu:

wget https://www.hoptodesk.com/hoptodesk.deb
apt install -f hoptodesk.deb

install hoptodesk on windows:

https://www.hoptodesk.com/hoptodesk.msix

install hoptodesk on mac intel:

https://www.hoptodesk.com/HopToDesk.dmg

install hoptodesk on mac silicon:

https://www.hoptodesk.com/HopToDesk-silicon.dmg

install hopdesk on debian arm:

dpkg -i https://www.hoptodesk.com/hoptodesk-rpi.deb

rustdesk

intall rustdesk on archlinux:

yay -S rustdesk-bin

install rustdesk on almalinux8 or 9:

dnf -y install https://github.com/rustdesk/rustdesk/releases/download/1.2.2/rustdesk-1.2.2-0.x86_64.rpm

install rustdesk on debian or ubuntu:

wget https://github.com/rustdesk/rustdesk/releases/download/1.2.2/rustdesk-1.2.2-x86_64.deb
sudo apt install -f rustdesk-1.2.2-x86_64.deb

install rustdesk on debian arm:

https://github.com/rustdesk/rustdesk/releases/download/1.2.2/rustdesk-1.2.2-aarch64.deb

install rustdesk on windows:

https://github.com/rustdesk/rustdesk/releases/download/1.2.2/rustdesk-1.2.2-x86_64.exe

install rustdesk on mac:

https://github.com/rustdesk/rustdesk/releases/download/1.2.2/rustdesk-1.2.2-x86_64.dmg

references