Grobi 开源项目教程
项目介绍
Grobi 是一个用于自动配置 Xorg 显示器输出的工具,通过使用 RANDR 扩展来实现。它可以帮助用户在连接或断开显示器时自动应用预定义的配置文件,从而简化多显示器环境下的管理工作。Grobi 支持多种配置选项,并且可以通过 systemd 服务进行后台管理。
项目快速启动
安装 Grobi
首先,确保你已经安装了 Go 语言环境(版本 1.11 或更高)。然后,通过以下命令克隆并构建 Grobi:
git clone https://github.com/fd0/grobi.git
cd grobi
go build
配置 Grobi
创建一个配置文件 grobi.conf
,可以参考项目提供的示例配置文件 doc/grobi.conf
。以下是一个简单的配置示例:
rules:
- name: "external"
outputs_connected: ["HDMI-1"]
execute: ["xrandr --output HDMI-1 --auto --right-of eDP-1"]
- name: "internal"
outputs_disconnected: ["HDMI-1"]
execute: ["xrandr --output HDMI-1 --off"]
将配置文件放置在 ~/.config/grobi.conf
路径下。
启动 Grobi
将 Grobi 作为 systemd 服务运行:
mkdir -p ~/.config/systemd/user
cp doc/grobi.service ~/.config/systemd/user/
systemctl --user enable grobi
systemctl --user start grobi
检查 Grobi 服务状态:
systemctl --user status grobi
应用案例和最佳实践
多显示器自动配置
Grobi 最常见的应用场景是多显示器的自动配置。例如,当你连接一个外部显示器时,Grobi 可以自动将其设置为扩展模式,并放置在主显示器的右侧。
会议室演示配置
在会议室中,Grobi 可以自动检测到连接的投影仪,并将其设置为演示模式,确保所有内容都能正确显示。
家庭影院系统
对于家庭影院系统,Grobi 可以自动调整显示和音频输出,以适应不同的观看场景,如电影、游戏或音乐。
典型生态项目
RandR
RandR(Resize and Rotate)是 Xorg 的一个扩展,用于动态调整和旋转显示器输出。Grobi 利用 RandR 来实现其核心功能。
Systemd
Systemd 是一个系统和服务管理器,Grobi 使用 systemd 来管理其后台服务,确保在系统启动时自动运行。
Xorg
Xorg 是一个开源的 X Window System 实现,Grobi 运行在其之上,通过监听显示器连接状态的变化来执行相应的配置命令。
通过以上步骤,你可以快速上手并使用 Grobi 来管理你的多显示器环境。希望这篇教程对你有所帮助!
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考