Windows と Linux 間のマウス・キーボード共有
Windows と Linux のPCが各々1台ありますが、マウスとキーボードも各々のPCに接続しています。これは限られた机の空きスペースでは収まり切れませんでした。異なるOSでキーボードやマウスを共有するソリューションを探したところ Synergy – Share one mouse & keyboard across computers (symless.com) という方法があったのですが、これは有料ソリューションでした。
オープンソース(無料)のものを探したところ GitHub – debauchee/barrier: Open-source KVM software を見つけました。このソースは Synergy から fork したもののようですが、導入の決め手は無料だったのでこのパッケージを導入することにしました。
この記事はその導入方法の手順を記載しています。
barrier 導入前の注意事項
barrier を導入する際の注意事項です。このことに気がつくまで時間がかかりました。
モニターの解像度を変更せず、その倍率を150%や200%などに変更する設定(即ち、表示対象を大きくする代わりに表示領域が小さくなる)があります。barrier はこの設定に対応していないようで、マウスが他PCへ移動すると、マウスポインタが見えなくなる現象が発生します。
barrier 導入前のWindows PCは 150% 設定だったのですが、導入後は仕方なく 100% 設定で使用しています。
サーバとクライアントの分担を決めておく
このソリューションには、サーバ(キーボードとマウスを使用する側のPC)とクライアント(キーボードとマウスは使用しないほうのPC)で分担されます。このソリューションを導入する前に、あらかじめ決めておいたほうが無駄な作業を行わずに済みます。
私の以下の設定(分担)としました。
- Server (マウスとキーボードを使用する PC)- Windows PC
- Client (マウスとキーボードは使用しない) – Linux (Ubuntu)
この理由は Windows PC が(比較的新しいPCなので)マウスとキーボードは bluetooth(無線)を使えるからです。
Ubuntu への barrier 導入
apt でもインストールできるのですが、ソースをビルドすることにしました。この理由は問題が起きたときにデバッグログとソースの突合せができるからです。
$ sudo apt-get install cmake curl libcurl-dev
$ sudo apt-get install libavahi-compat-libdnssd-dev
$ sudo apt-get install libxtst-dev
$ sudo apt-get install qtbase5-dev qtdeclarative5-dev
$ sudo apt-get install libssl-dev
$ git clone https://github.com/debauchee/barrier.git
$ cd barrier
$ ./clean_build.sh
$ cd build
$ sudo make install
ソースを github から git clone する前に barrier のビルドに必要なパッケージをインストールしておきます。もしかして、ほかのパッケージも必要になるかもしれません。clean_build.sh を実行してエラーが発生したら、その都度エラー内容に応じてパッケージをインストールしていきます。
次から barrier をクライアントとして設定しますが、以下の内容となりました。
- Client 側として動作させる
- 自PC (Ubuntu) の Screen Name を設定する
- Server IP を設定する (Auto config は試していません)
- SSL を無効化する
- ポート番号は 24800 を確認する
この設定を確認したら、まだ START しないでサーバ側を設定します。
Windows への barrier 導入
Windows への barrier の導入はパッケージ版を使用しました。ソースコードのビルドは Visual Studio 2019 (有償版)が必要なのですが、持っていないためです。
Windows パッケージ版 barrier の2024年8月12日時点での最終バージョンは 2.4.0 となりますが、そちらをインストールしました。
barrier サーバ側の設定は以下となります。
- Server 側として動作させる
- 自PC(Windows)の Screen Name を設定する
- SSL を無効化する
- レイアウトを設定する
レイアウトに関しては、WindowsとUbuntuのモニターをどのような配置するかです。通常のデュアルモニターの設定と同じ意味で、設定画面を見るとする理解できると思います。実際の配置として、物理的なモニターの配置に合わせたレイアウトにしました。(横方向にモニターの接点があるように配置しました)
この記事のアイキャッチャーにレイアウトを掲載しています。
barrier を Start する
Windows の barrier 画面からサーバ側の Start ボタンを押します。そうすると、Windows のサービスプログラムが動作します。その次に Ubuntu の barrier 画面からクライアント側の Start ボタンを押します。
接続が成功すると Windows のキーボードとマウスが Windows と Ubuntu で共有できるようになります。