You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu系统下主显示器无响应时自动切换副显示器为主显示器的方法

解决Ubuntu关闭外接显示器后自动切换笔记本为主显示器的问题

方法1:编写监听脚本自动切换

  1. 识别显示器设备名
    运行命令xrandr,从输出中找到你的笔记本屏幕(通常是eDP-1或LVDS-1)和外接显示器(比如HDMI-1或DP-1)的名称。

  2. 创建切换脚本
    在用户目录下新建display-switch.sh文件,内容如下:

    #!/bin/bash
    
    # 替换为你的笔记本屏幕名称
    LAPTOP_SCREEN="eDP-1"
    # 替换为你的外接显示器名称
    EXTERNAL_SCREEN="HDMI-1"
    
    while true; do
        # 获取外接显示器状态
        EXTERNAL_STATUS=$(xrandr | grep "$EXTERNAL_SCREEN" | awk '{print $2}')
        if [ "$EXTERNAL_STATUS" == "disconnected" ] || [ "$EXTERNAL_STATUS" == "inactive" ]; then
            # 切换笔记本屏幕为主显示器
            xrandr --output "$LAPTOP_SCREEN" --auto --primary
        else
            # 恢复外接为主、笔记本为副的布局(可根据你的实际布局调整参数)
            xrandr --output "$EXTERNAL_SCREEN" --auto --primary --output "$LAPTOP_SCREEN" --auto --right-of "$EXTERNAL_SCREEN"
        fi
        # 每2秒检测一次状态
        sleep 2
    done
    
  3. 赋予脚本执行权限
    执行命令:chmod +x ~/display-switch.sh

  4. 设置开机自启

    • 打开「启动应用程序」工具
    • 点击「添加」,名称填「Display Auto Switch」,命令选择刚才创建的脚本路径(如/home/你的用户名/display-switch.sh),注释可写「自动切换主显示器」
    • 保存后重启系统,脚本会后台监听显示器状态

方法2:用udev规则触发切换(针对硬件状态变化)

如果关闭外接显示器时设备会发送硬件状态变更信号,可通过udev规则自动触发脚本:

  1. 创建udev规则文件:sudo nano /etc/udev/rules.d/99-display-switch.rules,写入内容:
    SUBSYSTEM=="drm", ACTION=="change", RUN+="/home/你的用户名/display-switch.sh"
    
  2. 重新加载udev规则:sudo udevadm control --reload-rules && sudo udevadm trigger

注意事项

  • 务必替换脚本中的显示器名称为你实际的设备名,可通过xrandr命令确认
  • 若你的双屏布局不是--right-of,可调整脚本内的布局参数(如--left-of、--below)
  • 测试时可手动运行脚本,关闭外接显示器验证切换效果

内容的提问来源于stack exchange,提问作者Subash A

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.17 23:02:06