【機械学習】Jetson Nano Developer Kit のはじめの一歩 無線LAN自動起動 リモート接続いろいろ【インストール編】(5)

VNC接続はできたけど・・

【機械学習】Jetson Nano Developer Kit のはじめの一歩 ちゃんと日本語化・無線LAN・カメラ・VNC設定など【インストール編】(4)
Jetson Nano 2GB Developer Kit はじめの一歩シリーズ(その4) 最初のブートまで前回説明しました。Debian...

これまででできましたね。。

でも。。これって不便(笑)なぜなら、Loginしてなければ、Wifi接続とか自動でされないし。。VNCも動かないので、結局一回、Jetson Nanoに、ディスプレーやマウスをつなげてログインしないといけないのと。。VNCのレスポンスがとっても遅いので。。ちょっといろいろ試してみます。

まずはWiFiの自動接続

これは、Ubuntuの設定ですね。

wlan0を自動で接続しなさいっていうのを記憶させておく

/etc/network/interfaces に、以下を追加

auto wlan0
iface wlan0 inet dhcp
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf

実際には。。

$sudo nano /etc/network/interfaces

と打って気づきましたが、デフォルトのエディタのnanoが入ってないんですね(笑)

nano入れたい場合は、

$sudo apt-get install nano

で入ります(^^; 入れない場合は、viなどで、Xを立ち上げている場合は、leafpadでも可ですね。

そして、WifiのSSIDとPASSWORDも覚えさせておきます。

$sudo sh -c "wpa_passphrase <SSID> <PASSWORD> > /etc/wpa_supplicant/wpa_supplicant.conf"

セキュリティ気にする人は、一応、/etc/wpa_supplicant/wpa_supplicant.conf を確認して、#pskの行を消しておきましょう。平文でPASSWORDが入ってしまっています。

これで、再起動します

$sudo reboot

まずはSSH接続できるかな?

SSHサーバは、デフォルトで入っているようなので

Jetson NanoのIPアドレスは、VNC接続した時に調べたので、そのIPアドレスを使って

Windowsのコマンドプロンプトから

ssh -Y <username>@<ip_address>

と打てば、認証コードを入れますかって聞かれて、Yesと打つと、パスワードを聞かれて、

この画面がでれば、OK、ものすごくレスポンスいいですね(笑)

で。。もX系のGUIとか使いたいですしね。。 この状態からVNCは動かないのよねぇ~。。う~む。。

ということで。。

リモートデスクトップ接続

【追記】xrdpレスポンスはいいけど、GPUを動かすのは今の所できないです。【注意】このXRDPを使ったリモートデスクトップでは、内蔵のGPU類が使われないようです。なので。。TutorialやCudaを使ったような関係のものは表示できないので、VNCの方でTutorialは動かすほうがいいです。

Windowsについているリモートデスクトップ接続を使った方法があるようです。

https://www.digikey.com/en/maker/projects/getting-started-with-the-nvidia-jetson-nano-part-1-setup/2f497bb88c6f4688b9774a81b80b8ec2

NVIDIA Jetson Nano を使ってみる(起動と設定編) – FRONT

を参考にしました。

XRDP(リモートデスクトッププロトコル)のインストール

sudo apt-get install xrdp

homeディレクトリに移動してxfceをインストールして設定

$cd /home
$sudo apt-get install xfce4
$echo xfce4-session >~/.xsession

設定ファイルを修正

$sudo nano /etc/xrdp/startwm.sh

以下の2行をコメントアウトして、xfceを立ち上げるようにしておきます

#test -x /etc/X11/Xsession && exec /etc/X11/Xsession
#exec /bin/sh /etc/X11/Xsession
#追加
startxfce4

Windos側からリモートデスクトップ接続

これでIPアドレスを入れると、ユーザー名、パスワードが聞かれますので、そのままログインしてもいいですし。。

オプションの表示を出して、画面の大きさなども変えられます。

接続を押して、ログインすると。。

このように、xfceが立ち上がって、GUI環境が使えます。

GnomeをVNCで使うより圧倒的にレスポンスいいです。かっこは、あんまりよくないけど(笑)

意味ないですが。。SSH、VNC、リモートデスクトップ接続で、全部つながります。

上のようなことをしようとすると、Gnomeを立ち上げるには、ディスプレーをJetson に接続しておいて、そちらでLoginしておいてからVNCをしないと駄目です。何も接続せずにだと。。xfceの画面がVNCで見えてしまいます。

まぁ、これで。。 こういうのをぽんと置くだけで、ノートパソコンから操作できるので。。やっとこれで、一通りの環境ができたかな??

VNCでないと、GPUが動かせない!!

ということで。。xfceの環境では、Dockerなどの環境が動かせなかったので。。やはりVNCで。。Headlessにしたい。。と。。 でもLightdmでは、AutoLoginができなくて。。HeadlessではVNCが立ち上がって来ませんでした。。 でいろいろ調べていると。。

NVIDIA Jetson Nano 2GB Auto Login doesn't work
Hi, Do you mean autologin in terminal? It is not supported.
Autologin Jetson Nano 2GB on Lightdm Ubuntu 18.04LTS
Please follow the steps provided by NVIDIA to do dot before following my steps below (link here ) cd /etc/lightdm/lightdm.conf.d sudo vi 60-...

LightDM - ArchWiki

などを参考にして。。結局はLightDMの設定のせいだということがわかり、以下のようなことで、解決しました。

sudo nano /etc/lightdm/lightdm.conf

として、下記を書き込む

[Seat:*]
autologin-guest=false
autologin-user-timeout=0
autologin-user=usrname
autologin-session=ux-LXDE

そして、autologin のグループにユーザを追加する。

# sudo groupadd -r autologin
# sudo gpasswd -a USERNAME autologin

という作業が必要でした。

また、HDMIのプラグがないと、小さな画面しかでないので。。こんなの買いました。

HDMIのディスプレィの代わりになってくれるものです。

と、Headless(Display・マウス・キーボードなし)で、Windowsから完全に操作できました。

どうも。。Jetson Nano 4GB バージョンでは、VNCサーバーが、Tigervncというのを使っているので、このような問題はないようですが、2GBバージョンでは、Lightdmを使っているのでこういうことが起こっているようです。

Lightdmの設定は、こちらが参考になるので、設定変更はこちらのページを見ると良さそうです。

LightDM - ArchWiki
LightDM - Ubuntu Wiki