今回は複数のPCでソフトウェア的にキーボードとマウスを共用するDeskflowを紹介します。


BarrierとSynergyとDeskflow

ソフトウェア的にキーボードとマウスを共用するソフトウェアは、第575回でBarrierを紹介しています。

第575回の記事にもあるとおり、SynergyというソフトウェアからフォークしたのがBarrierです。

Barrierは2011年に最後のバージョンである2.4.0がリリースされた後は徐々に開発が行われなくなり、現在は開発停止しています。そんなBarrierからフォークしたのがInput Leapです。

第575回当時の2019年と、2025年現在の大きな違いはWayland対応で、Barrierは当然のことながらWayland非対応でした。Input Leapは対応を謳っているものの、少なくとも筆者のUbuntuでは正常に動作してくれませんでした。

そんな中リリースされたのがDeskflowです。冒頭に「Deskflow is the official upstream project for Synergy.」と書かれており、一体どういうことなのか気になります。

詳しくはHistoryにありますが、プロプライエタリなソフトウェアとしてリリースされたSynergy 2は安定性に問題があったらしく、引き続きSynergy(Synergy 1)が提供されたのでしょう。2023年に新たな「Synergy 3」がリリースされ、現在はこちらが主力のようです。

名実ともにSynergy(Synergy 1)がお役御免となり、Waylandサポートを追加して「the official upstream project for Synergy」となったのがDeskflowです。少なくとも筆者はそう解釈しましたが、正直Historyを読んでもいまいち理解できないところもあります。

実際に筆者が試してみても、DeskflowはWaylandセッションでも実にあっさり動作して感動しました。

Synergyのオープンソース版であったsynergy-coreがDeskflowになったのは2024年9月で、わりと最近のことです。


DeskflowとUbuntu 24.04 LTS

Ubuntu 24.04 LTSで何らかのパッケージをビルドしようとすると、まだリリースから1年も経っていないのにいろいろとライブラリが古くて困る場面に遭遇しがちです。

特にQt/KDE関連で、Qtのバージョンは6.4.2で、リリースされたのはなんと2023年1月5日です。2年前です。どおりで古いはずです。またKDE Frameworksは5であって6ではありません。

他にもいくつか古いライブラリがあり、Deskflowは原則としては24.04 LTSではビルドできません。がんばれば(その1、その2)できなくはなさそうですが、おとなしくFlatpakパッケージをインストールするのがいいでしょう。


Deskflowのインストール

前述の理由により、FlatpakパッケージのDeskflowをインストールします。Flatpakパッケージを使用したことがない場合は、次のコマンドを実行します。


$ sudo apt install gnome-software-plugin-flatpak
$ flatpak remote-add –if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo

ここで再起動します。

Deskflowのインストールは、先ほどインストールした「ソフトウェア」で検索するか、あるいは次のコマンドを実行します。


$ flatpak install flathub org.deskflow.deskflow

Deskflowの起動と使用方法

簡単にDeskflowの使用方法を解説します。


サーバー編

Deskflowを起動すると、まずはコンピューター名が聞かれます(図1⁠)⁠。デフォルトでホスト名を取得するので、通常はこのままでいいでしょう。差し支えなければそのまま「Continue」をクリックします。


図1 コンピューター名を入力する
図1

自動的にアップデートのチェックを行うかのダイアログが表示されます(図2⁠)⁠。Flatpakパッケージの場合は自動的にアップデートするので「No thanks」でいいでしょう。一方Windowsでは、チェックしたほうがいいかもしれません。


図2 自動的にアップデートのチェックを行うかどうか
図2

どちらかのボタンをクリックするとDeskflowのメインウィンドウが表示されます(図3⁠)⁠。ここでは左側の「Use this computer’s keyboard mouse」にチェックを入れます。


図3 Deskflowのメインウィンドウ
図3

すると、サーバーとして実行する旨のダイアログが表示されます(図4⁠)⁠。


図4 サーバーとして実行する旨のダイアログ
図4

クライアント編

クライアントでもDeskflowを起動し、やはり図1と図2のあとにメインウィンドウが表示されます。今度は右側の「Use another computer’s mouse and keyboard」にチェックを入れ、空欄にサーバーのホスト名またはIPアドレスを入力し、「⁠Connect」をクリックします(図5⁠)⁠。


図5 クライアント側のメインウィンドウ
図5

サーバーへの接続に成功すると、TLSのフィンガープリントが表示されるので「Yes」をクリックします(図6⁠)⁠。


図6 サーバーへの接続に成功した
図6

なお、うまく接続できない場合はTLSをオフにしてみるのもいいでしょう。


再びサーバー編

サーバーに戻ってくると、クライアントから接続を要求している旨のダイアログが表示されます(図7⁠)⁠。コンピュータ名に誤りがなければ「Add client」をクリックします。


図7 クライアントからサーバーに接続を要求している旨のダイアログ
図7

ディスプレイの位置を決定します(図8⁠)⁠。この例では、サーバーの下にクライアントのディスプレイがあることを示しています。


図8 ディスプレイの位置を決定する
図8

Waylandの場合は、ずっと表示されているCapture Inputダイアログを実際に使用するのはここです。「⁠Allow Remote Input Capturing」を有効にし、「⁠共有」をクリックします(図9⁠)⁠。


図9 Capture Inputダイアログが表示された場合は有効にする
図9

サーバー・クライアントともに、メインウィンドウの左下に「Deskflow is connected」と表示されれば、接続が完了しています(図10⁠)⁠。


図10 接続が完了したメインウィンドウ
図10

WACOCA: People, Life, Style.