Xrdp is a remote desktop server application available via apt or Synaptic in binary from the Debian Bullseye repositories. However, the version available when run on DebianDog Bullseye does not redirect sound.
A script is available for compiling Xrdp from Griffon's IT Library https://c-nergy.be/blog/ and much good information about Xrdp is available there. Xrdp itself is maintained by Neutrinolabs http://xrdp.org/ .
The Griffon script is available in several versions, the current latest is 1.4.3 located here: https://c-nergy.be/blog/?p=18205
The script automates installation of either Xrdp in binary, or compiles it from scratch, depending on the choice of the user. It is primarily designed to work with Ubuntu and Buntu variants. But Debian ver 11 (Bullseye) is also supported, as experimental. The Debian version MUST be installed by compiling, the others have the binary install option. The compile option is -c (for custom) when running the script
DD Bullseye is built on Debian 11, but there are differences -- and it was necessary to work out what those were in order to get the installer script to work. To install sound redirection, the -s option is added when running the script.
The Installer requires that the user making the install must be non-root. User puppy is suitable. Also the working directory must be in the user's Downloads directory, which doesn't exist by default in DD Bullseye.
1.)To begin, create a /home/puppy/Downloads directory. Make user puppy the owner, if not already.
2.) Update repositories. Open terminal in the Downloads folder, switch to user puppy and download the script
Code: Select all
su puppy
sudo apt update
wget https://www.c-nergy.be/downloads/xRDP/xrdp-installer-1.4.3.zip
3.) The script needs a small Debian utility to identify the operating system and desktop, not present on DD Bullseye. Install that:
Code: Select all
sudo apt install lsb-release
4.) The script can only identify a desktop manager from a limited number of supported types. LXQt is one that is small and works with openbox (already present), so install that one:
Code: Select all
sudo apt install lxqt
5.) You will need the deb-src source repos available to apt. They are currently commented out in /etc/apt/sources.list so navigate there and uncomment them by removing the # marks from the appropriate deb-src lines, or from console to edit:
Code: Select all
sudo nano /etc/apt/sources.list
6.) update those sources
Code: Select all
sudo apt update
7.) From a terminal opened in the /home/puppy/Downloads directory, as user puppy, run the script with -c and -s options:
Code: Select all
./xrdp-installer-1.4.3.sh -c -s
You will be asked to identify the desktop from choices: openbox, jwm, and lxqt. Choose lxqt. The script should run to completion. If it does, you must fully shut down the computer, and then start it from cold boot, to enable the sound redirection. It doesn't work to simply hit restart. Has to be a cold boot.
8.) After booting, to start Xrdp, from root user enter:
Code: Select all
service xrdp start
If you have a client machine running puppy, with the Remmina rdp client app, first run Peasywifi on your LAN and search for instances of port 3389. That will give you the IP address of your Xrdp server and also verify that it is running and listening. If not, check that your client and server firewalls aren't blocking 3389.
Open a new Remmina RDP profile and enter the IP address, set resolution to Trucolor 24 bit, and in the Advanced tab set sound to Local. Save, don't use Save and Connect button, as I found it sometimes doesn't work. After saving then you can Connect. You will be asked for username and password, choose puppy (if root is currently the user on the server box). You cannot be the same user on both boxes.
If all is working, first time you will be asked to accept an SSL cert. Agree. The desktop will take a few moments to open, but should be operable with sound enabled. The quality of sound will depend on the capabilities of your server, and the speed of you network cards and connection.
When closing any client session don't choose the Log Out Shutdown option from the client desktop's menu, choose the Exit X option, or use the Remmina disconnect icon. You should not shut down the machine from the client in an RDP session.
Well, that's it. Hope it is useful to you.
EDITS: 9/15/22 added missing sudos for user puppy where needed.