Unity/Unity-Greeter 从哪里加载 X 配置?

Unity/Unity-Greeter 从哪里加载 X 配置?

在我的设置中,我有一个垂直旋转的显示器,另一个是通常的水平方向。我已经在 GNOME shell 中设置了所有显示设置,因此一切看起来都很好,但是在 LightDM 登录屏幕上,两个显示器按预期工作,只是在旋转的显示器上,LightDM 窗口没有旋转。

我在一个新文件(/etc/lightdm/lightdm.conf.d/90-display.setup.conf)中设置了display-setup-script设置,设置如下:

[座位:*]
display-setup-script=/usr/bin/dualrotation.sh

运行的脚本内容如下:


#!/bin/sh
xrandr --output DVI-D-0 --off --output HDMI-0 --primary --mode 1920x1080 --pos 1080x376 --rotate normal --output DVI-I-1 --off --output DVI-I-0 --mode 1920x1080 --pos 0x0 --rotate left --output DP-1 --off --output DP-0 --off

如果我将欢迎程序更改为 lightdm-gtk-greeter,则脚本将正确运行,并且两个屏幕上的方向都是正确的。从另一个 AskUbuntu 问题(不确定我现在是否能找到链接)中,我确定 Unity 欢迎程序在加载我的显示设置后应用了自己的显示设置。

我尝试登录 Unity 会话并正确设置显示配置,即使它现在在 Unity 中是正确的,但这并没有影响欢迎程序加载的配置。

如果有任何相关性,我正在使用专有的 NVIDIA 驱动程序,并且 nvidia-settings 中显示的显示配置也是正确的。

Unity 欢迎程序从哪里获取其显示配置?我该如何更改它?

答案1

好的,更新。

使用lightdm-gtk-greeter而不是可以正常工作unity-greeter(登录时挂起)。感谢发帖者提到他可以使用它,lightdm-gtk-greeter否则我可能不会尝试其他方法。以下是我用来使多显示器控制登录屏幕完全正常工作的步骤——即使它不能与 unity-greeter 一起使用,但这至少是目前某种形式的解决方案:

sudo apt-get install lightdm-gtk-greeter

还要确保安装了 arandr:

sudo apt-get install arandr

使用显示器设置如下系统设置

回到 shell 中,加载 arandr:

arandr

用户界面将加载当前显示器布局的图形表示。从 arandr Ui 菜单,布局选择 另存为并保存监视器布局,它将保存一个可以在文件中使用的 shell 脚本lightdm.conf。它默认将布局 shell 脚本保存在.screenlayout目录位于您的主文件夹中。我只是将它保存在那里,这样如果我更换显示器,以后更新会更容易。具体来说,我将其保存到名为的文件:~/.screenlayout/monitors.sh

最后,最后一步,进入 shell 并保存一个新的 lightdm.conf:

sudo gedit /etc/lightdm/lightdm.conf

如果您的系统与我的类似,您还没有 lightdm conf 文件,因此 gedit 将为空白,没关系,复制以下设置(使用您在上一步中从 arandr 保存监视器布局文件的位置编辑路径):

[SeatDefaults] 

greeter-setup-script=/home/username/.screenlayout/monitors.sh

关于配置设置和连接在 LightDM 事件之前和之后运行的回调脚本的更多信息可以在这里找到:

https://wiki.ubuntu.com/LightDM#Adding_System_Hooks

好的,如果有人读到这篇文章并且遇到同样的问题,至少这对我有用,因为使用其他配置参数和方法稍微相似的几次尝试都失败了。

祝你好运,如果有人有适用于 Unity-Greeter 的解决方案,那就太好了。

找到原始问题的答案也是一件很棒的事情:Unity/Unity-Greeter 从哪里加载 X 配置?

答案2

我遇到了同样的问题,经过一些实验后,看起来好像可以在文件中设置 unity-greeter 的配置:

/usr/share/glib-2.0/schemas/com.canonical.unity-greeter.gschema.xml

一旦正确编辑,必须以 root 身份运行

glib-compile-schemas /usr/share/glib-2.0/schemas

它将读取 xml 并创建/更新文件:

/usr/share/glib-2.0/schemas/gschemas.compiled

这是 Unity 迎宾程序从中获取配置提示的文件。

我想知道是否有合适的 GUI 实用程序来处理同一目录中此模式和其他模式的编辑和编译。

相关内容