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

如果使用 Logitech 键盘、鼠标等外设,很多人对官方 Options+ 的体验并不满意:

复制代码
安装额外软件
        ↓
登录账号
        ↓
后台服务常驻
        ↓
管理键盘 / 鼠标

而 AprilNEA/OpenLogi 采取了完全不同的思路:本地优先、Rust 原生实现、无需账号和遥测,直接通过 HID++ 与 Logitech 外设通信。

项目目前支持 macOS、Linux 和 Windows ,Linux 还提供 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)


六、还可以查看设备电量

CLI:

复制代码
复制代码
openlogi list

可以查看已经配对设备的信息,包括:

复制代码
复制代码
slot
codename
kind
online
battery

(github.com)

因此如果你需要批量检查 Logitech 设备状态,可以直接从命令行完成。


七、Linux 现在也可以直接安装

这一点对服务器用户尤其值得注意。

OpenLogi 当前已经提供:

复制代码
复制代码
Debian / Ubuntu
Fedora / RHEL
Arch Linux
NixOS

对应安装方式。(github.com)

例如 Debian / Ubuntu:

复制代码
复制代码
sudo dpkg -i openlogi_*.deb

Fedora / RHEL:

复制代码
复制代码
sudo rpm -i openlogi-*.rpm

Arch:

复制代码
复制代码
sudo pacman -U openlogi-*.pkg.tar.zst

目前发行包同时提供:

复制代码
复制代码
x86_64 / amd64
arm64 / aarch64

两个架构。(github.com)


八、Linux 安装后还需要 udev

OpenLogi 并不是简单安装一个 CLI 就结束。

Linux 安装包还会设置:

复制代码
复制代码
udev rules

让普通用户能够访问:

复制代码
复制代码
/dev/hidraw*
/dev/uinput
/dev/input/event*

而不需要每次:

复制代码
复制代码
sudo openlogi

安装完成后,可以启用用户级 Agent:

复制代码
复制代码
systemctl --user enable --now openlogi-agent.service

官方文档就是按照这种方式运行后台 Agent。(github.com)


九、为什么需要后台 Agent?

OpenLogi 目前实际上由多个部分组成:

复制代码
复制代码
                 OpenLogi
                    │
        ┌───────────┴───────────┐
        ↓                       ↓
      GUI                     Agent
        │                       │
        └───────────┬───────────┘
                    ↓
                 HID++
                    ↓
             Logitech Device

Agent 负责真正与:

复制代码
复制代码
hidraw
uinput
input

等 Linux 设备接口交互。

因此即使 GUI 关闭,后台 Agent 仍然可以继续提供设备控制能力。


十、Linux GUI 也支持

OpenLogi 并不是只有命令行。

源码可以直接编译 Desktop:

复制代码
复制代码
cargo run -p openlogi-desktop --release

官方开发文档说明 Linux 构建需要:

复制代码
复制代码
Rust
libudev
fontconfig
Wayland
X11
OpenSSL
zstd

等系统依赖。(github.com)

因此 Linux 桌面电脑也可以把它作为完整的 GUI 工具使用。


十一、Windows 和 macOS 也支持

目前 OpenLogi 已经支持:

复制代码
复制代码
macOS
Linux
Windows

Windows Release 提供:

复制代码
复制代码
MSI
Portable ZIP

并同时包含:

复制代码
复制代码
OpenLogi.exe
openlogi-agent.exe

(github.com)

macOS 则需要:

复制代码
复制代码
macOS 13+

官方提供经过签名和公证的 DMG,也可以通过 Homebrew 安装。(github.com)


十二、云服务器能不能运行?

这里需要特别区分:

软件可以运行在 Linux 服务器,但服务器必须能够实际访问 Logitech 外设。

例如普通 VPS:

复制代码
复制代码
Internet
   ↓
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)

安装 Rust:

复制代码
复制代码
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

然后:

复制代码
复制代码
git clone https://github.com/AprilNEA/OpenLogi.git
cd OpenLogi

CLI:

复制代码
复制代码
cargo 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
❌ 不需要

相比 GPU:

复制代码
复制代码
USB
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 页面目前已经有 Linux:

复制代码
复制代码
v0.6.22

等发行版本,并提供 Debian、RPM、Arch 等不同格式。(github.com)

因此如果是日常主力电脑:

复制代码
复制代码
先备份配置
↓
安装 Release
↓
确认设备正常
↓
再迁移原有配置

会更加稳妥。


二十一、和 Logitech Options+ 的区别

可以简单看成:

项目 OpenLogi Logitech Options+
开源 ✅ ❌
本地优先 ✅ ---
Logitech 账号 不需要 视功能而定
遥测 官方声明无 官方方案
HID++ ✅ ✅
DPI ✅ ✅
SmartShift ✅ ✅
Linux ✅ 官方支持情况不同
配置 TOML GUI
云端依赖 很低 功能体系不同
系统资源 较轻量 相对完整

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 对这个项目基本没有意义。

相关推荐
子兮曰3 天前
jev-ultrafast 深度解析:7 秒订机票的浏览器 Agent 是如何炼成的
前端·后端·agent
子兮曰3 天前
Jev 爆发一周:7 秒 Agent 背后的 System One 生态与三场争议
前端·后端·ai编程
不悔哥3 天前
开源OV-Watch:怎么做一个智能手表
单片机·开源·嵌入式
小羊没烦恼!3 天前
初探性能优化——2个月到4小时的性能提升
java·开发语言·windows·算法·c#
家和803 天前
Carla仿真系列:4_在 Carla 的 Tesla 上装 4 路摄像头,并创建网格为环视拼接做准备
开源
未济3 天前
linux 配置环境变量
linux
傲世仙尊3 天前
目录即文件-Ext文件系统收尾篇
linux·c语言
爱勇宝3 天前
ZCode 开源 24 小时:一份没有历史的账本,回答不了"有没有偷代码"
前端·后端·chatglm (智谱)
虎头金猫3 天前
4K 视频总卡在公网带宽?用 N1 + OpenList 把网盘播放链路重新理顺
运维·服务器·网络·python·容器·beautifulsoup·pandas
胡写代码3 天前
别再前后端各写一套表单校验了
java·后端