TranslateProject/sources/tech/20190817 Share Your Keyboard and Mouse Between Linux and Raspberry Pi.md
DarkSun f4f8cc7fbf 选题: 20190817 Share Your Keyboard and Mouse Between Linux and Raspberry Pi
sources/tech/20190817 Share Your Keyboard and Mouse Between Linux and Raspberry Pi.md
2019-08-17 00:52:24 +08:00

10 KiB
Raw Blame History

Share Your Keyboard and Mouse Between Linux and Raspberry Pi

This DIY tutorial teaches you to share mouse and keyboard between multiple computers using open source software Barrier.

I have a multi-monitor setup where my Dell XPS running Ubuntu is connected to two external monitors. I recently got a Raspberry Pi 4 that has the capability to double up as a desktop. I bought a new screen so that I could set it up for monitoring the performance of my cloud servers.

Now the problem is that I have fours screens and one pair of keyboard and mouse. I could use a new keyboard-mouse pair but my desk doesnt have enough free space and its not very convenient to switch keyboards and mouse all the time.

One way to tackle this problem would be to buy a kvm switch. This is a handy gadget that allows you to use same display screen, keyboard and mouse between several computers running various operating systems. You can easily find one for around $30 on Amazon.

Bestseller No. 1

UGREEN USB Switch Selector 2 Computers Sharing 4 USB Devices USB 2.0 Peripheral Switcher Box Hub for Mouse, Keyboard, Scanner, Printer, PCs with One-Button Swapping and 2 Pack USB A to A Cable

Ugreen Group Limited - Electronics

$18.99

But I didnt go for the hardware solution. I opted for a software based approach to share the keyboard and mouse between computers.

I used Barrier, an open source fork of the now proprietary software Synergy. Synergy Core is still open source but you cant get encryption option in its GUI. With all its limitation, Barrier works fine for me.

Lets see how you can use Barrier to share mouse and keyboard with multiple computers. Did I mention that you can even share clipboard and thus copy paste text between the computers?

Set up Barrier to share keyboard and mouse between Linux and Raspberry Pi or other devices

I have prepared this tutorial with Ubuntu 18.04.3 and Raspbian 10. Some installation instructions may differ based on your distribution and version but youll get the idea of what you need to do here.

Step 1: Install Barrier

The first step is obvious. You need to install Barrier in your computer.

Barrier is available in the universe repository starting Ubuntu 19.04 so you can easily install it using apt command.

Youll have to use the snap version of Barrier in Ubuntu 18.04. Open Software Center and search for Barrier. I recommend using barrier-maxiberta

Install this Barrier version

On other distributions, you should enable Snap first and then use this command:

sudo snap install barrier-maxiberta

Barrier is available in Debian 10 repositories. So installing barrier on Raspbian was easy with the apt command:

sudo apt install barrier

Once you have installed the software, its time to configure it.

Suggested read  Fix Application Installation Issues In elementary OS

Step 2: Configure Barrier server

Barrier works on server-client model. You should configure your main computer as server and the secondary computer as client.

In my case, my Ubuntu 18.04 is my main system so I set it up as the server. Search for Barrier in menu and start it.

Setup Barrier as server

You should see an IP address and an SSL fingerprint. Its not entirely done because you have to configure the server a little. Click on Configure Server option.

Configure the Barrier server

In here, you should see your own system in the center. Now you have to drag and drop the computer icon from the top right to a suitable position. The position is important because thats how your mouse pointer will move between screens.

Setup Barrier server with client screens

Do note that you should provide the hostname of the client computer. In my case, it was raspberrypi. It wont work if the hostname is not correct. Dont know the clients hostname? Dont worry, you can get it from the client system.

Step 3: Setup barrier client

On the second computer, start Barrier and choose to use it as client.

Setup Barrier Client on Raspberry Pi

You need to provide the IP address of Barrier server. You can find this IP address on the Barrier application running on the main system (see the screenshots in previous section).

Setup Barrier Client on Raspberry Pi

If you see an option to accept secure connection from another computer, accept it.

You should be now able to move your mouse pointer between the screens connected to two different computers running two different operating systems. How cool is that!

Optional: Autostart Barrier [Intermediate to Advanced Users]

Now that you have setup Barrier and enjoying by using the same mouse and keyboard for more than one computers, what happens when you reboot your system? You need to start Barrier in both the systems again, right? This means that you need to connect keyboard-mouse to the second computer as well.

Suggested read  How To Fix Windows Updates Stuck At 0%

Since I use Wireless mouse and keyboard, this is still easier as all I need to do is to take the adapter from my laptop and plug it in the Raspberry Pi. This works but I dont want to do this extra step. This is why I made Barrier running at the start on both systems so that I could use the same mouse and keyboard without any additional step.

There is no autostart option in the Barrier application. But its easy to add an application to autostart in Ubuntu. Just open the Startup Applications program and add the command barrier-maxiberta.barrier here.

Adding Barrier To Startup applications in Ubuntu

That was the easy part. Its not the same in Raspberry Pi though. Since Raspbian uses systemd, you can use it to create a new service that will run at the boot time.

Open a terminal and create a new file named barrier.service in /etc/systemd/system directory. If this directory doesnt exist, create it. You can use your favorite command line text editor for this task. I used Vim here.

sudo vim /etc/systemd/system/barrier.service

Now add lines like these to your file. You must replace 192.168.0.109 with your barrier servers IP address.

[Unit]
Description=Barrier Client mouse/keyboard share
Requires=display-manager.service
After=display-manager.service
StartLimitIntervalSec=0

[Service]
Type=forking
ExecStart=/usr/bin/barrierc --no-restart --name raspberrypi --enable-crypto 192.168.0.109
Restart=always
RestartSec=10
User=pi

[Install]
WantedBy=multi-user.target

Save your file. I would advise to run the command mentioned in ExecStart line manually to see if it works or not. This will save you some headache later.

Reload the systemd daemon:

sudo systemctl daemon-reload

Now start this new service

systemctl start barrier.service

Check its status to see if its running fine:

systemctl status barrier.service

If it works, add it to startup services:

systemctl enable barrier.service

This should take care of things for you. Now you should be able to control the Raspberry Pi (or any other second computer) with a single keyboard mouse pair.

I know that these DIY stuff may not work straightforward for everyone so if you face issues, let me know in the comments and Ill try to help you out.

If it worked for you or if you use some other solution to share the mouse and keyboard between the computers, do mention it in the comments.


via: https://itsfoss.com/keyboard-mouse-sharing-between-computers/

作者:Abhishek Prakash 选题:lujun9972 译者:译者ID 校对:校对者ID

本文由 LCTT 原创编译,Linux中国 荣誉推出