Linux下当笔记本合上盖子之后只使用扩展显示器

鉴于我的笔记本是7年前的本子,那会儿分辨率还是 1366x768,辣眼睛,所以接了一个扩展显示器,笔记本呢,就丢在角落里, 连几根线出来就可以了。但是有个问题就是,每次打开的时候,XMonad 都以为是两个屏幕,因此它会开两个 workspace,所以 要实现这么一个目的,就是打开图形界面登录的时候,检测一下是不是接了扩展显示器,而且笔记本的盖子是关着的。实现方式就是 添加这个文件 ~/.xprofile

#!/bin/bash

# close screen if lid is close
if grep "closed" /proc/acpi/button/lid/LID0/state >> /dev/zero; then
    if [ ! -z "$DISPLAY" ] && [[ $(xrandr -d :0 -q | grep ' connected ' | wc -l) = 2 ]]; then
        DISPLAY=:0 xrandr --output LVDS-0 --off
        DISPLAY=:0 feh --bg-scale ~/.xmonad/background.jpg
    fi
fi

注意,要给可执行权限。注销登录,然后重新登录,大功告成。


参考资料:


更多文章
  • 分治的思维方式
  • Debian 使用NetworkManager之后networking.service崩溃
  • httprouter源码阅读与分析
  • 《程序员的自我修养-装载、链接与库》笔记
  • Golang sync.Pool源码阅读与分析
  • MySQL操作笔记
  • Go语言解析GBK编码的xml
  • Golang log 源码阅读
  • 使用Go语言实现一个异步任务框架
  • Golang flag源码阅读及自己实现
  • Go使用gdb调试
  • Golang ASM简明教程
  • Golang context源码阅读与分析
  • Golang中的并发控制
  • 善用闭包(closure)让Go代码更优雅