安価に販売されているタッチパネル付きLCDパネルである。 フットプリントがBタイプと同じで、GPIO接続なので、ぴったり重なる形で利用できる。
ドライバやキャリブレーション用のツールの導入が不可欠だが、販売されるものに、導入用のインストラクションなどはない。
類似のモジュールは数多くあり、ドライバ類も多いので、適切なものを導入する必要がある。
今回導入したモジュールのドライバーはgit経由で取得するものだった。
# git clone https://github.com/Elecrow-keen/Elecrow-LCD35.git # cd Elecrow-LCD35 # ./Elecrow-LCD35
これで、ドライバと対応するXサーバが導入される。 また、キャリブレーション用のツールは、
# dpkg -i -B xinput-calibrator_0.7.5-1_armhf.deb
で導入する。 apt で更新されるようなので、apt update / apt upgrade をしておく。
SSHは外部からのアクセスに不可欠である。 但し、設定がセキュアでなければ、外部からのクラックを許すことになる。
のみを許すように設定し、暗号鍵を適切にインストールする必要がある。
外部からアクセスするには、アクセス元の端末がもつ秘密鍵とペアになる公開鍵を ~/.ssh/authorized_keys2 に書き込んでおく必要がある。 このとき ~/.sshのモードは 0700 に、authorized_keys2 のモードは 0600 にそれぞれ設定されていなければならない。
sshd の設定は /etc/ssh/sshd_configにあり、以下の点を確実にしておく。
PubkeyAuthentication yes PasswordAuthentication no PermitEmptyPasswords no ChallengeResponseAuthentication no UsePAM no
公開鍵でのアクセスを許可し、パスワードによるアクセスを禁止する。
Raspbianではsshdは自動起動されないので、これも自動起動されるようにしておく。
# systemctl enable ssh
Raspbianは設定の簡便のために、ユーザpiが存在し、様々な権限が付与されている。 当然、全てのRaspbianに存在しているので、セキュリティホールとなり得る。
ユーザpiを停止し、セキュリティホールをふさぐ必要がある。 停止に先だち、自身のユーザを作成し、sudo グループに追加しておく必要がある。
これを怠ると、管理者になることが出来なくなる。
また、同時に、ユーザpi はsudo 可能ユーザから外す。 /etc/group を編集し、sudoグループの行から pi を消し、代わりに自身を追加しておく。
sudo 回りの処理が
# passwd pi --lock
グループ pi はgid 1000であり、或いは、既存のグループと衝突するかも知れない。 この場合、piを消してしまえばいいのだが、グループpiで権限のチェックをしているものがあるようなので、pi を別のGIDで作成し、所属ユーザを含めてコピーしておく必要がある。
SDカード上のスワップファイルを使用する Raspbianのスワップは百害あって一利なしなので、停止すべきモノらしい。
スワップの一時的な停止は次のコマンドで行う。
$ sudo dphys-swapfile swapoff
再開する場合は、
$ sudo dphys-swapfile swapon
でよい。 なお、再起動後も停止したままにしたいなら、サービス自体を停止する。
$ sudo service dphys-swapfile stop $ sudo systemctl disable dphys-swapfile
こちらも、再度有効にしたければ
$ sudo systemctl enable dphys-swapfile $ sudo service dphys-swapfile start
とすればよい。
メモリが不足すると kswapd0 がCPUを喰いだして、システムが応答しにくくなる。 最終に的には無応答になりリセットするしかなくなるため、バッファを強制クリアするなどして、対応する必要がある。1)
$ sudo /sbin/sysctl -w vm.drop_caches=3
とすればよい。 なお、設定出来る値は1-3である。
なお、dirtyキャッシュはクリアされないので、syncしてからでなくても破綻はしない。 syncしてある方が、勿論、クリアされるデータは増えるが、ただでさえ重くなっているときにsyncなどしていたら本末転倒であろう。
Raspbian においては、デフォルトで、Piが仮想コンソールと、Xセッションの二つで自動ログインしている。 特に、Xの方はメモリも喰うので不要ならば停めたいところである。
Xセッションは /etc/lightdm/lightdm.conf内の以下の行をコメントアウトすることで停止することができる。
autologin-user=pi
また、コンソールへの自動ログインは、/etc/systemd/system/autologin@.service の以下の記述を変更することで制御できる。
[Service] # the VT is cleared by TTYVTDisallocate ExecStart=-/sbin/agetty --autologin pi --noclear %I $TERM
コメントアウトすれば自動ログインは抑制される。 また –autologin のユーザを変更すれば変更されたユーザでログイン出来る。