十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

OpenLogi 怎么搭建?用 Rust 打造一个轻量的 Logitech 外设管理工具

OpenLogi 怎么搭建?用 Rust 打造一个轻量的 Logitech 外设管理工具 如果使用 Logitech 键盘、鼠标等外设很多人对官方 Options 的体验并不满意安装额外软件 ↓ 登录账号 ↓ 后台服务常驻 ↓ 管理键盘 / 鼠标而AprilNEA/OpenLogi采取了完全不同的思路本地优先、Rust 原生实现、无需账号和遥测直接通过 HID 与 Logitech 外设通信。项目目前支持macOS、Linux 和 WindowsLinux 还提供amd64/x86_64与arm64/aarch64软件包。一、OpenLogi 是什么简单来说OpenLogi 可以看作一个开源的 Logitech 外设管理工具。它主要解决按键映射 DPI 调节 SmartShift 设备状态 电池状态 配置文件等问题。项目直接通过Logitech HID与设备通信而不需要运行 Logitech Options。支持的连接方式包括Logi Bolt Unifying Bluetooth USB(github.com)二、为什么值得关注OpenLogi 最明显的特点是本地优先配置使用TOML保存不需要依赖云端账户。官方 README 明确说明默认情况下设备图片获取是主要的自动网络请求更新检查和下载需要用户主动请求或选择启用。(github.com)因此整体架构更接近键盘 / 鼠标 ↓ HID ↓ OpenLogi ↓ 本地 TOML 配置而不是设备 ↓ 官方客户端 ↓ 账号 ↓ 云端三、支持按键重新映射最常见的需求就是“我想把鼠标侧键改成其他功能。”OpenLogi 可以读取 Logitech HID 设备支持的功能然后进行重新映射。例如原始按键 ↓ 侧键 1 ↓ 重新映射 ↓ 快捷键 / 功能项目 CLI 也提供设备诊断命令可以查看当前设备暴露出来的 HID Feature 和可重新编程的控制项。(github.com)四、DPI 调节对于支持 HID DPI 功能的鼠标可以直接通过 OpenLogi 管理 DPI。例如办公 ↓ 800 DPI 设计 ↓ 1200 DPI 游戏 ↓ 1600 DPI也可以通过 CLI 进行 DPI 相关诊断。官方提供openlogi diag dpi该命令会执行读取 DPI ↓ 写入测试值 ↓ 重新读取 ↓ 恢复原值用于验证设备的 DPI 控制能力。(github.com)五、SmartShift如果使用 Logitech MX 系列鼠标应该比较熟悉SmartShift也就是根据滚轮操作在逐格滚动和高速自由滚动之间切换。OpenLogi 也支持相关 HID 功能。CLI 可以进行openlogi diag smartshift测试。(github.com)六、还可以查看设备电量CLIopenlogi list可以查看已经配对设备的信息包括slot codename kind online battery(github.com)因此如果你需要批量检查 Logitech 设备状态可以直接从命令行完成。七、Linux 现在也可以直接安装这一点对服务器用户尤其值得注意。OpenLogi 当前已经提供Debian / Ubuntu Fedora / RHEL Arch Linux NixOS对应安装方式。(github.com)例如 Debian / Ubuntusudo dpkg -i openlogi_*.debFedora / RHELsudo rpm -i openlogi-*.rpmArchsudo pacman -U openlogi-*.pkg.tar.zst目前发行包同时提供x86_64 / amd64 arm64 / aarch64两个架构。(github.com)八、Linux 安装后还需要 udevOpenLogi 并不是简单安装一个 CLI 就结束。Linux 安装包还会设置udev rules让普通用户能够访问/dev/hidraw* /dev/uinput /dev/input/event*而不需要每次sudo openlogi安装完成后可以启用用户级 Agentsystemctl --user enable --now openlogi-agent.service官方文档就是按照这种方式运行后台 Agent。(github.com)九、为什么需要后台 AgentOpenLogi 目前实际上由多个部分组成OpenLogi │ ┌───────────┴───────────┐ ↓ ↓ GUI Agent │ │ └───────────┬───────────┘ ↓ HID ↓ Logitech DeviceAgent 负责真正与hidraw uinput input等 Linux 设备接口交互。因此即使 GUI 关闭后台 Agent 仍然可以继续提供设备控制能力。十、Linux GUI 也支持OpenLogi 并不是只有命令行。源码可以直接编译 Desktopcargo run -p openlogi-desktop --release官方开发文档说明 Linux 构建需要Rust libudev fontconfig Wayland X11 OpenSSL zstd等系统依赖。(github.com)因此 Linux 桌面电脑也可以把它作为完整的 GUI 工具使用。十一、Windows 和 macOS 也支持目前 OpenLogi 已经支持macOS Linux WindowsWindows Release 提供MSI Portable ZIP并同时包含OpenLogi.exe openlogi-agent.exe(github.com)macOS 则需要macOS 13官方提供经过签名和公证的 DMG也可以通过 Homebrew 安装。(github.com)十二、云服务器能不能运行这里需要特别区分软件可以运行在 Linux 服务器但服务器必须能够实际访问 Logitech 外设。例如普通 VPSInternet ↓ Linux VPS ↓ OpenLogi虽然 OpenLogi 本身可以安装但VPS ❌ 没有 Logitech 鼠标 ❌ 没有键盘 ❌ 没有 USB / Bluetooth 外设所以无法发挥 OpenLogi 的核心功能。十三、什么情况下云服务器有意义如果你有一台Linux 实体机并且 Logitech 接收器插在这台机器上Logitech Mouse ↓ Logi Bolt Receiver ↓ USB Linux Server ↓ OpenLogi那么就可以使用。这种场景例如办公室服务器 家庭服务器 实验室机器 远程工作站而不是普通没有 USB 设备访问能力的 VPS。十四、莱卡云可以怎么使用如果只是把 OpenLogi 安装在普通云服务器上没有实际意义。但如果你的使用场景是实体 Linux 主机 USB / Logitech Receiver那么可以把云端 Linux 环境作为辅助开发、测试或构建环境。例如本地 / 实体 Linux 主机 │ ├── Logitech Receiver ├── OpenLogi Agent └── GUI │ ↓ Git / Backup │ ↓ 莱卡云 Linux Server莱卡云在这里可以承担Git 源码备份 CI 文档 测试环境 构建环境而真正接触 Logitech 硬件的设备仍然是本地或实体 Linux 主机。如果使用带有 USB 直通能力的远程物理环境则可以根据具体基础设施进一步设计但普通 VPS 不应该假设拥有 USB/HID 设备。十五、如果想自己编译OpenLogi 使用 Rust。当前开发文档要求Rust Stable Edition 2024并且 MSRV 会随着当前 Stable Rust 更新。(github.com)安装 Rustcurl --proto https --tlsv1.2 -sSf https://sh.rustup.rs | sh然后git clone https://github.com/AprilNEA/OpenLogi.git cd OpenLogiCLIcargo run -p openlogi --release -- list桌面版cargo run -p openlogi-desktop --release官方开发文档提供了对应构建流程。(github.com)十六、构建环境怎么选择如果单纯编译 Linux 版本2 核 CPU 4GB RAM基本就可以作为开发环境。如果需要Rust 编译 GUI 多个依赖 多个工作区建议4 核 CPU 8GB RAM会更加宽裕。因此如果你需要一个远程 Linux Rust 开发环境普通云服务器就足够不需要为了 OpenLogi 专门准备高配置机器。十七、GPU 完全不是重点OpenLogi 的核心工作Rust ↓ HID ↓ USB / Bluetooth ↓ Logitech Device不是 AI 推理也不是图形计算。所以GPU ❌ 不需要相比 GPUUSB HID udev 权限 Linux Desktop这些才是 OpenLogi 真正关注的环境。十八、可以用 CLI 做硬件诊断例如openlogi list查看设备。然后openlogi diag features查看设备支持的 HID Feature。还可以openlogi diag controls查看可以重新编程的控制项。对于排查鼠标识别不到 某个按键不可修改 DPI 无法控制 SmartShift 不工作这种问题很有用。(github.com)十九、设备图片可以提前同步OpenLogi 默认会按需获取设备图片。如果希望提前缓存可以openlogi assets sync项目会从多个镜像中选择可用来源进行同步。(github.com)也可以指定自己的 Asset Origin。这对于离线环境 弱网络环境比较有帮助。二十、项目目前仍在快速开发这一点需要注意。官方 README 明确标注OpenLogi 目前仍在积极开发尚未稳定。功能和配置后续仍可能发生变化。(github.com)GitHub Release 页面目前已经有 Linuxv0.6.22等发行版本并提供 Debian、RPM、Arch 等不同格式。(github.com)因此如果是日常主力电脑先备份配置 ↓ 安装 Release ↓ 确认设备正常 ↓ 再迁移原有配置会更加稳妥。二十一、和 Logitech Options 的区别可以简单看成项目OpenLogiLogitech Options开源✅❌本地优先✅—Logitech 账号不需要视功能而定遥测官方声明无官方方案HID✅✅DPI✅✅SmartShift✅✅Linux✅官方支持情况不同配置TOMLGUI云端依赖很低功能体系不同系统资源较轻量相对完整OpenLogi 的核心优势并不是功能数量一定比官方软件更多而是控制权更多地留在用户本地。(github.com)二十二、如果你有 Linux 工作站值得试试例如Linux Workstation │ ├── Logitech Mouse ├── Logitech Keyboard │ ├── OpenLogi Agent ├── OpenLogi GUI │ └── TOML Config这样整个设备管理环境都可以不依赖官方 Options。如果再搭配远程开发开发电脑 ↓ SSH Linux 工作站 ↓ OpenLogi ↓ Logitech Device就可以把代码、设备和开发环境集中起来。总结AprilNEA/OpenLogi是一个使用 Rust 编写的Logitech 外设开源管理工具核心通过 HID 与 Logitech 设备通信目前已经支持 macOS、Linux 和 Windows。(github.com)它可以用于按键重映射 DPI SmartShift 设备状态 电池状态 设备诊断 配置管理Linux 目前已经可以直接安装官方提供的.deb .rpm .pkg.tar.zst并支持amd64 arm64架构。(github.com)如果你想用莱卡云服务器搭建 OpenLogi需要注意它并不是典型的“云服务器部署软件”。普通 VPS 即使成功安装 OpenLogi也因为没有实际 Logitech HID/USB/Bluetooth 设备而无法完成核心功能。更合理的方案是Logitech │ USB / Bluetooth ↓ Linux 工作站 │ OpenLogi │ ┌───────┴───────┐ ↓ ↓ GUI / CLI TOML Config │ ↓ Git / Backup │ ↓ 莱卡云 Linux也就是说莱卡云更适合作为 OpenLogi 的 Rust 开发、源码托管、CI、测试辅助和备份环境而真正控制 Logitech 外设的 OpenLogi Agent 应该运行在能够访问硬件的 Linux/Windows/macOS 设备上。如果只是开发 OpenLogi 源码2 核 4GB就可以起步如果同时编译多个 Rust 项目建议4 核 8GB。GPU 对这个项目基本没有意义。
返回列表