Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
richiewu
V2EX  ›  Linux

niri 怎么连自动切换显示器都这么难啊

  •  
  •   richiewu · 10h 26m ago · 307 views

    折腾几个小时了,能自动熄屏内置,拔了外置的线,内置不能点亮,这种功能都没有原生的,怎么玩

    #!/bin/bash

    将所有输出(包括报错)追加写入到日志文件中

    exec >> ~/screen-switch.log 2>&1 echo "=== $(date) 脚本被触发 ==="

    第一次防抖:等待系统初步刷新显示器连接状态

    sleep 2

    提取纯显示器代号

    connected_outputs=$(wlr-randr | grep "DP-3 ") echo "当前识别到的连接显示器: $connected_outputs"

    检查外接显示器 DP-3

    if echo "$connected_outputs" | grep -q "DP-3"; then echo "判断结果:检测到外接显示器 DP-3 ,准备切换..." # 第二次防抖:避开热插拔瞬间的底层冲突 sleep 1 wlr-randr --output eDP-1 --off wlr-randr --output DP-3 --on else echo "判断结果:未检测到 DP-3 ,准备恢复内置屏 eDP-1..." # 第二次防抖 sleep 1 # 💡 核心改动:先强制关闭内置屏,再重新打开(重置状态) wlr-randr --output eDP-1 --off sleep 0.5 wlr-randr --output eDP-1 --on # 确保外置屏彻底关闭 wlr-randr --output DP-3 --off fi echo "命令执行完毕。"

    // 监听显示器变化事件,并自动执行切换脚本 spawn-at-startup "sh" "-c" "niri msg --json event-stream | while read -r event; do echo "$event" | grep -q 'OutputsChanged' && ~/auto-switch-screen.sh; done"

    // 2. 新增:开机/登录后延迟 5 秒自动执行一次脚本(负责初始状态的切换) spawn-at-startup "sh" "-c" "sleep 5 && ~/auto-switch-screen.sh"

    No Comments Yet
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1340 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 23:47 · PVG 07:47 · LAX 16:47 · JFK 19:47
    ♥ Do have faith in what you're doing.