美文网首页
linux xorg屏幕分辨率设置

linux xorg屏幕分辨率设置

作者: 一个OUT的人 | 来源:发表于2020-08-25 10:07 被阅读0次

    背景

     在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屏幕分辨率设置

          本文链接:https://www.haomeiwen.com/subject/exqidktx.html