【填坑】树莓派4B上运行Bullseye版本系统,不能登录xrdp的问题~~
作者:互联网
以前使用 buster,安装xrdp后 pi用户xrdp登录正常,
可自从使用了 bullseye系统,pi登录xrdp后,出现黑屏不能登录现象。
网上搜寻解决方案,一种方法是:
- 登录树莓派后,打开这个文件:/etc/X11/xrdp/xorg.conf
- 在文件中找到:Option "DRMDevice" "/dev/dri/renderD128"
- 将上述这一行注释掉,增加:Option "DRMDevice" ""
- 保存后重新启动
此方法测试后:确实pi用户能rdp登录到桌面了。但是,但是,没有了图形驱动性能差,非常卡顿~~
找到的另一种方法:使用 adduser 命令新建一个用户,使用新账户来rdp登录。
测试后:可以登录到桌面,但同样出现卡顿现象。
################################### 直接给出结果 ###########################################
经过各种测试填坑,找到了相对能接受的方法:
(1)新建用户,并用此用户rdp登录;(解决黑屏,无法登录到desktop的问题)
(2)编辑脚本 /usr/bin/startlxde-pi 的内容,更改第44行:(解决卡顿问题)
exec /usr/bin/lxsession -s LXDE-pi -e LXDE
在其末尾加上参数,最终内容改为与53行(倒数第2行)一样:
exec /usr/bin/lxsession -s LXDE-pi -e LXDE -w openbox-lxde-pi
############################### 以下填坑具体过程,可略过 #####################################
Raspberry OS 的 Bullseys版本,安装xrdp后使用pi用户登录,出现黑屏问题。
===============================================
找遍解决方法,在这里找到讨论:https://github.com/neutrinolabs/xrdp/issues/2060
其中,shixudong2020 commented on 4 Dec 2021 解释了为何新建用户可以登录:
new user or pi(disable autologin) can xrdp to pi4(bullseye),because they not have privilege to open the DRI device /dev/dri/renderD128,so glamor module inactive. When pi autologin graphical console,it occupy seat0,according /lib/udev/rules.d/70-uaccess.rules, active seat0 user pi have privilege to open the DRI device /dev/dri/renderD128.
it no matter login twice with the same account using xrdp on pi4(bullseye).
for example, if add new user to group render to have privilege to open the DRI device /dev/dri/renderD128,new user will can not xrdp to pi4(bullseye).
经测试,adduser zhw后,zhw不能加入到 render组中(编辑/etc/groups文件),否则跟pi一样不能登录,
都是访问 renderD128 驱动的权限造成的!!
解决登录问题: 新建新用户来xrdp登录,不能加入render组!!!!!
===========================================================
但是又出现新问题: 登录xrdp后,界面非常卡! 无法正常使用~~~~~~~~~
Edit /etc/X11/xrdp/xorg.conf and set Option "DRMDevice" "". This disables glamor for xrdp session only.
这种解决方法同样有卡顿的问题!!
解决新用户rdp登陆后卡顿的问题: marcomto commented on 29 Nov 2021 这个帖子非常有用!
(1)自己测试替换x-session-manager:
pi@raspi:~ $ sudo update-alternatives --config x-session-manager
有 4 个候选项可用于替换 x-session-manager (提供 /usr/bin/x-session-manager)。
选择 路径 优先级 状态
- 0 /usr/bin/startlxde-pi 90 自动模式
1 /usr/bin/lxsession 49 手动模式
2 /usr/bin/openbox-session 40 手动模式
3 /usr/bin/startlxde 50 手动模式
4 /usr/bin/startlxde-pi 90 手动模式
要维持当前值[*]请按<回车键>,或者键入选择的编号: 3
发现: 将 x-session-manager 替换为3,则登录后不卡顿! 但是界面不一样了。
结论: 缺省的 XSession 脚本肯定有问题,修改后应该可以也不卡顿。
(2)编辑 缺省脚本 /usr/bin/startlxde-pi 的内容
发现其中会根据内存大小来选择执行: 当内存>2G时启动的逻辑A, 跟内存<2G时的逻辑B不同!
代码行: if [ $TOTAL_MEM -ge 2048 ] && [ -f /usr/bin/mutter ] && [ -z "$VNC" ] ; then
.........
exec /usr/bin/lxsession -s LXDE-pi -e LXDE
else
.........
exec /usr/bin/lxsession -s LXDE-pi -e LXDE -w openbox-lxde-pi
fi
测试把 2048 改成8G,强制运行“逻辑B”,发现不卡顿!!很好~~~~
再比较两个逻辑,最后一句,一个带 -w openbox-lxde-pi 参数不卡顿,另一个不带参数卡顿。
########实验:将逻辑A 也带参数 -w openbox-lxde-pi ,测试也不卡断了!! 问题解决~
标签:bin,树莓,登录,xrdp,填坑,session,usr,pi 来源: https://www.cnblogs.com/zhw618/p/16154913.html