#author("2022-03-22T01:15:48+00:00","","") #author("2022-09-18T11:01:25+09:00","","") #topicpath ///////////////////////////////////////////////////////////////////////////////// * 目次 [#pc7630bc] #contents(); ///////////////////////////////////////////////////////////////////////////////// * X11 Forwarding [#X11-forwarding] - リモートホストの X アプリケーションを利用する - 前提 -- リモート・ローカルともに X 環境がある -- リモートホストの Xアプリケーションを実行し、ローカルで操作及び画面表示させたいとき。 //=============================================================================== ** 設定 [#w538ab72] - sshd の設定を確認(debian9の場合、デフォルトで設定済み) $ cat /etc/ssh/sshd_config | grep X11 X11Forwarding yes ←x11転送を許可 X11DisplayOffset 10 ←擬似xサーバのディスプレイ番号が :10 から始まる - ~/.ssh/config Host * Compression yes CompressionLevel 9 TCPKeepAlive yes Ciphers blowfish-cbc,arcfou //=============================================================================== ** 手順 [#i495d818] + ssh でリモートホストへログインする $ ssh -X -l <user-name> <remote-host> $ ssh -CX -l <user-name> <remote-host> -- option: --- -C :転送データを gzip 圧縮する。非圧縮転送で画面更新が著しく遅い場合に使用すると改善が期待出来る。 --- -X : X11転送を有効にする。 --- -l <user-name> : ログインユーザ名を指定する。 + 環境変数 DISPLAY の値を確認する $ echo $DISPLAY + ログインしたシェルから、X アプリケーションを起動する $ DISPLAY=<DISPLAY_ID> <X-app-to-be-started> → remote で起動された X アプリケーションの画面が、 local の画面に表示される + 個々の X アプリケーションだけでなく、リモートホストのデスクトップを丸ごと使いたい場合は、ここから更に Xnest を起動する。~ → [[X/Xnest]] //=============================================================================== ** 制限 [#e4638264] - sylpheed, firefox, seamonkey などのアプリケーションは、同じユーザで同時に2つ以上の異なるディスプレイ番号上では起動しないように作られている。このようなアプリケーションはリモートで起動済みの場合、ローカルからリモートのモノを起動できない。 ///////////////////////////////////////////////////////////////////////////////// * Windows からの接続 [#lbe35bc5] //=============================================================================== ** MobaXterm [#MovaXterm] //------------------------------------------------------------------------------- *** MobaXterm とは [#c57bf812] - X11, ssh,sftp, vnc, rsh などのプロトコルでの接続機能を持った Windows アプリケーション - cygwin や mingX のようにインストーラでインストールすることもできるが、インストーラなし版もあり、インストールしなくても使うことができる。 //------------------------------------------------------------------------------- *** 使い方 [#n8278c60] + [[MobaXterm>http://mobaxterm.mobatek.net/]] を入手する + インストーラなし版を取得し、適当な場所に展開。 + 起動 + "session" → "SSH" を選択 ++ 基本情報の入力 |~field |~description |~for example | |"Remote host*" |接続先ホストを指定|192.168.0.3 | |"Specify username" |接続時のユーザ名 | - | ~ ++ "Adbanced SSH settings" をクリックし、接続時に何をするかを設定する |~field |~description |~for example | |"Execute command:" |何らかのプログラムを自動で起動したい場合に設定 |/usr/bin/gnome-terminal | |"Remote environment:" |WindowManager やデスクトップ環境を起動したい場合に設定(プルダウンから選択) |Gnome desktop| //=============================================================================== ** VcXSrv [#VcXSrv] //------------------------------------------------------------------------------- *** インストール [#nb0dda54] + [[VcXsrv Windows X Server>https://sourceforge.net/projects/vcxsrv/]] を入手する //------------------------------------------------------------------------------- *** 使い方 [#g0d36ae5] + VcXSrv を起動する + ssh クライアントの設定をする ++ PuTTY を使う場合は、"Connection" - "SSH" - "X11" を開き、 --- "X11 forwarding" のチェックボックスにチェックを入れる --- "X display location" に、X server を起動する側のマシンのhost とディスプレイ番号を入れる ex.) 127.0.0.1:0 # localhost で X server を起動、 ディスプレイ番号が :10 の場合であってもこうする。なぜそうなのかは未調査。 + sshクライアント(PuTTYなど) を起動し、 X client となるマシンに接続 $ ssh -X -l <username> <host-name-or-IP-address> + sshクライアントから、Xnest と WindowManager を起動する: $ Xnest :10 -geometry 1900x1024+0+0 $ DISPLAY=:10 jwm & # WindowManager "jwm" を起動する場合 -- geometry オプションは、VcXSrv をタイトルバーありで起動した場合、1920x1080の画面の場合は 1920x1020 くらいがちょうどよい。 ///////////////////////////////////////////////////////////////////////////////// * トラブルシューティング [#e6338ecc] - X11 forwarding over SSH でのレスポンスが遅いときは、[[vnc>X/vnc]] の利用を検討する。