If you have more than one laptop/computer on your desktop, you may find yourself jumping from a keyboard to another to make use of them. In this article I explain how I configured my laptops to share keyboard and mouse using synergy.
It is always a good thing to have a second monitor, for example to read documentation while doing some development, or for listening to music or watching videos while doing things that do not require full attention.
I have an ancient (10 years old) Dell Inspiron 8600 laptop on which the keyboard and the touchpad are starting to lose efficiency, but still it has a great display and an unrivaled audio system. The keyboard is pretty different from the macbook I am using daily, and dealing with different keyboards may not be so enjoyable. Also being an old generation laptop, the keyboard it's not very pleasant to the touch, and sometime it loses some key press.
With Synergy, it is possible to control remote computers with a single keyboard and mouse. So now, I can work on my MacBook running OSX Snow Leopard and control also the second laptop, the ancient Dell on my desk running Ubuntu 10.4, without switching keyboard or mouse. A second thing that comes for free with Synergy is the clipboard sharing; this means that you can cut-and-paste across the computers you are using: it is very helpful.
You can find more information about synergy at the official site.
First of all, you need to install synergy executable files on all the computers you need to control. Download it from here. Then, ensure that the computer can see each others on the network, using ip address or dns names. If they can ping each others, usually it should be enough.
On ubuntu you can install synergy using apt-get, while on the mac you can download the executables packed into a tarball and unpack them in a any folder you like, in my case I used ~/opt/synergy-1.3.1.
I want to use my mac's keyboard and mouse to control the dell laptop. You can have a single controller computer and many controlled computers. The controller will need the synergy server, while the controlled computers will run the client.
So on my macbook I created a configuration file which describes computers I want to control and what edge of the screen is the "border" from which the mouse will jump on the other computers. I placed it under ~/etc/synergy.conf :
section: screens dell: macbook: end section: links dell: left = macbook macbook: right = dell end
The above configuration describe my screens configuration and the links between the laptops. Basicallly I am telling that I have two screens, the dell one and the macbook. And for the dell I have a macbook on the left, and for the macbook I have the dell on the right. There are many other options, but here I am just using the defaults. The full documentation on the configuration options can be found here.
Then I have to start the Synergy server on the macbook using the command:
$ synergys --config ~/etc/synergy.conf
On the dell computer then I need to run the client, who will connect to the macbook (the controller laptop) and act consequently. To do so, I can connect the client launching one of the following commands
// supposing 192.168.1.123 is the ip of my macbook $ synergyc 192.168.1.123 // in my network I can refer the server as macbook.local or just macbook. $ synergyc macbook.local // or $ synergyc macbook
After doing so, you should be able to move your mouse from one computer to the other(s) just passing through the edges of the screens, and control all the computers on your desk.
If something goes wrong, you can use the -f option to run the client and the server in foreground, and the -d to enable debug tracing.
If you still have troubles with command line tools, you may want to try QSynergy, which is a graphical user interface over synergy.
Yet it is missing some "file sharing" feature; it would be very good if synergy was able to copy files dragging and dropping files from a desk to another, but at the moment, this is missing. Installing OpenSSH can do what is missing: file transfers (scp) and remote ssh logins should be enough to complete synergy desktop integration.
Here there is a video that visually explains what you can do with Synergy:
It looks like in the video she forgot to start the client; btw it is just needed to launch the synergyc executable as I explained above.
And here, a guy shared his mouse and keyboard over 7 computers using synergy:
|« Apr||Jun »|
- Android (3)
- Apple (30)
- Books (7)
- Eclipse (14)
- Errors (5)
- Firefox (7)
- Git (3)
- Hardware (18)
- Horror Code (8)
- Internet (21)
- Java (106)
- Life, universe and everything (45)
- Lifehacks (26)
- Linux (53)
- Opinions (26)
- OSX (11)
- OWNER API (3)
- Python (1)
- Software (35)
- Speeches and Conferences (8)
- Unix (5)
- Web (23)
- Windows (19)
Android apple architecture Bash bsd configuration CSS Development Düsseldorf framework free Git Google Hardware hdr How-To howto Java Karmic library Linux lion MacBook maven opensource Open Source Opinion os x OSX owner owner api patterns Pitfalls Practices properties Software TDD Testing tip tonemapped Tricks Ubuntu unix video Web