两台以上的电脑共用一套键盘鼠标(windows+Ubuntu)

两台以上的电脑共用一套键盘鼠标(windows+Ubuntu)

两台以上的电脑共用一套键盘鼠标(windows+Ubuntu)

让两台或多台 Windows 电脑共用一套键盘鼠标是一个非常实用且流行的需求。这不仅能节省桌面空间,还能极大提升在多设备间切换的工作效率。

Synergy 为例来详细讲解如何在 Windows 和 Ubuntu 之间共享一套键盘鼠标。另外还有:Barrier(开源免费,跨平台之王)Barrier 是 Synergy 核心的开源分支,完美支持 Windows、Linux(包括 Ubuntu)、macOS。但是我没用过,一直用的是Synergy。有兴趣的小伙伴可以自行了解Barrier。

Synergy 方案详解

一、Synergy 核心概念

  1. 服务器 (Server):连接着物理键盘鼠标的电脑。
  2. 客户端 (Client):接受服务器控制的电脑。
  3. 工作原理:通过局域网 TCP/IP 连接,在服务器端创建一个“虚拟桌面”,将客户端的屏幕作为扩展显示器。

二、软件获取与安装

A. Windows 安装

  1. 访问 Synergy 官网
  2. 下载 Windows 版本安装包
  3. 或者在夸克网盘下载,这里我分享出链接
    链接:https://pan.quark.cn/s/ca366ffe00df
    提取码:tT8p
  4. 运行安装程序,按向导完成安装
  5. 重要:安装时确保勾选“安装系统服务”以便开机自启动

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 sudoapt-get update sudoapt-getinstall libcanberra-gtk-module sudo dpkg -i synergy_1.8.8-stable+dfsg.1-1build1_amd64.deb sudoapt-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 服务器配置

  1. 配置文件:在终端输入
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这个选项改成你自己的名字
将上述配置文件修改并保存。有可能配置未生效,最简单的方法就是重启下自己的电脑。

  1. 启动 Synergy
# 命令行启动(无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 开机启动

  1. 在 Synergy 中:Settings → Actions
  2. 勾选 “Start Synergy when the computer starts”
  3. 选择 “Log in and start”

Ubuntu 开机启动(systemd 服务方式):

# 创建服务文件sudonano /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 上检查sudonetstat -tlnp |grep24800# Windows 上检查netstat -an |find"24800"# 3. 查看日志# Ubuntu 日志tail -f /var/log/syslog |grep synergy # Windows 日志# 查看 Synergy 的日志窗口或系统事件查看器

问题2:鼠标卡顿或延迟

  1. 检查网络延迟ping <对方IP> -t
  2. 降低加密强度:暂时关闭 SSL 测试
  3. 调整刷新率:在高级设置中降低屏幕刷新间隔
  4. 使用有线网络:Wi-Fi 可能不稳定

问题3:剪贴板不同步

  1. 确保两端都启用了剪贴板共享
  2. 重启 Synergy 服务
  3. 检查防火墙是否阻止了额外端口
  4. 尝试同步纯文本(排除格式问题)

问题4:屏幕边缘切换不灵敏

  1. 重新校准屏幕位置(在服务器配置中微调)
  2. 增加“屏幕边缘切换延迟”
  3. 确保屏幕分辨率比例正确

总结建议

备选方案
如果 Synergy 遇到问题,可以尝试:

  • Barrier(免费开源替代品,配置类似)
  • Input Director(仅Windows,但如果Ubuntu运行Windows虚拟机可用)

Read more

从MVP到千万级并发 AI在前后端开发中的差异化落地指南

从MVP到千万级并发 AI在前后端开发中的差异化落地指南

文章目录 * 前言 * 一、技术原理解析 * 1. 核心差异维度对比 * 2. AI 辅助开发的技术架构模型 * 二、按 DAU 规模分层的实战策略与代码实证 * 1. 低 DAU 项目(<1万):MVP 验证期 * 后端实战:从需求到接口的秒级响应 * 前端实战:快速但粗糙的 UI * 2. 中 DAU 项目(1万–100万):业务增长期 * 后端:复杂业务逻辑的精准生成 * 前端:C端体验的“陷阱” * 3. 高 DAU 项目(>100万):高并发架构期 * 后端进阶:AI 驱动的性能优化 * 高并发流程架构图 * 三、

By Ne0inhk
人工智能:大语言模型(LLM)原理与应用实战

人工智能:大语言模型(LLM)原理与应用实战

人工智能:大语言模型(LLM)原理与应用实战 1.1 本章学习目标与重点 💡 学习目标:掌握大语言模型的核心原理、训练流程与微调方法,学会基于开源大语言模型完成定制化对话与文本生成任务。 💡 学习重点:理解大语言模型的Transformer decoder-only架构,掌握指令微调与RLHF技术,能够使用LoRA高效微调开源LLM。 1.2 大语言模型的核心概念与发展历程 1.2.1 什么是大语言模型 💡 大语言模型(Large Language Model, LLM)是参数量达到十亿级甚至万亿级的Transformer-based模型。它通过在海量文本数据上进行预训练,学习语言的语法、语义、常识和推理能力。 LLM的核心能力包括文本生成、理解、翻译、摘要、问答等。它可以处理复杂的自然语言任务,无需针对每个任务单独设计模型结构。 LLM与传统NLP模型的核心区别: * 参数量级:传统模型参数量通常在千万级,LLM参数量可达十亿到万亿级。 * 训练数据:传统模型依赖标注数据,LLM使用海量无标注文本进行预训练。 * 能力边界:传统模型只能处理单一任务,LL

By Ne0inhk
PentAGI-(AI自动化渗透)Docker环境部署

PentAGI-(AI自动化渗透)Docker环境部署

一、 深度解构:什么是 PentAGI? PentAGI 是由 VXControl 团队开发的一款革命性开源安全项目。它代表了 AI 与网络安全 深度融合的最高水准,旨在打造一个能够自主执行任务的“数字黑客助手”。 1. 为什么它如此强大? 不同于传统的扫描器(如 Nessus 或 OpenVAS),PentAGI 的核心是一个基于 LLM(大语言模型) 的决策引擎。它不仅能发现漏洞,更重要的是它能“理解”漏洞。 * • 自主推理:它能像人类渗透测试专家一样,根据上一步的扫描结果(如端口开放情况)动态推导下一步的攻击路径。 * • 工具编排:它能自主驱动并联动数百个安全工具(如 Nmap、Sqlmap、Nuclei、Metasploit 等),实现真正的自动化闭环。 * • 长效记忆:集成 pgvector 向量数据库,让 AI

By Ne0inhk
【Linux】Linux 进程信号核心拆解:pending/block/handler 三张表 + signal/alarm 实战

【Linux】Linux 进程信号核心拆解:pending/block/handler 三张表 + signal/alarm 实战

前言:欢迎各位光临本博客,这里小编带你直接手撕**,文章并不复杂,愿诸君**耐其心性,忘却杂尘,道有所长!!!! IF’Maxue:个人主页  🔥 个人专栏: 《C语言》 《C++深度学习》 《Linux》 《数据结构》 《数学建模》 ⛺️生活是默默的坚持,毅力是永久的享受。不破不立! 文章目录 * Linux进程信号详解 * 信号与信号量的区别 * 信号的概念 * 什么是信号? * 基本结论 * 信号的产生方式 * 1. 键盘产生(仅前台进程) * 信号的处理方式 * 用signal函数自定义信号处理 * 前台与后台进程 * 2. 系统调用产生信号 * kill函数 * raise函数 * abort函数 * 3. 异常产生信号 * 除0错误 * 野指针错误 * 为什么操作系统会发信号? * 4. 软件条件产生信号 * alarm函数(闹钟)

By Ne0inhk