X2Go

提供: ArchWiki
2023年9月16日 (土) 16:48時点におけるKusanaginoturugi (トーク | 投稿記録)による版 (→‎インストール: Qt5に変更)
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
ナビゲーションに移動 検索に移動

X2Go を使うとネットワーク越しにコンピュータのグラフィカルデスクトップを使用することができるようになります。転送には Secure Shell プロトコルが使われるため、中身は暗号化されます。

ノート: X2Go は全てのデスクトップ環境に対応しているわけではありません。最初に X2Go が使用しているデスクトップ環境に対応しているか を確認してください。

インストール

X2Go は公式リポジトリからインストールすることができます。以下のパッケージをインストールしてください:

サーバーの設定

Secure Shell デーモンの設定

X2Go は Secure Shell を使用するため、X11 フォワーディングができるように sshd デーモンを設定して起動する必要があります。Secure Shell#X11 フォワーディングSecure Shell#sshd デーモンの管理の手順に従ってください。

POSIX (C) ロケール以外を使用している場合、設定ファイルに以下を追加すると良いでしょう:

# Allow client to pass locale environment variables
AcceptEnv LANG LC_*

fuse カーネルモジュールのロード

サーバーからクライアントコンピュータのファイルにアクセスできるようにするために fuse カーネルモジュールをロードしてください。

SQLite データベースのセットアップ

次のコマンドを実行して SQLite データベースを初期化してください:

# x2godbadmin --createdb

X2Go サーバーデーモンの起動

後は x2goserver.service起動するだけです。

デスクトップシャドウ

(ユニークなセッションやデスクトップ環境とは対象的な) ローカルデスクトップを使用するには AUR から x2godesktopsharingAUR をインストールする必要があります。インストールしたら、x2godesktopsharing を起動してください。

ユーザー "foo" のローカルデスクトップにユーザー "foo" からアクセスするのに x2godesktopsharing は必要ありません。x2godesktopsharing は "foo" のデスクトップに "foo2" ユーザーからアクセスするときに使います。x2goclient の "session type" で "Connection to local desktop" を選択してください。

クライアントの設定

クライアントからサーバーに ssh セッションを開けることを確認:

$ ssh username@host

そして X2Go クライアントを起動:

$ x2goclient

複数のセッションを作成することができ、作成したセッションは右側に表示されます。セッションはマウスでクリックすることで選択できます。エントリにはユーザー名とホストネーム、IP と SSH 接続のポート番号を記入します。さらに、(モデムから LAN まで) 複数のプロファイルを定義したりリモートで起動したいデスクトップ環境を指定することが可能です。

よくある間違い: デフォルトの KDE や GNOME を選択してはいけません。ssh でログインしたときは startkde や startgnome などの実行ファイルの PATH が通っていません。startkde や startgnome のフルパスを使うようにしてください。openbox などの他のウィンドウマネージャを使うこともできます。

サーバー上のユーザーのパスワードが要求されて、ログイン後に X2Go のロゴがしばらく表示され、デスクトップが出現します。

クライアントとサーバーでデータを交換 (デスクトップ): x2goclient (例: ノートパソコン) のローカルディレクトリは共有することができます。サーバーは fuse と sshfs を使ってディレクトリにアクセスし、サーバー上のホームディレクトリのサブディレクトリメディアにマウントします。これによって、サーバーからノートパソコンのデータにアクセスしたりファイルを交換することが可能です。セッションが起動したときに自動的に共有をマウントさせることもできます。

一時的にセッションから離席する: X2Go の特殊な機能としてセッションを一時停止することができます。一回クライアントからセッションを離して、別のクライアントから再度セッションを開くということができます。LAN でセッションを開始してから後でノートパソコンで再オープンするなどが可能です。セッションデータは保存されサーバー上の PostgreSQL データベースで管理されます。セッションの状態は x2gocleansessions という名前のプロセスによってプロトコル化されています。

ヒントとテクニック

リモートセッションでコンポジットウィンドウマネージャが起動しない場合の対処方法

compiz などをウィンドウマネージャとして使っているローカルセッションで x2goserver を実行して使用する場合に有用です。x2goclient でリモート接続した場合、compiz はロードに失敗するので、かわりに metacity を使ってください。以下は GNOME の例ですが、修正を加えれば他のデスクトップ環境でも使えます (compiz を使用することはできません)。

/usr/local/share/applications/gnome-wm-test.desktop を作成:

[Desktop Entry]
Type=Application
Encoding=UTF-8
Name=gnome-wm-test
Exec=/usr/local/bin/gnome-wm-test.sh
NoDisplay=true

/usr/local/bin/gnome-wm-test.sh スクリプトを作成:

#!/bin/sh
# Script for choosing compiz when possible, otherwise metacity
# Proper way to use this script is to set the key to mk-gnome-wm
# /desktop/gnome/session/required_components/windowmanager
xdpyinfo 2> /dev/null | grep -q "^ *Composite$" 2> /dev/null
IS_X_COMPOSITED=$?
if [ $IS_X_COMPOSITED -eq 0 ] ; then
    gtk-window-decorator &
    WM="compiz ccp --indirect-rendering --sm-client-id $DESKTOP_AUTOSTART_ID"
else
    WM="metacity --sm-client-id=$DESKTOP_AUTOSTART_ID"
fi
exec bash -c "$WM"

以下の gconf キーを編集して gnome-wm-test ウィンドウマネージャでセッションを開始するように設定:

$ gconftool-2 --type string --set /desktop/gnome/session/required_components/windowmanager "gnome-wm-test"

トラブルシューティング

認証エラー

以下のエラーが表示される場合:

Authentification Failed:
The host key for this server was not found but an othertype of key exists.
An Attacker might change the default server key to confuse  
your client into thinking the key does not exist

~/.ssh/known_hosts ファイルからサーバーエントリを削除して再度認証してみてください。

x2goclient でスクリーンが選択されない

iproute2 のリグレッションによって -u フラグを指定したときに ss で何も表示されないことが /usr/bin/x2golistdesktops で起こります [1]

詳しくは [2], [3] を参照。

参照