人気ブログランキング |

体重と今日食べたもの

k1segawa.exblog.jp

ダイエット

ブログトップ

2019年 03月 11日 ( 1 )

ストアでX410というXサーバーを購入。Winラズパイにインストール。WSLは不要。デカいからね。
もちろんVcXsrvでもいいのだが。

WinラズパイでX410起動後、タスクトレイのXのアイコンを右クリックして、「Allow Public Access」を選ぶ。メッセージが出るのでOKを押す。

プライベートネットワークをチェックONにして許可を押す(Winラズパイで行う。画面はWin PCの例)。
a0034780_09442020.png

Winラズパイで、DOSやPSでipconfig でプライベートIPアドレスを調べる。
例 ) 192.168.10.112

ホスト側PCのWSLや、Linux端末上で、
※ただしBashはxterm系列でないため、有効にならない。
Bash上からlxterminal等をインストールしその上で実行の事。

export DISPLAY=192.168.10.112:0.0
xclock

(sudo apt install x11-apps 済みとする)
X クライアントが Winラズパイ上にリモート表示される。
a0034780_09445725.png

lxterminalとかも表示出来るので、PC側のWSLやLinuxにアクセスしてリモート開発出来る。
a0034780_09461045.png

Bash>lxterminalと打つ>そのlxterminalでshと打つ>export DISPLAY=192.168.10.112:0.0と打つ>lxterminalと打つ>Winラズパイでlsと打つとカラーになって綺麗(shでVT用のエスケープシーケンス設定がされるのだろう)。

WindowsのよくあるターミナルソフトでもDISPLAY設定できるかは未確認。

キー入力も可能。Linux PCからlxterminal>sh>export DISPLAY=192.168.10.112:0.0>lxterminal>日本語表示・入力も可能なのを確認。もちろんマウスによるlxterminalのテキスト選択とかちゃんとイベントも拾ってる。やべ、icoとかもCPU/メモリ/ディスク消費せずに普通に動くし、topとかWin PCの方の負荷でicoが動いてるのも出る。

Winラズパイ側でWin PCのlsコマンドを実行しているのだ。というかlxterminalを動かしている。Xプロトコルがネットワーク透過なので、XアプリケーションでのイベントはすべてXプロトコルで送受信されている。まあなので有線LANでアクセスするか、WPA上で無線LANを暗号化していれば、家内LANは大丈夫か(企業内VPNも社内のスパイ対策と聞く)。

もう何でもできるな~

そうかー、これWSL入れるPCを1か所にして、Xサーバだけ入れれば他のPCからリモート開発出来るな。PC同士、Linux端末でも出来るし、逆にPCでLinux端末にアクセスできるから、もっと活用されるといいな。社内ならIPSecでVPN化してIPパケットレベルで暗号化を進めているはずだから、わざわざsshだけでttyだけ暗号化したり、httpsでhttpだけ暗号化したりするより、安全なんだがな。

Go言語による開発も、Xでリモート表示を企むなら、Tcl/TkやGTK系のGUIライブラリを使って、PCで普段は(Xsever立ち上げて - 要らない?)GOOS=windows/linux/mac、GOARCH=amd64/i386にして、ビルド・実行し、テストの時にGOOS=windows、GOARCH=arm、GOARM=7(aarch64も行ける?)にして、ビルドし、Winラズパイに実行形式を転送し、Winラズパイ側で「OpenSSHサーバ開始してssh-keygenしてsshログイン出来る」ようにして、DISPLAY設定してPC側へ表示をさせるようにすれば、GUIもPCに表示され、いいんではないかな(実行しているのはWinラズパイ)。「」内がもう少し調査が必要。WinラズパイにGoのexeを実行するのにGoインストールは不要だし。GUIライブラリも不要だよね?でもGUIライブラリがランタイム不要と言う事はwin32APIを直接コールするのでXによる表示じゃないのかな。WSL上でGo開発出来ればわかるのか。その時の設定だな。


by k1segawa | 2019-03-11 09:59 | Raspberry Pi | Comments(0)