意外情況
之前將一臺老筆記本換成了Manjaro系統(tǒng),外接顯示器時突然原筆記本電腦屏幕的分辨率降低,并且在系統(tǒng)設(shè)置頁面中丟失了原有的1380×760分辨率,最大只有960×540的分辨率。
問題解決-通過命令行添加自定義分辨率
既然是linux系統(tǒng),設(shè)置有關(guān)的內(nèi)容一定可以用命令行解決。
系統(tǒng)設(shè)置丟失了分辨率模式,自己手動加上去就行了。
第一步,xrandr 查
首先用管理員權(quán)限,查看當前顯示器的分辨模式
sudo xrandr -q
[parrysms@parrysms-pc ~]$ sudo xrandr -q
Screen 0: minimum 8 x 8, current 960x540, maximum 32767 x 32767
LVDS1 connected primary 960x540+0+0 (normal left inverted right x axis y axis) 310mm x 170mm
960x540 59.82
864x486 60.00 59.92 59.57
640x480 59.94
DP1 disconnected (normal left inverted right x axis y axis)
HDMI1 disconnected (normal left inverted right x axis y axis)
VGA1 disconnected (normal left inverted right x axis y axis)
命令行會顯示系統(tǒng)里有的分辨率。如果沒有你顯示器對應(yīng)的分辨率,那么就需要自行添加。
第二步,cvt 設(shè)置分辨率
添加的第一步是使用cvt設(shè)置自定義分辨率。注意這里cvt命令后面兩個的分辨率參數(shù)一定得是小于等于顯示器最大支持的分辨率。
sudo cvt 1360 768
[parrysms@parrysms-pc ~]$ cvt 1360 768
# 1360x768 59.80 Hz (CVT) hsync: 47.72 kHz; pclk: 84.75 MHz
Modeline "1360x768_60.00" 84.75 1360 1432 1568 1776 768 771 781 798 -hsync +vsync
第三步,newmode 新增自己的分辨率
此時將會顯示兩行信息,找到 Modeline "1360x768_60.00" 的這個部分。Modeline 后面的 "1380x760_60.00" 部分是這個分辨率的模式及的名字,從引號開始到最后全部選中復制下來。(命令行里鼠標右鍵有復制選項)
使用參數(shù)新增分辨率模式,指令如下:
xrandr --newmode 加上Modeline 后面的分辨率模式名以及一連串數(shù)字
舉例而言,我的指令是
sudo xrandr --newmode "1360x768_60.00" 84.75 1360 1432 1568 1776 768 771 781 798 -hsync +vsync
第四步,add mode 添加配置
還需要將新的自定義分辨率模式,添加到指定的顯示器配置中,顯示器名字就是最開始sudo xrandr -q 命令中看到有分辨率模式的那個顯示器。
如果不想往上翻可以重新敲命令查一次。
[parrysms@parrysms-pc ~]$ sudo xrandr -q
Screen 0: minimum 8 x 8, current 960x540 maximum 32767 x 32767
LVDS1 connected primary 960x540+0+0 (normal left inverted right x axis y axis) 310mm x 170mm
960x540 59.82
864x486 60.00 59.92 59.57
640x480 59.94
DP1 disconnected (normal left inverted right x axis y axis)
HDMI1 disconnected (normal left inverted right x axis y axis)
VGA1 disconnected (normal left inverted right x axis y axis)
這里可以看到筆記本自帶的顯示器名字是 LVDS1,所以使用addmode指令來添加。指令如下:
sudo xrandr --addmode 顯示器名 分辨率模式名
因此我的指令是 (注意引號):
sudo xrandr --addmode LVDS1 "1360x768_60.00"
第五步,output 生效
最后一步,output 輸出使其配置生效即可。指令如下:
sudo xrandr --output 顯示器名 --mode 分辨率模式名
因此我的指令是 (注意引號):
sudo xrandr --output LVDS1 --mode "1360x768_60.00"
最后敲下回車,隨著屏幕一閃,自定義分辨率就生效了。
這個設(shè)置可能會隨著電腦重啟失效,可以把相關(guān)命令保存成一個單獨的shell文件方便執(zhí)行。
所以說針對我自己的這臺筆記本,可以把下面這些命令另存為 xrandr_1360.sh
sudo cvt 1360 768
sudo xrandr --newmode "1360x768_60.00" 84.75 1360 1432 1568 1776 768 771 781 798 -hsync +vsync
sudo xrandr --addmode LVDS1 "1360x768_60.00"
sudo xrandr --output LVDS1 --mode "1360x768_60.00"
執(zhí)行的時候直接用 bash xrandr_1360.sh 就搞定啦。