📢 Webサイト閉鎖と移転のお知らせ
このWebサイトは2026年9月に閉鎖いたします。
新しい記事は移転先で追加しております。(旧サイトでは記事を追加しておりません)
| (同じ利用者による、間の12版が非表示) | |||
| 1行目: | 1行目: | ||
== 概要 == | == 概要 == | ||
Synergy / | Synergy 1 / 3 または InputLeapは、ネットワークを介して複数のコンピュータ間でマウスとキーボードを共有するためのソフトウェア (Input Device Sharing Software) である。<br> | ||
<br> | <br> | ||
これは、以下に示すような特徴がある。<br> | これは、以下に示すような特徴がある。<br> | ||
| 18行目: | 18行目: | ||
<br><br> | <br><br> | ||
== Deskflow (旧 Synergy) == | == Deskflow (旧 Synergy Core) == | ||
Deskflowは、Synergy3の無償の公式アップストリームプロジェクトある。<br> | Deskflowは、Synergy3の無償の公式アップストリームプロジェクトある。<br> | ||
Deskflowプロジェクトは、誰もが協力できるコミュニティ主導の開発を育成するために設立されている。<br> | Deskflowプロジェクトは、誰もが協力できるコミュニティ主導の開発を育成するために設立されている。<br> | ||
| 29行目: | 29行目: | ||
# SUSE | # SUSE | ||
- | |||
# Raspberry Pi OS / Mobian | |||
- | - | ||
<br> | <br> | ||
| 37行目: | 40行目: | ||
<u>Qt 6.5以降、CMake 3.24以降、OpenSSL 3.0以降が必要となることに注意する。</u><br> | <u>Qt 6.5以降、CMake 3.24以降、OpenSSL 3.0以降が必要となることに注意する。</u><br> | ||
<br> | <br> | ||
<syntaxhighlight lang="text"> | |||
# RHEL | # RHEL | ||
sudo dnf install epel-release | sudo dnf install epel-release | ||
| 55行目: | 59行目: | ||
libei-devel cli11-devel tomlplusplus-devel \ | libei-devel cli11-devel tomlplusplus-devel \ | ||
qt6-base-devel qt6-core-devel qt6-widgets-devel qt6-network-devel qt6-dbus-devel qt6-linguist-devel qt6-tools-devel | qt6-base-devel qt6-core-devel qt6-widgets-devel qt6-network-devel qt6-dbus-devel qt6-linguist-devel qt6-tools-devel | ||
# Raspberry Pi OS / Mobian | |||
apt install cmake build-essential ninja-build libglib2.0-dev libgtk-3-dev \ | |||
libgdk-pixbuf-2.0-dev libnotify-dev libpugixml-dev libssl-dev \ | |||
libei-dev libportal-dev libtomlplusplus-dev libcli11-dev \ | |||
xorg-dev libx11-dev libxtst-dev libxkbfile-dev \ | |||
qt6-base-dev qt6-tools-dev \ | |||
libgtest-dev libgmock-dev | |||
</syntaxhighlight> | |||
<br> | <br> | ||
* 各バージョンのソースコードからインストールする場合 | * 各バージョンのソースコードからインストールする場合 | ||
*: [https://github.com/deskflow/deskflow/releases DeskflowのGithub]からソースコードをダウンロードする。 | *: [https://github.com/deskflow/deskflow/releases DeskflowのGithub]からソースコードをダウンロードする。 | ||
*: ダウンロードしたファイルを解凍する。 | *: ダウンロードしたファイルを解凍する。 | ||
*: < | *: <syntaxhighlight lang="text"> | ||
tar xf deskflow-<バージョン>.tar.gz | |||
cd deskflow-<バージョン> | |||
</syntaxhighlight> | |||
*: <br> | *: <br> | ||
*: Deskflowをビルドおよびインストールする。 | *: Deskflowをビルドおよびインストールする。 | ||
*: < | *: <syntaxhighlight lang="text"> | ||
mkdir build && cd build | |||
cmake -DCMAKE_BUILD_TYPE=Release | |||
<br> | -DCMAKE_INSTALL_PREFIX=<Deskflowのインストールディレクトリ> | ||
.. | |||
make -j $(nproc) または cmake --build . -j $(nproc) | |||
make install または cmake --install . | |||
</syntaxhighlight> | |||
*: <br> | |||
* <code>git clone</code>コマンドを使用する場合 | * <code>git clone</code>コマンドを使用する場合 | ||
*: < | *: <syntaxhighlight lang="text"> | ||
git clone https://github.com/deskflow/deskflow.git | |||
cd deskflow | |||
</syntaxhighlight> | |||
*: <br> | *: <br> | ||
*: Deskflowをビルドおよびインストールする。 | *: Deskflowをビルドおよびインストールする。 | ||
*: < | *: <syntaxhighlight lang="text"> | ||
mkdir build && cd build | |||
cmake -DCMAKE_BUILD_TYPE=Release | |||
-DCMAKE_INSTALL_PREFIX=<Synergyのインストールディレクトリ> | |||
.. | |||
make -j $(nproc) または cmake --build . -j $(nproc) | |||
make install または cmake --install . | |||
</syntaxhighlight> | |||
<br> | <br> | ||
任意のディレクトリにインストールした場合、Deskflowの実行ファイルが存在するディレクトリに、以下に示すようなシェルスクリプトを作成する。<br> | 任意のディレクトリにインストールした場合、Deskflowの実行ファイルが存在するディレクトリに、以下に示すようなシェルスクリプトを作成する。<br> | ||
vi /< | vi /<Deskflowの実行ファイルがあるディレクトリ>/bin/deskflow.sh | ||
<br> | <br> | ||
<syntaxhighlight lang="sh"> | <syntaxhighlight lang="sh"> | ||
| 109行目: | 135行目: | ||
インストールした後、Deskflowの設定を行う。<br> | インストールした後、Deskflowの設定を行う。<br> | ||
<br> | <br> | ||
==== Deskflowのアンインストール ==== | ==== Deskflowのアンインストール ==== | ||
* Windowsの場合 | * Windowsの場合 | ||
| 114行目: | 141行目: | ||
*# [アプリを終了する必要があります]メッセージ、および、アプリを自動的に終了させるかどうかを尋ねられるので、これを選択する。 | *# [アプリを終了する必要があります]メッセージ、および、アプリを自動的に終了させるかどうかを尋ねられるので、これを選択する。 | ||
*# 次に、regeditを実行して、以下に示すレジストリキーを削除する。(存在する場合) | *# 次に、regeditを実行して、以下に示すレジストリキーを削除する。(存在する場合) | ||
*#* HKEY_CURRENT_USER\Software\Deskflow\Deskflow | |||
*#* HKEY_CURRENT_USER\Software\Symless | *#* HKEY_CURRENT_USER\Software\Symless | ||
*#* HKEY_CURRENT_USER\Software\Synergy | *#* HKEY_CURRENT_USER\Software\Synergy | ||
| 133行目: | 161行目: | ||
*# パッケージ管理システムを使用して、Synergyを削除する。 | *# パッケージ管理システムを使用して、Synergyを削除する。 | ||
*# 次に、以下のコマンドを実行して、Synergyの設定を削除する。 | *# 次に、以下のコマンドを実行して、Synergyの設定を削除する。 | ||
*#* <code>rm -rf ~/.config/Deskflow/</code> | |||
*#* <code>rm -rf ~/.config/Symless/</code> | *#* <code>rm -rf ~/.config/Symless/</code> | ||
*#* <code>rm -rf ~/.config/Synergy/</code> | *#* <code>rm -rf ~/.config/Synergy/</code> | ||
| 192行目: | 221行目: | ||
# SUSE | # SUSE | ||
sudo zypper remove synergy | sudo zypper remove synergy | ||
<br><br> | |||
== InputLeap == | |||
InputLeapは、複数のコンピュータ間でマウスとキーボードを共有できるオープンソースのソフトウェアである。<br> | |||
以前はBarrierとして知られていた。<br> | |||
<br> | |||
1つのマウスとキーボードで複数のコンピュータを操作できる点が挙げられる。<br> | |||
例えば、デスクトップにノートPCを接続して作業する場合、物理的なKVMスイッチを使用せずに、画面の端からマウスを移動するだけで別のコンピュータに切り替えることができる。<br> | |||
<br> | |||
クライアントサーバモデルで動作し、キーボードとマウスを共有するメインのコンピュータがサーバとして機能して、制御される側のコンピュータがクライアントとして動作する。<br> | |||
ネットワーク経由で接続するため、物理的な接続機器は不要である。<br> | |||
<br> | |||
セキュリティ面では、SSL暗号化をサポートしており、キーボード入力やマウスの動きを暗号化して送信できる。<br> | |||
また、クリップボードの共有機能も備えており、異なるOSのマシン間でもテキストやファイルのコピー&ペーストが可能である。<br> | |||
<br> | |||
==== パッケージ管理システムからインストール ==== | |||
# RHEL | |||
- | |||
# SUSE | |||
- | |||
# Raspberry Pi / Banana Pi F3 | |||
<br> | |||
==== ソースコードからインストール ==== | |||
まず、InputLeapをビルドするため、依存関係のライブラリをインストールする。<br> | |||
# RHEL (EPELリポジトリの追加が必要) | |||
sudo dnf groupinstall "Development Tools" | |||
sudo dnf install 'dnf-command(config-manager)' | |||
sudo dnf config-manager --set-enabled PowerTools | |||
sudo dnf install cmake3 libcurl-devel avahi-compat-libdns_sd-devel libX11-devel libXtst-devel desktop-file-utils openssl-devel \ | |||
qt6-qtbase-devel | |||
# SUSE | |||
sudo zypper install --type pattern devel_basis | |||
sudo zypper install make cmake gcc gcc-c++ glibc-devel libportal-devel libei-devel \ | |||
libcurl-devel avahi-compat-mDNSResponder-devel libX11-devel libxkbcommon-devel libXtst-devel libXext-devel \ | |||
libXinerama-devel libXrandr-devel libXi-devel Mesa-devel libICE-devel libSM-devel libdrm-devel libglvnd-devel \ | |||
qt6-core-devel qt6-widgets-devel qt6-network-devel qt6-linguist-devel | |||
# OpenSSL 1.1を使用する場合 | |||
libopenssl-1_1-devel | |||
# OpenSSL 3を使用する場合 | |||
libopenssl-devel libopenssl-3-devel | |||
<br> | |||
次に、[https://github.com/input-leap/input-leap/releases InputLeapのGiHub]にアクセスして、ソースコードをダウンロードする。<br> | |||
ダウンロードしたファイルを解凍して、ビルド向けディレクトリを作成する。<br> | |||
tar xf input-leap-<バージョン>.tar.gz | |||
cd input-leap-<バージョン> | |||
<br> | |||
<u>※注意 1</u><br> | |||
<u>Tarballを使用してビルドする場合、InputLeapディレクトリのext/gtestディレクトリが空の場合、以下のモジュールのソースコードをダウンロードする必要がある。</u><br> | |||
<br> | |||
# Tarballのモジュールをダウンロードする場合 | |||
wget https://github.com/google/googletest/archive/refs/tags/release-<バージョン>.tar.gz | |||
tar xf googletest-release-<バージョン>.tar.gz | |||
# Gitを使用してモジュールをダウンロードする場合 | |||
git clone https://github.com/google/googletest.git | |||
<br> | |||
<u>InputLeapのビルドに必要なソースコードを、InputLeapディレクトリのext/gtestディレクトリにコピーする。</u><br> | |||
# Tarballのモジュールをダウンロードした場合 | |||
cp -r googletest-release-<バージョン>/googletest <InputLeapディレクトリ>/ext/gtest | |||
cp -r googletest-release-<バージョン>/googlemock <InputLeapディレクトリ>/ext/gtest | |||
# Gitを使用してモジュールをダウンロードした場合 | |||
cp -r googletest/googletest/* <InputLeapディレクトリ>/ext/gtest | |||
cp -r googletest/googlemock/* <InputLeapディレクトリ>/ext/gtest | |||
<br> | |||
InputLeapをビルドおよびインストールする。<br> | |||
mkdir build && cd build | |||
cmake -DCMAKE_C_COMPILER=<GCC 8.5以降のコンパイラ> \ | |||
-DCMAKE_CXX_COMPILER=<G++ 8.5以降のコンパイラ> \ | |||
-DCMAKE_BUILD_TYPE=Release \ | |||
-DCMAKE_INSTALL_PREFIX=<InputLeapのインストールディレクトリ> \ | |||
.. | |||
make -j $(nproc) | |||
make install | |||
<br> | |||
InputLeapのデスクトップエントリファイルを、~/.local/share/applicationsディレクトリに作成する。<br> | |||
<syntaxhighlight lang="ini"> | |||
# ~/.local/share/applications/InputLeap.desktop | |||
[Desktop Entry] | |||
Type=Application | |||
Name=Input Leap | |||
Comment=Keyboard and mouse sharing solution | |||
Exec=/<InputLeapのインストールディレクトリ>/bin/input-leap | |||
Icon=/<InputLeapのインストールディレクトリ>/share/icons/io.github.input_leap.InputLeap | |||
Terminal=false | |||
Categories=Network | |||
Keywords=keyboard;mouse;sharing;network;share; | |||
</syntaxhighlight> | |||
<br><br> | <br><br> | ||
| 396行目: | 523行目: | ||
== ファイヤーウォールの設定 == | == ファイヤーウォールの設定 == | ||
マウス・キーボード共有ソフトウェアにおいて、<u>サーバとして使用するPCでは、ファイヤーウォールのポート開放を行う必要がある。</u><br> | |||
# 一般的な設定 | |||
sudo firewall-cmd --permanent --add-port=24800/tcp | sudo firewall-cmd --permanent --add-port=24800/tcp | ||
# KVM (libvirtd) 内でマウス・キーボード共有ソフトウェアを使用する場合 | |||
sudo firewall-cmd --permanent --zone=libvirt --add-port=24800/tcp | sudo firewall-cmd --permanent --zone=libvirt --add-port=24800/tcp | ||
# Friewalldの設定を反映 | |||
sudo firewall-cmd --reload | sudo firewall-cmd --reload | ||
<br> | <br> | ||
SUSEの場合および上記のコマンドで接続できない場合は、以下の設定を行う。<br> | SUSEの場合および上記のコマンドで接続できない場合は、以下の設定を行う。<br> | ||
<br> | <br> | ||
まず、/usr/lib/firewalld/services/ | まず、/usr/lib/firewalld/services/<任意のファイル名>.xmlファイルを作成する。<br> | ||
(このファイルは不要の可能性があることに注意すること)<br> | (このファイルは不要の可能性があることに注意すること)<br> | ||
sudo vi /usr/lib/firewalld/services/ | sudo vi /usr/lib/firewalld/services/<任意のファイル名>.xml | ||
<br> | <br> | ||
<syntaxhighlight lang="xml"> | <syntaxhighlight lang="xml"> | ||
| 419行目: | 549行目: | ||
<br> | <br> | ||
次に、/usr/lib/firewalld/zones/libvirt.xmlファイルにおいて、<br> | 次に、/usr/lib/firewalld/zones/libvirt.xmlファイルにおいて、<br> | ||
<code></zone></code>タグの上部に<code><port port="24800" protocol="tcp"/></code>を追記する。<br> | <code></zone></code> タグの上部に <code><port port="24800" protocol="tcp"/></code> を追記する。<br> | ||
sudo nano /usr/lib/firewalld/zones/libvirt.xml | sudo nano /usr/lib/firewalld/zones/libvirt.xml | ||
<br> | <br> | ||