通过 CLI 在 Debian Buster 上旋转显示

通过 CLI 在 Debian Buster 上旋转显示

我正在尝试在 ASUS TinkerBoard 上的 Debian(Buster) 版本上运行 AvaloniaUI 应用程序。我使用的显示器是 7 英寸 1920x1080p 触摸屏显示器。

该应用程序以类似纵向的模式运行(即以 1080x1920 运行),因此我一直在尝试旋转显示屏,以便应用程序可以这样运行。

使用 xrandr 旋转显示器并没有给我带来什么成功。当我执行时:

xrandr --output HDMI-1 --rotate left

或者

xrandr --output HDMI-1 --rotate right

它会短暂地使屏幕空白,但没有任何效果。我可以使用相同的命令反转屏幕,但这并不能完全解决问题。我还尝试使用 xrandr 和我发现的各种其他命令来更改分辨率,但到目前为止尚未成功。

我还尝试添加:

echo 1 > /sys/class/graphics/fbcon/rotate

到 /etc/rc.local 脚本。当使用“echo 3”时,这实际上会导致启动时在屏幕上运行的命令成功旋转。但是,启动进入操作系统后,显示屏不再旋转并恢复为“横向”(即 1920x1080)。尝试将其作为 shell 脚本或服务运行也没有成功。

除了基本的“xrandr”命令之外,我似乎在网上找不到太多关于如何旋转显示器的信息。我对我的错误解释表示歉意,因为我对 Linux 还比较陌生。

这是以下的输出:

xrandr

Screen 0: minimum 320 x 200, current 1920 x 1080, maximum 8192 x 8192
HDMI-1 connected primary 1920x1080+0+0 (normal left inverted right x axis y axis) 255mm x 255mm

   1920x1080     60.00*+
   1024x600      60.04 +
   1600x900      60.00
   1440x810      59.98
   1360x768      59.80
   1280x720      60.00
   1152x648      60.01
   1024x576      59.97
   800x450       60.05

执行我期望的 xrandr 命令是:

xrandr --output HDMI-1 --rotate inverted

这样屏幕就成功翻转了。

答案1

我找到了这个问题的解决方案。我能够编辑 /etc/X11/xorg.conf.d/ 中的文件(我的文件名为“20-modesetting.conf”,但我不确定每个人都会如此)。在“屏幕”小节中,我添加了 1080x1920 的选项:

Section "Screen"
Identifier "Default Screen"
SubSection "Display"
    Depth 24
    Modes "1920x1080" "1280x1024" "1024x768" "800x600" "1080x1920"
EndSubSection
EndSection

然后在本节下面我添加了一个附加部分“监视器”,如下所示:

Section "Monitor"
    Identifier "HDMI-1"
    Option "PreferredMode" "1080x1920"
    Option "DPMS" "false"
    Option "Rotate" "left"
EndSection

这会强制桌面以 1080x1920 分辨率启动,而“旋转”选项则会旋转屏幕。

要在纵向模式下正确旋转屏幕,需要这两个选项。

标识符将特定于您的输入的名称,我的是“HDMI-1”。

相关内容