system-config-date、xclock、vncviewer などの X クライアント アプリケーションにアクセスするには、リモート ホストの DISPLAY 設定をローカル サーバーにエクスポートする必要があります。これは通常、以下のコマンドを使用して行われます。
# ssh root@remotehost remotehost# export DISPLAY=x.x.x.x:y.y
x.x.x.x:y.y – は、リモート ホストに接続したシステムの表示設定です。
-X オプションを ssh で使用して、DISPLAY をリモート ホストに直接エクスポートすることもできます。
# ssh -X root@remotehost
しかし、リモート システムの別のユーザーに切り替えて、ディスプレイを再度エクスポートしようとすると、「エラー:ディスプレイを開けません:」というエラーが表示されます。
# ssh -X root@remotehost # su - [username] # export DISPLAY=x.x.x.x:y.y # xclock Error: Can't open display: x.x.x.x:y.y
sudo ユーザー向けの X11 転送
DISPLAY を設定するだけでは不十分です。 X 認証は Cookie に基づいているため、接続を開始したユーザーが使用する Cookie を設定する必要があります。次の手順では、sudo ユーザーが ssh ベースの X11 トンネルを使用できるようにします:
1. ssh で -X オプションを使用してリモート ホストに接続します。
# ssh -X root@remote-host
2. 現在のユーザーの Cookie セットを一覧表示します。
# xauth list $DISPLAY node01.thegeekdiary.com/unix:10 MIT-MAGIC-COOKIE-1 dacbc5765ec54a1d7115a172147866aa # echo $DSIPLAY localhost:10.0
3. sudo を使用して別のユーザー アカウントに切り替えます。上記のコマンド出力からの Cookie を sudo ユーザーに追加します。
# sudo su - [user] # xauth add node01.thegeekdiary.com/unix:10 MIT-MAGIC-COOKIE-1 dacbc5765ec54a1d7115a172147866aa
4. sudo ユーザーのステップ 2 からの表示を再度エクスポートします。コマンド xclock を試して、x クライアント アプリケーションが期待どおりに動作しているかどうかを確認してください。
# export DISPLAY=localhost:10.0 # xclock
CentOS / RHEL :iptable ルールを追加する方法
CentOS / RHEL 5 :dm-multipath ファイル /etc/sysconfig/mkinitrd/multipath の説明