【填坑】树莓派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 ,测试也不卡断了!! 问题解决~
【填坑】树莓派4B上运行Bullseye版本系统,不能登录xrdp的问题~~的更多相关文章
- 2019 年在 Raspberry Pi 「树莓派」上运行的 10 个操作系统推荐
原文:2019 年在 Raspberry Pi 「树莓派」上运行的 10 个操作系统推荐 image Raspberry Pi** 是一款基于 ARM 的单板计算机,默认运行一款称为 Raspbian ...
- Raspberry Pi(树莓派)上从零开始构建Linux系统(简称PiLFS)(一)
一. 准备工作 1. 装有Linux宿主系统的树莓派主板,可参考 Raspberry Pi(树莓派)上安装Raspbian(无路由器,无显示器) 2. 参考网址:Linux From Scratch ...
- 树莓派3B+上运行.Net Core项目
最近买了个树莓派3B+,准备把自己写的一个.Net Core爬虫挂在上面跑 买之前没有想到树莓派因为是今年新出的,导致驱动以及系统啥的都不是很完善,导致走了很多弯路,早知道买树莓派3就不用那么多折腾了 ...
- 树莓派开发笔记(十七):树莓派4B+上Qt多用户连接操作Mysql数据库同步(单条数据悲观锁)
前言 安装了mysq数据库,最终时为了实现在一个树莓派上实现多用户多进程操作的同步问题,避免数据并发出现一些错误,本篇安装了远程服务并且讲述了使用Qt进行悲观锁for update操作,命令行进行 ...
- 填坑!线上Presto查询Hudi表异常排查
1. 引入 线上用户反馈使用Presto查询Hudi表出现错误,而将Hudi表的文件单独创建parquet类型表时查询无任何问题,关键报错信息如下 40931f6e-3422-4ffd-a692-6c ...
- 【待填坑】bzoj上WC的题解
之前在bzoj上做了几道WC的题目,现在整理一下 bzoj2115 去膜拜莫队的<高斯消元解xor方程组> bzoj2597 LCT维护MST bzoj1758 分数规划+树分治+单调队列 ...
- 在树莓派4b上安装 ROS MELODIC 源码安装
按照以下步骤照做就可以了,很简单的,就是浪费一点点时间罢了.也可以退而求其次,买个树莓派3B+来玩,哈哈. Step 1: Install Dependecies and Download the P ...
- VS2008生成的程序无法在其它电脑上运行,提示系统无法执行指定的程序
经过一番查找,最给力的参考是 http://www.cnblogs.com/visoeclipse/archive/2010/02/27/1674866.html ------------------ ...
- Zynq7000开发系列-7(在Zybo上运行Linaro桌面系统)
目标板:Zybo(7Z010) 主机操作系统:Ubuntu 14.04.5 LTS 64bit 交叉编译链: arm-xilinx-linux-gnueabi- [gcc version ...
随机推荐
- 公众号走走看看——js
1.数字转换字符串/字符串转换数字 2.短循环 3.性能测试(执行时间) 4.交换值 5.合并数组(IE不兼容) 6.数组去重 7.判断给定参数是否是数字 8.获取最大最小值.取随机数(arr.len ...
- 【总结】2022GDOI普及组试题与题解(缺两天的T4)
标签 2022 广东省选普及组 GDOI 试题 前往Luogu下载 Luogu下载:This Day1题解 T1 邹忌讽齐王纳谏 打卡题,建议模拟 建议使用map,时间复杂度为\(O(nlogn)\) ...
- apache tomcat 目录session应用信息漏洞
Tomcat 是一款开源的 Web 应用服务器软件.Tomcat 属于轻量级应用服务器,在中小型系统和并发访问用户不多的场合下被普遍使用,是开发和调试 JSP 程序的首选. 漏洞描述 apache T ...
- Redisson批量操作类RBuckets和管道利器RBatch
<Spring Boot 整合Redisson配置篇> <Spring Boot 整合Redisson操作Redis基础篇> <Redisson批量操作类RBuckets ...
- 让 API 测试变的简单。
做开发已经四年有余了,之前在接口测试的时候最开始用的自己写的测试类进行测试,后来接触到了 postman 和 swagger ,虽然用起来比自己写的强太多了,但是总觉得差点事儿. 一方面是 postm ...
- 好客租房18-jsx阶段总结
JSX 1jsx是react的核心内容 2jsx是在js代码中写HTML结构,是react中声明式的提现 3使用jsx配合嵌入的js表达式,条件渲染,列表渲染,可以描述任意ui结构 4推荐使用cals ...
- .NET程序设计实验2
1.设计编写一个控制台应用程序,练习类的继承. (1) 编写一个抽象类 People,具有"姓名","年龄"字段,"姓名"属性,Work 方 ...
- 07makefile文件
makefile 规则: 目标: 依赖 (tab)命令 第一个版本: main: main.c fun1.c fun2.c sum.c gcc -o main main.c fun1.c fun2.c ...
- 【Azure 存储服务】Java Azure Storage SDK V12使用Endpoint连接Blob Service遇见 The Azure Storage endpoint url is malformed
问题描述 使用Azure Storage Account的共享访问签名(Share Access Signature) 生成的终结点,连接时遇见 The Azure Storage endpoint ...
- Java_选择结构
if单选择结构 if(布拉尔表达式){ //如果布拉尔表达式为true将执行的语句 } if双选择结构 if(布拉尔表达式){ //如果布拉尔表达式的值为true }else{ //如果布拉尔表达式的 ...