今回は、pi5にモニタとキーボードをつなげてfirefox上で書きました
はじめに
- 前回からの続きになる。
- 今回は、キーボードや外付けssdをつなげての作業になるから、前回までと異なり、ヘッドレスにしない。前回までで構築した環境の続きだから、今回がwifiにつなぐ初めての機会になる。
- モニターは、最初と別のモバイルモニターを購入した。サイズがmbp16と同じで、mbp16用のバッグが使えることが選んだポイント。
警告
- 今回の作業により、母艦とusb-cでvncした状態で、母艦経由のインターネット接続が出来なくなる場合があります。
- その場合でも、pi5はwifi経由でインターネット接続出来ています。
前回の続きの前の準備
- wifiにつなぐ。wifiを使用する現在地を選択しないと、wifiがオンにならない。オンになったら、現在飛んでる電波が見えるようになるのでつなぐだけ。firefoxであれば、喫茶店などでよく使われている『パスワードなしだけど、ログイン画面での作業が必要な回線』でもつながった。
- 前回まで、usb-c経由でインターネットにつなげるため、無理やりルートを通してたのが、今回、wifiを使う場合に悪さをするから削っておく。通すときのコマンドのうち、addをdelに変えるだけ。
- 今回、自宅外でwifi接続で作業したけど、せっかくssdにしたのに起動がクソ遅い。理由は、usb-c接続をデフォにしてるせいか、usb-c接続以外の場合、起動時にNetworkManager-wait-online.service が邪魔をしてるから。コイツを無効にするためのコマンドは、
sudo systemctl disable NetworkManager-wait-online.service
。これでスッキリ、起動も早くなるかとおもったら、今度は起動時にraspi-config.serviceのせいで遅くなった。どうすりゃいいのさ。とりあえず、放置。 - 次に、スクリーンショットを取りやすくするためのアプリを導入する。
sudo apt install gnome-screenshot
でインストールすると、ここに現れる。
- もともと、x11環境ではscrotがつかえるため、キーボードのPrtScボタンを押すだけで全画面スクリーンショットが取れるけど、scrotは範囲指定ができないし、画像ファイルがホームフォルダに作られるだけだから、qiitaに貼り付ける目的では使い物にならない。
- gnome-screenshotを立ち上げると、ダイアログ画面が表示されて、範囲指定が可能であることがわかる。スクリーンショットを取るためには、左上のボタンを押す。
- ボタンを押して、範囲指定してキャプチャすると、こんな画面になり、上のボタンを押してクリップボードに保管できるため、qiitaへの貼り付けに利用できるし、保存ボタンを押さなければ無駄な画像ファイルも発生しない。
- でも、いちいちアプリを立ち上げるのがクソ面倒なので、なんとかしようとヘルプを見ると、範囲指定するオプション-aとクリップボードに直接送るオプション-cが存在することがわかる。ちなみに、-aだけ指定すると、ホーム下のPicturesに画像ファイルが自動的に保管された。-a -cの両方を指定すると画像ファイルは作られず、クリップボードからqiitaに貼り付けできた!
- あとは、PrtScのショートカットから、
scrot
を追い出して、gnome-screenshot -a -c
に入れ替えるだけ。ククク...scrotの野郎、こんなところに隠れてやがった。しかも一匹だけの模様。こいつは都合がいいぜ!
- 仕留めた! これで、PrtScのショートカットは範囲指定方式が標準で、Ctrlを押しながらだとアクティブウインドウがキャプチャされる。そして、シフトを押しながらの場合、最初に説明したダイアログ画面が出るようにした。
- PrtScに割り当てられたコマンドが切り替えられたか確認したいけど、pi5の再起動で時間を食うのが嫌だから、デスクトップ環境だけ再起動するため
sudo systemctl restart lightdm
を打った。再起動後、無事、確認できた。めでたし、めでたし。
やったこと(数字は作業順)
- ラズパイ5を組み立てる
- sdカードにラズパイの純正OS(以下、rpios)を焼いてから、usb-c接続用に改変
- sdカードをpi5に差し込み、usb-cケーブル(usb2.0規格)で母艦に接続
- 母艦からpi5にssh接続
- raspi-configで色々やる(前半)
-
vnc設定をする
¯¯ (前々回はここまで) ¯¯ - raspi-configで色々やる(残り) <--今回はここから
- キーボードとマウスの設定
- アプリアップデートしてから、日本語入力アプリをインストール
- メインドライブを変更(sdカード⇒ssd)
¯¯ (前回はここまで) ¯¯ - キーボードを有線接続して、タッチパッド付きキーボードが認識されることを確認
- キーボードをbluetoothモードに切り替えて、他の手段を使って、接続設定を行った。
※購入翌日に作業したときは、自宅で別のキーボードを使ったけど、自宅外だったから、スマホにbluetoothマウス機能をもたせて、代わりとした。 - バックアップする
キーボードを接続
- キーボード設定は前回もしたけど、vnc上のキーボード(母艦のキーボード)とは異なるから、別途設定を行った。
- とは言え、前回、>設定>「Fcitxの設定」で母艦の英数・かなキーを設定したときと同じことをするだけ。下記の通り、「変換」「無変換」キーが追加された。
- ちなみに、日本語変換のキー設定の方は、>設定>「Mozcプロパティ」で行う。
- 実は、先程の「Fcitxの設定」のみだと、変換キーを繰り返し押すと「あ(直接入力)」⇔「あ(全角かな)」に切り替わってしまい、不便。よって、>Mozcプロパティ>「Mozcキー設定」で、入力キーに「Henkan」がある項目(エントリーと呼ばれている)をすべて削る。自分の場合は、「Muhenkan」「Kana」「Hiragana」「Hankaku/Zenkaku」のキーが含まれる項目も全部削った。
- そして、タッチパッドの感度が良すぎて、めちゃくちゃ使いづらいからこれも修正する。
- 例えば、キーボードで文章を打ってるときに、ちょっと手が触れただけでカーソルが飛んでゆき、そこに文字が入力されてしまう。
- 例えば、PrtScを押して、範囲選択モードになったあと、範囲選択をしようとポインタを移動させてる間に、タップと認識されて、勝手に範囲選択モードが終了してしまう。
- 母艦では気づかなかったから、macbookのタッチパッド制御が素晴らしいということなんだろうか?とりあえず、pi5でどのように認識されているかを見ると、input8~12に、キーボード2つ、マウス2つ、タッチパッド1つが認識されている?なぜキーボードとマウスがダブってんの?ま、まぁ見なかったことにしよう。
- タッチパッドの割当idを見てみると、id=11とのこと
- テストしてみると、確かにタッチ操作が感知されている。しかし、パッドに触れた指を動かす動作は感知されても、タップについては感知されなかった。
- ちなみに、キーボード操作もid=17で感知可能だった。
- また、11と16以外の他のidでは、テストしても感知されなかった。つまり、タップはxinputで感知される動作ではないことかな?
- こんなコマンドを見つけたから打ち込んでみたけど...もう、だめp...お手上げっす。ベトナム語で言えば、bó tay chấm com(手を縛る.com)だね。
- しょうがないから、文字入力中の誤タッチだけでも回避するため、このオプションを追記するだけにした。
Option "DisableWhileTyping" "True"
バックアップする
- ここまで色々と環境設定したけど、現段階での状態をバックアップしておこう。
- バックアップ用の外付けssdと128gbのsdカードを刺した状態のディスク構成はこんな感じ。
- とりあえずは、SD Card Copierを使って、ssdをsdカードにコピーしてみる。512gbのssdから128gbのsdカードへのコピーだけど、ssdの方は120gbでパーティションを切って使ってるから、128gbのsdカードで容量が足りないことはないはず。
- コピー後のsdカードはこんな感じで上手くいったみたい。今後、ssd内のrpiosが腐ったときは、このsdカードを使って元に戻れる。つか、sdカードを使って起動すると、元の環境に戻るという感じ。
- でも、さっきの方法では、sdカードを塩漬けにするしかなくなるので、別の方法も探る。バックアップ作業はddコマンドを使うのが一般的かも知れないけど、せっかくgnome-disk-utilityをインストールしたんだから、これを使えないか?しかし、アンマウントが必要とのことであり、起動ディスクをアンマウントできるはずもないので諦めた。
- 結局、ddでバックアップする事とした。lsblkコマンドで、割当て名を確認。そして、dd中の進捗状況を表示させるため、pvをインストール。pvは最初から入っているモノと勘違いしてたけど、インストールが必要なのね。ついでに、圧縮速度を速めるため、pigzもインストール
- こんなコマンドで、バックアップ開始。
- パーティションを120gbで切ったから、バックアップもそこで止まるかと思ったけど、120gbを超えても止まらなかった。利用してない領域も含めて512gb全てをバックアップするんだな。時間が無駄だわ。dd中は、pigzが頑張ってるな。
- 結果、512gbのバックアップに40分程度(=2432秒)かかった。SD Card Copierの方が圧倒的に早く終わったから、128gbのsdカードがバックアップ用に塩漬けになるけど、1枚千円程度だし、そっちの方が効率いいかもしれない。ちなみに、バックアップファイルのサイズは3.9GiB。※GiB = 1024^3、1gb = 0.93GiB
おわりに
- 今年のGWの後半は、ラズパイ5をいじってる間に終わってしまった。なんていうか、この手のインストール作業とか環境構築って、ジグソーパズル的な面白さがあるよね。つまり、生産性のある作業というより、パズルを解くような娯楽的な作業。
- あとは、osの軽量化とか、タッチパッドのジェスチャー設定(3本指スワイプとか)にも手を出したいけど、とりあえずは、ここまでで一旦終了。
- 冒頭の「警告」でも書いたけど、キーボードとモニタを付けて、wifiに繋いで作業を行った後、再びusb-cで母艦と繋いで作業したら、母艦からpi5にvncで繋げられたんだけど、母艦経由のインターネット接続が出来なくなってた。まあ、pi5からwifiに繋いでインターネットに繋がったから、実害はないんだけど、出来ていたことが出来なくなったのは気持ち悪い。そのうち、解決策を見つけたい。