ubuntu-20.04 - Ryzen 7 4800、Ubuntu 20.04.02:显示和/或 USB 问题
问题描述
在配备 Ryzen 7 4800 的 ASUS PN50 mini-PC 上安装 Ubuntu Studio 20.04。升级到 20.04.2,内核 5.8.0-44-lowlatency。内存 32 GB 3200 MHz。安装本身很顺利。该框仅运行 Radeon 图形。没有英伟达。桌面是 Xfce 4.14。
我可能正在混合苹果和橙子,但由于我无法判断(我不是硬件怪胎),我将报告不止一个问题。它们可能相关,也可能不相关,请多多包涵。
前奏:安装后系统似乎没有启动。卡在 Ubuntu 启动画面中。
仔细一看,lightdm 无法启动。这一事实使系统无限期地等待。
我修改了/etc/default/grub,删除了“quiet splash”,添加了“nomodeset”。系统现在启动到文本。登录后,我手动执行“startx”,该框通常表现良好。图形看起来不错,反应灵敏。后来我在 grub 中添加了“amdgpu.exp_hw_support=1”,但我没有注意到任何区别。gpumanager 日志以“Nothing to do”结尾。
我不确定 lightdm 是做什么的,但它是默认的显示管理器:
/etc/X11/default-display-manager: /usr/sbin/lightdm
这里是systemctl status lightdm.service
输出。我不确定它在告诉我什么。
lightdm.service - Light Display Manager
Loaded: loaded (/lib/systemd/system/lightdm.service; indirect; vendor preset: enabled)
Active: failed (Result: exit-code) since Mon 2021-03-15 10:08:48 CET; 4h 12min ago
Docs: man:lightdm(1)
Process: 1519 ExecStartPre=/bin/sh -c [ "$(basename $(cat /etc/X11/default-display-manager 2>/dev/null))" = "lightdm" ] (code=exited, status=0/SUCCESS)
Process: 1522 ExecStart=/usr/sbin/lightdm (code=exited, status=1/FAILURE)
Main PID: 1522 (code=exited, status=1/FAILURE)
mar 15 10:08:48 blizzard systemd[1]: lightdm.service: Scheduled restart job, restart counter is at 5.
mar 15 10:08:48 blizzard systemd[1]: Stopped Light Display Manager.
mar 15 10:08:48 blizzard systemd[1]: lightdm.service: Start request repeated too quickly.
mar 15 10:08:48 blizzard systemd[1]: lightdm.service: Failed with result 'exit-code'.
mar 15 10:08:48 blizzard systemd[1]: Failed to start Light Display Manager.
我已禁用 Xfce 电源管理器中的所有内容,因此它永远不会干扰。
问题 1: lightdm 呢?这是个问题吗?
问题 2:如果我离开盒子超过几分钟,就没有更多的键盘响应。鼠标指针移动,但单击无效。(所有 USB。)首先我认为屏幕已经冻结,但它没有。我可以 ssh 进入盒子,例如,杀死一个任务,它就会从屏幕上消失。通过 ssh 连接,该框看起来完全活跃,包括“ssh -X”。-- 挂起后醒来时也会发生同样的事情。
这让我远离。只要我这样做,盒子就会保持响应,活跃和踢。
问题 3:我无法设置多个物理屏幕。连接 HDMI 屏幕效果很好。USB DisplayPort 屏幕也是如此。如果两者都插入 USB DisplayPort 优先。无论哪种情况,在显示设置(或 ARandR)中都只能看到一个屏幕,并且必须在启动时插入。如果我拔下 USB DisplayPort 屏幕,它会丢失并且无法再次连接。(相比之下,这在安装了 DisplayLink 的较旧的 Ubuntu 机器上运行良好。)
[旁注:找不到 Ryzen 的 Stackoverflow 标签。]
解决方案
经过两天的lightdm速成班,答案就在这里,和锐龙无关。
lightdm 配置中缺少一个文件。这是从头开始安装的,所以要么它从 Ubuntu Studio 发行版中丢失,要么我自己不知不觉地删除了它。
该文件是/usr/share/lightdm/lightdm.conf.d/60-lightdm-gtk-greeter.conf
::
[Seat:*]
greeter-session=lightdm-gtk-greeter
遗漏使 lightdm 抱怨(中lightdm.log
)
Seat seat0: Failed to find session configuration default
Seat seat0: Failed to create greeter session
添加文件解决了所有 3 个问题,确认它们是相关的。无响应(“问题 2”)是在没有正确屏幕配置的情况下设置屏幕锁定的结果。
对于像我一样没有经验就开始使用 lightdm 的人,我建议运行lightdm --show-config
以将输出与从工作系统获得的输出进行比较。无论如何,还要安装 Xephyr(包名 xserver-xephyr)才能运行lightdm --debug --test-mode
. 精彩的。
推荐阅读
- git - 重置分支 master 中的 git commit:致命:不明确的参数“提交”:未知修订或路径不在
- typescript - 在柯里化函数中给出目标时如何实现结构类型安全
- reactjs - 如何创建全局样式表以在 Nx React 项目中共享 scss 变量?
- python - 通过规则(Pyrebase)授予计算机对实时数据库的唯一访问权限
- swift - 从 iOS MASL 登录隐藏 MSAL 继续弹出窗口
- ios - @StateObject 永远不会被破坏
- javascript - 需要刷新 3 次才能使用 hooks 获取所有值
- javascript - React 事件侦听器无法正常工作 Reflux 存储
- android - Python:如何将 .mp3 文件保存在 Android 上的“下载”文件夹中?
- android - 如何在 WebView 中调用 javascript 函数?