在 Debian 和 Gnome 上設定螢幕旋轉

在 Debian 和 Gnome 上設定螢幕旋轉

我剛剛在我的 gpd pocket 2 上安裝了 Debian 10,它工作得很好,只是我無法讓螢幕在登入時持續旋轉。

目前,我可以在登入時透過從齒輪選單中選擇“GNOME on xorg”來旋轉螢幕,然後運行,xrandr --screen 0 -o right但是這很快就會過時。

我嘗試了幾個 xorg 解決方案,但沒有成功。我基於以下腳本創建了https://github.com/joshskidmore/gpd-pocket-2-arch-guide#install-xorg-packageshttps://unix.stackexchange.com/questions/103460/how-to-change-gnome-default-screen-rotation:

Section "Monitor"
  Identifier    "eDP1"
  Option        "Rotate"                 "right"
EndSection

我已經安裝在以下位置:

  • /etc/X11/xorg.conf(透過編輯目前的「monitor」部分)
  • /etc/X11/xorg.conf.d/(我必須建立這個目錄,然後使用上述設定建立「30-display.conf」)
  • /usr/share/X11/xorg.conf.d(剛剛新增了「30-display.conf」檔案)

所有這些都會導致登入時閃爍。我看到黑色閃爍(類似於xrandr登入後執行時的情況),然後是一個充滿靜態灰色的正方形,連續兩次大約 1 秒,然後它以“正常”/橫向方向加載螢幕。

即使我放入xrandr --screen 0 -o right~/.profile,也可以觀察到相同的效果。當我將其放入 ~/.bashrc 中時,這確實有效,但這是在登入後,並且再次,我想自動執行此配置。

我有一種感覺,Debian 正在嘗試實現該配置,但有些東西是衝突的。我該如何繼續這個冒險?

編輯:一些新訊息

根據確定我的螢幕管理器https://unix.stackexchange.com/a/20376/293647它是:

/usr/sbin/gdm3

閱讀以下連結後,我發現了有關 GDM 的資訊:

https://wiki.archlinux.org/index.php/GDM#Rotate_login_screen

Changes will take effect on logout. This is necessary because GDM does not respect xorg.conf.

這可能就是為什麼我沒有使用 xorg 完成輪換的原因。下一個是什麼?

編輯2:

https://www.reddit.com/r/GPDPocket/comments/ao95t9/tracking_touch_screen_calibration_issue_on_pocket/eg0odbe?utm_source=share&utm_medium=web2x

gnome 仍然沒有定向,但是上面連結中的程式碼定向了 grub!

sudo vim /etc/default/grub
GRUB_CMDLINE_LINUX_DEFAULT="fbcon=rotate:1 quiet"
sudo update-grub # a lot of guides are missing this step

答案1

我找到了一個 hacky 解決方案,但它需要重新安裝 Debian。讓我解釋。


為了修復我的螢幕,我更新了我的英特爾視訊驅動程式。

https://gitlab.freedesktop.org/xorg/driver/xf86-video-intel

settings我沒有預料到的是,這個驅動程式會阻止 gnome 允許我使用-> display->進行更改orientation,這就是我尋找基於程式碼的解決方案的原因。正如我在上面的編輯中提到的,帶有 Debian 10 和 GNOME 的 GPD Pocket 2 系統GDM預設用作螢幕管理器,因此任何基於 xorg 的解決方案都會失敗。

因此,解決此問題的第一步是重新安裝 Debian。這對我來說是可能的,因為我正在使用 Pocket 2 進行配置,但我也認識到這對於所有類似情況都是不可接受的。為此,我不會接受我的答案,我將等待更徹底的解釋和永久修復螢幕的解決方案。但在那之前,也許可以考慮以下的 hacky 過程。


1) 假設您是全新安裝的,我們先修復 grub。在終端機中:

sudo vim /etc/default/grub
GRUB_CMDLINE_LINUX_DEFAULT="fbcon=rotate:1 quiet"
sudo update-grub                    # a lot of guides are missing this step

這將在引導和 grub 控制台上定向系統輸出(例如,透過function+ alt+2鍵綁定),但它不會修復您的登入畫面。這仍然是這個難題的一部分,我無法解決,但只能繼續。

2) 接下來,讓我們把我們的駭客自動螢幕方向放在一起。

首先,導航settings-> display->orientation並選擇 的方向portrait left和解析度1200x1920

如果你已經走到這一步並且可以忍受瞇眼,我想你已經完成了。您的桌面環境應使用這些設定啟動。

3)如果你想自動載入改進的方向,這就是我所做的。

接下來導航Tweaks->Startup Applications並選擇終端機。

最後,在 ~/.bashrc 檔案中的任意位置輸入以下程式碼:

res=$(xrandr | grep \* | cut -d' ' -f4)
if [ "$res" != "600x960_60.00" ]; then
    xrandr --newmode "600x960_60.00" 47.25 600 640 696 792 960 963 973 996 -hsync +vsync
    # the above line informed from: https://superuser.com/a/716837/1078490
    # you may have to configure the line according to your cvt output
    xrandr --addmode eDP-1 "600x960_60.00"
    xrandr --output eDP-1 --mode "600x960_60.00"
fi

現在,當您登入時,終端將啟動,然後 .bashrc 將自動處理解析度配置。不理想,因為打開/關閉蓋子不會遇到此腳本,因此您需要再次打開終端。但如果您在合上蓋子之前按住電源按鈕約 3 秒,它將在掛起/喚醒週期中保持解析度。

相關內容