Xpra:画面だけではなく、アプリ単位でどこでもX

目次
Xpra(エクスプラ)についての概要と詳細
Xpraとは
Xpra
は、「スクリーンを持ち運ぶ」ことができるLinux向けのリモートアプリケーション表示ツールで、“screen for X”とも呼ばれます。従来のリモートデスクトップとは異なり、デスクトップ全体ではなく個別のアプリケーションウィンドウ単位で転送できるのが特徴です。
アプリケーションをリモートのサーバで実行しながら、そのウィンドウだけをローカルに表示・操作でき、セッションの再接続・切断・再開にも対応。X11の他に、Wayland、macOS、Windowsにも対応しており、高度なグラフィックス圧縮や音声転送にも対応しています。
主な特徴
- 個別ウィンドウのリモート表示:デスクトップ全体ではなく、任意のアプリケーションだけを転送
- シームレスモード:リモートアプリをローカルと同じように操作可能
- セッションの一時切断と再接続
- SSHトンネル・TLSによるセキュア接続
- 音声・Webカメラ・クリップボード転送にも対応
- X11、Wayland、macOS、Windowsクライアント対応
インストール方法
Debian/Ubuntu系
$ sudo apt install xpra
Fedora系
$ sudo dnf install xpra
基本的な使い方
1. サーバ側でアプリケーションを起動
$ xpra start :100 --start=firefox
上記の例では、ディスプレイ番号100で Firefox をリモートセッションとして起動します。
2. クライアント側から接続
$ xpra attach ssh:username@remotehost:100
SSH経由で指定のディスプレイ番号に接続し、リモートのFirefoxウィンドウだけをローカルで表示します。
3. セッション一覧の確認
$ xpra list
4. セッションの切断
$ xpra detach :100
GUIクライアント
Xpra には GUI クライアントもあり、Windows や macOS、Linux デスクトップ環境上で接続セッションの管理や設定を視覚的に行うことができます。公式サイトからインストール可能です。
Xpraと他リモートツールの比較
特徴 | Xpra | X2Go | VNC |
---|---|---|---|
個別アプリの転送 | ◎ | × | × |
セッション再接続 | ◎ | ◎ | × |
音声転送 | ○ | ○ | × |
GUI操作 | ◎ | ○ | ○ |
クロスプラットフォーム | ◎ | ○ | ○ |
ユースケース
- 高性能なリモートサーバでGUIアプリを起動し、ローカルから表示・操作
- 開発環境と実行環境を分離しつつ、GUIアプリケーションを柔軟に利用
- セキュアにアプリケーション単位のアクセスを提供したい場合
まとめ
Xpra
は、他のリモートデスクトップツールとは一線を画す、「アプリケーション単位のリモート表示」というユニークな特徴を持つ強力なツールです。セッションの切断・再接続、SSHによる安全性、豊富な対応プラットフォームなど、柔軟で高機能なリモート操作を必要とするユーザーにとって、非常に魅力的な選択肢となるでしょう。