Open-source KVM software

Overview

Barrier

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

Contact info:

  • #barrier on LiberaChat IRC network

CI Build Status

Master branch overall build status: Build Status

Platform Build Status
Linux Build Status
Mac Build Status
Windows Debug Build Status
Windows Release Build Status
Snap Snap 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. 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 - Frequently Asked Questions

Q: Does drag and drop work on linux?

A: No (see #855 if you'd like to change that)

Q: What OSes are supported?

A: The most recent release of Barrier is known to work on:

  • Windows 7, 8, 8.1, 10, and 11
  • macOS (previously known as OS X or Mac OS X)
    • The current GUI does not work on OS versions prior to macOS 10.12 Sierra (but see the related answer below)
  • Linux
  • FreeBSD
  • OpenBSD

Q: Are 32-bit versions of Windows supported?

A: No

Q: Is it possible to use Barrier on Mac OS X / OS X versions prior to 10.12?

A: Not officially.

  • For OS X 10.10 Yosemite and later:
  • For Mac OS X 10.9 Mavericks (and perhaps earlier):
    1. the command-line portions of the current release should run fine.
    2. The GUI will not run, as that OS version does not include Apple's Metal framework.

Note: Only versions v2.3.4 and later of Barrier can be supported by this project.

  • Anyone using an earlier version is advised to upgrade due to recently-addressed security vulnerabilities (and other bug fixes).
    • This is especially important for computers accessible from the public Internet (or from other shared/untrusted networks, such as when using shared WiFi).

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 server's ip address manually with

(...)

section: options
   serverhostname=<AAA.BBB.CCC.DDD>

Q: Are there any other significant limitations with the current version of Barrier?

A: Currently:

  • Barrier currently has limited UTF-8 support; issues have been reported with processing various languages.
  • There is interest in future support for the Wayland compositor/display server protocol (official site | Wikipedia article) on Linux.
    • As of late 2021, there is no expected completion date for Wayland support.
    • (see #109 and #1251 for status or to volunteer your talents)

The complete list of open issues can be found in the 'Issues' tab on GitHub. Help is always appreciated.

Issues
  • gui: Update Hungarian translation

    gui: Update Hungarian translation

    This is a port of https://github.com/debauchee/barrier/pull/1458 to input-leap.

    Thanks @ViBE-HU.

    Contributor Checklist:

    • [x] I have created a file in the doc/newsfragments directory IF it is a user-visible change (and make sure to read the README.md in that directory)
    opened by p12tic 4
  • Enhance Windows CI builds

    Enhance Windows CI builds

    This PR has been migrated from old Barrier Github repository https://github.com/debauchee/barrier/pull/1396

    PR created on: 2021-11-05 by @shymega PR last updated on: 2021-11-07

    This PR adds support for the Windows Server 2022 build agent. This isn't based on Windows 11, but rather Windows 10. I added 2022, 2019, and 2016 to a build matrix. Currently, 2022 and 2016 are disabled.

    I had to do that because currently they fail to build, as the BATCH script has the VS SDK path hardcoded. Until we fix that, the aforementioned build agents will remain disabled.

    ## Contributor Checklist:

    • [x] I have created a file in the doc/newsfragments directory (and read the README.md in that directory)

    Commented on: 2021-11-05 by @shymega

    Hrm, it seems the Mac PR has been merged into this. I'm going to force-push, and remove that branch from this PR, as it shouldn't be there...


    Commented on: 2021-11-05 by @shymega

    This isn't right. My branch hasn't even been done correctly. Fixing locally, then force-pushing. Sorry.


    Commented on: 2021-11-05 by @shymega

    Fixed, but may need conflict resolution when #1385 is merged.


    Commented on: 2021-11-05 by @shymega

    The CI check seems to have been skipped. Odd. Might be related to the force-push fixing the PR... i can't trigger a build myself.


    Commented on: 2021-11-05 by @shymega

    CI builds are still being skipped. Log output suggests builds aren't being triggered, but this PR changed nothing about CI triggers.


    Commented on: 2021-11-05 by @shymega

    There we go. That fixed it - I hadn't done a block comment on the disabled agents.


    Commented on: 2021-11-05 by @p12tic

    Do we really need debug builds? This would only be useful in the case that matches all of the following:

    • There is an issue that we can't reproduce.
    • The issue requires attaching a debugger as opposed to just printing more things to the logs.
    • There is an user that can use a debugger.
    • The user can't build Barrier themselves.

    I think the likelihood for such problems is very small and worst case we can build barrier ourselves.


    Commented on: 2021-11-05 by @p12tic

    Release notes are needed for user-visible features. In this case the user doesn't see anything yet, is that right?


    Commented on: 2021-11-05 by @shymega

    Oh. I just followed the PR template. I can remove this if you'd like me to.


    Commented on: 2021-11-05 by @shymega

    Sure, I was merely mirroring your feedback in the Mac PR, and I didn't see any harm in including it here. Would you like me to remove the Debug builds?


    Commented on: 2021-11-05 by @p12tic

    In this case I will need to remove this release note when doing the release anyway, so better remove.

    I should have said something about PRs with non user visible features in the PR template


    Commented on: 2021-11-05 by @shymega

    OK, removed in 21eae23e.


    Commented on: 2021-11-05 by @shymega

    OK. So, my proposal is to remove the Debug builds, keep the Release builders, and generate installers from the 2016 agent, if that one works. I will use a condition for the installer part, based on the imageName variable - not the CI_ENV_BUILD_TYPE, which means less complexity. Thoughts?


    Commented on: 2021-11-05 by @p12tic

    Sounds good.


    Commented on: 2021-11-05 by @shymega

    Resolved in be2f658f.


    Commented on: 2021-11-05 by @shymega

    I've rebased to master. I'm waiting for CI checks now, but I think we should squash the numerous commits here.

    build-infra windows 
    opened by povilas-barrier-bot 3
  • azure-pipelines: Disable macOS mojave build

    azure-pipelines: Disable macOS mojave build

    Azure will drop support for Mojave builds soon and builds are failing due to agent provisioning issues already.

    opened by p12tic 3
  • Fixed missing free of SSL certificate

    Fixed missing free of SSL certificate

    Fixed missing free of SSL certificate and combining two similar certifcation check functions into one.

    I noticed the existing function verify_cert_fingerprint called SSL_get_peer_certificate without a following X509_free. That surely must lead to a resource leak? Also the existing code called helper function verify_cert_fingerprint before ensure_peer_certificate, but if the peer has no cert (cert is NULL) then verify_cert_fingerprint would return false and the ensure_peer_certificate not be called. So the only remaining use of ensure_peer_certificate was only when there actually was a certificate, to write a log line with the certificate's subject. Therefore I combined these two into one common function, then only one call to SSL_get_peer_certificate, followed by a call to X509_free, is needed to do both things.

    Contributor Checklist:

    • [X] I have created a file in the doc/newsfragments directory IF it is a user-visible change (and make sure to read the README.md in that directory)
    opened by albertony 2
  • Windows build warnings

    Windows build warnings

    Fixed all compiler warnings when building only the command line programs with Windows with Visual Studio 2022 (VC 14.30):

    "BARRIER_BUILD_GUI": false,
    "BARRIER_BUILD_INSTALLER": false
    

    I'm quite sure the added numeric type casts are safe with regards to overflow.

    The most controversial change is probably the added header src/lib/common/win32/winapi.h for just including Windows.h - but with preprocessor directives: WIN32_LEAN_AND_MEAN, STRICT and NOMINMAX. Don't know if you think this is a good idea? (And if you have a better name for it...) Main reason is I needed the NOMINMAX to avoid conflict with legacy max macro when using numeric_limits<int>::max(). There was (and still is outside of the command line "world" I am compiling atm) quite a few instances of the following:

    #define WIN32_LEAN_AND_MEAN
    #include <Windows.h>
    

    An alternative could be to define them at CMake level with add_compile_definitions, but would then have to be done for every target..

    PS: Congrats on your new project. Looking forward to follow its development!

    Contributor Checklist:

    • [x] I have created a file in the doc/newsfragments directory IF it is a user-visible change (and make sure to read the README.md in that directory)
    opened by albertony 2
  • Build full installer via clean_build.sh

    Build full installer via clean_build.sh

    This PR has been migrated from old Barrier Github repository https://github.com/debauchee/barrier/pull/157

    PR created on: 2018-10-18 by @p12tic PR last updated on: 2020-05-30

    Currently doing env B_BUILD_TYPE=Release ./clean_build.sh won't build full installer on OSX as build_installer.sh script won't be run. This PR reduces the possible confusion by including the installer into the regular build process handled by cmake. Tested the resulting dmg on all of OSX 10.12, 10.13 and 10.14.


    Commented on: 2018-10-19 by @AdrianKoshka

    Seems one of our Xcode machines for travis failed


    Commented on: 2018-10-19 by @p12tic

    @AdrianKoshka Seems like infrastructure issues. Reran the builder and it finished successfully.


    Commented on: 2018-10-20 by @p12tic

    @AdrianKoshka I was wondering, would it make sense not to squash all commits into one when there's more than one commit in the pull request? Right now the final commit is basically a combination of two unrelated commits and if someone ends up investigating it for some reason, then one of the parts will be just noise for him and much more confusing compared to if the full history of two commits would have been preserved.


    Commented on: 2018-10-20 by @AdrianKoshka

    Hrmm, good point, in future at anybodies request, we can keep individual commits instead of squashing. I wonder if I could just revert and then merge back without the squashed commits, or would that be more confusing?


    Commented on: 2018-10-21 by @p12tic

    I wonder if I could just revert and then merge back without the squashed commits, or would that be more confusing?

    I think it not worth bothering this time. I raised the point just for the future :-)

    What I do in the projects I maintain is reviewing how a PR is distributed into commits and if it makes sense to split or merge the commits I ask the contributor to do so. This way the history is kept logical and the PR can be always simply merged.


    Closed on: 2018-10-19

    opened by povilas-barrier-bot 2
  • Polish diacritics can't be typed between Linux server and Windows client

    Polish diacritics can't be typed between Linux server and Windows client

    This issue has been migrated from old Barrier Github repository https://github.com/debauchee/barrier/issues/1280

    Issue created on: 2021-09-07 by @steelman Issue last updated on: 2021-11-05

    What happened?

    1. Set keyboard layout on Linux (X11) to Polish setxkbmap pl
    2. Start barrier server on Linux and the client on Windows (10)
    3. Move mouse to Windows client and start typing
    4. Type Alt_R+l (lowercase L) on Linux keyboard to get "ł" on Windows (or Alt_R+[acenosxz] for "ąćęńóśźż" resp., doesn't work for uppercase too)
    5. The character does not appear on Windows.

    Workaround:

    1. Use us keyboard layout on Linux (setxkbmap us)

    Version

    v2.3.3

    Git commit hash (if applicable)

    No response

    If applicable, where did you install Barrier from?

    Linux: from Debian 10 repo Windows: from GH release

    What OSes are you seeing the problem on? (Check all that apply)

    Linux, Windows

    What OS versions are you using?

    • Debian 10
    • Windows 10

    Relevant log output

    * With Polish keymap
    
    xev(1) output for Alt_R+l:
    
    KeyPress event, serial 36, synthetic NO, window 0x6200001,
        root 0x157, subw 0x0, time 346348511, (452,431), root:(454,453),
        state 0x0, keycode 108 (keysym 0xfe03, ISO_Level3_Shift), same_screen YES,
        XKeysymToKeycode returns keycode: 92
        XLookupString gives 0 bytes: 
        XmbLookupString gives 0 bytes: 
        XFilterEvent returns: False
    
    KeyPress event, serial 36, synthetic NO, window 0x6200001,
        root 0x157, subw 0x0, time 346349367, (452,431), root:(454,453),
        state 0x80, keycode 46 (keysym 0x1b3, lstroke), same_screen YES,
        XLookupString gives 2 bytes: (c5 82) "ł"
        XmbLookupString gives 2 bytes: (c5 82) "ł"
        XFilterEvent returns: False
    
    KeyRelease event, serial 36, synthetic NO, window 0x6200001,
        root 0x157, subw 0x0, time 346349447, (452,431), root:(454,453),
        state 0x80, keycode 46 (keysym 0x1b3, lstroke), same_screen YES,
        XLookupString gives 2 bytes: (c5 82) "ł"
        XFilterEvent returns: False
    
    KeyRelease event, serial 36, synthetic NO, window 0x6200001,
        root 0x157, subw 0x0, time 346351175, (452,431), root:(454,453),
        state 0x80, keycode 108 (keysym 0xfe03, ISO_Level3_Shift), same_screen YES,
        XKeysymToKeycode returns keycode: 92
        XLookupString gives 0 bytes: 
        XFilterEvent returns: False
    
    Barrier Server:
    
    [2021-09-06T11:11:22] DEBUG1: new mask: 0x0000
    [2021-09-06T11:11:22] DEBUG1: event: KeyPress code=108, state=0x0000
    [2021-09-06T11:11:22] DEBUG1: onKeyDown id=61310 mask=0x0000 button=0x006c
    [2021-09-06T11:11:22] DEBUG1: send key down to "CLNT" id=61310, mask=0x0000, button=0x006c
    [2021-09-06T11:11:23] DEBUG1: new mask: 0x0020
    [2021-09-06T11:11:23] DEBUG1: event: KeyPress code=46, state=0x0080
    [2021-09-06T11:11:23] DEBUG1: onKeyDown id=322 mask=0x0020 button=0x002e
    [2021-09-06T11:11:23] DEBUG1: send key down to "CLNT" id=322, mask=0x0020, button=0x002e
    [2021-09-06T11:11:23] DEBUG1: new mask: 0x0020
    [2021-09-06T11:11:23] DEBUG1: event: KeyRelease code=46, state=0x0080
    [2021-09-06T11:11:23] DEBUG1: onKeyUp id=322 mask=0x0020 button=0x002e
    [2021-09-06T11:11:23] DEBUG1: send key up to "CLNT" id=322, mask=0x0020, button=0x002e
    [2021-09-06T11:11:23] DEBUG1: new mask: 0x0020
    [2021-09-06T11:11:23] DEBUG1: event: KeyRelease code=108, state=0x0080
    [2021-09-06T11:11:23] DEBUG1: onKeyUp id=61310 mask=0x0020 button=0x006c
    [2021-09-06T11:11:23] DEBUG1: send key up to "CLNT" id=61310, mask=0x0020, button=0x006c
    
    Barrier Client:
    
    [2021-09-06T12:07:06] DEBUG1: recv key down id=0x0000ef7e, mask=0x0000, button=0x006c
    [2021-09-06T12:07:06] DEBUG1: mapKey ef7e (61310) with mask 0000, start state: 2000
    [2021-09-06T12:07:06] DEBUG1: key ef7e is not on keyboard
    [2021-09-06T12:07:06] DEBUG1: recv key down id=0x00000142, mask=0x0020, button=0x002e
    [2021-09-06T12:07:06] DEBUG1: mapKey 0142 (322) with mask 0020, start state: 2000
    [2021-09-06T12:07:06] DEBUG1: no mapping for key 0142
    [2021-09-06T12:07:06] DEBUG1: recv key up id=0x0000ef7e, mask=0x0020, button=0x006c
    [2021-09-06T12:07:06] DEBUG1: recv key up id=0x0000006c, mask=0x0000, button=0x0000
    
    * With US keymap
    
    xev(1) output for Alt_R+l:
    
    KeyPress event, serial 33, synthetic NO, window 0x6200001,
        root 0x157, subw 0x0, time 346405527, (561,752), root:(563,774),
        state 0x0, keycode 108 (keysym 0xffea, Alt_R), same_screen YES,
        XLookupString gives 0 bytes: 
        XmbLookupString gives 0 bytes: 
        XFilterEvent returns: False
    
    KeyPress event, serial 36, synthetic NO, window 0x6200001,
        root 0x157, subw 0x0, time 346405967, (561,752), root:(563,774),
        state 0x8, keycode 46 (keysym 0x6c, l), same_screen YES,
        XLookupString gives 1 bytes: (6c) "l"
        XmbLookupString gives 1 bytes: (6c) "l"
        XFilterEvent returns: False
    
    KeyRelease event, serial 36, synthetic NO, window 0x6200001,
        root 0x157, subw 0x0, time 346406119, (561,752), root:(563,774),
        state 0x8, keycode 46 (keysym 0x6c, l), same_screen YES,
        XLookupString gives 1 bytes: (6c) "l"
        XFilterEvent returns: False
    
    KeyRelease event, serial 36, synthetic NO, window 0x6200001,
        root 0x157, subw 0x0, time 346407503, (561,752), root:(563,774),
        state 0x8, keycode 108 (keysym 0xffea, Alt_R), same_screen YES,
        XLookupString gives 0 bytes: 
        XFilterEvent returns: False
    
    Barrier Server:
    
    [2021-09-06T11:17:25] DEBUG1: event: KeyPress code=108, state=0x0000
    [2021-09-06T11:17:25] DEBUG1: onKeyDown id=61418 mask=0x0000 button=0x006c
    [2021-09-06T11:17:25] DEBUG1: send key down to "CLNT" id=61418, mask=0x0000, button=0x006c
    [2021-09-06T11:17:26] DEBUG1: new mask: 0x0004
    [2021-09-06T11:17:26] DEBUG1: event: KeyPress code=46, state=0x0008
    [2021-09-06T11:17:26] DEBUG1: onKeyDown id=108 mask=0x0004 button=0x002e
    [2021-09-06T11:17:26] DEBUG1: send key down to "CLNT" id=108, mask=0x0004, button=0x002e
    [2021-09-06T11:17:26] DEBUG1: new mask: 0x0004
    [2021-09-06T11:17:26] DEBUG1: event: KeyRelease code=46, state=0x0008
    [2021-09-06T11:17:26] DEBUG1: onKeyUp id=108 mask=0x0004 button=0x002e
    [2021-09-06T11:17:26] DEBUG1: send key up to "CLNT" id=108, mask=0x0004, button=0x002e
    [2021-09-06T11:17:26] DEBUG1: new mask: 0x0004
    [2021-09-06T11:17:26] DEBUG1: event: KeyRelease code=108, state=0x0008
    [2021-09-06T11:17:26] DEBUG1: onKeyUp id=61418 mask=0x0004 button=0x006c
    [2021-09-06T11:17:26] DEBUG1: send key up to "CLNT" id=61418, mask=0x0004, button=0x006c
    
    Client:
    
    [2021-09-06T12:07:48] DEBUG1: recv key down id=0x0000efea, mask=0x0000, button=0x006c
    [2021-09-06T12:07:48] DEBUG1: mapKey efea (61418) with mask 0000, start state: 2000
    [2021-09-06T12:07:48] DEBUG1: find best:  2000 0000
    [2021-09-06T12:07:48] DEBUG1: best key index 1 of 1 (exact)
    [2021-09-06T12:07:48] DEBUG1: found key in group 0
    [2021-09-06T12:07:48] DEBUG1: state: 2000,0000,0000
    [2021-09-06T12:07:48] DEBUG1: flip: 0000 (2000 vs 0000 in 0000 - 0000)
    [2021-09-06T12:07:48] DEBUG1: desired state: 0000 2000,0000,0000
    [2021-09-06T12:07:48] DEBUG1: flip: 0000 (2000 vs 0000 in fffb - 6020)
    [2021-09-06T12:07:48] DEBUG1: mapped to 138, new state 2004
    [2021-09-06T12:07:48] DEBUG1: keystrokes:
    [2021-09-06T12:07:48] DEBUG1:   138 (000000a5) down
    [2021-09-06T12:07:48] DEBUG1: recv key down id=0x0000006c, mask=0x0004, button=0x002e
    [2021-09-06T12:07:48] DEBUG1: mapKey 006c (108) with mask 0004, start state: 2004
    [2021-09-06T12:07:48] INFO: found key in group 0
    [2021-09-06T12:07:48] DEBUG1: state: 2004,0000,0000
    [2021-09-06T12:07:48] DEBUG1: flip: 0000 (2004 vs 0000 in 0000 - 0000)
    [2021-09-06T12:07:48] DEBUG1: desired state: 0004 2004,0000,1007
    [2021-09-06T12:07:48] DEBUG1: flip: 0000 (2004 vs 0004 in ffff - 6020)
    [2021-09-06T12:07:48] DEBUG1: mapped to 026, new state 2004
    [2021-09-06T12:07:48] DEBUG1: keystrokes:
    [2021-09-06T12:07:48] DEBUG1:   026 (0000004c) down
    [2021-09-06T12:07:48] DEBUG1: recv key up id=0x0000efea, mask=0x0004, button=0x006c
    [2021-09-06T12:07:48] DEBUG1: new state 2000
    [2021-09-06T12:07:48] DEBUG1: keystrokes:
    [2021-09-06T12:07:48] DEBUG1:   138 (000000a5) up
    

    Any other information

    No response


    Commented on: 2021-09-14 by @FliesWithWind

    Same thing is happening to me, running both client and server on Windows. Workaround seems to be working.


    Commented on: 2021-10-12 by @DanielJoyce

    What's the keyboard layout on windows? is it US or PL as well? if it's sending RAW keycodes, and Linux was PL and windows was US, I'd expect the keypresses to be interpreted differently on the windows side.


    Commented on: 2021-10-12 by @steelman

    It's PL on Windows.


    Commented on: 2021-11-05 by @JakubRakus

    Have the same problem, but server and client both have the same OS (Ubuntu 20.04), keyboard layout PL and barrier version 2.3.3, installed from official repositories.

    bug 
    opened by povilas-barrier-bot 2
  • Make Barrier work over Bluetooth sockets.

    Make Barrier work over Bluetooth sockets.

    This PR has been migrated from old Barrier Github repository https://github.com/debauchee/barrier/pull/27

    PR created on: 2018-03-31 by @ali1234 PR last updated on: 2018-09-09

    I don't expect you to merge this but I wanted to draw your attention to it, and ask if you are interested in this functionality.

    This patch makes barrier run over RFCOMM bluetooth sockets. This is useful for a number of reasons:

    • It is encrypted by default.
    • It is "out of band" - meaning you won't lose control if the network connection goes down or is swamped by a large file transfer.
    • SDP allows a laptop running the client to "roam" between two or more servers, eg home and work.

    It is adapted from synergy-bluetooth which I created nearly 10 years ago with assistance from Valmantas Palikša aka @walmis, who was the maintainer of Blueman at the time. I had thought the code lost, but I was inspired to go looking again with the release of Barrier. I have ported the old code to Barrier and tested that it still works. Unfortunately the change history and attribution is definitely lost, unless walmis has it.

    This is Linux-only, and currently breaks TCP socket implementation.

    To use it you must run bluetoothd with --compat and give yourself write access to /var/run/sdp. The SDP code will need to be ported to the new DBUS implementation to fix this.

    No changes are needed in the server config file.

    The client can be run with no arguments. It will scan for a server using SDP. Alternatively a BDADDR can be supplied (run hciconfig on the server to find it). This mode of operation is more reliable and does not require the server to be discoverable. However, SDP scanning allows a client to roam between servers seamlessly.

    The SDP code is copyright (C) 2009 Valmantas Palikša.

    The trick here is that bluetooth sockets are nearly interchangable with AF_INET sockets on Linux. Also, since the addition of ipv6, there is already support for two different AF socket families and the ability to select which address family to use in many (but not all) parts of the code. AF_BLUETOOTH only really requires slightly different name resolution and everything else works the same. In fact TCPListenSocket already works with AF_BLUETOOTH with no modifications, so maybe its name is not entirely accurate. ;)

    The most obvious problem with this patch is that it currently replaces TCP/IP function. In the Ipc classes, and in some other places, the choice of address family is hardcoded. Rather than try to add run time selection like the old version did, I have simply changed them all to kBLUETOOTH. However, in many other places, adding support is as simple as adding another case: to a switch statement.

    There is also the issue of SDP. This makes up the bulk of the patch. In Bluez 5 the API used here is deprecated, replaced by a DBus protocol. This may mean a dependency on glib or some other DBus handling library.


    Commented on: 2018-04-01 by @walker0643

    Talked with @ali1234 via IRC. He will continue working on the patch to meet at least the following criteria:

    • [ ] No additional mandatory prerequisites to build or to run Barrier
    • [ ] Does not inhibit the existing TCP/IP connection method
    • [ ] Building without bluetooth package(s) will remove the option to use bluetooth. Building WITH bluetooth package(s) will add the option to enable bluetooth in UI settings but this setting will be off by default

    To use bluetooth with Barrier the user will need to install the appropriate prerequisites, (re-)build Barrier, and enable the bluetooth option in UI settings.

    My next concern will be portability. It seems that getting bluetooth code going on Windows is problematic. I'm not sure why yet. Licensing issues?

    Let's see where this goes.


    Commented on: 2018-06-30 by @walker0643

    @ali1234 - Are we still working on this PR??


    Commented on: 2018-07-01 by @ali1234

    I'm not really sure how to proceed with this. There are two problems:

    1. The remaining breaking changes are quite small, but I think fixing them would need quite a lot of refactoring. I'm not sure how to approach it wrt creating a new option and exposing it to the user. This is a user interface design problem, and I am no good at that stuff. I also don't know how the GUI works at all. I have only ever used synergy by writing a config file and launching synergyc/synergys from the command line.

    2. The SSDP code is supposed to be replaced by DBus calls. Without porting to DBus, making it work requires enabling legacy bluetooth support in the operating system, which is difficult and annoying for the user. The problem here is that DBus is really annoying for developers, and I don't have time at the moment to re-learn how to do it in C code.


    Commented on: 2018-07-01 by @p12tic

    The problem here is that DBus is really annoying for developers, and I don't have time at the moment to re-learn how to do it in C code.

    Just a nitpick: you don't need to do DBus integration in C, there's C++ wrapper in Qt: https://doc.qt.io/qt-5/qdbusconnection.html


    Commented on: 2018-09-08 by @walker0643

    @ali1234 Should we drop this for now? We can always resume if you find more time in the future.


    Commented on: 2018-09-09 by @ali1234

    Yes, lets close it for now.


    Closed on: 2018-09-09

    opened by povilas-barrier-bot 1
  • Fixes crash introduced in #172

    Fixes crash introduced in #172

    This PR has been migrated from old Barrier Github repository https://github.com/debauchee/barrier/pull/180

    PR created on: 2018-11-21 by @mokibit PR last updated on: 2018-11-21

    #172 introduced crash on startup on Linux. For some reason I didn't notice it when testing, maybe didn't rebuild properly. This PR fixes the issues, tested again successfully. Sorry for breakage.

    Fixes #175.


    Commented on: 2018-11-21 by @p12tic

    LGTM. Seems that we should have some kind of integration test to never let this happen again.


    Commented on: 2018-11-21 by @AdrianKoshka

    I'll pull it in then. :)


    Closed on: 2018-11-21

    opened by povilas-barrier-bot 1
  • docker recipes for several linux distributions

    docker recipes for several linux distributions

    This PR has been migrated from old Barrier Github repository https://github.com/debauchee/barrier/pull/24

    PR created on: 2018-03-23 by @truatpasteurdotfr PR last updated on: 2018-03-24

    works for me on c6/c7/f27 and tentative debian9


    Closed on: 2018-03-24

    opened by povilas-barrier-bot 1
  • Active Barrier maintainers have moved here

    Active Barrier maintainers have moved here

    The active maintainers of Barrier for the past 2 years, @p12tic and @shymega [1] have moved their efforts to this repository.

    The reasons are the following:

    • All important parts of the project were controlled by walker0643. No one knows the real identity of that person.
    • walker0643 has not been active for at least 2 years and did not give enough administrative access to anyone else, which caused operational issues maintaining the project.
    • The name debauchee is not professional and should not be associated to a popular project.

    Our attempts to achieve a compromise have failed, walker0643 did not think that a fork is bad and encouraged it himself so we are here.

    We intend to maintain compatibility with older versions of Barrier.

    Currently we think that InputLeap would be a good new name for the project. We will confirm this when we do the first release from this repository. Picking new names will need changes in the directory structure of the project, so we want to delay this for as long as possible.

    [1]: During the past 2 years since v2.3.2 @p12tic and @shymega together authored 305 commits which is more than twice the number of commits by all the rest of contributors (150 commits). This can be checked by running git shortlog -ns v2.3.2..master on the Barrier repository.

    opened by p12tic 2
  • process exited with error code: 11 after server start

    process exited with error code: 11 after server start

    This issue has been migrated from old Barrier Github repository https://github.com/debauchee/barrier/issues/1413

    Issue created on: 2021-11-09 by @matthewdavis Issue last updated on: 2021-11-09

    What happened?

    Server dies immeidately after launch from the GUI.

    Version

    v2.4.0

    Git commit hash (if applicable)

    No response

    If applicable, where did you install Barrier from?

    arch repos

    What OSes are you seeing the problem on? (Check all that apply)

    Linux

    What OS versions are you using?

    Arch current (09-Nov-2021)

    Relevant log output

    [2021-11-09T14:27:44] INFO: starting server
    [2021-11-09T14:27:44] DEBUG: command: /usr/bin/barriers -f --no-tray --debug DEBUG2 --name matt-desktop --disable-client-cert-checking -c /tmp/Barrier.VStSLJ --address :24800
    [2021-11-09T14:27:44] INFO: config file: /tmp/Barrier.CxnaKQ
    [2021-11-09T14:27:44] INFO: log level: DEBUG2
    [2021-11-09T14:27:44] DEBUG: opening configuration "/tmp/Barrier.VStSLJ"
    [2021-11-09T14:27:44] DEBUG: configuration read successfully
    [2021-11-09T14:27:44] DEBUG1: starting server
    [2021-11-09T14:27:44] DEBUG1: thread 0x00000002 entry
    [2021-11-09T14:27:44] DEBUG: XOpenDisplay(":0")
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x01a00009
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x012000dc
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x012051b3
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x012051b6
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x01201643
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x012095c9
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x012095cd
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x0120948b
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x0120948f
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x01200128
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x0120525b
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x0120525a
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x01200013
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x00a00004
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x01000004
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x01200004
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x01400004
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x01200011
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x01200012
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x01200015
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x01200017
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x01200018
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x01800004
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x01200043
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x01800006
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x00e00004
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x00e00005
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x01a00004
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x01a00005
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x01c00004
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x01e00004
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x02000004
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x02200004
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x01e00005
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x02400004
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x01000005
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x02600004
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x02800004
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x02a00004
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x02a00005
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x02a00009
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x02c00004
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x0220001b
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x02e00004
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x02e00005
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x0220001e
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x03200004
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x012000e0
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x03600001
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x03600003
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x03400008
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x03c00004
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x04200004
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x04000004
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x03e00004
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x04400004
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x04600004
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x04800004
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x04a00004
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x02200053
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x04c00004
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x02200055
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x03600011
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x0220005a
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x0220006c
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x03400009
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x022000ce
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x01c00008
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x03400007
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x04e00001
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x04e0004a
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x04e0009c
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x04e000b5
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x04e000c5
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x02200184
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x02200156
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x022001cb
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x022001dc
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x0220001c
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x02200033
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x04e000d8
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x05400004
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x05600004
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x08a00004
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x08a00008
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x08a00009
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x04e000fb
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x0120521f
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x0120525c
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x0120526c
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x04e00113
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x0120532d
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x04e0011a
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x05200004
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x05200008
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x05200013
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x02800005
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x02a00007
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x02200057
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x05a00004
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x05a00008
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x05a00006
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x05a00016
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x05c00004
    [2021-11-09T14:27:44] DEBUG: xscreensaver window: 0x00000000
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x01a00009
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x012000dc
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x012051b3
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x012051b6
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x01201643
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x012095c9
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x012095cd
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x0120948b
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x0120948f
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x01200128
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x0120525b
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x0120525a
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x01200013
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x00a00004
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x01000004
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x01200004
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x01400004
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x01200011
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x01200012
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x01200015
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x01200017
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x01200018
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x01800004
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x01200043
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x01800006
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x00e00004
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x00e00005
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x01a00004
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x01a00005
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x01c00004
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x01e00004
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x02000004
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x02200004
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x01e00005
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x02400004
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x01000005
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x02600004
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x02800004
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x02a00004
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x02a00005
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x02a00009
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x02c00004
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x0220001b
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x02e00004
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x02e00005
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x0220001e
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x03200004
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x012000e0
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x03600001
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x03600003
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x03400008
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x03c00004
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x04200004
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x04000004
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x03e00004
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x04400004
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x04600004
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x04800004
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x04a00004
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x02200053
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x04c00004
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x02200055
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x03600011
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x0220005a
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x0220006c
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x03400009
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x022000ce
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x01c00008
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x03400007
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x04e00001
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x04e0004a
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x04e0009c
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x04e000b5
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x04e000c5
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x02200184
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x02200156
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x022001cb
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x022001dc
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x0220001c
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x02200033
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x04e000d8
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x05400004
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x05600004
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x08a00004
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x08a00008
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x08a00009
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x04e000fb
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x0120521f
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x0120525c
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x0120526c
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x04e00113
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x0120532d
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x04e0011a
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x05200004
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x05200008
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x05200013
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x02800005
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x02a00007
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x02200057
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x05a00004
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x05a00008
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x05a00006
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x05a00016
    [2021-11-09T14:27:44] DEBUG2: can't read property 574 on window 0x05c00004
    [2021-11-09T14:27:44] DEBUG: screen shape: 0,0 1920x1080 
    [2021-11-09T14:27:44] DEBUG: window is 0x05c00004
    [2021-11-09T14:27:44] DEBUG: adopting new buffer
    [2021-11-09T14:27:44] DEBUG: opened display
    [2021-11-09T14:27:44] DEBUG1: registered event type error as 4
    [2021-11-09T14:27:44] DEBUG1: registered event type suspend as 5
    [2021-11-09T14:27:44] DEBUG1: registered event type resume as 6
    [2021-11-09T14:27:44] DEBUG1: creating primary screen
    [2021-11-09T14:27:44] ERROR: process exited with error code: 11
    [2021-11-09T14:27:44] INFO: detected process not running, auto restarting
    

    Any other information

    Launching barrier from the GUI, server crashes immediately. I've tried a 'fresh' install by clearing out ~/.local/share/barrier and ~/.config/Debauchee. Upon initial launch, config as a server and it dies immediately.


    Commented on: 2021-11-09 by @shymega

    Did v2.3.3 have the same issue upon reproduction?


    Commented on: 2021-11-09 by @matthewdavis

    Yes. I just reproduced on 2.3.3. Same issue. I've had it for sometime now. Just now getting around to filing the bug report.


    Commented on: 2021-11-09 by @matthewdavis

    My workaround has been to save the configuration and run barriers manually against the file. That seemed to work.

    opened by povilas-barrier-bot 0
  • Copy from Windows to Mac (only Messages app) returns Chinese characters

    Copy from Windows to Mac (only Messages app) returns Chinese characters

    This issue has been migrated from old Barrier Github repository https://github.com/debauchee/barrier/issues/1410

    Issue created on: 2021-11-09 by @bizarronot Issue last updated on: 2021-11-09

    What happened?

    Copy from Windows to Mac returns Chinese characters Server in the middle : Windows 10 Below laptop : Macbook pro

    When I select/copy a text from anywhere in Windows 10 and paste it into Message in MacOS it returns Chinese characters.

    To Reproduce

    Steps to reproduce the behavior:

    Copy any text in Windows 10 Move cursor to MacOS Open the Messages app Paste the text You get chinese characters

    Expected behavior Get normal text.

    Screen Shot 2021-11-09 at 6 55 15 AM

    Version

    v2.4.0

    Git commit hash (if applicable)

    3e0d758b

    If applicable, where did you install Barrier from?

    Github

    What OSes are you seeing the problem on? (Check all that apply)

    macOS

    What OS versions are you using?

    Client (where error is): macOS Big Sure Version 11.6 Server: Windows 10 Pro version 21H1

    Relevant log output

    No response

    Any other information

    No response


    Commented on: 2021-11-09 by @shymega

    Did this work with v2.3.3?

    bug macOS windows v2.4.0 
    opened by povilas-barrier-bot 0
  • macOS 2.4.0 backtick(`) key mapping and  trackpad double tap error on Ubuntu

    macOS 2.4.0 backtick(`) key mapping and trackpad double tap error on Ubuntu

    This issue has been migrated from old Barrier Github repository https://github.com/debauchee/barrier/issues/1407

    Issue created on: 2021-11-09 by @haililihai Issue last updated on: 2021-11-09

    What happened?

    Bug When the cursor is already on client (Ubuntu 18.04),

    1. Pressing backtick(`) key on server (macOS version 2.4.0), ` (or ~) does not show on client screen.
    2. Double tapping (right click) only show menu on server screen.

    However, macOS 2.3.4 work.

    Version

    v2.4.0

    Git commit hash (if applicable)

    No response

    If applicable, where did you install Barrier from?

    No response

    What OSes are you seeing the problem on? (Check all that apply)

    macOS

    What OS versions are you using?

    Server: 2.4.0, macOS Monterey 12.0.1 Client: 2.4.0, Ubuntu 18.04

    Relevant log output

    No response

    Any other information

    No response

    opened by povilas-barrier-bot 0
  • Latest update through PAMAC on Stable Manjaro fails

    Latest update through PAMAC on Stable Manjaro fails

    This issue has been migrated from old Barrier Github repository https://github.com/debauchee/barrier/issues/1406

    Issue created on: 2021-11-08 by @zeddock Issue last updated on: 2021-11-08

    What happened?

    Since this seems so similar please see this bug report which was closed. That report had to do with a missing reference as does this appear to be missing a reference.

    https://github.com/debauchee/barrier/issues/1366

    In this NEW error, the failure happens due to"

    fatal error: ghc/fs_fwd.hpp: No such file or directory
       24 | #include <ghc/fs_fwd.hpp>
    

    Here is the complete output:

    Preparing...
    Cloning barrier-git build files...
    Generating barrier-git information...
    Checking barrier-git dependencies...
    Synchronizing package databases...
    Resolving dependencies...
    Checking inter-conflicts...
    
    Building barrier-git...
    ==> Making package: barrier-git v2.4.0+30+g4ed01413-1 (Mon 08 Nov 2021 01:20:40 PM EST)
    ==> Checking runtime dependencies...
    ==> Checking buildtime dependencies...
    ==> Retrieving sources...
      -> Updating barrier-git git repo...
    Fetching origin
    ==> Validating source files with sha512sums...
        barrier-git ... Skipped
    ==> Removing existing $srcdir/ directory...
    ==> Extracting sources...
      -> Creating working copy of barrier-git git repo...
    Cloning into 'barrier-git'...
    done.
    ==> Starting prepare()...
    ==> Starting pkgver()...
    ==> Removing existing $pkgdir/ directory...
    ==> Starting build()...
    -- The C compiler identification is GNU 11.1.0
    -- The CXX compiler identification is GNU 11.1.0
    -- Detecting C compiler ABI info
    -- Detecting C compiler ABI info - done
    -- Check for working C compiler: /usr/bin/cc - skipped
    -- Detecting C compile features
    -- Detecting C compile features - done
    -- Detecting CXX compiler ABI info
    -- Detecting CXX compiler ABI info - done
    -- Check for working CXX compiler: /usr/bin/c++ - skipped
    -- Detecting CXX compile features
    -- Detecting CXX compile features - done
    -- Full Barrier version string is '2.4.0-release-release'
    -- Found PkgConfig: /usr/bin/pkg-config (found version "1.8.0") 
    -- Looking for C++ include istream
    -- Looking for C++ include istream - found
    -- Looking for C++ include ostream
    -- Looking for C++ include ostream - found
    -- Looking for C++ include sstream
    -- Looking for C++ include sstream - found
    -- Looking for include file inttypes.h
    -- Looking for include file inttypes.h - found
    -- Looking for include file locale.h
    -- Looking for include file locale.h - found
    -- Looking for include file memory.h
    -- Looking for include file memory.h - found
    -- Looking for include file stdlib.h
    -- Looking for include file stdlib.h - found
    -- Looking for include file strings.h
    -- Looking for include file strings.h - found
    -- Looking for include file string.h
    -- Looking for include file string.h - found
    -- Looking for include file sys/select.h
    -- Looking for include file sys/select.h - found
    -- Looking for include file sys/socket.h
    -- Looking for include file sys/socket.h - found
    -- Looking for include file sys/stat.h
    -- Looking for include file sys/stat.h - found
    -- Looking for include file sys/time.h
    -- Looking for include file sys/time.h - found
    -- Looking for include file sys/utsname.h
    -- Looking for include file sys/utsname.h - found
    -- Looking for include file unistd.h
    -- Looking for include file unistd.h - found
    -- Looking for include file wchar.h
    -- Looking for include file wchar.h - found
    -- Looking for getpwuid_r
    -- Looking for getpwuid_r - found
    -- Looking for gmtime_r
    -- Looking for gmtime_r - found
    -- Looking for nanosleep
    -- Looking for nanosleep - found
    -- Looking for poll
    -- Looking for poll - found
    -- Looking for sigwait
    -- Looking for sigwait - found
    -- Looking for strftime
    -- Looking for strftime - found
    -- Looking for inet_aton
    -- Looking for inet_aton - found
    -- Looking for sys/types.h
    -- Looking for sys/types.h - found
    -- Looking for stdint.h
    -- Looking for stdint.h - found
    -- Looking for stddef.h
    -- Looking for stddef.h - found
    -- Check size of char
    -- Check size of char - done
    -- Check size of int
    -- Check size of int - done
    -- Check size of long
    -- Check size of long - done
    -- Check size of short
    -- Check size of short - done
    -- Looking for pthread.h
    -- Looking for pthread.h - found
    -- Performing Test CMAKE_HAVE_LIBC_PTHREAD
    -- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Failed
    -- Check if compiler accepts -pthread
    -- Check if compiler accepts -pthread - yes
    -- Found Threads: TRUE  
    -- Found CURL: /usr/lib/libcurl.so (found version "7.79.1")  
    -- Checking for module 'avahi-compat-libdns_sd'
    --   Found avahi-compat-libdns_sd, version 0.8
    -- Check size of XRRNotifyEvent
    -- Check size of XRRNotifyEvent - done
    -- Looking for 3 include files X11/Xlib.h, ..., X11/extensions/dpms.h
    -- Looking for 3 include files X11/Xlib.h, ..., X11/extensions/dpms.h - found
    -- Looking for include file X11/extensions/Xinerama.h
    -- Looking for include file X11/extensions/Xinerama.h - found
    -- Looking for 3 include files X11/Xlib.h, ..., X11/extensions/XKBstr.h
    -- Looking for 3 include files X11/Xlib.h, ..., X11/extensions/XKBstr.h - found
    -- Looking for include file X11/extensions/XKB.h
    -- Looking for include file X11/extensions/XKB.h - found
    -- Looking for include file X11/extensions/XTest.h
    -- Looking for include file X11/extensions/XTest.h - found
    -- Looking for include files X11/Xlib.h, X11/XKBlib.h
    -- Looking for include files X11/Xlib.h, X11/XKBlib.h - found
    -- Looking for include file X11/extensions/XInput2.h
    -- Looking for include file X11/extensions/XInput2.h - found
    -- Looking for include file dns_sd.h
    -- Looking for include file dns_sd.h - found
    -- Looking for IceConnectionNumber in SM;ICE
    -- Looking for IceConnectionNumber in SM;ICE - found
    -- Looking for DPMSQueryExtension in Xext;X11
    -- Looking for DPMSQueryExtension in Xext;X11 - found
    -- Looking for XTestQueryExtension in Xtst;Xext;X11
    -- Looking for XTestQueryExtension in Xtst;Xext;X11 - found
    -- Looking for XineramaQueryExtension in Xinerama
    -- Looking for XineramaQueryExtension in Xinerama - found
    -- Looking for XISelectEvents in Xi
    -- Looking for XISelectEvents in Xi - found
    -- Looking for XRRQueryExtension in Xrandr
    -- Looking for XRRQueryExtension in Xrandr - found
    -- Configuring directory /var/tmp/pamac-build-jim/barrier-git/src/barrier-git/build/rpm
    -- Configuring file barrier.spec
    -- Found GTest: /usr/lib64/cmake/GTest/GTestConfig.cmake (found version "1.11.0")  
    -- Checking for module 'gmock'
    --   Found gmock, version 1.11.0
    -- Configuring done
    -- Generating done
    -- Build files have been written to: /var/tmp/pamac-build-jim/barrier-git/src/barrier-git/build
    [  0%] Building CXX object src/lib/arch/CMakeFiles/arch.dir/Arch.cpp.o
    [  0%] Building CXX object src/lib/arch/CMakeFiles/arch.dir/ArchConsoleStd.cpp.o
    [  1%] Building CXX object src/lib/arch/CMakeFiles/arch.dir/ArchDaemonNone.cpp.o
    [  1%] Building CXX object src/lib/arch/CMakeFiles/arch.dir/IArchString.cpp.o
    [  2%] Building CXX object src/lib/arch/CMakeFiles/arch.dir/unix/ArchConsoleUnix.cpp.o
    [  2%] Building CXX object src/lib/arch/CMakeFiles/arch.dir/unix/ArchDaemonUnix.cpp.o
    [  3%] Building CXX object src/lib/arch/CMakeFiles/arch.dir/unix/ArchInternetUnix.cpp.o
    [  3%] Building CXX object src/lib/arch/CMakeFiles/arch.dir/unix/ArchLogUnix.cpp.o
    [  4%] Building CXX object src/lib/arch/CMakeFiles/arch.dir/unix/ArchMultithreadPosix.cpp.o
    [  4%] Building CXX object src/lib/arch/CMakeFiles/arch.dir/unix/ArchNetworkBSD.cpp.o
    [  4%] Building CXX object src/lib/arch/CMakeFiles/arch.dir/unix/ArchSleepUnix.cpp.o
    [  5%] Building CXX object src/lib/arch/CMakeFiles/arch.dir/unix/ArchStringUnix.cpp.o
    [  5%] Building CXX object src/lib/arch/CMakeFiles/arch.dir/unix/ArchSystemUnix.cpp.o
    [  6%] Building CXX object src/lib/arch/CMakeFiles/arch.dir/unix/ArchTaskBarXWindows.cpp.o
    [  6%] Building CXX object src/lib/arch/CMakeFiles/arch.dir/unix/ArchTimeUnix.cpp.o
    [  7%] Building CXX object src/lib/arch/CMakeFiles/arch.dir/unix/XArchUnix.cpp.o
    [  7%] Linking CXX static library libarch.a
    [  7%] Built target arch
    [  7%] Building CXX object src/lib/common/CMakeFiles/common.dir/DataDirectories_static.cpp.o
    In file included from /var/tmp/pamac-build-jim/barrier-git/src/barrier-git/src/lib/common/DataDirectories.h:21,
                     from /var/tmp/pamac-build-jim/barrier-git/src/barrier-git/src/lib/common/DataDirectories_static.cpp:18:
    /var/tmp/pamac-build-jim/barrier-git/src/barrier-git/src/./lib/io/filesystem.h:24:10: fatal error: ghc/fs_fwd.hpp: No such file or directory
       24 | #include <ghc/fs_fwd.hpp>
          |          ^~~~~~~~~~~~~~~~
    compilation terminated.
    make[2]: *** [src/lib/common/CMakeFiles/common.dir/build.make:76: src/lib/common/CMakeFiles/common.dir/DataDirectories_static.cpp.o] Error 1
    make[1]: *** [CMakeFiles/Makefile2:495: src/lib/common/CMakeFiles/common.dir/all] Error 2
    make: *** [Makefile:166: all] Error 2
    ==> ERROR: A failure occurred in build().
        Aborting...
    
    

    Version

    v2.4.0

    Git commit hash (if applicable)

    No response

    If applicable, where did you install Barrier from?

    Manjaro Stablepamac GUI

    image

    What OSes are you seeing the problem on? (Check all that apply)

    Linux

    What OS versions are you using?

    No Change from original link

    Relevant log output

    Preparing...
    Cloning barrier-git build files...
    Generating barrier-git information...
    Checking barrier-git dependencies...
    Synchronizing package databases...
    Resolving dependencies...
    Checking inter-conflicts...
    
    Building barrier-git...
    ==> Making package: barrier-git v2.4.0+30+g4ed01413-1 (Mon 08 Nov 2021 01:24:54 PM EST)
    ==> Checking runtime dependencies...
    ==> Checking buildtime dependencies...
    ==> Retrieving sources...
      -> Updating barrier-git git repo...
    Fetching origin
    ==> Validating source files with sha512sums...
        barrier-git ... Skipped
    ==> Removing existing $srcdir/ directory...
    ==> Extracting sources...
      -> Creating working copy of barrier-git git repo...
    Cloning into 'barrier-git'...
    done.
    ==> Starting prepare()...
    ==> Starting pkgver()...
    ==> Removing existing $pkgdir/ directory...
    ==> Starting build()...
    -- The C compiler identification is GNU 11.1.0
    -- The CXX compiler identification is GNU 11.1.0
    -- Detecting C compiler ABI info
    -- Detecting C compiler ABI info - done
    -- Check for working C compiler: /usr/bin/cc - skipped
    -- Detecting C compile features
    -- Detecting C compile features - done
    -- Detecting CXX compiler ABI info
    -- Detecting CXX compiler ABI info - done
    -- Check for working CXX compiler: /usr/bin/c++ - skipped
    -- Detecting CXX compile features
    -- Detecting CXX compile features - done
    -- Full Barrier version string is '2.4.0-release-release'
    -- Found PkgConfig: /usr/bin/pkg-config (found version "1.8.0") 
    -- Looking for C++ include istream
    -- Looking for C++ include istream - found
    -- Looking for C++ include ostream
    -- Looking for C++ include ostream - found
    -- Looking for C++ include sstream
    -- Looking for C++ include sstream - found
    -- Looking for include file inttypes.h
    -- Looking for include file inttypes.h - found
    -- Looking for include file locale.h
    -- Looking for include file locale.h - found
    -- Looking for include file memory.h
    -- Looking for include file memory.h - found
    -- Looking for include file stdlib.h
    -- Looking for include file stdlib.h - found
    -- Looking for include file strings.h
    -- Looking for include file strings.h - found
    -- Looking for include file string.h
    -- Looking for include file string.h - found
    -- Looking for include file sys/select.h
    -- Looking for include file sys/select.h - found
    -- Looking for include file sys/socket.h
    -- Looking for include file sys/socket.h - found
    -- Looking for include file sys/stat.h
    -- Looking for include file sys/stat.h - found
    -- Looking for include file sys/time.h
    -- Looking for include file sys/time.h - found
    -- Looking for include file sys/utsname.h
    -- Looking for include file sys/utsname.h - found
    -- Looking for include file unistd.h
    -- Looking for include file unistd.h - found
    -- Looking for include file wchar.h
    -- Looking for include file wchar.h - found
    -- Looking for getpwuid_r
    -- Looking for getpwuid_r - found
    -- Looking for gmtime_r
    -- Looking for gmtime_r - found
    -- Looking for nanosleep
    -- Looking for nanosleep - found
    -- Looking for poll
    -- Looking for poll - found
    -- Looking for sigwait
    -- Looking for sigwait - found
    -- Looking for strftime
    -- Looking for strftime - found
    -- Looking for inet_aton
    -- Looking for inet_aton - found
    -- Looking for sys/types.h
    -- Looking for sys/types.h - found
    -- Looking for stdint.h
    -- Looking for stdint.h - found
    -- Looking for stddef.h
    -- Looking for stddef.h - found
    -- Check size of char
    -- Check size of char - done
    -- Check size of int
    -- Check size of int - done
    -- Check size of long
    -- Check size of long - done
    -- Check size of short
    -- Check size of short - done
    -- Looking for pthread.h
    -- Looking for pthread.h - found
    -- Performing Test CMAKE_HAVE_LIBC_PTHREAD
    -- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Failed
    -- Check if compiler accepts -pthread
    -- Check if compiler accepts -pthread - yes
    -- Found Threads: TRUE  
    -- Found CURL: /usr/lib/libcurl.so (found version "7.79.1")  
    -- Checking for module 'avahi-compat-libdns_sd'
    --   Found avahi-compat-libdns_sd, version 0.8
    -- Check size of XRRNotifyEvent
    -- Check size of XRRNotifyEvent - done
    -- Looking for 3 include files X11/Xlib.h, ..., X11/extensions/dpms.h
    -- Looking for 3 include files X11/Xlib.h, ..., X11/extensions/dpms.h - found
    -- Looking for include file X11/extensions/Xinerama.h
    -- Looking for include file X11/extensions/Xinerama.h - found
    -- Looking for 3 include files X11/Xlib.h, ..., X11/extensions/XKBstr.h
    -- Looking for 3 include files X11/Xlib.h, ..., X11/extensions/XKBstr.h - found
    -- Looking for include file X11/extensions/XKB.h
    -- Looking for include file X11/extensions/XKB.h - found
    -- Looking for include file X11/extensions/XTest.h
    -- Looking for include file X11/extensions/XTest.h - found
    -- Looking for include files X11/Xlib.h, X11/XKBlib.h
    -- Looking for include files X11/Xlib.h, X11/XKBlib.h - found
    -- Looking for include file X11/extensions/XInput2.h
    -- Looking for include file X11/extensions/XInput2.h - found
    -- Looking for include file dns_sd.h
    -- Looking for include file dns_sd.h - found
    -- Looking for IceConnectionNumber in SM;ICE
    -- Looking for IceConnectionNumber in SM;ICE - found
    -- Looking for DPMSQueryExtension in Xext;X11
    -- Looking for DPMSQueryExtension in Xext;X11 - found
    -- Looking for XTestQueryExtension in Xtst;Xext;X11
    -- Looking for XTestQueryExtension in Xtst;Xext;X11 - found
    -- Looking for XineramaQueryExtension in Xinerama
    -- Looking for XineramaQueryExtension in Xinerama - found
    -- Looking for XISelectEvents in Xi
    -- Looking for XISelectEvents in Xi - found
    -- Looking for XRRQueryExtension in Xrandr
    -- Looking for XRRQueryExtension in Xrandr - found
    -- Configuring directory /var/tmp/pamac-build-jim/barrier-git/src/barrier-git/build/rpm
    -- Configuring file barrier.spec
    -- Found GTest: /usr/lib64/cmake/GTest/GTestConfig.cmake (found version "1.11.0")  
    -- Checking for module 'gmock'
    --   Found gmock, version 1.11.0
    -- Configuring done
    -- Generating done
    -- Build files have been written to: /var/tmp/pamac-build-jim/barrier-git/src/barrier-git/build
    [  0%] Building CXX object src/lib/arch/CMakeFiles/arch.dir/Arch.cpp.o
    [  0%] Building CXX object src/lib/arch/CMakeFiles/arch.dir/ArchConsoleStd.cpp.o
    [  1%] Building CXX object src/lib/arch/CMakeFiles/arch.dir/ArchDaemonNone.cpp.o
    [  1%] Building CXX object src/lib/arch/CMakeFiles/arch.dir/IArchString.cpp.o
    [  2%] Building CXX object src/lib/arch/CMakeFiles/arch.dir/unix/ArchConsoleUnix.cpp.o
    [  2%] Building CXX object src/lib/arch/CMakeFiles/arch.dir/unix/ArchDaemonUnix.cpp.o
    [  3%] Building CXX object src/lib/arch/CMakeFiles/arch.dir/unix/ArchInternetUnix.cpp.o
    [  3%] Building CXX object src/lib/arch/CMakeFiles/arch.dir/unix/ArchLogUnix.cpp.o
    [  4%] Building CXX object src/lib/arch/CMakeFiles/arch.dir/unix/ArchMultithreadPosix.cpp.o
    [  4%] Building CXX object src/lib/arch/CMakeFiles/arch.dir/unix/ArchNetworkBSD.cpp.o
    [  4%] Building CXX object src/lib/arch/CMakeFiles/arch.dir/unix/ArchSleepUnix.cpp.o
    [  5%] Building CXX object src/lib/arch/CMakeFiles/arch.dir/unix/ArchStringUnix.cpp.o
    [  5%] Building CXX object src/lib/arch/CMakeFiles/arch.dir/unix/ArchSystemUnix.cpp.o
    [  6%] Building CXX object src/lib/arch/CMakeFiles/arch.dir/unix/ArchTaskBarXWindows.cpp.o
    [  6%] Building CXX object src/lib/arch/CMakeFiles/arch.dir/unix/ArchTimeUnix.cpp.o
    [  7%] Building CXX object src/lib/arch/CMakeFiles/arch.dir/unix/XArchUnix.cpp.o
    [  7%] Linking CXX static library libarch.a
    [  7%] Built target arch
    [  7%] Building CXX object src/lib/common/CMakeFiles/common.dir/DataDirectories_static.cpp.o
    In file included from /var/tmp/pamac-build-jim/barrier-git/src/barrier-git/src/lib/common/DataDirectories.h:21,
                     from /var/tmp/pamac-build-jim/barrier-git/src/barrier-git/src/lib/common/DataDirectories_static.cpp:18:
    /var/tmp/pamac-build-jim/barrier-git/src/barrier-git/src/./lib/io/filesystem.h:24:10: fatal error: ghc/fs_fwd.hpp: No such file or directory
       24 | #include <ghc/fs_fwd.hpp>
          |          ^~~~~~~~~~~~~~~~
    compilation terminated.
    make[2]: *** [src/lib/common/CMakeFiles/common.dir/build.make:76: src/lib/common/CMakeFiles/common.dir/DataDirectories_static.cpp.o] Error 1
    make[1]: *** [CMakeFiles/Makefile2:495: src/lib/common/CMakeFiles/common.dir/all] Error 2
    make: *** [Makefile:166: all] Error 2
    ==> ERROR: A failure occurred in build().
        Aborting...
    

    Any other information

    Once added, does the QC involve having someone test it? I would be happy to test it if that will help.

    bug linux regression 
    opened by povilas-barrier-bot 0
  • when i move the cursor to the client screen, instantly it goes to the bottom right corner of the client screen. and cant be moved from there

    when i move the cursor to the client screen, instantly it goes to the bottom right corner of the client screen. and cant be moved from there

    This issue has been migrated from old Barrier Github repository https://github.com/debauchee/barrier/issues/1405

    Issue created on: 2021-11-07 by @victorakaps Issue last updated on: 2021-11-09

    What happened?

    when i move the cursor to the client screen, instantly it goes to the bottom right corner of the client. and cant be moved from there.

    Version

    v2.4.0

    Git commit hash (if applicable)

    No response

    If applicable, where did you install Barrier from?

    i installed the exe build from the release tab of barrier's official github repo

    What OSes are you seeing the problem on? (Check all that apply)

    Linux, Windows

    What OS versions are you using?

    server: windows 11 22000.282 client: zorion os 15.3

    Relevant log output

    [2021-11-08T01:38:29] NOTE: accepted client connection
    [2021-11-08T01:38:29] NOTE: client "HP" has connected
    [2021-11-08T01:38:31] INFO: switch from "VICTORAKAPS" to "HP" at 0,656
    [2021-11-08T01:38:31] INFO: leaving screen
    [2021-11-08T01:38:31] INFO: switch from "HP" to "VICTORAKAPS" at 1522,527
    [2021-11-08T01:38:31] INFO: entering screen
    [2021-11-08T01:38:31] INFO: switch from "VICTORAKAPS" to "HP" at 0,824
    [2021-11-08T01:38:32] INFO: leaving screen
    [2021-11-08T01:38:32] INFO: switch from "HP" to "VICTORAKAPS" at 1534,659
    [2021-11-08T01:38:32] INFO: entering screen
    [2021-11-08T01:38:32] INFO: switch from "VICTORAKAPS" to "HP" at 0,1030
    [2021-11-08T01:38:32] INFO: leaving screen
    [2021-11-08T01:38:32] INFO: switch from "HP" to "VICTORAKAPS" at 1531,822
    [2021-11-08T01:38:32] INFO: entering screen
    [2021-11-08T01:38:32] INFO: switch from "VICTORAKAPS" to "HP" at 0,1079
    [2021-11-08T01:38:32] INFO: leaving screen
    [2021-11-08T01:38:32] INFO: switch from "HP" to "VICTORAKAPS" at 1534,862
    

    Any other information

    No response


    Commented on: 2021-11-08 by @ElieMyIdea

    Same issue.. Running on Win11 with 2.4.0 Server Downgrade to 2.3.3 fixed the issue


    Commented on: 2021-11-08 by @airsoftsnake

    Same issue. Running on Win11 with 2.4.0 Server I also did the same as ElieMyldea, downgraded to 2.3.3 as the server, client stayed on 2.4.0, and it works.


    Commented on: 2021-11-08 by @wellan35

    Same problem here, had to rollback to previous version to get it working On win10 for both pc


    Commented on: 2021-11-09 by @HelloWorldZQ

    you can try to change DPI to 100% , will be ok, https://github.com/debauchee/barrier/issues/1363

    bug windows linux regression 
    opened by povilas-barrier-bot 0
  • Request: Ability to send Wakeup Packet to Client

    Request: Ability to send Wakeup Packet to Client

    This issue has been migrated from old Barrier Github repository https://github.com/debauchee/barrier/issues/1402

    Issue created on: 2021-11-05 by @shymega Issue last updated on: 2021-11-05

    Discussed in https://github.com/debauchee/barrier/discussions/1294

    Originally posted by ga2k September 19, 2021 How hard would it be to implement the sending of a TCP/IP Wakeup Packet to a client so that we can use Barrier to login to a sleeping PC?

    Ideally such a packet could be sent when the mouse tries to enter the client's activity area. Check if the client responds to a ping. If the client doesn't respond, send the wakeup packet and a message to the active screen saying "Waking up client - try again in a bit..."

    This would have to be optional, of course, with a configuration option to enable/disable it.

    Enhancements:

    Maybe have a timer on the message with an option to cancel it, if the user was just waving the mouse around and didn't mean to go into the client's activation area. The message box say something like

     ------------------------------------------------------
    |                 Mac Mini is asleep.                 |
    |                                                     |
    |   We will try to wake up the client in 10 seconds   |
    |         or you can click "Don't Switch".            |
    |                                                     |
    |    ------------                    --------------   |
    |   | Do it now! |                  | Don't switch |  | 
    |    ------------                    --------------   |
    -------------------------------------------------------
    

    Then if the timer expires, send the wakeup packet, wait for the client to wake up, and perform the switch.

    What do you think?

    opened by povilas-barrier-bot 0
  • Recognise change in IP on a new network

    Recognise change in IP on a new network

    This issue has been migrated from old Barrier Github repository https://github.com/debauchee/barrier/issues/1399

    Issue created on: 2021-11-05 by @shymega Issue last updated on: 2021-11-05

    Discussed in https://github.com/debauchee/barrier/discussions/1325

    Originally posted by rengolin October 19, 2021 I use my barrier server (Windows laptop) on both office and home, each of which has a desktop with the client always running.

    Whenever I disconnect and reconnect, the client re-connects fine. But when I move from office to home or vice-versa, I can see in the logs that the connects but the kvm sharing doesn't work. When I restart the server (and sometimes the client too), it works fine.

    I'm guessing it's because the server is still running with the previous IP, even though it seems to bind 0.0.0.0 (otherwise the client wouldn't be able to connect).

    Perhaps this is a configuration issue, perhaps it's a security issue. Regardless, there could be a configuration to say "when I connect to this network, restart the server before accepting client connections".

    Or perhaps I'm not doing something right, and I'd be glad if someone has a better solution than having to restart both client and server every time.

    opened by povilas-barrier-bot 0
  • Minor but imporant indicator request

    Minor but imporant indicator request

    This issue has been migrated from old Barrier Github repository https://github.com/debauchee/barrier/issues/1398

    Issue created on: 2021-11-05 by @shymega Issue last updated on: 2021-11-05

    Discussed in https://github.com/debauchee/barrier/discussions/1328

    Originally posted by BobMCT October 19, 2021 I just installed and have started using Barrier. My primary desktop is Linux Mint 20.2 and my gaming PC is Windows 10. They share a common 32" monitor. I had two kbds and mice and only one desktop of room. So this utility seems to do the trick. The only problem I have is knowing which system is currently the active one. I see on both OSes there is an active icon on the notification area of the taskbar. I'm requesting that hopefully something than be placed there to indicate WHICH system is the active one. It could be a simple 1, 2, etc. The reason is that as I switch back and forth using the hot keys I get locked up and can't figure out which session is the active one to allow me to trigger the appropriate hot keys. I hope this was clear enough to realize what I'm suggesting.

    Thank you

    opened by povilas-barrier-bot 0
  • Look into Qt 6 for Mac builds.

    Look into Qt 6 for Mac builds.

    This issue has been migrated from old Barrier Github repository https://github.com/debauchee/barrier/issues/1395

    Issue created on: 2021-11-05 by @shymega Issue last updated on: 2021-11-05

    Currently when doing CI builds with arm64 cross-compilation for M1 chip, whilst also supporting x86_64 chips, the build fails due to Qt 5 not supporting arm64. Qt 6 does, but this needs to be assessed for a dependency bump.

    enhancement help wanted macOS windows linux work-in-progress 
    opened by povilas-barrier-bot 0
ModuLiDAR is an all-in-one open-source software for autonomous UGVs and industrial robots.

ModuLiDAR is an all-in-one open-source software for autonomous UGVs and industrial robots. the target industries that ModuLiDAR is working on are farming industry, mining industry, warehouses industry, and construction industry.

null 19 Sep 14, 2021
SDR++ is a cross-platform and open source SDR software with the aim of being bloat free and simple to use.

SDR++ is a cross-platform and open source SDR software with the aim of being bloat free and simple to use.

AlexandreRouma 1.1k Nov 29, 2021
OpenFOAM is a free, open source computational fluid dynamics (CFD) software package

acousticStreamingFoam About OpenFOAM OpenFOAM is a free, open source computational fluid dynamics (CFD) software package released by the OpenFOAM Foun

Bruno 1 Nov 2, 2021
This is a tool for software engineers to view,record and analyse data(sensor data and module data) In the process of software development.

![Contributors][Huang Jianyu] Statement 由于工具源码在网上公开,除使用部分开源项目代码外,其余代码均来自我个人,工具本身不包含公司的知识产权,所有与公司有关的内容均从软件包中移除,软件发布遵循Apache协议,任何人均可下载进行修改使用,如使用过程中出现任何问

HuangJianyu 29 Sep 16, 2021
Add virtual monitors to your windows 10 device! Works with Oculus software, obs, and any desktop sharing software

License MIT and CC0 or Public Domain, whichever is least restrictive -- Use it AS IS - NO IMPLICIT OR EXPLICIT warranty This may break your computer,

Rashi Abramson 81 Dec 5, 2021
Open-source and open-hardware scientific RPN calculator

OpenRPNCalc Open-source and open-hardware scientific RPN calculator Introduction OpenRPNCalc is a scientific calculator based on STM32 microcontroller

Anton Poluektov 108 Nov 29, 2021
Open Source Cheat for Apex Legends, designed for ease of use. Made to understand reversing of Apex Legends and respawn's modified source engine as well as their Easy Anti Cheat Implementation.

Apex-Legends-SDK Open Source Cheat for Apex Legends, designed for ease of use. Made to understand reversing of Apex Legends and respawn's modified sou

null 10 Nov 29, 2021
First open source android modding library for Geometry Dash Based on Hooking-and-Patching-android-template

Android-ML First open source android modding library for Geometry Dash Based on Hooking-and-Patching-android-template Installation Download this githu

BlackTea ML 19 Oct 17, 2021
OpenTibiaBR - Canary Project is a free and open-source MMORPG server emulator written in C++.

OpenTibiaBR - Canary Project is a free and open-source MMORPG server emulator written in C++. It is a fork of the OTServBR-Global project. To connect to the server and to take a stable experience, you can use our own client or tibia client and if you want to edit something, check our customized tools.

OpenTibiaBR 16 Nov 23, 2021
DRAGEN open-source mapper

Dragmap Dragmap is the Dragen mapper/aligner Open Source Software. Installation Prerequisites Compilation was tested on CentOS 7 C++11 compatible comp

Illumina 68 Nov 29, 2021
Rasdisys Open Source code for a LTE eNB on Qualcomm FSM9955

Downloaded on June 1st, 2021 from https://www.radisys.com/OpenRadisys-4G-RAN-Software which clearly stated that this code was licensed under GNU AGPLv

Harald Welte 6 Nov 26, 2021
A ROS based Open Source Simulation Environment for Robotics Beginners

A ROS based Open Source Simulation Environment for Robotics Beginners

Sulegeyixiu 44 Dec 4, 2021
"Sigma File Manager" is a free, open-source, quickly evolving, modern file manager (explorer / finder) app for Windows, MacOS, and Linux.

"Sigma File Manager" is a free, open-source, quickly evolving, modern file manager (explorer / finder) app for Windows, MacOS, and Linux.

Aleksey Hoffman 798 Dec 1, 2021
Khepri is a Cross-platform agent, the architecture and usage like Coblat Strike but free and open-source.

Khepri Free,Open-Source,Cross-platform agent and Post-exploiton tool written in Golang and C++ Description Khepri is a Cross-platform agent, the archi

Young 1.2k Dec 5, 2021
Open source release of challenges and other code used in the Hack-A-Sat 2 Qualifier in 2021.

Hack-a-Sat 2 Qualifier This repository contains the open source release for the Hack-a-Sat 2 qualifier from 2021. Released artifacts include: Source c

Cromulence 29 Dec 3, 2021
SynapseOS is a free and open source 64x operating system written in FASM and C

SynapseOS SynapseOS is a free and open source 64x operating system written in FASM and C Documentation Documentation Build To build SynapseOS you need

Synapse OS 53 Dec 4, 2021
Free,Open-Source,Cross-platform agent and Post-exploiton tool written in Golang and C++, the architecture and usage like Cobalt Strike

Khepri Free,Open-Source,Cross-platform agent and Post-exploiton tool written in Golang and C++ Description Khepri is a Cross-platform agent, the archi

Young 1.2k Dec 5, 2021
An open-source general-purpose programming language

An open source general purpose high-level programming language! [OO-N-YUH] This language is gonna onya other languages Vs Code Extention Language Supp

Tech Penguin 4 Aug 9, 2021
Crashser - open source dump/crash server for different programming languages

Crashser - open source dump/crash server for different programming languages (used for crash analysis in various applications). This library is crossplatfrom (now only Windows, Linux, OSX) implementation C++ client for Crasher dump/crash server.

Balun Vladimir 17 Oct 24, 2021