From 87ce250af7ea7cff420162a51839d5bf15868cd0 Mon Sep 17 00:00:00 2001 From: Akilan Date: Tue, 6 Jul 2021 01:00:30 +0400 Subject: [PATCH] added blog for laplace with barrier KVM --- .../Modifying-laplace-keyboard-mouse.md | 68 ++++++++++++++----- 1 file changed, 52 insertions(+), 16 deletions(-) diff --git a/content/technicalposts/Modifying-laplace-keyboard-mouse.md b/content/technicalposts/Modifying-laplace-keyboard-mouse.md index b8427686..9b74090a 100644 --- a/content/technicalposts/Modifying-laplace-keyboard-mouse.md +++ b/content/technicalposts/Modifying-laplace-keyboard-mouse.md @@ -1,11 +1,11 @@ --- -title: "Using remote ScreenShare ,keyboard and mouse using laplace and Barrier" +title: "Patch: Using remote ScreenShare ,keyboard and mouse using laplace and Barrier" summary: Modifying the open source project laplace to allow remote keyboard and mouse during screenshare -date: 2020-05-25 +date: 2021-07-05 aliases: ["/laplace-keyboard-mouse"] tags: ["WebRTC","laplace"] author: "Akilan Selvacoumar" -draft: true +draft: false aliases: [/laplace-keyboard-mouse] weight: 2 --- @@ -15,23 +15,59 @@ weight: 2 link: https://github.com/adamyordan/laplace -## How to set up laplace ? +Link to my branch which has Barrier intergrated with Barrier KVM: +https://github.com/Akilan1999/laplace/tree/keyboard_mouse -You need to ensure that you have the go compiler installed in your machine. +Link to the pull request: https://github.com/adamyordan/laplace/pull/8 + + +## Installation + + +### Installation required to share keyboard and mouse +To do this we ensure that the client either has has a IPV6 +address or a public IPV4 address. +We use the use the popular open repository known as [Barrier KVM](https://github.com/debauchee/barrier). + +#### What is Barrier kvm? + +"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 KVM](https://github.com/debauchee/barrier) + +#### Barrier KVM build status and links to install +|Platform |Build Status| +| --:|:-- | +|Linux |[![Build Status](https://dev.azure.com/debauchee/Barrier/_apis/build/status/debauchee.barrier?branchName=master&jobName=Linux%20Build)](https://dev.azure.com/debauchee/Barrier/_build/latest?definitionId=1&branchName=master)| +|Mac |[![Build Status](https://dev.azure.com/debauchee/Barrier/_apis/build/status/debauchee.barrier?branchName=master&jobName=Mac%20Build)](https://dev.azure.com/debauchee/Barrier/_build/latest?definitionId=1&branchName=master)| +|Windows Debug |[![Build Status](https://dev.azure.com/debauchee/Barrier/_apis/build/status/debauchee.barrier?branchName=master&jobName=Windows%20Build&configuration=Windows%20Build%20Debug)](https://dev.azure.com/debauchee/Barrier/_build/latest?definitionId=1&branchName=master)| +|Windows Release|[![Build Status](https://dev.azure.com/debauchee/Barrier/_apis/build/status/debauchee.barrier?branchName=master&jobName=Windows%20Build&configuration=Windows%20Build%20Release%20with%20Release%20Installer)](https://dev.azure.com/debauchee/Barrier/_build/latest?definitionId=1&branchName=master)| +|Snap |[![Snap Status](https://build.snapcraft.io/badge/debauchee/barrier.svg)](https://build.snapcraft.io/user/debauchee/barrier)| + + +### Build from source + +```bash +$ git clone https://github.com/adamyordan/laplace.git +$ cd laplace && go build -o laplace main.go +$ export LAPLACE = $PATH +$ ./laplace --help +$ ./laplace -setconfig +$ ./laplace -tls -addrs : ``` -> go version -> git clone https://github.com/adamyordan/laplace -> cd laplace -> go build . - -// Run laplace -> ./laplace -``` -When running the default port it's using is port 443 with a https connection - -#### Ex: https://0.0.0.0:443 +Note: ensure you are running none using Sudo +## Limitation +The machine that wants to control the screen needs to either be: +- Same network as the server +- Needs to have an IPV6 address +- Needs to have an public IPV4 address +## Vidoe demo + +#### Video demo server side installation +{{< youtube 7c1_jlXJW4Q >}} + +#### Video demo client side installation +{{< youtube gF70pqvN3Gk >}}