Howto remote desktop linux: Difference between revisions
No edit summary |
Mandulete1 (talk | contribs) |
||
(91 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
= 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 = | |||
* https://kasmweb.com/community-edition | * https://kasmweb.com/community-edition | ||
* https://www.cendio.com/thinlinc | * https://www.cendio.com/thinlinc | ||
* https://www.nomachine.com/ | * https://www.nomachine.com/ | ||
* https://github.com/rustdesk | * https://github.com/rustdesk | ||
* https://github.com/immense/Remotely | |||
* https://wiki.gnome.org/Projects/Mutter/RemoteDesktop | |||
* https://www.hoptodesk.com | |||
* https://wiki.x2go.org |
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