终极跨平台键鼠共享方案:Lan Mouse让你用一套键鼠控制多台电脑
终极跨平台键鼠共享方案:Lan Mouse让你用一套键鼠控制多台电脑
【免费下载链接】lan-mousemouse & keyboard sharing via LAN项目地址: https://gitcode.com/gh_mirrors/la/lan-mouse
你是否厌倦了在办公桌上来回切换不同的键盘鼠标?想要在Windows、macOS和Linux系统之间无缝切换操作?Lan Mouse正是你需要的开源软件KVM切换器!这个基于Rust开发的高性能跨平台工具,让你只需一套键鼠就能轻松控制局域网内的多台设备,大幅提升工作效率和桌面整洁度。🚀
什么是Lan Mouse?
Lan Mouse是一款跨平台鼠标键盘共享软件,类似于苹果设备上的Universal Control功能,但支持更广泛的操作系统。它允许你在局域网内的多台电脑之间共享一套键盘鼠标,实现真正的多设备无缝操作体验。作为Synergy、ShareMouse等商业软件的完美开源替代品,Lan Mouse不仅完全免费,还拥有极致的性能和稳定性。
Lan Mouse深色主题界面 - 简洁直观的设备连接管理界面
✨ 为什么选择Lan Mouse?
跨平台全面支持
Lan Mouse支持几乎所有主流操作系统和桌面环境:
- Linux系统:GNOME ≥ 45、KDE Plasma ≥ 6.1、Sway ≥ 1.8、Hyprland、Wayfire等
- Windows系统:完整支持
- macOS系统:完整支持
- 移动设备:通过第三方项目支持Android/iOS远程控制
极致性能体验
由于采用Rust语言开发,Lan Mouse的运行速度极快,响应延迟极低。项目专注于性能优化、易用性和可维护性实现,未来还可以扩展到支持Android、iOS等更多平台。
安全加密通信
所有网络通信都使用DTLS加密,基于WebRTC.rs实现。每个设备都有唯一的证书指纹,连接时需要相互授权,确保只有可信设备可以访问你的系统。
🚀 5分钟快速安装指南
各系统安装方法
Arch Linux用户(最简单):
pacman -S lan-mouseUbuntu/Debian用户:
sudo apt install libadwaita-1-dev libgtk-4-dev libx11-dev libxtst-devmacOS用户:
- 从发布页面下载预编译包
- 解压后运行:
xattr -rd com.apple.quarantine "Lan Mouse.app" - 启动应用并授予辅助功能权限
Windows用户: 从GitCode发布页面下载zip文件,所有依赖都已包含在内,解压即可使用。
从源码编译安装
对于开发者或需要自定义功能的用户:
# 编译发布版本 cargo build --release # 安装到系统 sudo cp target/release/lan-mouse /usr/local/bin/条件编译支持
Lan Mouse支持按需编译特定功能:
# 仅编译Sway支持 cargo build --no-default-features --features layer_shell_capture,wlroots_emulationLan Mouse浅色主题界面 - 清晰的连接状态和证书指纹显示
🔧 配置与使用指南
图形界面操作
运行lan-mouse会打开GTK图形界面,界面分为几个关键区域:
- 常规设置:显示主机名、端口和证书指纹
- 连接管理:添加、删除和配置客户端设备
- 入站连接:授权新设备的连接请求
连接远程设备非常简单:
- 点击"Add"按钮
- 输入目标设备的主机名
- 在远程设备上点击"Authorize"按钮授权连接
配置文件详解
Lan Mouse支持通过配置文件自动加载客户端设置。配置文件位于~/.config/lan-mouse/config.toml:
# 配置释放绑定键 release_bind = [ "KeyA", "KeyS", "KeyD", "KeyF" ] # 可选端口(默认4242) port = 4242 # 定义右侧客户端 [[clients]] position = "right" hostname = "iridium" activate_on_startup = true ips = ["192.168.178.156"]配置文件支持定义多个客户端,每个客户端可以指定位置(left、right、top、bottom)、主机名、IP地址和启动时是否激活。
命令行界面
除了图形界面,Lan Mouse还提供强大的命令行工具:
# 查看可用命令 lan-mouse cli help # 查看特定命令帮助 lan-mouse cli <cmd> help后台服务模式
对于需要持续运行的用户,可以使用守护进程模式:
lan-mouse daemon还可以配置systemd服务自动启动:
cp service/lan-mouse.service ~/.config/systemd/user systemctl --user daemon-reload systemctl --user enable --now lan-mouse.service🛠️ 技术架构与工作原理
模块化设计
Lan Mouse采用模块化架构,主要模块包括:
| 模块 | 功能描述 |
|---|---|
| 输入捕获模块 | 处理不同平台的输入捕获 |
| 输入模拟模块 | 实现跨平台输入模拟 |
| 事件处理模块 | 键盘鼠标事件处理 |
| 图形界面模块 | GTK前端实现 |
| 核心逻辑模块 | 主程序逻辑处理 |
输入捕获与模拟后端
Lan Mouse支持多种输入捕获和模拟后端:
输入捕获后端:
layer-shell:在显示器边缘创建单像素窗口捕获光标libei:使用libei库,支持GNOME ≥ 45和KDE Plasma ≥ 6.1windows:Windows系统的输入捕获macos:macOS系统的输入捕获
输入模拟后端:
wlroots:使用wlr-virtual-pointer协议libei:支持GNOME和KDExdp:使用freedesktop远程桌面门户x11:X11会话支持windows:Windows系统支持macos:macOS系统支持
操作系统支持矩阵
| 桌面环境/后端 | 输入捕获 | 输入模拟 |
|---|---|---|
| Wayland (wlroots) | layer-shell | wlroots |
| Wayland (KDE) | layer-shell, libei | libei, xdp |
| Wayland (GNOME) | libei | libei, xdp |
| Windows | windows | windows |
| macOS | macos | macos |
| X11 | 开发中 | x11 |
💡 高级技巧与最佳实践
防火墙配置
确保UDP端口4242(或自定义端口)在防火墙中开放。如果使用firewalld,可以安装预定义的防火墙规则:
sudo cp firewall/lan-mouse.xml /etc/firewalld/services性能优化建议
- 使用有线网络:相比Wi-Fi,有线网络连接更稳定,延迟更低
- 合理布局设备位置:根据实际使用习惯配置客户端位置
- 配置静态IP:为设备配置静态IP地址,避免DHCP变化导致连接中断
- 使用释放绑定键:配置方便的快捷键组合快速释放鼠标控制
故障排除指南
常见问题及解决方案:
| 问题 | 解决方案 |
|---|---|
| 连接失败 | 检查防火墙设置和端口开放 |
| 鼠标不可见(Windows) | 确保有物理鼠标连接到Windows机器 |
| 修饰键不工作 | 检查客户端和服务器端的后端兼容性 |
| Wayfire输入捕获失败 | 确保使用2023年10月23日之后的版本,并在配置中添加shortcuts-inhibit插件 |
🔒 安全特性详解
Lan Mouse的安全机制确保你的设备不会被未经授权的访问:
- DTLS加密:所有网络通信都经过加密
- 证书指纹验证:每个设备都有唯一的证书指纹
- 双向授权:连接时需要双方设备相互授权
- 无中间人攻击:端到端加密防止数据泄露
证书指纹格式为"aa:bb:cc:...",可以在常规设置中找到。这种安全机制防止了未经授权的设备访问你的系统。
📊 项目发展路线图
Lan Mouse的开发路线图展示了项目的持续发展:
✅已完成功能:
- 图形界面(GTK + libadwaita)
- 加密通信
- macOS键码转换
- 多平台输入捕获支持
- IP地址切换
- 存活跟踪机制
🔄进行中功能:
- X11输入捕获支持
- 延迟测量和可视化
- 带宽使用测量和可视化
- 剪贴板共享支持
🎯 适用场景与用户收益
适用场景
- 多设备开发环境:程序员在多台开发机之间无缝切换
- 跨平台工作流:设计师在Windows和macOS之间切换工作
- 家庭办公环境:在个人电脑和工作电脑之间共享键鼠
- 实验室环境:在多台实验设备之间共享输入设备
- 服务器管理:在多个服务器终端之间切换操作
用户收益
- 成本节约:无需购买昂贵的硬件KVM切换器
- 桌面整洁:减少线缆和设备的杂乱
- 效率提升:无需在不同设备间来回移动
- 灵活性:支持多种操作系统组合
- 安全性:加密通信保护隐私
🚀 开始使用Lan Mouse
快速开始步骤
- 下载安装:根据你的操作系统选择合适的安装方式
- 配置防火墙:确保UDP端口4242开放
- 启动应用:运行
lan-mouse打开图形界面 - 添加设备:点击"Add"按钮输入远程设备主机名
- 授权连接:在远程设备上授权本地设备连接
- 开始使用:享受一套键鼠控制多台设备的便利
获取项目源码
如果你想参与开发或查看最新代码:
git clone https://gitcode.com/gh_mirrors/la/lan-mouse cd lan-mouse总结:为什么Lan Mouse是你的最佳选择?
Lan Mouse作为开源跨平台键鼠共享解决方案,提供了:
✅完全免费:无需支付高昂的许可证费用 ✅跨平台支持:Windows、macOS、Linux全平台覆盖 ✅高性能:基于Rust开发,响应迅速 ✅安全可靠:DTLS加密通信,证书指纹验证 ✅易于使用:图形界面和命令行工具双重选择 ✅高度可配置:支持多种后端和自定义配置 ✅活跃开发:持续更新,功能不断完善
无论你是需要在多台开发机之间切换的程序员,还是需要在不同操作系统间工作的设计师,Lan Mouse都能为你提供无缝的跨设备操作体验。立即尝试这款强大的工具,让你的工作流程更加高效!✨
技术特点总结:
- 基于Rust开发,性能卓越
- 模块化架构,易于扩展
- 支持多种输入捕获和模拟后端
- 图形界面和命令行双重接口
- 完整的加密和安全机制
- 活跃的社区和持续开发
开始你的多设备无缝操作之旅,体验Lan Mouse带来的高效与便捷!
【免费下载链接】lan-mousemouse & keyboard sharing via LAN项目地址: https://gitcode.com/gh_mirrors/la/lan-mouse
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
