意外情况一台旧笔记本电脑换成Manjaro系统前,外接显示器时,原来笔记本电脑屏幕分辨率突然下降,原来的1380×在系统设置页面760丢失分辨率,最大分辨率仅为960×540。问题解决-通过命令行添加自定义分辨率由于是linux系统,设置相关的内容必须通过命令行解决。分辨率模式在系统设置中丢失,手动添加即可。第一步,xrandrcheck首先使用管理员权限查看当前显示器的分辨率模式sudoxrandr-q[parrysms@parrysms-pc~]$sudoxrandr-qScreen0:最小8x8,当前960x540,最大32767x32767LVDS1connectedprimary960x540+0+0(正常左倒右x轴y轴)310mmx170mm960x54059.82864x48660.0059.9259.57640x48059.94DP1断开(正常左倒右x轴y轴)HDMI1断开(正常左倒右x轴y轴)axis)VGA1断开(正常左倒右x轴y轴)命令行会显示系统可用的分辨率。如果没有对应你显示器的分辨率,那就需要自己添加了。第二步,cvt设置分辨率第一步添加的是使用cvt设置自定义分辨率。注意cvt命令后面的两个分辨率参数必须小于等于显示器支持的最大分辨率。sudocvt1360768[parrysms@parrysms-pc~]$cvt1360768#1360x76859.80Hz(CVT)水平同步:47.72kHz;pclk:84.75MHz模式行“1360x768_60.00"84.751360143215681776768771781798-hsync+vsync第三步,newmode添加自己的分辨率这时候会显示两行信息,找到Modeline"1360x768_60.00“这部分”。Modeline后面的“1380x760_60.00”部分就是这个分辨率的模式和名称,从引号到最后全选复制。(命令行有鼠标右键复制选项)使用参数添加新的分辨率Mode,命令如下:xrandr--newmodeModeline后加上分辨率模式名和一串数字。比如我的命令是sudoxrandr--newmode"1360x768_60.00"84.751360143215681776768771781798-hsync+vsync第四步,添加模式添加配置还需要在指定的显示配置中添加一个新的自定义分辨率模式,显示的名字就是最开始的sudoxrandr-q命令给的具有分辨率模式。如果你不想出现,你可以重新输入命令再次检查。[parrysms@parrysms-pc~]$sudoxrandr-qScreen0:最小8x8,当前960x540最大32767x32767LVDS1连接初级960x540+0+0(正常左倒右x轴y轴)310mmx170mm960x54059.82864x48660.00659.9259.57640x48059.94DP1断开(正常左倒右x轴y轴)HDMI1断开(正常左倒右x轴y轴)VGA1断开(正常左倒右x轴y轴笔记本自带的显示器名称可以看到这里是LVDS1,所以使用addmode命令添加,命令如下:sudoxrandr--addmodedisplaynameresolutionmodename所以我的命令是(注意引号):sudoxrandr--addmodeLVDS1"1360x768_60.00》第五步,输出生效最后一步,输出输出使配置生效命令如下:sudoxrandr--outputdisplayname--moderesolutionmodename所以我的命令是(注意引号):sudoxrandr--outputLVDS1--mode"1360x768_60.00”最后回车,随着屏幕一闪而过,自定义分辨率生效。这个设置可能会在电脑重启后失效。可以将相关命令另存为一个单独的shell文件,方便执行。所以对于我自己笔记本,我可以将以下命令保存为xrandr_1360.shsudocvt1360768sudoxrandr--newmode"1360x768_60.00"84.751360143215681776768771781+vsync-hsync-hsyncsudoxrandr--addmodeLVDS1"1360x768_60.00"sudoxrandr--outputLVDS1--mode"1360x768_60.00"执行的时候直接用bashxrandr_1360.sh就可以了。
