终极跨平台键鼠共享解决方案:3分钟实现多设备无缝控制
终极跨平台键鼠共享解决方案:3分钟实现多设备无缝控制
【免费下载链接】lan-mousemouse & keyboard sharing via LAN项目地址: https://gitcode.com/gh_mirrors/la/lan-mouse
Lan Mouse是一款开源、高性能的跨平台键鼠共享软件,让你能够使用一套鼠标键盘控制局域网内的多台计算机,实现真正意义上的无缝工作体验。这款软件KVM切换工具支持Windows、macOS和Linux系统,采用Rust语言开发,提供极低延迟的输入事件传输和安全的加密通信,是提升多设备工作效率的完美选择。
📋 核心功能概览
跨平台兼容性矩阵
Lan Mouse的独特之处在于其全面的操作系统支持,覆盖了主流的桌面环境:
| 操作系统 | 支持状态 | 特色功能 |
|---|---|---|
| Windows 10/11 | ✅ 完全支持 | 原生Windows API,无需额外配置 |
| macOS | ✅ 完全支持 | Apple Silicon和Intel芯片兼容 |
| Linux GNOME ≥45 | ✅ 完全支持 | 原生libei后端,最佳性能 |
| Linux KDE Plasma ≥6.1 | ✅ 完全支持 | Wayland和X11双协议支持 |
| wlroots桌面环境 | ✅ 完全支持 | Sway、Hyprland、Wayfire等 |
安全与性能特性
- 端到端加密:所有网络流量使用DTLS 1.3加密,确保数据传输安全
- 证书身份验证:每个设备生成唯一RSA证书,防止未授权访问
- 低延迟传输:Rust语言实现,事件响应速度媲美物理KVM切换器
- 智能设备发现:UDP广播自动发现局域网内可用设备
🖼️ 直观的图形界面
Lan Mouse提供了现代化的GTK图形界面,支持深色和浅色两种主题,满足不同用户的视觉偏好。
Lan Mouse深色主题界面,提供夜间使用的舒适视觉体验
Lan Mouse浅色主题界面,适合白天明亮环境下的使用
界面设计简洁直观,主要包含三个核心区域:
- General区域:显示当前设备信息和证书指纹
- Connections区域:管理已连接的远程设备
- Incoming Connections区域:处理待授权的连接请求
🚀 快速安装指南
Linux系统安装
Arch Linux用户
sudo pacman -S lan-mouseFedora用户
sudo dnf install lan-mouseNix用户
nix-env -iA nixpkgs.lan-mousemacOS系统安装
- 从项目仓库下载对应芯片架构的压缩包
- 解压后移除隔离属性:
xattr -rd com.apple.quarantine "Lan Mouse.app" - 启动应用并在系统偏好设置中授予辅助功能权限
Windows系统安装
直接下载预编译的zip文件,解压后即可运行,无需复杂的安装过程。
从源码编译
# 克隆项目仓库 git clone https://gitcode.com/gh_mirrors/la/lan-mouse cd lan-mouse # 编译安装 cargo build --release sudo cp target/release/lan-mouse /usr/local/bin/🔧 三步快速配置
第一步:基础设置与设备发现
启动Lan Mouse后,应用程序会自动:
- 生成唯一的设备标识和加密证书
- 开始监听UDP端口4242(可自定义)
- 自动发现局域网内的其他Lan Mouse设备
第二步:添加远程设备
- 在Connections区域点击【+ Add】按钮
- 输入目标设备的主机名或IP地址
- 通过下拉菜单设置设备相对位置(左、右、上、下)
第三步:授权连接与安全验证
- 当本地设备发起连接后,远程设备会在"Incoming Connections"区域显示待授权请求
- 点击【Authorize】按钮完成配对
- 核对证书指纹确保设备真实性
⚙️ 高级配置选项
配置文件详解
Lan Mouse支持通过TOML格式的配置文件实现自动化设置,配置文件位于~/.config/lan-mouse/config.toml:
# 基础配置 port = 4242 # 自定义通信端口 broadcast_interval = 5000 # 设备发现广播间隔(毫秒) # 配置释放键组合(用于断开控制) release_bind = [ "KeyA", "KeyS", "KeyD", "KeyF" ] # 预授权设备证书指纹 [authorized_fingerprints] "设备证书指纹" = "设备别名" # 定义右侧设备 [[clients]] position = "right" hostname = "workstation" activate_on_startup = true # 启动时自动连接 ips = ["192.168.1.100", "10.0.0.5"] # 备选IP地址 # 定义左侧设备 [[clients]] position = "left" hostname = "laptop" ips = ["192.168.1.101"] port = 4242 # 可选自定义端口系统服务配置
对于需要开机自启动的用户,Lan Mouse支持systemd服务配置:
# 复制服务文件到用户目录 cp service/lan-mouse.service ~/.config/systemd/user/ # 重新加载systemd配置 systemctl --user daemon-reload # 启用并立即启动服务 systemctl --user enable --now lan-mouse.service💼 实用应用场景
多屏工作站搭建
开发者和设计师可以通过Lan Mouse将笔记本与台式机组成扩展工作站:
- 左侧笔记本运行IDE和代码编辑器
- 右侧台式机处理渲染和测试任务
- 鼠标无缝跨屏移动,键盘输入自动跟随
家庭办公优化
- 客厅媒体中心电脑连接书房工作PC
- 在沙发上使用同一套键鼠控制工作PC
- 媒体播放和工作操作无需切换设备
教学演示环境
- 教师讲台电脑控制多个学生端设备
- 实时演示操作步骤,提高课堂互动效率
- 支持多种操作系统混合环境
远程办公配置
- 家庭办公室的多台设备统一控制
- 笔记本、台式机、开发板之间的无缝切换
- 减少桌面杂乱,提升工作效率
🔒 安全架构设计
Lan Mouse在设计之初就将安全性作为核心考量,采用多层次安全架构:
加密技术实现
- 传输层加密:采用DTLS 1.3协议加密所有网络流量
- 密钥交换:使用ECDHE(椭圆曲线迪菲-赫尔曼)密钥交换
- 数据加密:AES-256-GCM加密算法确保数据机密性
- 完整性保护:SHA-256哈希算法防止数据篡改
身份认证机制
- 每个设备生成唯一的RSA证书
- 证书指纹用于设备身份验证
- 手动授权机制防止未授权访问
- 支持证书指纹预配置,实现自动化部署
📊 性能优化建议
根据不同的使用场景,可以调整以下参数以获得最佳体验:
| 使用场景 | 采样率建议 | 压缩级别 | 缓冲区大小 |
|---|---|---|---|
| 常规办公 | 125Hz | 3(默认) | 1024字节 |
| 图形设计 | 250Hz | 2 | 2048字节 |
| 游戏开发 | 500Hz | 1 | 4096字节 |
| 高延迟网络 | 125Hz | 0 | 8192字节 |
防火墙配置
为确保设备间正常通信,需要在防火墙中开放UDP端口4242:
Linux系统(使用ufw)
sudo ufw allow 4242/udp sudo ufw status # 确认规则已添加Windows系统
- 打开"高级安全Windows防火墙"
- 创建新的入站规则,允许端口4242(UDP协议)
- 应用到所有网络类型(域、专用、公用)
macOS系统
- 打开"系统偏好设置" → "安全性与隐私" → "防火墙"
- 点击"防火墙选项",添加Lan Mouse到允许列表
🔄 命令行操作指南
除了图形界面,Lan Mouse还提供了完整的命令行接口:
# 查看所有可用命令 lan-mouse cli help # 后台守护进程模式 lan-mouse daemon # 列出所有可用设备 lan-mouse cli list-devices # 连接到特定设备 lan-mouse cli connect --hostname workstation --position right🛠️ 技术架构优势
模块化后端设计
Lan Mouse采用模块化的后端架构,支持多种输入系统:
| 后端类型 | 支持平台 | 技术特点 |
|---|---|---|
| layer-shell | wlroots桌面环境 | 创建单像素宽窗口捕获光标 |
| libei | GNOME ≥45, KDE Plasma ≥6.1 | 现代Linux输入仿真标准 |
| Windows原生 | Windows 10/11 | 原生Windows API,最佳兼容性 |
| macOS原生 | macOS | Apple原生输入系统 |
| X11 | X11会话 | 传统Linux桌面支持 |
事件驱动架构
- 标准化的输入事件格式,支持多种后端
- 双向连接管理,避免事件反馈循环
- 智能状态管理,设备自动切换激活/非激活状态
🚧 注意事项与解决方案
平台特定注意事项
X11系统
- 目前仅支持输入模拟(接收端)
- 输入捕获功能正在开发中
Sway/wlroots组合器
- 接收端需要libei支持才能正确处理修饰键事件
- 建议使用layer-shell后端以获得最佳兼容性
Wayfire桌面环境
- 需要较新版本(2023年10月23日之后)
- 必须在wayfire配置中添加
shortcuts-inhibit插件
Windows系统
- 当没有真实鼠标连接时,鼠标光标可能不可见
- 这是Windows系统的限制,不影响功能使用
🎯 开始你的多设备工作流
无论你是需要连接多台工作站的开发者,还是希望简化家庭办公环境的普通用户,Lan Mouse都能为你提供简单、安全、高效的跨平台键鼠共享解决方案。项目完全开源,基于Rust语言开发,保证了高性能和可靠性。
通过Lan Mouse,你可以告别设备壁垒,专注于真正重要的工作内容,而不是在不同设备间切换的繁琐操作。立即下载安装,开始体验无缝的多设备控制体验!
【免费下载链接】lan-mousemouse & keyboard sharing via LAN项目地址: https://gitcode.com/gh_mirrors/la/lan-mouse
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
