Fedora 上的旋转屏幕

eof*_*eof 6 linux fedora multiple-monitors

我在 KDE 下运行 Fedora 19 并且想要配置两个旋转 90 度的 27" 屏幕。我的问题是,虽然我可以去:

系统设置 -> 显示和监控

并将它们旋转 90 度,此设置在登录屏幕中不起作用。因此,我的桌面已正确旋转,但在登录屏幕中,我必须侧身查看屏幕。

加号也是一种在文本模式控制台中旋转输出的方法。我确信这对于内核引导输出是不可行的,但是一旦加载了登录终端,我应该能够以某种方式指示帧缓冲区旋转输出。

new*_*456 3

我不确定 Fedora 19 默认使用什么登录管理器 - 你还没有说你碰巧使用的是哪个,如果不是默认的话。无论如何,我知道 LightDM 显示管理器(Ubuntu 当前的默认设置)可以在 Fedora 中使用,所以这里是 LightDM 的答案。其他登录管理器应该有类似的东西。

考虑到这一点...

应该有一个名为 的目录/etc/lightdm/lightdm.conf.d,可以存储自定义配置。您可以在该目录中创建一个新文件(您需要是 root 用户),名为20-startup-script.conf

[SeatDefaults]
display-setup-script=/usr/local/bin/rotate-screen
Run Code Online (Sandbox Code Playgroud)

在脚本中/usr/local/bin/rotate-screen,您可以编写一个旋转屏幕的脚本,LightDM 将在显示登录屏幕之前运行该脚本。为了旋转屏幕,您需要使用一个名为 的工具xrandr

您必须xrandr在命令行上进行操作才能了解应该使用哪些选项,但您可以执行以下操作:

$ xrandr
Screen 0: ...
LVDS1 connected ...
    1366x768 ...
    ...
VGA1 disconnected ...
....
Run Code Online (Sandbox Code Playgroud)

LVDS1诸如和 之类的名称VGA1输出名称,您需要记住这些名称。您可以通过执行以下操作找出与要旋转的显示器相对应的显示名称:

$ xrandr --output LVDS1 --rotate left
Run Code Online (Sandbox Code Playgroud)

如果屏幕旋转,则您已找到正确的显示名称(在本例中为 LVDS1)。

然后您可以将以下脚本写入/usr/local/bin/rotate-screen(需要root访问权限):

#!/bin/sh
xrandr --output LVSD1 --rotate left
Run Code Online (Sandbox Code Playgroud)

然后你就可以chmod +x /usr/local/bin/rotate-screen(也需要root),然后注销。如果你做得正确,登录屏幕应该旋转,LightDM 将在每次登录前旋转屏幕。