Xrandr:配置顯示器的強大工具

藉此機會,我們解釋瞭如何使用 xrandr,一種用於 正確的 la 決議 您的顯示器,他們的 茶點率等甚至可以操縱多個顯示器。

MiguelSuárezPatiño是另一個 優勝者 我們每週比賽的內容:分享您對Linux的了解«。 祝賀米格爾!

普通用戶(主要是Windows或Apple)對Linux充滿熱情並且在命令控制台中花費大量時間鍵入“奇怪的東西”的人不太了解。

今天我要告訴您的是您特別為Linux感到驕傲的日子之一。 這是故事:

我親愛的老式HP pavilion mx70品牌CRT顯示器,它為我提供了多種分辨率,但是我的Linux Mint LXDE無法識別它,並向我展示了1024×768的良好分辨率,但刷新率僅為60 hz,這不是很好對眼睛有好處。 理論上講,該分辨率的顯示器可以達到85 Hz。

我現在該怎麼辦? 好吧,通常,轉到命令行並播放!

使用xrandr

要修改分辨率,請使用命令“ xrandr”(X調整大小和旋轉)。 使用此命令可以配置屏幕分辨率,但也可以添加新的分辨率,只要顯示器支持即可。

註釋有幾個圖形界面:grand,anrandr。

要查看系統檢測到的分辨率,就我而言,只需調用此命令並查看結果:

信息〜$ xrandr屏幕0:最小320 x 200,當前1024 x 768,最大4096 x 4096連接的VGA-0 1024x768 + 0 + 0(正常左反轉右x軸y軸)0mm x 0mm 1024x768 60.0 800x600 60.3 56.2 848x480 60.0 640x480 59.9 S視頻斷開(正常左反轉右x軸y軸)

如您所見,對於1024×768的分辨率,它只能提供60.0 Hz。

好吧,我將添加最出色的分辨率,並為顯示器提供最好的分辨率:1024 Hz時為768×85。

問題是要創建新的分辨率,您需要“非常奇怪”的數據,例如垂直,水平,最大,最小,總頻率等。但是Linux也提供了“ cvt”命令(一種用於計算的實用程序)的解決方案達到分辨率所需的VESA模式。 好吧,如果我想在1024 Hz下為768×85,我會寫​​:

信息〜$ cvt 1024 768 85#1024x768 84.89 Hz(CVT 0.79M3)hsync:68.68 kHz; pclk:94.50 Mhz Modeline“ 1024x768_85.00” 94.50 1024 1096 1200 1376 768 771 775 809 -hsync + vsync

您也可以嘗試“ gtf”,其效果大致相同:

信息〜$ gtf 1024 768 85#1024x768 @ 85.00 Hz(GTF)hsync:68.60 kHz; pclk:94.39 MHz Modeline“ 1024x768_85.00” 94.39 1024 1088 1200 1376 768 769 772 -HSync + Vsync

這樣,我必須與“ xrandr”一起使用的“ Modeline”出現了。 如果hz值不太匹配(94.50而不是85),請不要害怕。

通過複製獲得的“模式行”來增加分辨率的步驟:(詳細信息,當您將一個帶有長名稱的選項(如“ newmode”)放在前面時,它前面有2個連字符,也許它們不太明顯,而其他時候只有1個連字符與“ hsync”情況一樣)

通知信息〜$ xrandr --newmode“ 1024x768_85.00” 94.50 1024 1096 1200 1376 768 771 775 809 -hsync + vsync

如果我們檢查結果:

信息〜$ xrandr屏幕0:最小320 x 200,當前1024 x 768,最大4096 x 4096 VGA-0已連接1024x768 + 0 + 0(正常左反轉右x軸y軸)0mm x 0mm 1024x768 60.0 * 800x600 60.3 56.2 848x480 60.0 640x480 59.9 S視頻斷開(正常左反轉右x軸y軸)1024x768_85.00(0x137)94.5Mhz h:寬度1024起始1096終止1200總計1376偏斜0時鐘68.7KHz v:高度768起始771終止775總計809時鐘84.9Hz

您可以看到新創建的“ Modeline”。 我喜歡“ Modeline”的發音方式! 如果有一天我有一隻貓,我會稱呼它。

好吧,我們繼續,現在我必須將此新模式添加到可用模式列表中:

信息〜$ xrandr –addmode VGA-0 1024x768_85.00

如果您查看“ xrandr”的結果,則為“ VGA-0”,這就是我的圖形卡。 我們看到了完美的結果!

信息〜$ xrandr屏幕0:最小320 x 200,當前1024 x 768,最大4096 x 4096 VGA-0已連接1024x768 + 0 + 0(正常向左向右反轉1024x768 60.0 * 800x600 60.3 56.2 848x480 60.0 640x480 59.9 1024x768_85.00 84.9 S -視頻斷開連接(正常的左反轉右x軸y軸)

現在只需要將該分辨率應用於監視器即可:

信息〜$ xrandr-輸出VGA-0-模式1024x768_85.00

一眨眼,監視器看上去比以往任何時候都更帥。

如果我想將分辨率設為800×600,刷新率為60 hz(我看到在此模式下有2種刷新,分別為60.3和56.2),該怎麼辦? 可以通過以下方式完成:

通知〜$ xrandr -s 800x600 -r 60

請注意,蘇打水使用的是60而不是60.3,因為後者不接受。 現在讓我們回到漂亮的分辨率:

通知〜$ xrandr -s 1024x768_85.00

如果我默認在60 hz進行茶點,那麼我們寫:

信息〜$ xrandr -s 1024x768_85.00 -r 85

如果我錯了並且想要刪除所有內容該怎麼辦? 好吧,讓我們去那裡。 要從可用模式列表中刪除該分辨率,請執行以下操作:

信息〜$ xrandr --delmode VGA-0 1024x768_85.00

如果我查看結果:

信息〜$ xrandr屏幕0:最小320 x 200,當前1024 x 768,最大4096 x 4096 VGA-0已連接1024x768 + 0 + 0(正常左反轉右x軸y軸)0mm x 0mm 1024x768 60.0 * 800x600 60.3 56.2 848x480 60.0 640x480 59.9 S視頻斷開(正常左反轉右x軸y軸)1024x768_85.00(0x136)94.5Mhz h:寬度1024起始1096終止1200總計1376偏斜0時鐘68.7KHz v:高度768起始771終止775總計809時鐘84.9Hz

它已從列表中刪除,但是數據現在顯示為以前創建時的方式(–newmode)。 也要刪除它:

信息〜$ xrandr --rmmode 1024x768_85.00

我們看到結果:

信息〜$ xrandr屏幕0:最小320 x 200,當前1024 x 768,最大4096 x 4096連接的VGA-0 1024x768 + 0 + 0(正常左反轉右x軸y軸)0mm x 0mm 1024x768 60.0 * 800x600 60.3 56.2 848 480x60.0 640 480x59.9 XNUMX S視頻斷開(正常左反轉右x軸y軸)

一切都與文章開始時一樣...

最後,我知道您是一個小丑,所以請嘗試以下操作:
首先編寫此代碼,此刻目前不做任何更改:

信息〜$ xrandr-輸出VGA-0-正常旋轉

現在,請考慮以下因素,以消除笑話,您必須重複上一條指令(只需使用光標鍵選擇它即可):

信息〜$ xrandr-輸出VGA-0-向左旋轉

到目前為止,一切都很好,但是有一個問題,當重新啟動計算機時,配置會丟失。 我認為每次進入計算機時調整屏幕刷新不是一個好主意,必須有一種固定方法。 去吧。

在Linux中,有一點點的配置文件,並且隨著發行版更好地識別硬件,它被遺忘了。 它的完整路徑名稱是“ /etc/X11/xorg.conf”。 使圖形環境正常工作的所有參數的配置文件。

在LXDE(輕X11桌面環境)中,該文件不存在,因此必須創建它,這並不容易。 一種可能的解決方案是執行以下操作:

我們離開圖形環境,然後按CTRL + ALT + F1進入終端,請記住圖形環境為CTRL + ALT + F7)。 我們驗證並“關閉”圖形環境:

通知〜$ sudo /etc/init.d/lxdm停止

接下來,我們執行X配置:

通知〜$ sudo X-配置

創建了一個名為“ xorg.conf.new”的文件,這是我們必須移至您的站點並修改的文件:

通知〜$ mv xorg.conf.new /etc/X11/xorg.conf

如果一切正確,我們想重新啟動圖形環境:

通知〜$ sudo /etc/init.d/lxdm開始

還有另一種更好的解決方案,您可以從“ CD Live”上的Linux發行版開始,然後復製完整路徑為“ /etc/X11/xorg.conf”的文件並將其粘貼到您的發行版中。 如果該發行版正確檢測到顯示器,則問題已經解決,否則,您必須使用所需的屏幕刷新和分辨率數據來修飾文件。 例如,我必須添加以下內容以使蘇打水足夠:

“監控器”部分“通用監控器”選項“ DPMS” HorizSync 30-70 VertRefresh 50-120機型“ 1024x768_85.00” 94.39 1024 1088 1200 1376 768 769 772 -HSync + Vsync選項“ PreferredMode”“ 807x1024_768” EndSection “屏幕”部分“默認屏幕”設備“ ATI Technologies,Inc. Radeon RV85.00如果[Radeon 250 Pro]”監視器“通用監視器” DefaultDepth 9000選項“ AddARGBGLXVisuals”“ True”選項“元模式”“ 24x1024_768 +85.00+ 0“ Option” UseEdid“” False“ SubSection”顯示“深度0模式” 1x1024“” 768x800“” 600x640“ EndSubSec .....等

非常重要的是,尋找顯示器的技術特性以了解垂直和水平同步。 從圖中可以看出,“ Modeline”是使用“ cvt”命令計算的。

進行必要的更改後,下次啟動計算機時,一切準備就緒即可自動運行。 問題解決了。

現在,您如何向Windows或Mac中的一個解釋當感覺到對計算機的“控制”(而不是相反)時的感受?

在我看來,我們是瀕危物種... ...

那些想繼續加深對xrandr的了解的人,請不要停止閱讀這些內容 舊物品 發佈在此博客上。

謝謝MiguelSuárezPatiño!
您想參加我們的每月競賽嗎? 為社區做貢獻?
您只需要給我們發送一個 郵件 包括您自己的技巧或小型教程。

發表您的評論

您的電子郵件地址將不會被發表。 必填字段標有 *

*

*

  1. 負責數據:MiguelÁngelGatón
  2. 數據用途:控制垃圾郵件,註釋管理。
  3. 合法性:您的同意
  4. 數據通訊:除非有法律義務,否則不會將數據傳達給第三方。
  5. 數據存儲:Occentus Networks(EU)託管的數據庫
  6. 權利:您可以隨時限制,恢復和刪除您的信息。

  1.   電子博覽會 他說:

    您好朋友,您好嗎?感謝您的教程,對它進行了很好的解釋,但對我而言確實不起作用。

    讓我解釋一下,在添加屏幕並放置vga的那部分中,它對我不起作用,因為在開始的配置列表中,我沒有vga監視器,只有默認情況下的內容,而我不知道如何操作這是因為我認為操作系統不存在可識別視頻驅動程序的情況,在這種情況下為linux maint 10 lts,請不要放入最新版本,因為操作系統給pc處理器帶來了錯誤,這是utech minilaptoc

    1.    胡安 - 帕布羅 - 他說:

      同樣的事情發生在我身上,而不是VGA-0。

  2.   甘博里姆博 他說:

    我想在新安裝的solusOS中調整32台顯示器/電視的分辨率,您的文章非常明確,明確,解決方案也是您提出的問題(顯示器自動調整)
    我祝賀你。

    問候

  3.   Donatien 他說:

    大量的ROLL配置屏幕分辨率和赫茲!!! ...在Windows中,只需單擊三下即可解決!!! ...,而且我還可以控制«Machine»!!!! ...

    1.    米格27 他說:

      錯誤:在Windows中,如果顯示器由於缺少驅動程序而無法識別您,則您將無法執行任何操作。
      在Linux中,如果驅動程序能夠識別它,則也不必這樣做。

      抱歉,在這種情況下您嘗試“贊” Windows的嘗試失敗了...

  4.   米格爾 他說:

    錯誤。在Windows 中,與在Linux 中一樣,您可以透過圖形螢幕配置應用程式執行一些常規操作,但是當您想要充分利用顯示器或作業系統無法完全很好地檢測到它時,您將無法從Windows 中執行以下操作:做任何事情, desde Linux 如果身體條件允許的話,你還有另一個機會。事實上,在 Windows 上,撰寫本文的顯示器只能在具有製造商驅動程式的 Windows 98 上正常運作。從更高版本開始,螢幕刷新效果非常差。

  5.   馬里 他說:

    很好的教程,但我問你一個問題。 如果應用所有命令,並且屏幕保持在所需的分辨率,但移到一側,該怎麼辦?

    1.    米格27 他說:

      這可以通過顯示器上的按鈕解決。 通常有一個帶有菜單的按鈕,您可以在其中“移動”屏幕進行調整。

      問候

  6.   讓我們使用Linux 他說:

    這是一個好問題。 我不確定是否可以使用軟件來更正此錯誤。 通常,我似乎記得可以使用顯示器上的按鈕進行更正。
    擁抱! 保羅

  7.   湯米·明特 他說:

    您真是個天才……我一直整天都在嘗試配置監視器,但是沒有成功……直到現在。 謝謝。

  8.   讓我們使用Linux 他說:

    那麼好! 我很高興它為您服務。

    一個擁抱! 保羅

  9.   卡洛斯 他說:

    優秀且非常完整的教程!

  10.   奧托06 他說:

    巨大的教程...

  11.   張思華 他說:

    一份文件.. Mancantado !!!!!

  12.   賈斯汀的力量 他說:

    哇,真棒 !!!! 本文和Linux新手的好主意。

  13.   喬治·迪亞茲·蒙泰克薩諾 他說:

    我遵循了所有步驟。 而且他絕對不會救我任何東西。 每當我重新啟動PC時,它都處於舊配置,並且我必須手動重置所有內容。 請…。 一點幫助 ...

  14.   爾萬多瓦爾 他說:

    當您的分辨率較差並且找不到改變它的方法時,使用此推薦工具擺脫麻煩,使用xrandr -s 0就足夠了!

  15.   卡洛斯 他說:

    謝謝,這對我有很大幫助。

  16.   艾爾·羅德 他說:

    謝謝,
    我已經嘗試解決問題很多天了,我在5分鐘內就解決了,很好的解釋了

    感謝您分享您的知識,像您這樣的人使Free Software更加易於訪問且功能強大

    擁抱

  17.   Max 他說:

    非常感謝。

    我發現它非常有用。

    問候。

  18.   讓·皮埃爾· 他說:

    它給了我一個錯誤,告訴我找不到vga,我把vga-1 vga-2 vga-0都沒了,我放了VGA它沒有告訴我它找不到我做什麼

  19.   阿爾貝托 他說:

    關於xrandr命令的非常完整的說明。 在gnome中,每次登錄時,“ xorg.conf”文件的配置都會更改,因此我可以創建一個腳本,以便正確設置每次重新啟動。

    您好!

  20.   威靈桑塔納 他說:

    經過長時間的搜索和網上調查,我能夠使用本教程解決我的問題,該教程已經很好地解釋和清楚了。

    謝謝

  21.   納喬 他說:

    好吧,我一直使用Debian和零戲劇來配置事物,而不必進行那麼詳細的介紹。

    但是現在在Mint中,我找不到使顯示器恢復正常的方法,並且在控制台上使用“ xrandr -s 0”時,它工作得很好。

    事實是,是的,就像Donatien所說的那樣,有很多豆莢,尤其是當您更改發行版以使事情“更輕鬆”時。

    好 ...

    .

  22.   埃爾卡巴爾82 他說:

    該死,您太棒了,非常感謝您使用1920X1080 60hz外接顯示器的分辨率,我在本教程中仍然保持100。

    1.    讓我們使用linux 他說:

      不客氣,冠軍! 一個擁抱! 保羅

  23.   聖地亞哥·阿萊西奧 他說:

    它對我來說是完美的,只是代替了VGA LVDS出現在我身上,所以我複制了所有內容,但是更改了LVDS的VGA-0,使一切正常

  24.   能源 他說:

    簡直太完美了,如果可以的話,我請您喝杯咖啡。

    1.    讓我們使用linux 他說:

      哈哈! 謝謝!
      擁抱,巴勃羅。

  25.   德拉克 他說:

    您好,您能幫我嗎,我的顯示器沒有居中,它的分辨率為1920×1080 of 60.1 * +,這不是正確的選擇,因為它沒有居中,我的計算機的分辨率為1600×900,但是我沒有不知道我必須放多少赫茲,做cvt時我得到以下信息,我必須放多少赫茲?
    drakkpac德拉克#cvt 1600 900 60
    #1600×900 59.95 Hz(CVT 1.44M9)hsync:55.99 kHz; pclk:118.25 MHz
    Modeline«1600x900_60.00»118.25 1600 1696 1856 2112 900 903 908 934 -hsync + vsync

    1.    讓我們使用linux 他說:

      嗨,德拉克!

      我們建議您在我們的問答服務中詢問此問題 問 DesdeLinux 這樣整個社區都可以幫助您解決問題。

      擁抱,巴勃羅。

  26.   埃利亞斯 他說:

    非常感謝,它運作得非常完美。 問題是我不知道如何編輯文件(或要編輯的文件),使它永遠保持這樣的配置,有人可以幫助我嗎? 我正在使用ubuntu studio 14.04(如果我沒記錯,請使用xfce)

  27.   阿德里安 他說:

    當執行此步驟»informiguel〜$ xrandr –newmode«1024x768_85.00»94.50 1024 1096 1200 1376 768 771 775 809 -hsync + vsync»時出現錯誤«xrandr:無法獲取默認輸出的伽瑪大小»

  28.   喬納森·加西巴 他說:

    下午好朋友,

    出色的教程,我達到了分辨率和所有分辨率的目的,但是當我選擇它時,它給了我一個錯誤,例如虛擬空間不足,我的顯示器給了我1920×1080的分辨率,我想降低這個分辨率。但是,當我執行xrendr時,我看到的最小電流和最大值都等於1920×1080,我嘗試了一些命令來告訴我視頻是否正常工作,就像這樣,出現齒輪,並且消息告訴我是! 。

    我想知道是否有一種方法可以將最小分辨率設置為另一種,而不是相同的,以這種方式輸入我想要的值,屏幕的頻率與我所告訴的分辨率有關我說它是0。

  29.   安德列斯·奧斯普 他說:

    多虧了您,它對我非常有用,而且我已經是再封閉方面的專家! 我將分享博客,非常感謝…。 salu2

  30.   朱利安·D 他說:

    您好,您好,很好的解釋,但是我有一個問題,要創建永久配置文件,您決定需要此文件(我在KaliLinux中,並且xorg.conf文件不存在

    通知〜$ sudo /etc/init.d/lxdm停止

    但是lxdm文件不存在,當我繼續操作時,它告訴我必須停止服務器才能創建xorg.conf文件……因此,我必須停止該文件。

  31.   膽鹼 他說:

    非常好的文章,我可以添加我想要的分辨率(1360×768),但是不允許我選擇該分辨率,它給了我以下錯誤:

    我可以在其中添加分辨率的圖像:

    屏幕0:最小640 x 480,當前1024 x 768,最大1360 x 768
    默認連接1024×768 + 0 + 0 0mm x 0mm
    1024×768 0.00 *
    800×600 0.00
    640×480 0.00
    1360x768_60.00 60.00

    嘗試選擇該分辨率時出現錯誤
    :〜$ xrandr –輸出默認值–模式1360x768_60.00 –primary
    xrandr:無法獲得默認輸出的伽瑪大小
    xrandr:配置crtc 0失敗

    像sudo這樣的錯誤:

    sudo xrandr –輸出默認–模式1360x768_60.00 –primary
    未指定協議
    無法打開顯示:0

    有誰知道這可能是什麼? 事實是,我讀過很多論壇並嘗試了很多事情,但我無法修復,更糟糕的是,由於該設置的分辨率,我無法關閉X服務器(或按ctrl + alt + f1),整個屏幕以彩色正方形像素化。

    從已經非常感謝你

  32.   卡斯德 他說:

    您好,非常感謝您參加這種類型的教程,但是我有一個小問題。

    當應用命令〜$ xrandr -addmode 1336x768_85.00時,終端告訴我

    xrandr:無法識別的選項“ -addmode”

    在這裡會發生什麼?,我已經在沒有腳本的情況下嘗試了addmode,它告訴了我同樣的事情。 我澄清說我有Debian 8.5及其之前的所有步驟都可以正常工作。

    感謝在前進。

  33.   耶穌愛德華多 他說:

    如果是“ -addmode”(不帶引號),則撰寫本文時出錯。

  34.   何塞·希門尼斯 他說:

    兄弟,您是一個天才,非常感謝您使用本教程,我已經厭倦了尋找如何在1280 Hz時獲得960×60分辨率的方法,並且在我使用谷歌搜索本教程之前,我不可能在xubuntu中工作,非常感謝

  35.   匿名 他說:

    完美! ! !
    謝謝,太好了。
    很好的解釋,一步一步來。 也有人學習。

  36.   丹尼爾·莫雷諾 他說:

    好吧,我已經按照他們的要求做了所有事情,但是在添加時,它會產生此錯誤,我不知道這意味著什麼:
    X失敗的請求錯誤:BadMatch(無效的參數屬性)
    失敗請求的主要操作碼:140(RANDR)
    失敗請求的次操作碼:18(RRAddOutputMode)
    請求失敗的序列號:30
    輸出流中的當前序列號:31

    你能幫助我嗎?

    我全屏顯示

    根@ d4m:〜#xrandr
    屏幕0:最小8 x 8,當前1024 x 600,最大32767 x 32767
    LVDS1連接的初級1024×600 + 0 + 0(法向左反轉右x軸y軸)220mm x 130mm
    1024×600 60.19 * +
    800×600 60.32 56.25
    640×480 59.94
    512×300 60.00
    VGA1斷開連接(正常左反轉右x軸y軸)
    VIRTUAL1斷開連接(法向左反轉右x軸y軸)
    root @ d4m:〜#xrandr –newmode 1024x768_60.00 63.50 1024 1072 1176 1328 768 771 775 798 XNUMX -hsync + vsync
    根@ d4m:〜#xrandr –addmode LVDS1 1024x768_60.00
    X失敗的請求錯誤:BadMatch(無效的參數屬性)
    失敗請求的主要操作碼:140(RANDR)
    失敗請求的次操作碼:18(RRAddOutputMode)
    請求失敗的序列號:30
    輸出流中的當前序列號:31
    根@ d4m:〜#cvt 1024 768 60
    #1024×768 59.92 Hz(CVT 0.79M3)hsync:47.82 kHz; pclk:63.50 MHz
    Modeline«1024x768_60.00»63.50 1024 1072 1176 1328 768 771 -hsync + vsync
    根@ d4m:〜#

    只要您能幫助我,我會很感激,因為我是一名老師,我正在幫助我的學生。

  37.   蘇索 他說:

    你救了我!!。 精彩的教程。

    我在筆記本電腦外部有兩台顯示器(我不輸入原因,大聲笑),一台通過HDMI連接,另一台通過VGA連接。 後者的分辨率為1024×768,由於您的教程,我設法將其設置為1920×1080。

    非常感謝你everything

  38.   VARO 他說:

    xrandr:無法獲得默認輸出的伽瑪大小
    屏幕0:最小640 x 480,當前640 x 480,最大640 x 480
    默認連接的初級640×480 + 0 + 0 0mm x 0mm
    640×480 73.00 *
    好,我在終端中應用“ xrandr”時得到了這個。 當前我的分辨率非常大,設置中的選項已消失,該選項為空白並且沒有分辨率類型。 它是核心3,我使用ubuntu 18。