Win/Linux/Mac 使用 Synergy 在局域网内共享一套键盘鼠标

如题。我目前开发环境为台式机 Debian 9,文档编辑工作在Windows笔记本上进行,通过使用 synergy ,可以在笔记本的键盘和鼠标上控制 Linux 台式机,非常美好。这篇做个简单记录。

synergy 的原理就是其中一台设备做服务端server,其它设备做客户端client,服务端自己也是一个客户端。服务端首先设定了一个画布,不同的客户端处在画布的某个坐标上。当鼠标移出到坐标的边缘后,将进入下一个设备,此时服务端解析鼠标的移动轨迹,将其还原到客户端所在的设备上,客户端负责将具体的鼠标移动路径模拟为真实的鼠标移动,完成。

我这边的服务端使用了 Win10笔记本,客户端使用的台式主机Debian 9.

0. Synergy 是什么

Synergy的官网:https://symless.com/synergy

github: https://github.com/symless/synergy/wiki

1. 安装

win

下载地址:https://sourceforge.net/projects/synergy-stable-builds/,担心有问题,我也做了个 备份。正常安装即可。

Debian

apt-get install synergy

mac

我也做了个 备份

2. client端配置

synergy的UI其实既可以设定自己为客户端,也可以设定为服务端。不同操作系统的样子都一样的。

进入界面的第一步是看自己的名字。我 Debian 客户端的名字如下图:

image-20201214161555747

可以看到我的屏幕名为gx1. 并在这里配置了我笔记本在局域网的IP。这个IP是路由器给我笔记本分配的。我在路由器上做了IP/mac绑定。点击应用、开始即可。

3. sever端配置

微信截图_20201214160057

按照步骤点击操作。然后进入服务端界面设置:

image-20201214160612924

我笔记本本机叫laptop,我从右上角拉了一个设备到laptop的右边,双击这个新设备,进入下面的界面,然后它命名为 gx1.

image-20201214160925394

如果设备拉多了,可以拖动到垃圾桶删除。

最后点击开始,便完成了。

image-20201214162059978

4. 开机自动启动

主要是Linux客户端的自动启动。 synergy是基于 x 图形化界面的,所以如果你在 rc.local 或者脚本启动,大概率是无法启动成功的。

我这边使用了gnome,所以使用了gnome进行配置。安装 gnome-tweak。,搜索 gnome-tweak-tool 并运行

image-20201214162603510

添加软件即可:

image-20201214162652343

参考资料


linux 以特定用户运行命令

共有三个命令可供选择:

  1. runuser
  2. su
  3. sudo

具体如下:

  1. runuser

    只能由root用户运行该命令,不需要输入密码。

    runuser -l nginx -c 'ulimit -SHa'
    
  2. su

    su - root -c "command"
    # OR
    su - -c "command arg1"
       
    # 例如:
    su - oracle -c 'ulimit -aHS'
    
  3. sudo

    当用户在 sudoers 列表中时可以使用 sudo 命令:

    sudo command
    sudo -H -u otheruser bash -c 'echo "I am $USER, with uid $UID"' 
    

参考资料


linux 安装 typora

参考 官方文档 即可:

# or use
# sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys BA300B7755AFCFAE
wget -qO - https://typora.io/linux/public-key.asc | sudo apt-key add -

# add Typora's repository
sudo add-apt-repository 'deb https://typora.io/linux ./'
sudo apt-get update

# install typora
sudo apt-get install typora

# upgrade all packages include Typora
sudo apt-get upgrade

运行命令:

typora

在 Debian 上安装 Chrome 浏览器,并以代理方式打开

下载最新版本:

wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb

安装:

dpkg -i google-chrome-stable_current_amd64.deb

安装后使用以下命令即可运行:

google-chrome-stable

如果是要使用代理运行,使用如下命令即可:

google-chrome-stable --proxy="http://127.0.0.1:1080" # 端口号为你本地的代理监听端口

linux 为用户增加 sudo 权限并免密运行

最近光盘安装了 debian 9,发现默认的用户没有sudo权限,记录为默认用户添加权限的步骤。

共有两种方式授权:

  1. 把用户添加到sudo组。
  2. 把用户添加到sudoers文件。

下面以用户 kelu 为例。

将用户添加到sudo组

这是最简单的方式。

usermod -aG sudo kelu

将用户和用户组添加到sudoers文件

编辑文件 /etc/sudoers:

vi /etc/sudoers

增加以下记录:

kelu  ALL=(ALL:ALL) NOPASSWD:ALL
%kelu  ALL=(ALL:ALL) NOPASSWD:ALL

如图所示:

参考资料


gnome 3 命令行打开当前目录

gnome 3 的文件管理器为 nautillus。 在命令行中打开当前文件夹的命令为:

nautilus .

如果需要已特定用户的身份打开,先切换用户即可,例如:

su kelu
nautilus .

不加上路径则默认打开 home 目录:

nautilus

debian 安装 IntelliJ Idea ,并增加应用图标

对于桌面系统,没有图标是挺不方便的。我是用的是Debian 9,安装的桌面环境为 Gnome 3。

在下载 IntelliJ Idea 官方的Linux ide后,发现没有桌面图标,dock 上也不显示!

对于这种交互其实很早也有心理准备了,linux用户都是自己动手丰衣足食的。下载 idea 和制作idea图标快捷键步骤如下:

  1. 下载tgz包:https://www.jetbrains.com/idea/download/other.html

    选择一个合适的版本下载。

  2. 解压,我一般将软件放到 /var/local 目录下,给文件夹命名为idea:

    cd /var/local
    tar zxvf xxx.tar.gz
    mv xxx idea
    
  3. 做个命令行软链接,命令行方式启动也习惯性弄好。

    ln -s /var/local/idea/bin/idea.sh /usr/local/bin/idea
    
  4. 在桌面创建 idea.desktop文件

    [Desktop Entry]
    Name=IntelliJ IDEA
    Comment=IntelliJ IDEA
    Exec=/var/local/idea/bin/idea.sh
    Icon=/var/local/idea/bin/idea.png
    Terminal=false
    Type=Application
    Categories=Developer;
    

    image-20201130122330383

  5. 赋予权限

    chmod +r idea.desktop
    
  6. 可以复制一份到常用的图标归档的文件夹里

    cp idea.desktop /usr/share/applications
    

    这个文件夹里也有很多图标文件,可以都看看。gnome的图标路径一般存放在以下三个地方:

    • /usr/share/applications
    • /usr/local/share/applications
    • ~/.local/share/applications
  7. 下载常用的插件。

    列一些我常用的插件:

  8. 修改编辑器的字体大小

    在Linux下,idea的字体默认大小太小了,这样修改: File->Settings->Editor->Font

    image-20210303142348057

参考资料