Debian

從 CLI 在 Debian Buster 上旋轉顯示

  • December 6, 2021

我正在嘗試在 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

這成功地反轉了螢幕。

我找到了解決這個問題的方法。我能夠在 /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”。

引用自:https://unix.stackexchange.com/questions/680005