「X11ポートフォワード」の版間の差分

提供: とある社畜の頭脳整理
ナビゲーションに移動 検索に移動
(ページの作成:「先ずはx11forwordingでLinuxアプリケーションをWindows上で起動してみます。<br/> ちなみにLinuxをクライント、Windowsをサーバーと表現…」)
 
 
(同じ利用者による、間の1版が非表示)
3行目: 3行目:
 
ご注意願います…
 
ご注意願います…
  
= クライアントの設定変更 =
+
== クライアントの設定変更 ==
 
先ずはsshの設定を変更します。<br/>
 
先ずはsshの設定を変更します。<br/>
 
nano等のエディタで「/etc/ssh/sshd_config」を以下の様に編集します。
 
nano等のエディタで「/etc/ssh/sshd_config」を以下の様に編集します。
  
 
【変更前】
 
【変更前】
<syntaxhighlight lang="bash">
+
<syntaxhighlight lang="text" start="84" highlight="2,4-6" line>#AllowAgentForwarding yes
 
#AllowTcpForwarding yes
 
#AllowTcpForwarding yes
+
#GatewayPorts no
 
#X11Forwarding no
 
#X11Forwarding no
 
#X11DisplayOffset 10
 
#X11DisplayOffset 10
 
#X11UseLocalhost yes
 
#X11UseLocalhost yes
</syntaxhighlight>
+
#PermitTTY yes</syntaxhighlight>
  
 
【変更後】
 
【変更後】
<syntaxhighlight lang="bash">
+
<syntaxhighlight lang="text" start="84" highlight="2,4-6" line>#AllowAgentForwarding yes
 
AllowTcpForwarding yes
 
AllowTcpForwarding yes
+
#GatewayPorts no
 
X11Forwarding yes
 
X11Forwarding yes
 
X11DisplayOffset 10
 
X11DisplayOffset 10
 
X11UseLocalhost yes
 
X11UseLocalhost yes
</syntaxhighlight>
+
#PermitTTY yes</syntaxhighlight>
  
 
次に、x11forwordingに必要なパッケージをインストールします。<br/>
 
次に、x11forwordingに必要なパッケージをインストールします。<br/>
36行目: 36行目:
 
再起動している間に、サーバー側の設定をします。
 
再起動している間に、サーバー側の設定をします。
  
= サーバーの設定 =
+
== サーバーの設定 ==
 
今回はXサーバーとして「VcXsrv」を使用します。<br/>
 
今回はXサーバーとして「VcXsrv」を使用します。<br/>
 
インストール方法は[https://www.atmarkit.co.jp/ait/articles/1812/06/news040.html こちら]を参照してください。<br/>
 
インストール方法は[https://www.atmarkit.co.jp/ait/articles/1812/06/news040.html こちら]を参照してください。<br/>
51行目: 51行目:
 
後はデフォルトのままで問題ありません。
 
後はデフォルトのままで問題ありません。
  
= xeyesの起動 =
+
== xeyesの起動 ==
 
ターミナルソフトからArchLinuxにログインします。<br/>
 
ターミナルソフトからArchLinuxにログインします。<br/>
 
確認のため以下のコマンドを実行してください。
 
確認のため以下のコマンドを実行してください。
69行目: 69行目:
 
どうでしょう?Windows上に目玉が出てくれば成功です。
 
どうでしょう?Windows上に目玉が出てくれば成功です。
  
= デスクトップまるごとx11forwording =
+
== デスクトップまるごとx11forwording ==
 
今度はデスクトップまるごとx11forwordingしてみます。<br/>
 
今度はデスクトップまるごとx11forwordingしてみます。<br/>
 
セッションを開始するコマンドを実行すれば、デスクトップを持ってこれます。
 
セッションを開始するコマンドを実行すれば、デスクトップを持ってこれます。
  
== LXDEの場合 ==
+
=== LXDEの場合 ===
 
まずは軽量なデスクトップ環境(LXDE)を使用します。<br/>
 
まずは軽量なデスクトップ環境(LXDE)を使用します。<br/>
 
クライアント側で作業してください。<br/>
 
クライアント側で作業してください。<br/>
  
=== LXDEのインストール ===
+
==== LXDEのインストール ====
 
以下のコマンドを実行して、LXDEをインストールします。<br/>
 
以下のコマンドを実行して、LXDEをインストールします。<br/>
 
(「じゃあ、初めっからGNOMEなんて入れないで、LXDEにすれば良いじゃん!」というツッコミは無しで…)
 
(「じゃあ、初めっからGNOMEなんて入れないで、LXDEにすれば良いじゃん!」というツッコミは無しで…)
 
<syntaxhighlight lang="bash">pacman -S lxde</syntaxhighlight>
 
<syntaxhighlight lang="bash">pacman -S lxde</syntaxhighlight>
  
=== 実行 ===
+
==== 実行 ====
 
以下のコマンドを実行すれば、デスクトップまるごと持ってこれます。
 
以下のコマンドを実行すれば、デスクトップまるごと持ってこれます。
 
<syntaxhighlight lang="bash">lxsession</syntaxhighlight>
 
<syntaxhighlight lang="bash">lxsession</syntaxhighlight>
88行目: 88行目:
 
簡単でした…
 
簡単でした…
  
== GNOMEの場合 ==
+
=== GNOMEの場合 ===
=== Xorgセッションの場合 ===
+
==== Xorgセッションの場合 ====
 
以下のコマンドで、デスクトップまるごと持ってこれます。
 
以下のコマンドで、デスクトップまるごと持ってこれます。
 
<syntaxhighlight lang="bash">gnome-session</syntaxhighlight>
 
<syntaxhighlight lang="bash">gnome-session</syntaxhighlight>
  
=== Classicセッションの場合 ===
+
==== Classicセッションの場合 ====
 
以下のコマンドで、デスクトップまるごと持ってこれます。
 
以下のコマンドで、デスクトップまるごと持ってこれます。
 
<syntaxhighlight lang="bash">export XDG_CURRENT_DESKTOP=GNOME-Classic:GNOME
 
<syntaxhighlight lang="bash">export XDG_CURRENT_DESKTOP=GNOME-Classic:GNOME
99行目: 99行目:
 
exec gnome-session --session=gnome-classic</syntaxhighlight>
 
exec gnome-session --session=gnome-classic</syntaxhighlight>
  
== 見た目が… ==
+
=== 見た目が… ===
 
見た目があれで扱いづらい場合は、VcXservの設定を見直してみてください。<br/>
 
見た目があれで扱いづらい場合は、VcXservの設定を見直してみてください。<br/>
 
うまくやれば、以下の様に表示できます。<br/>
 
うまくやれば、以下の様に表示できます。<br/>
 
[[ファイル:archlinux-x11for-001.png | 400px]]
 
[[ファイル:archlinux-x11for-001.png | 400px]]
  
= 参考サイト =
+
== 参考サイト ==
 
[https://www.atmarkit.co.jp/ait/articles/1812/06/news040.html WSL上にXサーバをインストールしてGUIを実現する(VcXsrv編):Tech TIPS - @IT]<br/>
 
[https://www.atmarkit.co.jp/ait/articles/1812/06/news040.html WSL上にXサーバをインストールしてGUIを実現する(VcXsrv編):Tech TIPS - @IT]<br/>
 
[https://wiki.archlinux.jp/index.php/Secure_Shell#X11_.E3.83.95.E3.82.A9.E3.83.AF.E3.83.BC.E3.83.87.E3.82.A3.E3.83.B3.E3.82.B0 Secure Shell - ArchWiki]<br/>
 
[https://wiki.archlinux.jp/index.php/Secure_Shell#X11_.E3.83.95.E3.82.A9.E3.83.AF.E3.83.BC.E3.83.87.E3.82.A3.E3.83.B3.E3.82.B0 Secure Shell - ArchWiki]<br/>

2019年9月10日 (火) 14:34時点における最新版

先ずはx11forwordingでLinuxアプリケーションをWindows上で起動してみます。
ちなみにLinuxをクライント、Windowsをサーバーと表現しています。
ご注意願います…

クライアントの設定変更

先ずはsshの設定を変更します。
nano等のエディタで「/etc/ssh/sshd_config」を以下の様に編集します。

【変更前】

84 #AllowAgentForwarding yes
85 #AllowTcpForwarding yes
86 #GatewayPorts no
87 #X11Forwarding no
88 #X11DisplayOffset 10
89 #X11UseLocalhost yes
90 #PermitTTY yes

【変更後】

84 #AllowAgentForwarding yes
85 AllowTcpForwarding yes
86 #GatewayPorts no
87 X11Forwarding yes
88 X11DisplayOffset 10
89 X11UseLocalhost yes
90 #PermitTTY yes

次に、x11forwordingに必要なパッケージをインストールします。
必要なパッケージは「xorg-xauth」と「xorg-xhost」です。
以下のコマンドを実行して、インストールしてください。

pacman -S xorg-xauth xorg-xhost

また、テスト用として「xeyes」をインストールします。

pacman -Ss xorg-xeyes

ここで、ArchLinuxを一旦再起動します。
再起動している間に、サーバー側の設定をします。

サーバーの設定

今回はXサーバーとして「VcXsrv」を使用します。
インストール方法はこちらを参照してください。

次にターミナルソフトの設定を変更します。
最近のターミナルソフトにはx11forwordingの設定があるかと思います。
x11forwordingの設定をディスプレイ番号?10で有効にします。
これはクライアント側の「X11DisplayOffset 10」に紐付いています。


最後にXサーバーを起動します。
起動時にディスプレイ番号のテキストボックスがあるのでそこに「10」を入力します。
(初期値は「-1」になっています)
後はデフォルトのままで問題ありません。

xeyesの起動

ターミナルソフトからArchLinuxにログインします。
確認のため以下のコマンドを実行してください。

echo $DISPLAY

これで以下の様に表示されれば、OKです。

localhost:10.0

ターミナルソフトによって多少表示される内容が異なる場合があるかもしれません。 (例えば…「:10」「127.0.0.1:10.0」「:10.0」など…) 特に気にしなくても大丈夫です。
もし、何も出ない場合は、ターミナルソフトの設定や、ArchLinuxを再起動してみてください。

では…「xeyes」を起動してみます。
以下のコマンドを実行してみてください。

xeyes

どうでしょう?Windows上に目玉が出てくれば成功です。

デスクトップまるごとx11forwording

今度はデスクトップまるごとx11forwordingしてみます。
セッションを開始するコマンドを実行すれば、デスクトップを持ってこれます。

LXDEの場合

まずは軽量なデスクトップ環境(LXDE)を使用します。
クライアント側で作業してください。

LXDEのインストール

以下のコマンドを実行して、LXDEをインストールします。
(「じゃあ、初めっからGNOMEなんて入れないで、LXDEにすれば良いじゃん!」というツッコミは無しで…)

pacman -S lxde

実行

以下のコマンドを実行すれば、デスクトップまるごと持ってこれます。

lxsession

簡単でした…

GNOMEの場合

Xorgセッションの場合

以下のコマンドで、デスクトップまるごと持ってこれます。

gnome-session

Classicセッションの場合

以下のコマンドで、デスクトップまるごと持ってこれます。

export XDG_CURRENT_DESKTOP=GNOME-Classic:GNOME
export GNOME_SHELL_SESSION_MODE=classic
exec gnome-session --session=gnome-classic

見た目が…

見た目があれで扱いづらい場合は、VcXservの設定を見直してみてください。
うまくやれば、以下の様に表示できます。
Archlinux-x11for-001.png

参考サイト

WSL上にXサーバをインストールしてGUIを実現する(VcXsrv編):Tech TIPS - @IT
Secure Shell - ArchWiki