Howto remote desktop linux: Difference between revisions
Mandulete1 (talk | contribs) Tag: Reverted |
Mandulete1 (talk | contribs) |
||
(7 intermediate revisions by the same user not shown) | |||
Line 85: | Line 85: | ||
install docker: | install docker: | ||
https://wiki.vidalinux.org/index.php/Howto_docker | https://wiki.vidalinux.org/index.php/Howto_docker | ||
as root user download | as root user download openuds docker-compose: | ||
mkdir ~/openuds && cd ~/openuds | mkdir ~/openuds && cd ~/openuds | ||
wget https://raw.githubusercontent.com/vidalinux/docker/master/openuds/docker-compose/docker-compose.yml | wget https://raw.githubusercontent.com/vidalinux/docker/master/openuds/docker-compose/docker-compose.yml | ||
Line 95: | Line 95: | ||
openssl genrsa -out example.com.key 3072 | openssl genrsa -out example.com.key 3072 | ||
create certificate csr: | create certificate csr: | ||
openssl req -new -key | openssl req -new -key example.com.key -out example.com.csr | ||
fill the following blanks: | fill the following blanks: | ||
Country Name (2 letter code) []: '''US''' | Country Name (2 letter code) []: '''US''' | ||
Line 108: | Line 108: | ||
A challenge password []: '''just press enter''' | A challenge password []: '''just press enter''' | ||
An optional company name []: '''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: | deploy containers using docker-compose: | ||
cd ~/openuds | cd ~/openuds | ||
Line 228: | Line 238: | ||
dbus-launch startxfce4 & | 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: | create systemd directory: | ||
mkdir -p ~/.config/systemd/user | mkdir -p ~/.config/systemd/user | ||
Line 252: | Line 278: | ||
add the ip address and hostname of your session to /etc/hosts: | add the ip address and hostname of your session to /etc/hosts: | ||
cat >> /etc/hosts << EOF | cat >> /etc/hosts << EOF | ||
192.168.77. | 192.168.77.124 vnc.example.com | ||
EOF | EOF | ||
connect to your vnc session using your browser: | connect to your vnc session using your browser: |
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