Raspberry Pi 3モデルB +をローカルネットワークに接続していますが、問題なくSSHで接続できます。すべてがコマンドラインで行われるため、これはいくつかの問題を引き起こします。
私が本当にやりたいのは、Linux用のWindowsサブシステムに付属のSSHクライアントを使用してX11転送を使用することです。 1803アップデートがインストールされたWindows 10 Proを実行しています。
この機能の使い方について知りたいのですが。 Windows 10でネイティブに機能しない場合は、いつでもLinux仮想マシンを実行してRaspberry Piに接続できます。
現在の設定を考えると、これは間違いなく可能です。 PuTTYを使用 のオプションもあることに注意してください。ただし、どちらの場合でも、クライアントマシンであるXサーバー(Linux用のWindowsサブシステム)を実行する必要があります— [〜#〜 ] wsl [〜#〜] 。 Xウィンドウシステムの client-server model は、X転送を簡単に引き離すことができる部分です。必要なのは、ホストとクライアントで実行されているXサーバーだけです。
最初に、ホストマシン(Raspberry Pi)上のSSHサーバーの構成を少し調整します。まず、etcディレクトリ内のsshd_configファイルを見つけます。これらのコマンドを実行するには、Raspberry Piにsshでログインするか(Sudo対応のアカウントを使用)、Piに直接アクセスしてターミナルを開きます。
いったん入ったら、次のコマンドを実行します。
cd /etc/ssh
Sshd構成ファイルのバックアップを作成します。
cp sshd_config sshd_config.ORIG
originalファイルをテキストエディターで開きます。
Sudo nano sshd_config
使い慣れたテキストエディタを選択できます(nanoテキストエディタのショートカットは、 ここを参照 )。これは、sshサーバーのメイン構成ファイルです。次の行を見つけてコメント解除します。
X11Forwarding yes
X11UseForwarding yes
保存して終了。次に、PiのSSHサーバーを次のコマンドで再起動する必要があります。
Sudo systemctl restart sshd
これでホストは完了です。 WindowsにXサーバーをインストールするだけです。いくつかのオプションから選択できますが、ダウンロードできるCygwin Xを使用します こちら 。それをインストールして実行すると、Xプログラムの表示に使用されるクライアント上に小さなウィンドウが表示されます。これで、WSLシェルに戻って簡単なコマンドを実行することにより、X転送が行われていることをテストできます。
xclock
Cygwinによって生成されたウィンドウに単純な時計が表示されます。 WSLシェルに戻ってCtrl + Cを押すと、クロックを終了できます。このコマンドが認識されない場合は、最初にx11-graphicsアプリケーションをホストマシンにインストールする必要があります。
Sudo apt-get install x11-apps
これでX転送が有効になり、すべてのRaspberry PiのアプリケーションをWindowsから実行できるようになります。
X転送で許可されているapp-by-appだけではなく、Piからデスクトップ環境全体を実行するように、さらに一歩進めて設定することもできます。利用できる一般的なオプションをいくつか示します。
WSLシェルで、完全修飾DISPLAYをエクスポートしたことを確認します
export DISPLAY = localhost:0.0
以下は機能しません:export DISPLAY =:0.0
:0.0は(TCP/IPソケットの代わりに)UNIXドメインソケットに依存しており、どういうわけかX転送は正しく接続されません。同じ問題がありました。
X11は、グラフィカルインターフェイスを表示するマシンをX Windows SERVERと見なし、情報を提供するマシンをX Windows CLIENTとして表示します。これは通常のクライアント/サーバー関係の逆です。ローカルマシン(物理ディスプレイのあるマシン)をグラフィックサーバーと考え、リモートマシンをグラフィッククライアントと考えます。