linux xorg屏幕分辨率设置

背景

 在linux中设置默认分辨率,目前可知有两种方法:

1.xrandr命令可设置分辨率,但重启后恢复默认值,需要通过添加开机启动脚本,来设置显示值。

2.在xorg中设置显示器的默认分辨率。

linux环境:ubuntu 18.04

使用到的工具:xrandr ,cvt,systemctl


方案一

xrandr,可直接输出当前显示分辨率,及可支持的分辨率.

cureent 1280x1024:当前分辨率

*:当前分辨率

+:最优分辨率,若不配置,默认选择为最优设置

列表显示为当前支持的分辨率

connected:表示当前连接的显示器,disconnected:未连接显示器

DP-1,HDMI-1,DP-2,HDMI-2:表示可外接显示器的名字

修改分辨率为1600x900:xrandr --output DP-1 --mode 1600x900

DP-1:为当前连接显示器,mode参数为可支持分辨率其中任一一个

若为双屏设置,每个output单独设置mode即可。

设置DP在HDMI显示的左边:(DP,HDMI具体名字通过xrandr输出结果可查看)

xrandr --output DP-1 --left-of HDMI-2

HDMI-2 connected 1920x1080+1600+0 (normal left inverted right x axis y axis) 527mm x 296mm

1920x1080+1600+0:当前显示分辨率为1920x1080;+1600表示横向从1600的像素点开始显示,即该显示器显示内容在右边,且左边显示宽度为1600;+0表示纵向从0开始显示。

添加开机启动设置

开机启动项,添加到中/etc/xdg/autostart,新建一个default_pixel.desktop.内容如下:

[Desktop Entry]

Version=1.0

Name=pixel

Exec=/userdata/share/pixel.sh

Terminal=false

Type=Application

Categories=

GenericName=

X-GNOME-Autostart-Phase=Initialization

X-KDE-autostart-phase=1

NoDisplay=true


Exec:为执行的指令,而设置项命令添加到/userdata/share/pixel.sh中即可 , 文件需要修改为可执行的权限。/userdata/share/pixel.sh内容如下:

#!/bin/sh

xrandr --output DP-1 --mode 1600x900


方案二

在xorg中设置显示器的默认分辨率,xorg的配置文件放在/usr/share/X11/xorg.conf.d/中,自行新增文件来设置,本文新增screen-resolution.conf文件。

单屏设置:

Section "Screen"

Identifier "Screen0"

SubSection "Display"

Modes      "1024x768"

EndSubSection

EndSection

Modes:设置分辨率,此方法会将连接的显示器都设置为“1024x768",若连接双屏,则双屏为复制屏,且大小均为"1024x768"

HDMI设置:

Section "Monitor"

        Identifier  "HDMI-2"

        Option      "Primary" "true"

         Modeline "1600x900_60.00"  118.25  1600 1696 1856 2112  900 903 908 934 -hsync +vsync

Option "PreferredMode" "1600x900_60.00"

EndSection

Identifier  "HDMI-2":"HDMI-2"是根据xrandr拿到的,外接显示器的接口名字

Option      "Primary" "true":配置该显示器的显示方式,有多组参数可配,如:Option "RightOf" "HDMI-2"

Modeline:设置的显示参数,其值可根据cvt获取。输入cvt 1600 900 60,可得到以下显示,将Modeline的值copy到配置文件中的modeline即可,可设多组。

# 1600x900 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

Option "PreferredMode" "1600x900_60.00":选择1600x900_60.00的modeline进行显示

此设置只影响hmdi-2口接入的显示器,不影响其它口接入的显示设置。

DP设置:

Section "Monitor"

        Identifier  "DP-1"

        Option      "RightOf" "HDMI-2"

Modeline "1280x1024_60.00"  109.00  1280 1368 1496 1712  1024 1027 1034 1063 -hsync +vsync

Option "PreferredMode" "1280x1024_60.00"

EndSection

若DP和HDMI都有设置,则双屏接入时,分别按照其配置进行设置。


测试方法

sudo systemctl restart lightdm.service(重启显示服务)或者重启查看效果

你可能感兴趣的:(linux xorg屏幕分辨率设置)