尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

Linux 部署 OpenLogi 实战:deb/rpm/pacman 三种包安装 + udev 权限避坑指南

Linux 部署 OpenLogi 实战:deb/rpm/pacman 三种包安装 + udev 权限避坑指南 Linux 部署 OpenLogi 实战deb/rpm/pacman 三种包安装 udev 权限避坑指南【免费下载链接】OpenLogi⚡️A native, local-first alternative to Logitech Options, written in Rust — remap buttons, DPI, and SmartShift over HID. No account, no telemetry.项目地址: https://gitcode.com/GitHub_Trending/op/OpenLogi在 Linux 上部署 OpenLogi 很简单OpenLogi 是一个用 Rust 编写、原生本地优先的 Logi Options 替代工具支持通过 HID 协议重映射鼠标按钮、调节 DPI、开启 SmartShift 等功能。无需注册账号、没有遥测上报所有配置都保存在一个纯文本 TOML 文件里。它提供预编译的.deb、.rpm、.pkg.tar.zst安装包并内置 udev 规则自动处理设备权限——本文带你一步步完成安装并避开 udev 权限这个新手最常踩的坑。一、安装前准备4 个快速检查项 ✅开始安装前先花 30 秒确认以下事项可避免 90% 的装后问题检查项说明 退出 Solaar 等其他罗技管理工具两者会争抢 HID 访问权先关闭它们 内核支持hidraw和uinput模块主流发行版均默认支持⚙️ 系统使用systemdudevUbuntu、Fedora、Arch、Debian、openSUSE 等均可 GLIBC ≥ 2.35预编译包以 Ubuntu 22.04 为基线Linux 下当前支持Logi BoltUSB PID0xC548和Unifying 接收器PID0xC52B等以及蓝牙直连设备。二、deb / rpm / pacman 三种包安装一行命令搞定 安装包发布在 Release 页面覆盖x86_64/amd64与arm64/aarch64两种架构。根据你的发行版三选一# Debian / Ubuntu sudo dpkg -i openlogi_*.deb # Fedora / RHEL / openSUSE 等 sudo rpm -i openlogi-*.rpm # Arch Linux sudo pacman -U openlogi-*.pkg.tar.zst安装包由 packaging/linux/nfpm.yaml 描述会自动完成 4 件事安装 4 个可执行程序openlogiCLI 工具、openlogi-desktop桌面 GUI、openlogi-overlayAction Ring 浮层、openlogi-agent后台代理负责 HID 轮询与输入捕获写入 udev 规则文件packaging/linux/udev/70-openlogi.rules到/etc/udev/rules.d/让你的用户免 sudo 访问设备节点注册 systemd 用户单元packaging/linux/systemd/openlogi-agent.service安装桌面启动器条目与全套 hicolor 图标。安装后包的 postinstall 脚本packaging/linux/nfpm-scripts/postinstall.sh会自动重载 udev 规则并刷新图标缓存无需你手动操作。三、启用后台代理自启动GUI 和 CLI 看到设备的前提后台代理openlogi-agent必须在运行GUI 和 CLI 才能列出已连接设备。用你当前用户启用systemctl --user enable --now openlogi-agent.service也可以在 GUI 中操作Settings → General → Launch at login一键开关它会自动写入~/.config/systemd/user/openlogi-agent.service两种方式可共存。四、udev 权限避坑指南3 个最常见报错 这是 Linux 部署 OpenLogi 最容易卡住的地方。规则文件本身只匹配罗技设备厂商 ID046d的hidraw节点、uinput节点和鼠标类event*节点通过TAGuaccess把权限授予当前活跃会话用户。理解这一点后下面 3 个坑基本不会再踩。坑 1hidraw 权限被拒设备列表为空症状openlogi list看不到设备代理日志报 hidraw 打开失败。 原因udev 规则未生效或未触发。执行sudo udevadm control --reload-rules sudo udevadm trigger验证方法ls -la /dev/hidraw* # 确认节点存在 test -w /dev/uinput echo uinput OK坑 2蓝牙鼠标无法捕获按键事件这是最隐蔽的坑。USB 设备的 event 节点由 logind 的 seat 规则自动授权但蓝牙鼠标挂在/devices/virtual/misc/uhid虚拟总线下不归属任何 seatlogind 永远不会授权事件节点保持root:input 0660。OpenLogi 内置的规则文件已针对此问题写了两条专用匹配规则按内核名*:046D:*格式匹配 uhid 总线。若你手动安装规则确认包含sudo cp packaging/linux/udev/70-openlogi.rules /etc/udev/rules.d/验证事件节点权限号表示 ACL 已授予getfacl /dev/input/event*坑 3规则装好前设备已连接权限仍被拒udevadm trigger会重新求值规则但不会为已在打开状态的节点重新授予uaccessACL。解决办法很简单拔掉接收器或鼠标重新插回无线设备可开关机让 udev 在重连时应用新规则无需重启系统。非 systemd 系统SysV init / OpenRC怎么办uaccess标签依赖systemd-logind。改用传统方式将规则中的TAGuaccess替换为MODE0660, GROUPinput然后把当前用户加入input组sudo usermod -aG input $USER # 重新登录后生效装好规则后GUI 的Settings → Permissions页面会实时显示Granted/Not granted状态装完规则看一眼即可无需重启。五、备选方案源码构建与 NixOS ️源码构建需要稳定版 Rust 工具链git clone https://gitcode.com/GitHub_Trending/op/OpenLogi cd OpenLogi cargo build --release -p openlogi -p openlogi-desktop -p openlogi-agent构建产物在target/release/可用packaging/linux/install.sh脚本一键安装到系统路径默认/usr/local可用--prefix/usr指定卸载则运行packaging/linux/uninstall.sh。NixOS 用户仓库提供 Flake 包和 NixOS 模块支持 x86_64 与 aarch64。优先导入模块而非仅添加包——模块会自动注册 udev 规则并管理用户服务。最小配置只需在configuration.nix中加入openlogi.nixosModules.default { programs.openlogi { enable true; launchAtLogin true; }; }详细说明见docs/INSTALL-linux.md。六、安装后验证2 条命令确认一切正常# 列出已连接的罗技设备 openlogi list # 启动桌面 GUI openlogi-desktopopenlogi list能看到你的鼠标/接收器且 GUI 中权限页显示Granted说明部署完成 常见问题速查表FAQ问题快速解决方案设备列表为空退出 Solaar → 重载 udev 规则 → 拔插接收器蓝牙鼠标按键无响应检查规则中 uhid 匹配项getfacl确认 event 节点 ACL权限页显示 Not granted拔插设备让 udev 重新授权勿重启系统Wayland 下按应用切换配置文件不可用该功能依赖 XWaylandWM_CLASS查询走 X11属已知限制已知限制Wayland 下的按应用配置切换需要 XWayland按键捕获目前仅支持侧键中键 / Shift 键 / 拇指滚轮暂不支持。完整 Linux 文档见仓库docs/INSTALL-linux.md包含 NixOS 高级选项、非 systemd 适配与验证清单。【免费下载链接】OpenLogi⚡️A native, local-first alternative to Logitech Options, written in Rust — remap buttons, DPI, and SmartShift over HID. No account, no telemetry.项目地址: https://gitcode.com/GitHub_Trending/op/OpenLogi创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表