start
Differences
This shows you the differences between two versions of the page.
| Next revision | Previous revision | ||
| start [2024/01/28 19:38] – created goatsu | start [2026/08/30 02:54] (current) – goatsu | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | **Remote Desktop access** | + | ====== Discrete Mathematics for Data Science ====== |
| - | You can set up a remote desktop solution on a local network without having | + | Thank you those of you who were in someway instrumental |
| + | The book is now available at [[ https://www.routledge.com/ | ||
| - | Notable tech: | + | ==== Book Resources ==== |
| - | • Krdb – Simple configuration by the non-root user, but no access control lists. | + | * [[user:bgoat: |
| - | • AnyDesk – Includes access control system and Windows support. | + | |
| - | • libvncserver – Long-term recommendation; | + | |
| - | + | | |
| - | Short-term, the most viable solutions here for FreeBSD are Krfb and Anydesk. | + | |
| - | + | | |
| - | (Please note that for security reasons, the VNC/RDP ports used here for demonstration will be closed before long.) | + | |
| - | + | ||
| - | **Krfb** | + | |
| - | Krfb is specific to KDE. The configuration is relatively straight forward. | + | |
| - | + | ||
| - | In the KDE Application Launcher (lower left of the desktop), browse to Krfb. | + | |
| - | + | ||
| - | {{ :remotedesktop-img001.png? | + | |
| - | + | ||
| - | Note that you should check the box called Enable Unattended Access if you want others to access the desktop when you are not present. If this is enabled, then also click on Change Unattended Password. | + | |
| - | + | ||
| - | Note in the middle of that pop-up box the “Connection Details” with the IP address, port and password of the machine. | + | |
| - | + | ||
| - | Unless you explicitly shutdown Desktop Sharing keeps running. | + | |
| - | + | ||
| - | To stop Desktop Sharing, browse to the Desktop Sharing icon in the system tray (lower right) and right-click the Desktop Sharing icon and select Quit. | + | |
| - | + | ||
| - | To allow Desktop sharing to run at startup, in the KDE Application Launcher (lower left of the desktop), browse to Startup and Shutdown, then click the “+ add” button and enter krfb. | + | |
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | Under Internet, select Krfb. | + | |
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | The above screenshots are from the coco vm. That address resides on a particular local subnet. Substitute that information with what you have for H3 if you want to share it on H3’s subnet. | + | |
| - | + | ||
| - | To test this method using the coco-vm desktop, use the following parameters in your VNC client: | + | |
| - | + | ||
| - | Krfb login to goat’s desktop on coco at System Goats: | + | |
| - | + | ||
| - | Address: | + | |
| - | Port: | + | |
| - | Unattended Password: | + | |
| - | + | ||
| - | This was tested with three concurrent connections, | + | |
| - | + | ||
| - | Krfb references: | + | |
| - | https://docs.kde.org/stable5/en/ | + | |
| - | https:// | + | |
| - | + | ||
| - | Anydesk | + | |
| - | For better Windows client accommodations, | + | |
| - | + | ||
| - | While installing Anydesk on FreeBSD may be considered a chore, Linux and Windows installations are relatively passive. | + | |
| - | + | ||
| - | What follows are the FreeBSD installation instructions for Anydesk. | + | |
| - | + | ||
| - | First of all, note that Anydesk’s FreeBSD package listing at (https:// | + | |
| - | + | ||
| - | pkg install anydesk | + | |
| - | + | ||
| - | If no installation took place, then proceed to install Anydesk from the ports/ | + | |
| - | + | ||
| - | cd / | + | |
| - | + | ||
| - | Scroll through the terms of the license and accept it if OK. This software is mostly FOSS with some proprietary tech. It is free for private use, such as non-billable and evaluation uses. | + | |
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | During the installation you will have to approve a few dependencies. If any of these fail to install due to some error, then try installing them separately from their respective port, in / | + | |
| - | + | ||
| - | After the installation completes, the compiled (runnable) binary should reside at / | + | |
| - | + | ||
| - | Next, the /proc directory needs to be mounted. Do this manually at first: | + | |
| - | + | ||
| - | mount -t procfs proc /proc | + | |
| - | + | ||
| - | To ensure the /proc mount persists after reboot, append to /etc/fstab the following: | + | |
| - | + | ||
| - | proc /proc procfs rw 0 0 | + | |
| - | + | ||
| - | The remainder of the configuration is done as the non-root user who wants to share their desktop, in the user’s graphical login environment. | + | |
| - | + | ||
| - | As a non-root user, start Anydesk from the KDE application launcher. | + | |
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | Configure Anydesk. Click on Unattended Password. Set user login credentials and other parameters as needed. For example, you may want to enable the file manager for remote users. For that, you may also want to enable your machine to be discoverable on then local network. | + | |
| - | + | ||
| - | Given multiple machines with Anydesk, each can operate both as client and server. | + | |
| - | + | ||
| - | Connect one machine to the other by adding it to the address | + | |
| - | + | ||
| - | Depending on the memory available on the client machine, it may take a minute of two to load the system before its displays. | + | |
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | To allow Anydesktop to run at startup, as with Krfb, in the KDE Application Launcher (lower left of the desktop), browse to Startup and Shutdown, then click the “+ add” button and enter Anydesk. | + | |
| - | + | ||
| - | The above screenshots are from the coco vm here at Systemgoats. | + | |
| - | + | ||
| - | Anydesk login parameters for goat’s desktop on coco at System Goats: | + | |
| - | + | ||
| - | Address: | + | |
| - | Port: | + | |
| - | Unattended Password: | + | |
| - | + | ||
| - | Anydesk references: | + | |
| - | https:// | + | |
| - | https:// | + | |
| - | + | ||
| - | + | ||
| - | XRDP | + | |
| - | xrdp uses Xvnc or X11rdp to interact with the MS RDP protocol. By default, xrdp allows one session per Linux user account, preventing two or more simultaneous logins. | + | |
| - | + | ||
| - | Xrdp server installation (as root): | + | |
| - | + | ||
| - | pkg install xrdp | + | |
| - | + | ||
| - | Or build it from its port: | + | |
| - | + | ||
| - | cd / | + | |
| - | + | ||
| - | Append to / | + | |
| - | + | ||
| - | xrdp_enable=" | + | |
| - | xrdp_sesman_enable=" | + | |
| - | + | ||
| - | Because xrdp has a default X window desktop environment, | + | |
| - | + | ||
| - | #### start desktop environment | + | |
| - | # exec gnome-session | + | |
| - | # exec mate-session | + | |
| - | # exec start-lumina-desktop | + | |
| - | # exec startxfce4 | + | |
| - | # exec xterm | + | |
| - | # exec startplasma-xll | + | |
| - | exec ck-launch-session startplasma-x11 | + | |
| - | + | ||
| - | Configure xrdp for multiple users. | + | |
| - | + | ||
| - | [xrdp1] | + | |
| - | name=xrdp-session1 | + | |
| - | lib=libvnc.so | + | |
| - | username=ask | + | |
| - | password=ask | + | |
| - | ip=127.0.0.1 | + | |
| - | port=-1 | + | |
| - | delay_ms=2000 | + | |
| - | + | ||
| - | [xrdp2] | + | |
| - | name=xrdp-session2 | + | |
| - | lib=libvnc.so | + | |
| - | username=ask | + | |
| - | password=ask | + | |
| - | ip=127.0.0.1 | + | |
| - | port=-1 | + | |
| - | delay_ms=2000 | + | |
| - | + | ||
| - | Install D-Bus (about: https:// | + | |
| - | + | ||
| - | pkg info -r dbus | + | |
| - | Or | + | |
| - | pkg install dbus | + | |
| - | + | ||
| - | Append to / | + | |
| - | + | ||
| - | dbus_enable=" | + | |
| - | + | ||
| - | Start or restart xrdp: | + | |
| - | + | ||
| - | / | + | |
| - | + | ||
| - | Test the xrdp server using a remote RDP client. | + | |
| - | + | ||
| - | xrdp login parameters for goat’s desktop on coco at System Goats: | + | |
| - | Address: coco.systemgoats.com | + | |
| - | User: goat | + | |
| - | Port: | + | |
| - | + | ||
| - | Here is the connection using the Remina client: | + | |
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | Making the second connection... | + | |
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | Xrdp references: | + | |
| - | https:// | + | |
| - | + | ||
| - | Security | + | |
| - | A VPN can afford a common localization of server and client machines. | + | |
| - | + | ||
| - | Longer term, the network of the VPN should be an isolated subnet if you are issuing login credentials to potentially untrusted clients. | + | |
| - | + | ||
| - | Subnetting should be done internally apart from Zerotier’s emulation, unless you run your own Zerotier nodes. Unless you own and control your nodes, you are using a shared WAN IP address, which makes it more of a hacker target. Additionally, | + | |
| - | + | ||
| - | The less risky solution, longer term, is to use locally installed VPN software, such as the well known ipSec, OpenVPN, or WireGuard. | + | |
| - | + | ||
| - | Related VPNs on pfsense: | + | |
| - | https:// | + | |
| - | Using ipSec on pfsense: https:// | + | |
| - | + | ||
| - | VNC clients | + | |
| - | Krdc: https:// | + | |
| - | Remina: https:// | + | |
| - | https:// | + | |
| - | + | ||
| - | Other remote desktop solutions | + | |
| - | libvnc-server: | + | |
| - | + | ||
| - | Libvnc-server references: | + | |
| - | https:// | + | |
| - | https:// | + | |
| - | + | ||
| - | x11vnc: A libvnc-server derivative. Using here for many years. Accepts multiple simultaneously local clients. | + | |
| - | https:// | + | |
| - | http:// | + | |
| - | https:// | + | |
| - | + | ||
| - | x2go: https:// | + | |
| - | + | ||
| - | FreeRDP: https:// | + | |
| - | + | ||
| - | A curiosity – MeshCentral: | + | |
start.1706470708.txt.gz · Last modified: by goatsu
