![我可以在 shell 脚本或 Conky 配置中检测第二个显示器的存在吗?](https://linux22.com/image/1387999/%E6%88%91%E5%8F%AF%E4%BB%A5%E5%9C%A8%20shell%20%E8%84%9A%E6%9C%AC%E6%88%96%20Conky%20%E9%85%8D%E7%BD%AE%E4%B8%AD%E6%A3%80%E6%B5%8B%E7%AC%AC%E4%BA%8C%E4%B8%AA%E6%98%BE%E7%A4%BA%E5%99%A8%E7%9A%84%E5%AD%98%E5%9C%A8%E5%90%97%EF%BC%9F.png)
我想根据我是将笔记本电脑放在膝盖上(一个屏幕)还是将其放在连接到更大显示器的桌子上(双显示器)来修改我的 conky 位置。
问题是,无论如何我都希望它出现在我的笔记本电脑屏幕的左下角。但是在我的双显示器设置中,“左下角”恰好出现在我的外接显示器上。
似乎有两个解决方案:
在我用来启动 conky (conky.sh) 的脚本中添加一个 if/else 语句,该脚本根据我的显示排列启动不同的配置文件。
在我的 conky 配置中添加一个 if/else 语句,根据显示排列设置对齐方式或缩进值。
(是的,我意识到至少 shell 版本只有在我启动 conky 时插入/拔出东西时才会起作用。我可以接受这一点。
但是...我甚至不知道如何在 bash 或 conky 中检测双显示器或第二个显示器。
答案1
Nathan 的上述建议在任何情况下都会给出相同的结果,因为该xrandr
命令提供了有关所有显示输出的信息(已连接/已断开连接)。
此代码将起作用:
$ xrandr | grep -sw 'connected' | wc -l
注意:这不是我的想法。我只是合并了 Nathan 的建议和这。
答案2
您可以使用 xrandr 和 grep 来检测已连接的监视器。然后使用来wc -l
计算返回的行数。
在终端中尝试这个:
xrandr | grep connected | wc -l