synergy 安装和使用 (一套键鼠掌握世界)

由于有两台电脑,四个显示器,在使用的时候,难免要切换,但笔记本的触控板和键盘实在太难用~%>_<% 但是机械键盘和鼠标只有一套,怎么办呢?
还好之前看一些大牛的工作环境时,看到有一个工具叫synergy,用来同步鼠标和键盘,可以随意在多台电脑中切换。

通过apt-get 安装

因为我常用的操作系统是ubuntu和kali,当然是直接apt-get。

apt-get install synergy

安装后,两台ubuntu(synergy版本1.4.12)之间操作没问题,然而在kali上是1.4.16版本,有不兼容的问题。于是找了下源,并没有找到对应的仓库,干脆就两边使用最新的源码install好了。

通过源码安装

首先,安装依赖

sudo apt-get install cmake make g++ xorg-dev libqt4-dev libcurl4-openssl-dev libavahi-compat-libdnssd-dev libssl-dev

访问synergy on github,git clone或者直接下载,然后:

tar xzvf v1.7.5-stable.tar.gz
cd synergy-1.7.5-stable
./hm setup
./hm conf -g1
./hm build

搞定。kali上也是如此操作,因为也是基于Debian。

使用

跟着上面的操作,工作目录还在synergy-1.7.5-stable,执行bin/synergy

1,开启服务器(服务器即是你鼠标和键盘连接的那台电脑),synergy 会有个向导,选择服务器模式;
2,点击Configure Server,拖拽显示右上角的显示到格子中,想要的放置位置,这里要注意显示器的name需要填写正确,这个name就是client(或server)的名称,client若对不上,会被server拒绝连接的(name在Edit - Settings中设置)。


3,主界面点击start,界面可以看到log,包括客户端的连接。
4,启动server后,其他主机同样bin/synergy启动,选择client模式,接着设置一下自己的name,填写server的IP,点击Start
5,Okay,这时可以发现,一套键鼠可以操控多台计算机啦,尽情地享受多屏多机的快感吧,工作效率杠杠的。 :-D

问题

sudo apt-get install cmake make g++ xorg-dev libqt4-dev libcurl4-openssl-dev libavahi-compat-libdnssd-dev libssl-dev libxfont-dev libxft-dev xserver-xorg-dev libfreetype6-dev libfontconfig1-dev libfreetype6-dev libcheese-gtk23 libcheese7  libclutter-1.0-0 libclutter-gtk-1.0-0 libcogl15 libclutter-gst-2.0-0 gstreamer1.0-clutter libpng-dev libpng12-0
Reading package lists... Done
Building dependency tree
Reading state information... Done
Note, selecting 'libpng12-dev' instead of 'libpng-dev'
cmake is already the newest version.
g++ is already the newest version.
g++ set to manually installed.
gstreamer1.0-clutter is already the newest version.
gstreamer1.0-clutter set to manually installed.
libcheese-gtk23 is already the newest version.
libcheese-gtk23 set to manually installed.
libcheese7 is already the newest version.
libcheese7 set to manually installed.
libclutter-1.0-0 is already the newest version.
libclutter-1.0-0 set to manually installed.
libclutter-gst-2.0-0 is already the newest version.
libclutter-gst-2.0-0 set to manually installed.
libcogl15 is already the newest version.
libcogl15 set to manually installed.
make is already the newest version.
libcurl4-openssl-dev is already the newest version.
libqt4-dev is already the newest version.
libssl-dev is already the newest version.
libclutter-gtk-1.0-0 is already the newest version.
libclutter-gtk-1.0-0 set to manually installed.
libpng12-0 is already the newest version.
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
libpng12-dev : Depends: libpng12-0 (= 1.2.50-1ubuntu2.14.04.2) but 1.2.54-1ubuntu1k1 is to be installed
E: Unable to correct problems, you have held broken packages.

手动安装缺少的包.

./hm.sh conf -g1                         
Mapping command: conf -> configure
cmake version 2.8.12.2
Entering dir: build/release
CMake command: cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Release ../..
CMake Error at CMakeLists.txt:250 (message):
Missing library: Xtst


-- Configuring incomplete, errors occurred!
See also "/home/niko/dev/tools/servers/synergy/synergy-1.7.5-stable/build/release/CMakeFiles/CMakeOutput.log".
See also "/home/niko/dev/tools/servers/synergy/synergy-1.7.5-stable/build/release/CMakeFiles/CMakeError.log".
Going back to: /home/niko/dev/tools/servers/synergy/synergy-1.7.5-stable
Error: CMake encountered error: 256

sudo apt-get install libxtst-dev

参考


http://blog.yangzhifei.com/?p=46