GitHub - debauchee/barrier: Open-source KVM software

Eliminate the barrier between your machines. Find releases for windows and macOS here[1]. Your distro probably already has barrier packaged for it, see distro specific packages[2] below for a list. Alternatively, we also provide a flatpak[3] and a snap[4].

Contact info:

  • #barrier on LiberaChat IRC network

CI Build Status

Master branch overall build status: Build Status

Our CI Builds are provided by Microsoft Azure Pipelines, Flathub, and Canonical.

What is it?

Barrier is software that mimics the functionality of a KVM switch, which historically would allow you to use a single keyboard and mouse to control multiple computers by physically turning a dial on the box to switch the machine you're controlling at any given moment. Barrier does this in software, allowing you to tell it which machine to control by moving your mouse to the edge of the screen, or by using a keypress to switch focus to a different system.

Barrier was forked from Symless's Synergy 1.9 codebase. Synergy was a commercialized reimplementation of the original CosmoSynergy written by Chris Schoeneman.

At the moment, barrier is not compatible with synergy. Barrier needs to be installed on all machines that will share keyboard and mouse.

What's different?

Whereas Synergy has moved beyond its goals from the 1.x era, Barrier aims to maintain that simplicity. Barrier will let you use your keyboard and mouse from one computer to control one or more other computers. Clipboard sharing is supported. That's it.

Project goals

Hassle-free reliability. We are users, too. Barrier was created so that we could solve the issues we had with synergy and then share these fixes with other users.

Compatibility. We use more than one operating system and you probably do, too. Windows, OSX, Linux, FreeBSD... Barrier should "just work". We will also have our eye on Wayland when the time comes.

Communication. Everything we do is in the open. Our issue tracker will let you see if others are having the same problem you're having and will allow you to add additional information. You will also be able to see when progress is made and how the issue gets resolved.

Usage

Install and run barrier on each machine that will be sharing. On the machine with the keyboard and mouse, make it the server.

Click the "Configure server" button and drag a new screen onto the grid for each client machine. Ensure the "screen name" matches exactly (case-sensitive) for each configured screen -- the clients' barrier windows will tell you their screen names (just above the server IP).

On the client(s), put in the server machine's IP address (or use Bonjour/auto configuration when prompted) and "start" them. You should see Barrier is running on both server and clients. You should now be able to move the mouse between all the screens as if they were the same machine.

Note that if the keyboard's Scroll Lock is active then this will prevent the mouse from switching screens.

Contact & support

Please be aware that the only way to draw our attention to a bug is to create a new issue in the issue tracker[5]. Write a clear, concise, detailed report and you will get a clear, concise, detailed response. Priority is always given to issues that affect a wider range of users.

For short and simple questions or to just say hello find us on the LiberaChat IRC network in the #barrier channel.

Contributions

At this time we are looking for developers to help fix the issues found in the issue tracker. Submit pull requests once you've polished up your patch and we'll review and possibly merge it.

Most pull requests will need to include a release note. See docs/newsfragments/README.md for documentation of how to do that.

Distro specific packages

While not a comprehensive list, repology provides a decent list of distro specific packages.

Packaging status

FAQ

Q: Does drag and drop work on linux?

A: No

Q: What OSes are supported?

A:

  • Windows 7, 8, 8.1, and 10
  • MacOS/OS X
  • Linux
  • FreeBSD
  • OpenBSD

Q: Are 32-bit versions of Windows supported?

A: No

Q: How do I load my configuration on startup?

A: Start the binary with the argument --config <path_to_saved_configuration>

Q: After loading my configuration on the client the field 'Server IP' is still empty!

A: Edit your configuration to include the servers ip adress manually with (...) section: options serverhostname=<AAA.BBB.CCC.DDD>

References

  1. ^ releases for windows and macOS here (github.com)
  2. ^ distro specific packages
  3. ^ flatpak (github.com)
  4. ^ snap (snapcraft.io)
  5. ^ the issue tracker (github.com)
keywords

No Items Found.

Add Comment
Type in a Nick Name here
 
Search Linx
Search Linx by entering your search text above.
Welcome

This is my test area for webdev. I keep a collection of code here, mostly for my reference. Also if i find a good link, i usually add it here and then forget about it. more...

Subscribe to weekly updates about things i have added to the site or thought interesting during the last week.

You could also follow me on twitter or not... does anyone even use twitter anymore?

If you found something useful or like my work, you can buy me a coffee here. Mmm Coffee. ☕

❤️👩‍💻🎮

🪦 2000 - 16 Oct 2022 - Boots
Random Quote
When I realized that, no individual step is hard in any process. Building this airport I'm standing in right now started with a guy writing the architectural plans on paper. That's not hard for him to do. Then laying the first beam isn't had. The whole thing is really hard. So, just take each step kind of piece by piece and when I was able to do that and stop trying to chase this prize and started putting in the work, things just started coming together.
Unknown
Random CSS Property

place-content

The place-content CSS shorthand property allows you to align content along both the block and inline directions at once (i.e. the align-content and justify-content properties) in a relevant layout system such as Grid or Flexbox.
place-content css reference