以前使用 buster,安装xrdp后 pi用户xrdp登录正常,

可自从使用了 bullseye系统,pi登录xrdp后,出现黑屏不能登录现象。

网上搜寻解决方案,一种方法是:

  1. 登录树莓派后,打开这个文件:/etc/X11/xrdp/xorg.conf
  2. 在文件中找到:Option "DRMDevice" "/dev/dri/renderD128"
  3. 将上述这一行注释掉,增加:Option "DRMDevice" ""
  4. 保存后重新启动

    此方法测试后:确实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的问题~~的更多相关文章

  1. 2019 年在 Raspberry Pi 「树莓派」上运行的 10 个操作系统推荐

    原文:2019 年在 Raspberry Pi 「树莓派」上运行的 10 个操作系统推荐 image Raspberry Pi** 是一款基于 ARM 的单板计算机,默认运行一款称为 Raspbian ...

  2. Raspberry Pi(树莓派)上从零开始构建Linux系统(简称PiLFS)(一)

    一. 准备工作 1. 装有Linux宿主系统的树莓派主板,可参考 Raspberry Pi(树莓派)上安装Raspbian(无路由器,无显示器) 2. 参考网址:Linux From Scratch ...

  3. 树莓派3B+上运行.Net Core项目

    最近买了个树莓派3B+,准备把自己写的一个.Net Core爬虫挂在上面跑 买之前没有想到树莓派因为是今年新出的,导致驱动以及系统啥的都不是很完善,导致走了很多弯路,早知道买树莓派3就不用那么多折腾了 ...

  4. 树莓派开发笔记(十七):树莓派4B+上Qt多用户连接操作Mysql数据库同步(单条数据悲观锁)

    前言   安装了mysq数据库,最终时为了实现在一个树莓派上实现多用户多进程操作的同步问题,避免数据并发出现一些错误,本篇安装了远程服务并且讲述了使用Qt进行悲观锁for update操作,命令行进行 ...

  5. 填坑!线上Presto查询Hudi表异常排查

    1. 引入 线上用户反馈使用Presto查询Hudi表出现错误,而将Hudi表的文件单独创建parquet类型表时查询无任何问题,关键报错信息如下 40931f6e-3422-4ffd-a692-6c ...

  6. 【待填坑】bzoj上WC的题解

    之前在bzoj上做了几道WC的题目,现在整理一下 bzoj2115 去膜拜莫队的<高斯消元解xor方程组> bzoj2597 LCT维护MST bzoj1758 分数规划+树分治+单调队列 ...

  7. 在树莓派4b上安装 ROS MELODIC 源码安装

    按照以下步骤照做就可以了,很简单的,就是浪费一点点时间罢了.也可以退而求其次,买个树莓派3B+来玩,哈哈. Step 1: Install Dependecies and Download the P ...

  8. VS2008生成的程序无法在其它电脑上运行,提示系统无法执行指定的程序

    经过一番查找,最给力的参考是 http://www.cnblogs.com/visoeclipse/archive/2010/02/27/1674866.html ------------------ ...

  9. Zynq7000开发系列-7(在Zybo上运行Linaro桌面系统)

    目标板:Zybo(7Z010) 主机操作系统:Ubuntu 14.04.5 LTS 64bit 交叉编译链: arm-xilinx-linux-gnueabi-       [gcc version ...

随机推荐

  1. 公众号走走看看——js

    1.数字转换字符串/字符串转换数字 2.短循环 3.性能测试(执行时间) 4.交换值 5.合并数组(IE不兼容) 6.数组去重 7.判断给定参数是否是数字 8.获取最大最小值.取随机数(arr.len ...

  2. 【总结】2022GDOI普及组试题与题解(缺两天的T4)

    标签 2022 广东省选普及组 GDOI 试题 前往Luogu下载 Luogu下载:This Day1题解 T1 邹忌讽齐王纳谏 打卡题,建议模拟 建议使用map,时间复杂度为\(O(nlogn)\) ...

  3. apache tomcat 目录session应用信息漏洞

    Tomcat 是一款开源的 Web 应用服务器软件.Tomcat 属于轻量级应用服务器,在中小型系统和并发访问用户不多的场合下被普遍使用,是开发和调试 JSP 程序的首选. 漏洞描述 apache T ...

  4. Redisson批量操作类RBuckets和管道利器RBatch

    <Spring Boot 整合Redisson配置篇> <Spring Boot 整合Redisson操作Redis基础篇> <Redisson批量操作类RBuckets ...

  5. 让 API 测试变的简单。

    做开发已经四年有余了,之前在接口测试的时候最开始用的自己写的测试类进行测试,后来接触到了 postman 和 swagger ,虽然用起来比自己写的强太多了,但是总觉得差点事儿. 一方面是 postm ...

  6. 好客租房18-jsx阶段总结

    JSX 1jsx是react的核心内容 2jsx是在js代码中写HTML结构,是react中声明式的提现 3使用jsx配合嵌入的js表达式,条件渲染,列表渲染,可以描述任意ui结构 4推荐使用cals ...

  7. .NET程序设计实验2

    1.设计编写一个控制台应用程序,练习类的继承. (1) 编写一个抽象类 People,具有"姓名","年龄"字段,"姓名"属性,Work 方 ...

  8. 07makefile文件

    makefile 规则: 目标: 依赖 (tab)命令 第一个版本: main: main.c fun1.c fun2.c sum.c gcc -o main main.c fun1.c fun2.c ...

  9. 【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 ...

  10. Java_选择结构

    if单选择结构 if(布拉尔表达式){ //如果布拉尔表达式为true将执行的语句 } if双选择结构 if(布拉尔表达式){ //如果布拉尔表达式的值为true }else{ //如果布拉尔表达式的 ...