2021/07/30

lightdm ログイン画面にIPアドレス表示

起動直後に自身のIPアドレスを表示させたい!ログインせず!それもデカく!
下の写真だと分かりにくいけど、Ubuntuでlightdmのログインウィンドウ表示したときにIPアドレスを表示した状態がこれです。マシンはJetsonNano。アドレスが複数出てるのはDockerなど複数あるから。
まず、表示スクリプトはこんな感じです
hostname -I > /tmp/ip.txt
zenity --text-info --filename /tmp/ip.txt --width=800 --height=400 --font "Monaco 70"
これを実行可能なスクリプトファイルとしてどこかに作成する

ログイン前に表示する設定(lightdm)
/etc/lightdm/lightdm.conf.d/99-showip.conf を作成して
[Seat:*]
greeter-setup-script=<スクリプトへのパス>
を記入。99-showip.confとかじゃなくても何でもいいでしょう。全ファイル実行するっぽいので。

JetsonNanoのUbuntuDesktopの初期DMはgdm3なのでgdmで実現したかったが、残念ながらうまく機能しなかった。/etc/gdm3/Init/Default、/usr/share/gdm/greeter/autostartとか、色々記事探しながらやってみたが、記事通りには動作しなかった。。。ということでlightdmに変更した。

HDMI 3.5"LCDディスプレイ
写真のモニタはラズパイ向けのモニターで約3千円位で買えるスグレモノ。これはKumanというメーカーのものだが最近見かけない。代わりにOSOYOOってところのやつが同じ価格帯で出てる。
ちょっと繋ぎたいときに重宝する。このモニターサイズなのでデカく表示したかった。

なぜ表示したかったか
時々使用するLinuxマシンが複数あり、常時モニタやキーボードなどは接続してない。メインモニタは1つしか持ってない。sshとかVNCで使うのが常なのだけど、ふとIPアドレスが不明になってしまう。どれがどれだっけ?とか、DHCPで時々変わったりする。固定にすればいいんだけど結局忘れるし。面倒だし。
ということで、とにかく起動して、このチビモニタに接続すれば判明するようにしたかった。