Borderless windows connecting to xrdp on raspberry #2050
Replies: 8 comments 21 replies
-
This looks like a duplicate of #2048 What is the output from |
Beta Was this translation helpful? Give feedback.
-
@roygoraposonjr and I have been investigating this under #2048. Here's a summary of the situation, and recommended workarounds. Technical descriptionRaspberry PI OS based on Bullseye is running xorgxrdp v0.2.12. This version of xorgxrdp has an issue where it will report an error if it is asked to resize the screen to the same size it is already configured at. This logic is used by mutter version 3.38.6-2~deb11u1+rpt1, which is the version of mutter in Raspberry PI OS. Consequently, the versions of mutter and xorgxrdp delivered for Raspberry PI OS are incompatible. Affected configurationsYou will run into this problem if:-
Possible workaroundsSimple
Complex
Intermediate
The rest of this post details how to configure the PI to use openbox rather than mutter for xrdp sessions. Configure the PI to use openbox for xrdp connectionsIntroductionThe raspberry PI desktop session is started by the script One of the factors used to decide which window manager to use is the amount of memory installed in the PI. If less than 2GB is installed, openbox is always used. The amount of memory in the PI is determined with this PI-specific command:-
Create another scriptOn your PI, create a file #!/bin/sh
# See https://github.com/neutrinolabs/xrdp/discussions/2050
if [ -n "$XRDP_SESSION" ]; then
# Override vcgencmd to return no memory. This causes the
# openbox window manager to be used instead of mutter
vcgencmd()
{
if [ $1/$2 = get_config/total_mem ]; then
echo total_mem=0
else
echo "** Fix stub vcgencmd for $*" >&2
false
fi
}
fi
. /usr/bin/startlxde-pi Make the script executable with What does this script do? Simply put, it checks to see if we are starting an xrdp session by checking the XRDP_SESSION environment variable. If this is set, it defines a function which overrides the The script then reads the normal script to start the desktop with the shell The net effect is that this script works exactly the same as Set up the script for a single userIf you've only got one user on your PI, you can configure the PI to use this script for X sessions with this comand:-
If you've got more than one user you can set this script up as the default way to start the X session as follows:- $ sudo update-alternatives --install /usr/bin/x-session-manager x-session-manager /usr/bin/startlxde-pi-xrdp 90 $ sudo update-alternatives --config x-session-manager There are 5 choices for the alternative x-session-manager (providing /usr/bin/x-session-manager). Selection Path Priority Status ------------------------------------------------------------ * 0 /usr/bin/startlxde-pi 90 auto mode 1 /usr/bin/lxsession 49 manual mode 2 /usr/bin/openbox-session 40 manual mode 3 /usr/bin/startlxde 50 manual mode 4 /usr/bin/startlxde-pi 90 manual mode 5 /usr/bin/startlxde-pi-xrdp 90 manual mode Press to keep the current choice[*], or type selection number: 5 update-alternatives: using /usr/bin/startlxde-pi-xrdp to provide /usr/bin/x-session-manager (x-session-manager) in manual mode You can reverse this selection as follows:- $ sudo update-alternatives --remove x-session-manager /usr/bin/startlxde-pi-xrdp update-alternatives: removing manually selected alternative - switching x-session-manager to auto mode update-alternatives: using /usr/bin/startlxde-pi to provide /usr/bin/x-session-manager (x-session-manager) in auto mode |
Beta Was this translation helpful? Give feedback.
-
@spl237 is looking after all things xorg right now. I think trying to patch xorgxrdp so that it's compatible with our version of mutter certainly makes sense. |
Beta Was this translation helpful? Give feedback.
-
I've just built backports of the bookworm versions of xrdp and xorgxrdp; they've been uploaded to the repo and should show up shortly. Hopefully this will fix this issue. (Taking the bookworm release with the patch in it seemed less likely to lead to problems than taking individual patches.) |
Beta Was this translation helpful? Give feedback.
-
My raspberry pie 4B installs the following version of xrdp Why does it also show connection failure? |
Beta Was this translation helpful? Give feedback.
-
Even with this setup nothing has changed on my up to date Bullseye Raspberry Pi 4 B. RDC hanging in nice bluegreen screen with nice border after login
|
Beta Was this translation helpful? Give feedback.
-
@waterwin - that doesn't sound the same at all. This is a discussion about borderless Windows. Yours sounds to be more about starting a session. There's a lot of discussion about rPI issues in #2129, #2089 and #2060. In summary; trying to use the user
There are complex ways around both of these, but the easiest solution is to set up a different user for RDP use. |
Beta Was this translation helpful? Give feedback.
-
Sorry if I misunderstand the issues.
Is your answer referring to Buster or Bullseye ?
I did not think it difficult to use RDC via XRDP from a Raspberry Pi running Buster.It runs on my 2B, 3B+ and 4BI also have a Raspberry Pi3B+ running Bullseye using XRDP
I tried to read through all issues and finally arrived via a pointer by you on #2050But the discussions sometimes start to combine different things like I did now again obviously.
Which leaves me with a Raspberry 4B Bullseye not running XRDP out of the box. I will try to get it working with another user not being pi.
Thanks for the correction.
On Thursday, February 3, 2022, 11:23:57 AM GMT+1, matt335672 ***@***.***> wrote:
@waterwin - that doesn't sound the same at all. This is a discussion about borderless Windows. Yours sounds to be more about starting a session.
There's a lot of discussion about rPI issues in #2129, #2089 and #2060. In summary; trying to use the user pi over RDP is really difficult to get working because of two problems:-
- systemd --user won't allow the same user on the console and RDP at the same time.
- The kernel acceleration drivers on the PI kernel don't work with remote sessions.
There are complex ways around both of these, but the easiest solution is to set up a different user for RDP use.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
Triage notifications on the go with GitHub Mobile for iOS or Android.
You are receiving this because you were mentioned.Message ID: ***@***.***>
|
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
Hello all,
I installed xrdb on a raspbian on Raspberry pi 400. When I connect from remmina (from Linux Mint) or microsoft remote desktop (from MacOS Big Sur) all the windows are borderless and without close/resize buttons.
Please see the attached picture.
Do you have any idea to solve the issue?
Thank you in advance!
Lorenzo
Beta Was this translation helpful? Give feedback.
All reactions