ubuntu20修改xorg.conf实现双屏幕输出

如果显卡工作正常是不需要自己手动编写xorg.conf的(这个文件一般不存在或者是空的),系统会根据xorg.conf的缺省自动设置屏幕。

但有时候有的屏幕输出不对,想手动固定一下配置。比如我的ROG想设置内屏用intel驱动(集显),外屏用nvidia独显驱动,那么可以这么写(虽然因为显卡驱动的bug目前不支持这种搭配,我的xorg.conf没有发挥应有的作用,但还是记录一下):

bash 复制代码
# 没有/etc/X11/xorg.conf文件的话先生成一个(已经安装了nvidia显卡驱动)
nvidia-xconfig
sudo gedit /etc/X11/xorg.conf

我把xorg.conf修改为:

bash 复制代码
# nvidia-xconfig: X configuration file generated by nvidia-xconfig
# nvidia-xconfig:  version 535.154.05

Section "ServerLayout"
    Identifier     "Layout0"
    Screen      0  "ScreenIntel" 0 0 #表示从(0,0)像素坐标开始
    Screen      1  "ScreenExternalNvidia" RightOf "ScreenIntel" # 表示屏幕关系
EndSection


Section "Monitor"
    Identifier     "Monitor0" # 必需
    VendorName     "Unknown"
    ModelName      "Unknown"
    Option         "DPMS"
EndSection

Section "Device"
    Identifier  "CardIntel" # 必需
    Driver      "intel" # 必需
    BusID          "PCI:0:2:0" # 为了区分显卡,必需
    Screen      0 # 为了区分屏幕,可能需要加上
EndSection

Section "Screen"
    Identifier "ScreenIntel" # 必需
    Device "CardIntel" # 必需
    Monitor        "Monitor0" # 为了区分monitor
EndSection


Section "Monitor"
    Identifier     "Monitor1"
    VendorName     "Unknown"
    ModelName      "Unknown"
    Option         "DPMS"
EndSection

Section "Device"
    Identifier     "CardNvidia"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BusID          "PCI:1:0:0"
    Screen      1
    Option "IgnoreDisplayDevices" "CRT"
EndSection

Section "Screen"
    Identifier     "ScreenExternalNvidia"
    Device         "CardNvidia"
    Monitor        "Monitor1"
    DefaultDepth    24
    SubSection     "Display"
        Depth       24
    EndSubSection
    # Option          "metamodes" "DFP-2: nvidia-auto-select"
EndSection

其中Identifier可以自己命名,区分开就行,Driver其实没那么重要,因为系统会根据插槽上实际的显卡来安排Driver,里面也不是所有参数都是必须的,缺省的系统会自动安排。具体说明可参考https://www.x.org/releases/current/doc/man/man5/xorg.conf.5.xhtml

其中BusID是根据自己电脑来设置的:

bash 复制代码
lspci | grep VGA

我的电脑输出是01:00.0是nvidia显卡,0:2.0是intel集显,注意是十六进制,busID是十进制。

一些常用指令:

bash 复制代码
# 查看xorg启动日志,方便发现问题
gedit /var/log/Xorg.0.log
# 系统日志导出到txt
dmesg > log.txt
# 查看xorg的补充配置文件
ls /usr/share/X11/xorg.conf.d/

每次修改xorg后,不需要重启电脑,只需要重启图形界面服务就行:

bash 复制代码
# 如果你用的是gdm3(ubuntu20默认)
sudo systemctl restart gdm3.service
# 如果你用的是lightdm(兼容性更好)
sudo systemctl restart lightdm.service
# 安装lightdm替代gdm3
sudo apt install lightdm

如果修改xorg.conf不当导致黑屏,可以按Ctrl+Alt+F1~F7登录命令行,然后用vim或者vi来修改xorg

bash 复制代码
sudo vim /etc/X11/xorg.conf

一般不要手动修改固定xorg.conf,出了问题想恢复,可以:

bash 复制代码
# 清空xorg.conf
echo '' | sudo tee /etc/X11/xorg.conf
# 或者删除xorg.conf
sudo rm /etc/X11/xorg.conf
相关推荐
习惯就好zz1 小时前
WSL2 安装Ubuntu卡在安装进度0%无响应问题解决
linux·windows·ubuntu·wsl·wsl2
躲猫猫的喵喵2 小时前
Ubuntu2204降内核版本
linux·运维·服务器·ubuntu
昌sit!2 小时前
Linux系统性基础学习笔记
linux·笔记·学习
zdslovezy3 小时前
CentOS 系统升级 OpenSSH 和 OpenSSL 的完整方案
linux·运维·centos
HIT_Weston3 小时前
18、【Ubuntu】【远程开发】技术方案分析:私网ip掩码
linux·tcp/ip·ubuntu
cccccc语言我来了3 小时前
(Linux (6):从包管理到工具探索,构建系统操作基础认知)
linux·运维·服务器
8K超高清4 小时前
高校巡展:中国传媒大学+河北传媒学院
大数据·运维·网络·人工智能·传媒
ben9518chen4 小时前
嵌入式Linux C语言程序设计九
linux·c语言
wuk9984 小时前
CentOS7环境搭建L2TP服务器
运维·服务器
恒创科技HK4 小时前
香港1核2G云服务器当网站服务器够用不?
运维·服务器