团结迎宾决议不会改变

团结迎宾决议不会改变

我正在使用 i3 和 lightdm,它们带有默认的 unity-greeter。

我已经努力了好几天试图改变欢迎界面的分辨率。它卡在 800x600px

我已经在 Google 上搜索并尝试了 ubuntu wiki、manjaro wiki 等上所写的各种内容。

目前我有以下设置:

自定义配置文件

/etc/lightdm/lightdm.conf.d/50-greeter-resolution.conf

其中包含:

[Seat:*]
display-setup-script=/etc/lightdm/screen-resolution

脚本/etc/lightdm/screen-resolution包含:

#!/bin/sh
sleep 3
xrandr --display Virtual1 --primary --mode 1920x1200

查看日志时/var/logs/lightdm/lightdm.log

他们确认脚本正在运行,退出代码为 0(零),并且睡眠也确认在迎宾屏幕出现之前会有 3 秒的延迟。

我还看到鼠标光标在正确的分辨率下快速移动,然后它直接切换回 800x600,所以某些东西正在覆盖它。

有谁知道如何解决这个问题?

答案1

尝试更换线路

xrandr --display Virtual1 --primary --mode 1920x1200

xrandr --output OUTPUT_NAME --primary --mode 1920x1200

或者更好的是,

xrandr --output OUTPUT_NAME --primary --preferred

OUTPUT_NAME在您的脚本中,可以通过以下方式获取可能的值

xrandr -q

此命令还将返回有关每个输出的连接状态和可用模式的详细信息。要列出连接的仅输出,输入

xrandr -q | grep -e '\( \)connected' | awk -F' ' '{ print $1 }'

一些解释基于man xrandr

  • --display DISPLAY_NAME选择要使用的 X 显示器。但请注意,这指的是 X 屏幕抽象,不是监视器(或输出)。[这可能是您的脚本无法按预期运行的原因。]

  • --output OUTPUT_NAME选择要重新配置的输出。使用输出的名称或 XID。

  • --primary将输出设置为主要输出。

  • --preferred选择预先指定的输出的首选模式。


如果上述修复不起作用,值得尝试替代方案

[Seat:*]
greeter-setup-script=/etc/lightdm/screen-resolution

挂载到配置文件中。此外,在某些情况下,可能需要明确将脚本文件的所有权转让给 LightDM。这可以通过

sudo chown lightdm:lightdm /etc/lightdm/screen-resolution 

(在您的情况下,最后一步可能无关紧要,因为根据您的观察,LightDM 已经可以执行该脚本。)


如果你正在使用多显示器设置(或带有扩展坞的笔记本电脑),你最好使用稍微复杂一点的脚本,该脚本可以识别目标主显示器是否已连接并采取相应措施。例如,这里

相关内容