213 lines
14 KiB
Plaintext
213 lines
14 KiB
Plaintext
|
|
Episode: 3531
|
||
|
|
Title: HPR3531: Barrier: Software KVM
|
||
|
|
Source: https://hub.hackerpublicradio.org/ccdn.php?filename=/eps/hpr3531/hpr3531.mp3
|
||
|
|
Transcribed: 2025-10-25 01:03:06
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
This is Haka Public Radio episode 3531 for Monday the 14th of February 2022.
|
||
|
|
Today's show is entitled, Barrier, Software KVM.
|
||
|
|
It is hosted by Windigo and is about 17 minutes long and carries a clean flag.
|
||
|
|
The summer is a breathing reduction to the Barrier Software KVM.
|
||
|
|
Hello HPR.
|
||
|
|
This is editing Windigo.
|
||
|
|
Recording Windigo was a little bit sleepy and confused when he recorded this episode.
|
||
|
|
But we are short on shows in HPR right now, so I'm going to just upload it anyways, but
|
||
|
|
I wanted to add a couple of disclaimers before I do so.
|
||
|
|
First being, I don't know why I kept saying rotary encoder, but I was actually talking about
|
||
|
|
a rotary switch.
|
||
|
|
You can find them on electric components website, but whenever I say rotary encoder in this
|
||
|
|
episode, just ignore me and put rotary switch in its place.
|
||
|
|
Second is, I discuss a little bit about controversies in the release of Synergy 2.0.
|
||
|
|
I should probably add a hefty pinch of salt disclaimer that I don't have any connections
|
||
|
|
to Simless.
|
||
|
|
I only knew what I knew from reading their blogs and posts around the time.
|
||
|
|
And I have a terrible memory.
|
||
|
|
I'm not sure if I'm a credible witness, so I could be getting things very wrong.
|
||
|
|
They still seem to be doing very well as a company, so I would just say that I wouldn't
|
||
|
|
let my recollection put you off of using their product either.
|
||
|
|
So with that, please excuse the incorrectness of this episode and enjoy, I hope.
|
||
|
|
Hello, this is Windigo.
|
||
|
|
I'm recording a episode about the network KVM called Barrier.
|
||
|
|
So first of all, I should probably start with what is a KVM?
|
||
|
|
The acronym KVM stands for keyboard, video, and mouse, and a KVM is a device or piece
|
||
|
|
of software that lets you share a single keyboard and mouse, and in some cases a monitor with
|
||
|
|
several devices.
|
||
|
|
The oldest instance of a KVM I've encountered was a data switch, which is this little beige
|
||
|
|
metal box enclosure with a giant rotary dial on the front.
|
||
|
|
I think 8 was the largest I've ever seen, but it has two to eight selectors that you
|
||
|
|
can manually turn this rotary encoder to select.
|
||
|
|
And that would allow you to plug a single set of input devices and a monitor for output
|
||
|
|
into this KVM box, and you could select which of your devices the keyboard, mouse, and
|
||
|
|
video signals were connecting to.
|
||
|
|
And I actually took one of these parts, and it's just as simple as it could be.
|
||
|
|
The rotary switch is just a connector for a huge set of wires that go to each of the ports
|
||
|
|
on the back.
|
||
|
|
So you would have a single set of ports for the keyboard, mouse, and monitor connections,
|
||
|
|
and then each of the other one or two to however many ports would be patch cables that
|
||
|
|
would go to your devices.
|
||
|
|
So if you had it selected to the first set of ports and you typed on your keyboard,
|
||
|
|
it would go through the keyboard cables into the KVM and out through the patch cables
|
||
|
|
to the first device.
|
||
|
|
And if you changed the switch to the second device, it would disconnect the first device
|
||
|
|
and reconnect it mechanically to the second device.
|
||
|
|
So that would have all your keyboard and mouse input.
|
||
|
|
There have been many improvements to hardware KVM's since they're very popular in server
|
||
|
|
rooms where you can have a whole number of servers sharing a single terminal, usually
|
||
|
|
a rack mounted one that makes maintenance a lot easier than if you need to physically
|
||
|
|
connect to a machine.
|
||
|
|
So that's a hardware KVM, a software KVM is the same thing, but without physical connections.
|
||
|
|
There's no hardware involved.
|
||
|
|
It uses applications on each of the devices, one X is a server, and one is the rest of clients,
|
||
|
|
and it sends your mouse movements or keystrokes through the network.
|
||
|
|
The software-based KVM I use is named Barrier.
|
||
|
|
It's a piece of free software, and it's actually a fork of a fork.
|
||
|
|
Barrier started out as a product called Synergy, which is a commercialized version of the
|
||
|
|
Cosmos Synergy software, which is written by Chris Schoeneman, I'm not sure if I'm pronouncing
|
||
|
|
that right.
|
||
|
|
I apologize to Chris if I've ruined your last name.
|
||
|
|
Synergy is actually the first time I encountered a software KVM, and I've purchased a license
|
||
|
|
to it.
|
||
|
|
I used it for years.
|
||
|
|
It's good software.
|
||
|
|
I don't have any problem with the Synergy product, but they had a rocky approach to the
|
||
|
|
2.0 version of Synergy.
|
||
|
|
They were adding a bunch of features.
|
||
|
|
I think they were trying to get around some of the networking issues, because it's a
|
||
|
|
network-based piece of software.
|
||
|
|
You run into the same kind of issues as getting any software to communicate on a network.
|
||
|
|
If there's not involved, or if you're trying to travel over the internet, things can get
|
||
|
|
dicey.
|
||
|
|
I've never attempted something like that, but I think Synergy 2 was adding features to
|
||
|
|
address things like that.
|
||
|
|
They had a cloud element, and it might have stored settings in the cloud.
|
||
|
|
I didn't get to that point before I needed to use Synergy again.
|
||
|
|
I found the Barrier project, which is, wow, I should back up.
|
||
|
|
Synergy is run by a company called Simless, in case you're interested.
|
||
|
|
Like I said, I've had nothing but good experiences with Synergy, but I found Barrier, which is
|
||
|
|
a fork of Synergy 1.9, and the purpose of their project is to keep a smaller, simpler
|
||
|
|
feature set.
|
||
|
|
I don't use a lot of the extra features that they would be adding in Synergy, and Barrier
|
||
|
|
is packaged for most of the distributions that I use.
|
||
|
|
I think I'm not sure if Synergy is or not, but Barrier suits all of my needs, and Simless
|
||
|
|
already got my money, so I don't feel too bad about abandoning them, and I should clarify.
|
||
|
|
I think Synergy is still open-source-based.
|
||
|
|
It's just a commercial product that they charge for distributing pre-compiled binaries
|
||
|
|
and things like that, perfectly above board as far as I can tell.
|
||
|
|
I never had a problem with them hiding features behind a paywall or anything, but either way,
|
||
|
|
I ended up switching to Barrier because it suits my needs and is pre-packaged for all
|
||
|
|
the distros I use.
|
||
|
|
It's worked out very well so far.
|
||
|
|
So I say distributions, but Barrier is a cross-platform piece of software.
|
||
|
|
There are some limitations, but it runs on Windows.
|
||
|
|
It runs on Macintosh.
|
||
|
|
They do not currently support 32-bit, so I don't believe you can run it on Raspberry Pi,
|
||
|
|
but I've also never tried, I could be incorrect.
|
||
|
|
It does come available in Snap Packages, which is nice, and even if they don't pre-package
|
||
|
|
it for your distribution, or it's not in the repositories, you can always install it
|
||
|
|
as a snap if you wanted to use it on something that supported Snap Packages.
|
||
|
|
So out of the box, Barrier comes with two components when you install it.
|
||
|
|
There is the core application that does all the KVM functionality, and there is a graphically
|
||
|
|
utility that you can use to configure the core application.
|
||
|
|
I have always used the graphical utility to configure things, but there is supposedly
|
||
|
|
also a way where you can write your own configuration files.
|
||
|
|
If you don't want to do anything interactively, you can write a configuration file and then
|
||
|
|
provide that to the core application and it will run just fine.
|
||
|
|
But I use the graphical utility because it's simple and familiar.
|
||
|
|
With the graphical utility, you get to pick whether the computer you're working on is
|
||
|
|
the server, which would have the mouse and keyboard connected to it, or if it's the client,
|
||
|
|
which means it's another networked computer that can receive keyboard and mouse input
|
||
|
|
from the server.
|
||
|
|
And when you get it set up, it works almost like network-based multiple monitors.
|
||
|
|
Or mouse can write up to the edge of the screen, and as soon as it touches that edge, Barrier
|
||
|
|
transfers it to the next configured computer on that side through the graphical configuration
|
||
|
|
tool, or probably through the configuration files, you have to orient each client relative
|
||
|
|
to the server.
|
||
|
|
So for instance, when I use it at my desk, I have my work computer on the right-hand side,
|
||
|
|
and I have my personal computer on the left-hand side.
|
||
|
|
And my work computer has my mechanical keyboard connected to it, so that gets to be the server.
|
||
|
|
When you're configuring the server, you configure all of the orientations, so the server gets
|
||
|
|
to pick where the clients are respective to itself.
|
||
|
|
So on the server, I say that my personal laptop is to the left of it, so that when I go
|
||
|
|
off of the left-hand side of my screen, my input gets shifted over to my personal computer.
|
||
|
|
And it uses screen names to configure this relative positioning.
|
||
|
|
I named my personal computer its hostname, and I configured the server to put it, put
|
||
|
|
a client with that hostname on the left-hand side.
|
||
|
|
Clients are much simpler.
|
||
|
|
They get to declare their screen name, and the server IP, it can use raw IP for addresses.
|
||
|
|
I haven't tried it with raw IP version 6, but it can also use DNS entries.
|
||
|
|
And once you have it set up, and use the same set of input devices across however many
|
||
|
|
devices you have.
|
||
|
|
There is an upper limit, I think the limit for synergy said 15, I can't imagine getting
|
||
|
|
to that point myself, but if you're in a network operation center or something with multiple
|
||
|
|
machines running different displays, I could see how it would be applicable.
|
||
|
|
So this sounds all well and good, but you're also transmitting all of your keystrokes
|
||
|
|
over a network connection, which raises some pretty obvious security concerns.
|
||
|
|
So one of the things they do to mitigate this is they transmit everything using SSL.
|
||
|
|
So your keystrokes and traffic is encrypted.
|
||
|
|
I don't know how voraciously they do this.
|
||
|
|
I'm not sure how secure their model is, but it's safe enough that I'm comfortable enough
|
||
|
|
using it on my LAN.
|
||
|
|
I don't know if I would use it across the internet.
|
||
|
|
I can't imagine a scenario where I would need to use it across the internet, but I'm sure
|
||
|
|
someone has a use case out there.
|
||
|
|
Barrier, even though it's got a pretty stripped down feature set, does support a couple
|
||
|
|
quote-unquote features.
|
||
|
|
It obviously will transmit your keystrokes and mouse movements.
|
||
|
|
It supports clipboard sharing so that you can copy on one device and paste on another.
|
||
|
|
I have not configured this because I don't see myself using that kind of thing, but I also
|
||
|
|
have two very different devices that just happen to be sharing keyboard and mouse.
|
||
|
|
But if you want, you can try and configure that.
|
||
|
|
And it also supports drag and drop files transfers supposedly.
|
||
|
|
Again, I'm using this with two different devices, so I've never configured that.
|
||
|
|
But if you're using two separate machines, one for development, one for testing, I could
|
||
|
|
see how that would be convenient.
|
||
|
|
Just not something that I've done.
|
||
|
|
I don't do drag and drop file stuff in general, but whatever floats your boat, if that's
|
||
|
|
something that's going to simplify your workflow, then awesome.
|
||
|
|
Speaking of simplifying your workflow, I have used Barrier and Synergy before it for
|
||
|
|
some very convenient, almost magical feeling computer uses.
|
||
|
|
It's one of those technologies that is just very useful in very specific circumstances.
|
||
|
|
So the first time I started using it, I was at a job in an IT department and we had
|
||
|
|
a Nagios box.
|
||
|
|
And the Nagios box was across the room so that everyone could see it.
|
||
|
|
But it didn't make it very convenient if we needed to say, reload the page or click
|
||
|
|
on a host to find out what had happened.
|
||
|
|
So we installed Synergy and I could control it from my desktop.
|
||
|
|
So very fun way to prank people.
|
||
|
|
I don't condone that sort of thing because I'm much more mature than that these days,
|
||
|
|
but it does remind me a little bit of the days of your when there were certain network
|
||
|
|
administration tools that would get into the hands of school children and we would use
|
||
|
|
them in the computer lab to mess with people.
|
||
|
|
But again, I don't condone these kind of behaviors, but the possibilities there if you would
|
||
|
|
like to partake.
|
||
|
|
I've also used this when I've had two separate machines on my desk.
|
||
|
|
I had a Linux machine and a Windows device side by side.
|
||
|
|
It seems silly to have two keyboards and two mice and in fact it's dangerous to have
|
||
|
|
that because you can start typing on a keyboard expecting it to go to one computer and have
|
||
|
|
it accidentally sending keystrokes and key combinations to the wrong machine which can
|
||
|
|
be potentially very, very dangerous.
|
||
|
|
Granted you still get that a little bit with Barrier and in fact there have been times
|
||
|
|
when I've tried to type something on my personal computer and end up starting to dump something
|
||
|
|
into a terminal on my work computer or vice versa, but I find it's much easier to keep
|
||
|
|
track of when there's only a single set of input devices.
|
||
|
|
So Barrier is something I always keep in my toolbox for very specific occasions.
|
||
|
|
I don't think it's super widely applicable, but when it's applicable it's very nice.
|
||
|
|
It could save you from having to buy a hardware KVM which are pretty pricey if you want
|
||
|
|
to get into some of the more fancy ones with multiple connections.
|
||
|
|
It also has the advantage of being able to use whatever hardware or whatever computers
|
||
|
|
are kicking around as servers.
|
||
|
|
It doesn't take lots of resources, it really just needs an internet connection.
|
||
|
|
You should probably have it on a wired internet connection for latency reasons, but it will
|
||
|
|
work on just about anything as long as you're patient.
|
||
|
|
So I hope this provides someone with some help.
|
||
|
|
I've been able to introduce at least one other person to this software at a Linux user
|
||
|
|
group meeting, and it certainly is very, very convenient when it's convenient.
|
||
|
|
You've been listening to Hecker Public Radio at HeckerPublicRadio.org.
|
||
|
|
Today's show was contributed by an HBR listener like yourself.
|
||
|
|
If you ever thought of recording a podcast, then click on our contribute link to find
|
||
|
|
out how easy it really is.
|
||
|
|
Hosting for HBR is kindly provided by an honesthost.com.
|
||
|
|
The internet archive and our sync.net, unless otherwise stated, today's show is released
|
||
|
|
under Creative Commons, Attribution, ShareLike, 3.0 license.
|