Simple Guide to Share Mouse/Keyboard & Clipboard Data Across Multiple Machines in same Network (Barrier KVM Opensource)

Qubit

Recruit
Barrier, OpenSource KVM software can be used Share Mouse/Keyboard & Clipboard Data Across Multiple PCS/ Machines - Windows, Linux ,Mac.

Download LInk: https://github.com/debauchee/barrier

Test Machines 1.Linux 2.Mac

Installation Steps on Linux (Barrier Server):

1. Lets suppose your main device is Linux, you have to share connected keyboard and mouse from that system to others.

2. Install Barrier using relevant package manager to your distro, like apt.

sudo apt intstall barrier

3. After installation, open Barrier app from application menu/launcher

4. Check Sever option, Click on Configure Server

Barrier-1.png



5. On Screens and links tab, create one system beside your linux machine by dragging icon beside your linux machine , rename it as MAC by double clicking on it


6. [Optional Step] Although once system and client are connected mouse and keyboard should switch automatically to client machines, you can optionally set hotkeys to control switching manually.


7. Click start and make sure barrier server is running.

Barrier-2.png




Installation Steps on MAC (Barrier Client):

1. Install Barrier dmg from github latest release or use brew to install

https://github.com/debauchee/barrier/releases

brew install barrier

2. Select Client and enter Server IP address from step 7 above

Barrier-Client-1.png


3. Make sure Client Screen name (MAC) is same as client name mentioned in sever configuration . (You can change it using Barrier >Change Settings >Screen name > MAC > click ok)

Barrier-Client-2-Change-Screen-Name.png



Barrier-Client-3-Change-Screen-Name.png





4. Click Start, Once you notice barrier is running, both machines will be connected.


Barrier-Client-4.png




Note:

1.If there are any errors/barrier is not starting,check logs (Barrier > Show log) on server and client.
2. If you notice SSL errors, you can uncheck Enable SSL in both Barrier Server, Client settings.
3. Windows install and configuration steps will be same [link] for server or client.
4. For connecting multiple clients, correctly create and align them in server configuration under Screens and links tab.

Barrier-logs.png




Now you can switch mouse/keyboard, clipboard between multiple machines with ease.
 
Last edited:
Lovely write-up. I currently use https://github.com/input-leap/input-leap which is the successor to barrier. It's not production-ready yet, as they say, but I haven't seen any major issues.


A bit off-topic, but:
There are some DIY solutions too
A full KVM switch:

And if you're DIYing, maybe have a look at this volume slider thing too: https://github.com/omriharel/deej

Both deskhop and deej are kind of simple to DIY, and according to online reviews, seem to be regarded highly! <3

Let me know if there are other projects like these tho, I'm always interested!
 
@KAKAN Thanks for sharing various options ! Do you use any easy file sharing solutions apart from SFTP ? I came across https://snapdrop.net/ easy to share files using browser across all devices in LAN.
I use https://syncthing.net/ and that works well for simpler things (I use it to transfer camera photos from phone to home server). I also used to use Nextcloud, but that's rather resource hungry. So yeah, mostly SFTP using Wireguard and/or Syncthing. I do run other services for accessing different types of files, though. Jellyfin for media, Gonic for music and so on.

For once off transfers, I use FTP or Nearby Share/Quick Share :p
Between my PC and my phone, I have KDE Connect.
 
@KAKAN
Does Syncthing support partial file transfer ?
For eg., copy file from source to destination, then use syncthing to update only newly generated /modified files.
Attempted this, but syncthing does not seems to understand the same file exists already at destination.
 
@KAKAN
Does Syncthing support partial file transfer ?
For eg., copy file from source to destination, then use syncthing to update only newly generated /modified files.
Attempted this, but syncthing does not seems to understand the same file exists already at destination.
I'm not sure I understand the question… In my case, I've my DCIM folder as the shared folder between server and phone. Every picture I take is uploaded to the server. It does support delta sync tho, i.e, if you edit the same file, only the changed blocks are sent. I've not really messed around with it a lot, and it works.

If it ever stops working, I'll just use something else, since I have not messed with it after I set it up :p
There's PhotoPrism and other alternatives I think for what I'm looking to do
 
Do check out LocalSend. Been using it for years and never once had any problems whatsoever. It's super simple to setup and use and it also works offline (no data is used) as long as the devices are connected to the same network. Regarding Syncthing, as @KAKAN mentioned, it supports incremental backups ie., only the newly made changes to the source file are added to the already backed-up file in the destination. This way, we could save lot of data - especially if it's a huge file and it's updated often.
 
If it ever stops working, I'll just use something else, since I have not messed with it after I set it up :p
That is how I am also using it :)

However, last month changed to new laptop. Couldn't wait for this application to sync over LAN which take lot of time, so copied data files to new laptop using USB, attempted syncing folders over syncthing. However, syncthing was creating new copies of existing files again on new location. So, had to go through that way.
Incremental data syncing works fine.
 
Last edited:
That is how I am also using it :)

However, last month changed to new laptop. Couldn't wait for this application to sync over LAN which take lot of time, so copied data files to new laptop using USB, attempted syncing folders over syncthing. However, syncthing was creating new copies of existing files again on new location. So, had to go through that way.
Incremental data syncing works fine.
Syncthing checks for data using hashes and timestamps. So, if you copied in a way that doesn't preserve timestamps, it'll resync them all. I think.

That's also the reason I don't transfer using USB from Android to PC, it seems to overwrite timestamps. Your best bet is to use sftp in this case. Thankfully, in my case, both phone and PCs have WiFi5, so this is faster than the USB2 port of my phone lol

However, keep in mind that this is just an assumption from my side based on my observations. Syncthing may work differently now too, that's also a possibility.
 
Back
Top