別のコンピュータにxclock
を表示したい。
私のコンピューター(111
)では、ホームネットワーク内の他のコンピューター(222
)をping
できます:
$ ifconfig wlan0
wlan0 Link encap:Ethernet HWaddr 44:55:66:77:88:99
inet addr:192.168.0.111 Bcast:192.168.0.255 Mask:255.255.255.0
$ ping 192.168.0.222
ルーターはD-Link DIR-655ワイヤレスNギガビットルーター です。
$ xclock -display 192.168.0.111:0
期待どおりにコンピューター(111
)にxclock
を表示します。他のコンピューター(222
):
$ xhost +
しかし、私のコンピューター(111
)に戻ると、次のように変更するとコンピューターにも表示されます。
$ xclock -display 192.168.0.222:0
-display
スイッチの使用を確認するには:
$ xclock -display 192.168.0.111:0.1
Error: Can't open display: 192.168.0.111:0.1
$ ping 192.168.0.333
ping: unknown Host 192.168.0.333
$ xclock -display 192.168.0.333:0
失敗すると思いますが、コンピューター(111
)にも表示されますが、少し遅れて表示されます。これらの結果から、display
引数がxclock
に到達していることがわかります。
$ uname -a
Linux mycomputer 3.2.0-27-generic #43-Ubuntu SMP Fri Jul 6 14:46:35 UTC 2012 i686 i686 i386 GNU/Linux
GNOMEやKDEではなく [〜#〜] lxde [〜#〜] を使用しています。
私はxclock
を表示することのみを試みており、この質問のセキュリティ問題に対処することに興味はありません。
私のコンピューター(111
):
ssh -X 192.168.0.222
続いて単に:
xclock
他のコンピューターでxclock
を実行し(222
)、私のコンピューターで表示します(111
)。
注:これが機能するためには、X11Forwarding
がコンピューター(/etc/ssh/sshd_config
)の222
で有効になっている必要があります
確認する2つのこと:ポート6000が222マシンで開いている(ファイアウォールを構成または無効にする)必要があり、Xサーバー自体がそのポートで待機している必要があります。これは、最近のディストリビューションではしばしば無効になっています。聞いているか確認してください
# netstat -nltp | grep 6000
tcp 0 0 0.0.0.0:6000 0.0.0.0:* LISTEN 10818/Xorg
tcp6 0 0 :::6000 :::* LISTEN 10818/Xorg
そうでない場合は、/ etc/gdm/custom.confでgdmを有効にできます。
[security]
DisallowTCP=false
222マシンでgdmをログアウト/再起動し、再度ログインします。 Xorgがポート6000でリッスンしているのがわかります。
そして、あなたは最も単純なことができます:)
$ ssh -X 192.168.0.222 "xclock"
これが更新された答えです。 Ubuntu 18.04.02のフレッシュインストールで動作しました。
Sshサーバーをインストールして、sshでシステムにアクセスできるようにしました。
確認のため、デフォルトでは何もブロックされていません。何もする必要はありません。 iptables -L
ファイル/etc/gdm/custom.conf
を開いて追加しました
[security]
DisallowTCP=false
/etc/ssh/sshd_config
で次のコメントを外します
AllowTcpForwarding yes
X11Forwarding yes
X11DisplayOffset 10
マシンを再起動してコマンドxhost +
を実行しました
次に、2番目のコンピューターに移動してコマンドを実行します。xclockがインストールされていることを確認し、コマンドecho $DISPLAY
の出力が:1であることを前提としています。
xclock -display IP_Address:1
Ubuntuコンピューターにxclockが表示されます。
netstat -antlp | grep 6001
はXorgのリスニングを示していました。