Xrandr

如何設置登錄腳本來執行 xrandr?

  • January 7, 2020

我正在使用 3 台顯示器,其中 2 台正在旋轉。

我無法成功配置xorg.conf以旋轉 2 個監視器,但我找到了一個xrandr可以在我的登錄管理器啟動後使用的命令:

xrandr --output DisplayPort-1 --rotate right --left-of DisplayPort-0
xrandr --output DisplayPort-2 --rotate left --right-of DisplayPort-0

目前,我在登錄後手動執行這些命令。

我應該把這些放在哪裡,以便我的顯示器在登錄時旋轉。另外,我可以在全球範圍內進行嗎?這樣當我以其他使用者身份登錄時,顯示器就會旋轉。還是每個使用者在登錄後都需要使用者腳本來執行此操作?

我正在使用與您的有點相似的 2 螢幕佈局,我的是右側的正常螢幕和左側的縱向螢幕。通過我的設置,我可以讓 X 在我的 2 個螢幕上完美執行。

這是我針對您自己的案例的建議(很難測試,因為我沒有相同的螢幕並且沒有 3 個螢幕),但這應該足以讓您獲得有效的 X 設置。

將以下文件放入/etc/X11/xorg.conf.d/

30-screen-dport0.conf
30-screen-dport1.conf
30-screen-dport2.conf

內容如下:

30-screen-dportcenter.conf

Section "Monitor"
 Identifier   "DisplayPort-0"
 Option       "Primary" "true"
 Option       "PreferredMode"   "3840x2160" # Adapt this if you resolution is not the same
 Option       "Position"        "1200 0" 
EndSection

Section "Screen"
 Identifier   "DPC"
 Device       "nVidia" # here you choose your driver
 Monitor      "DisplayPort-0"
EndSection

30-螢幕-dportleft.conf

Section "Monitor"
 Identifier   "DisplayPort-1 "
 Option       "LeftOf" "DisplayPort-0"
 Option       "Rotate" "left" 
 Option       "PreferredMode"   "1920x1200"
 Option       "Position"        "0 0"
EndSection

Section "Screen"
 Identifier   "DPL"
 Device       "nVidia"
 Monitor      "DisplayPort-1"
EndSection

30-screen-dportright.conf

Section "Monitor"
 Identifier   "DisplayPort-2"
 Option       "RightOf" "DisplayPort-0"
 Option       "Rotate" "right" 
 Option       "PreferredMode"   "1920x1200"
 Option       "Position"        "5040 0" # 1200 + 3840
EndSection

Section "Screen"
 Identifier   "DPR"
 Device       "nVidia"
 Monitor      "DisplayPort-2"
EndSection

90-serverlayout.conf

Section "ServerLayout"
   Identifier   "Main"
   Screen       0 "DPL"
   Screen       1 "DPC"
   Screen       2 "DPR
EndSection

Xserver 的座標按以下方式工作

0                 X
+ -----------------> X-axis 
|0
|
|
|
|
| 
| Y
V Y-axis  

nVidia 標識符是對在名為的文件中定義的影片卡的引用

20-nvidia.conf

Section "Device"
 Identifier  "nVidia"
 Driver      "nouveau"
 Option      "AccelMethod"  "sna"
 Option      "GLXVBlank"    "true"
 # Need to flag this as only referring to one output on the card
 Screen      0

EndSection

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