两台以上的电脑共用一套键盘鼠标(windows+Ubuntu)
-
- Synergy 方案详解
-
- 一、Synergy 核心概念
- 二、软件获取与安装
- 三、详细配置步骤
- 四、高级功能与优化
- 总结建议
让两台或多台 Windows 电脑共用一套键盘鼠标是一个非常实用且流行的需求。这不仅能节省桌面空间,还能极大提升在多设备间切换的工作效率。
以 Synergy 为例来详细讲解如何在 Windows 和 Ubuntu 之间共享一套键盘鼠标。另外还有:Barrier(开源免费,跨平台之王)Barrier 是 Synergy 核心的开源分支,完美支持 Windows、Linux(包括 Ubuntu)、macOS。但是我没用过,一直用的是Synergy。有兴趣的小伙伴可以自行了解Barrier。
Synergy 方案详解
一、Synergy 核心概念
二、软件获取与安装
A. Windows 安装
B. Ubuntu 安装
方法:使用官方仓库(推荐)
ubuntu20.04安装synergy。要下载1.8.8版本的synergy。
wget http://archive.ubuntu.com/ubuntu/pool/universe/s/synergy/synergy_1.8.8-stable+dfsg.1-1build1_amd64.deb
sudo dpkg -i synergy_1.8.8-stable+dfsg.1-1build1_amd64.deb
中间可能提示缺少依赖,需要安装下面对应的依赖
sudo add-apt-repository ppa:rock-core/qt4
sudo apt-get update
sudo apt-get install libcanberra-gtk-module
sudo dpkg -i synergy_1.8.8-stable+dfsg.1-1build1_amd64.deb
sudo apt-get -f install
成功安装后,终端输入下面命令即可运行synergy
synergy
三、详细配置步骤
场景设定
- 客户端:Windows 电脑(键盘鼠标直接连接在此)
- 服务器端:Ubuntu 电脑
- 物理布局:Ubuntu 电脑在 Windows 电脑的右侧
步骤0:安装Bonjour 这里需要提前安装好Bonjour因为windows中要运行synergy的话需要Bonjour环境。不安装的话,会一直提示你安装。这里我给出分享链接,下载后安装即可 链接:https://pan.quark.cn/s/ecc7335f7b37 提取码:HQde
步骤1:Windows 客户端配置
1、勾选client 2、服务器ip填ubuntu的ip地址 3、使用ifconfig命令可查看ubuntu的ip地址
4、勾选上auto config 5、点击应用,此时点击可能不会成功,因为还没有配置好Ubuntu
步骤2:Ubuntu 服务器配置
gedit ~/.config/Synergy/Synergy.conf
可以得到下面类似的配置文件
[General]
screenName=ai
port=24800
interface=
logLevel=3
logToFile=false
logFilename=/var/log/synergy.log
wizardLastRun=7
language=zh-CN
startedBefore=true
autoConfig=true
elevateMode=false
elevateModeEnum=0
autoConfigPrompted=true
edition=3
cryptoEnabled=false
autoHide=true
serialKey=
lastVersion=1.8.8
lastExpiringWarningTime=0
activationHasRun=false
groupServerChecked=true
useExternalConfig=false
configFile=/home/wxa/synergy.conf
useInternalConfig=true
groupClientChecked=false
serverHostname=
[internalConfig]
numColumns=5
numRows=3
hasHeartbeat=false
heartbeat=5000
relativeMouseMoves=false
screenSaverSync=true
win32KeepForeground=false
hasSwitchDelay=false
switchDelay=250
hasSwitchDoubleTap=false
switchDoubleTap=250
switchCornerSize=0
ignoreAutoConfigClient=false
enableDragAndDrop=true
switchCornerArray\\1\\switchCorner=false
switchCornerArray\\2\\switchCorner=false
switchCornerArray\\3\\switchCorner=false
switchCornerArray\\4\\switchCorner=false
switchCornerArray\\size=4
screens\\1\\name=
screens\\2\\name=
screens\\3\\name=
screens\\4\\name=
screens\\5\\name=
screens\\6\\name=
screens\\7\\name=LAPTOP-SM4KU0JU
screens\\8\\name=ai
screens\\9\\name=
screens\\10\\name=
screens\\11\\name=
screens\\12\\name=
screens\\13\\name=
screens\\14\\name=
screens\\15\\name=
screens\\size=15
hotkeys\\size=0
screens\\7\\switchCornerSize=0
screens\\7\\aliasArray\\size=0
screens\\7\\modifierArray\\1\\modifier=0
screens\\7\\modifierArray\\2\\modifier=1
screens\\7\\modifierArray\\3\\modifier=2
screens\\7\\modifierArray\\4\\modifier=3
screens\\7\\modifierArray\\5\\modifier=4
screens\\7\\modifierArray\\6\\modifier=5
screens\\7\\modifierArray\\size=6
screens\\7\\switchCornerArray\\1\\switchCorner=false
screens\\7\\switchCornerArray\\2\\switchCorner=false
screens\\7\\switchCornerArray\\3\\switchCorner=false
screens\\7\\switchCornerArray\\4\\switchCorner=false
screens\\7\\switchCornerArray\\size=4
screens\\7\\fixArray\\1\\fix=false
screens\\7\\fixArray\\2\\fix=false
screens\\7\\fixArray\\3\\fix=false
screens\\7\\fixArray\\4\\fix=false
screens\\7\\fixArray\\size=4
screens\\8\\switchCornerSize=0
screens\\8\\aliasArray\\size=0
screens\\8\\modifierArray\\1\\modifier=0
screens\\8\\modifierArray\\2\\modifier=1
screens\\8\\modifierArray\\3\\modifier=2
screens\\8\\modifierArray\\4\\modifier=3
screens\\8\\modifierArray\\5\\modifier=4
screens\\8\\modifierArray\\6\\modifier=5
screens\\8\\modifierArray\\size=6
screens\\8\\switchCornerArray\\1\\switchCorner=false
screens\\8\\switchCornerArray\\2\\switchCorner=false
screens\\8\\switchCornerArray\\3\\switchCorner=false
screens\\8\\switchCornerArray\\4\\switchCorner=false
screens\\8\\switchCornerArray\\size=4
screens\\8\\fixArray\\1\\fix=false
screens\\8\\fixArray\\2\\fix=false
screens\\8\\fixArray\\3\\fix=false
screens\\8\\fixArray\\4\\fix=false
screens\\8\\fixArray\\size=4
注意screenName=ai:这里的ai是你自己电脑的名字 cryptoEnabled=false:这个选项需要设置成false screens\\7\\name=LAPTOP-SM4KU0JU这个选项改成你自己的名字 将上述配置文件修改并保存。有可能配置未生效,最简单的方法就是重启下自己的电脑。
# 命令行启动(无GUI)
synergyc –name ubuntu-pc <Windows_IP地址>
# 或使用 GUI 启动
synergy
.
四、高级功能与优化
1. 共享剪贴板
- 默认启用,但有时需要手动配置
- 文本同步:通常直接工作
- 文件同步:需要两端都启用文件传输功能
2. 快捷键配置 Synergy 提供丰富的快捷键控制:
| Ctrl + Alt + Shift + ] | 切换屏幕(顺时针) |
| Ctrl + Alt + Shift + [ | 切换屏幕(逆时针) |
| Ctrl + Alt + Shift + L | 锁定到当前屏幕 |
| Ctrl + Alt + Shift + P | 暂停/恢复 Synergy |
自定义快捷键:
- 在服务器配置中点击 “Hotkeys”
- 添加新的快捷键组合和对应动作
3. 自动启动配置
Windows 开机启动:
Ubuntu 开机启动(systemd 服务方式):
# 创建服务文件
sudo nano /etc/systemd/system/synergyc.service
启用服务:
sudo systemctl daemon-reload
sudo systemctl enable synergyc
sudo systemctl start synergyc
4. 配置文件位置
# Ubuntu 配置文件
~/.synergy.conf
# 或
~/.config/Synergy/synergy.conf
# Windows 配置文件
C:\\Users\\<用户名>\\AppData\\Local\\Synergy\\synergy.conf
五、故障排除
问题1:无法连接
# 1. 检查 Synergy 服务是否运行
sudo systemctl status synergyc # Ubuntu
# 或在 Windows 服务中查看 Synergy
# 2. 检查端口是否监听
# Ubuntu 上检查
sudo netstat -tlnp | grep 24800
# Windows 上检查
netstat -an | find "24800"
# 3. 查看日志
# Ubuntu 日志
tail -f /var/log/syslog | grep synergy
# Windows 日志
# 查看 Synergy 的日志窗口或系统事件查看器
问题2:鼠标卡顿或延迟
问题3:剪贴板不同步
问题4:屏幕边缘切换不灵敏
总结建议
备选方案: 如果 Synergy 遇到问题,可以尝试:
- Barrier(免费开源替代品,配置类似)
- Input Director(仅Windows,但如果Ubuntu运行Windows虚拟机可用)





