Linux を使って災害対応PCを作る

秘密結社オープンフォースは能登半島地震に対する緊急支援活動を行ってきました。
「IoT ピザ窯で巨大災害で娘と焼き出してきたこと」
https://qiita.com/nanbuwks/items/adf3fea1b13d262047f9

では、炊き出し後のアクションのひとつとして、「ワークショップ用に所持しているPCの提供など」 を目指すことを表明していました。「秘密結社オープンフォースの緊急災害支援協賛その4 PC」 でのスポンサーも集まり、調整を行ってきましたが、ようやくマッチングが進み、被災地で活動するボランティア団体に PC を提供することになりました。


# 災害対応 PC はキビシイ

災害時の PC 提供支援などは今まで MicrosoftWindows と 買取版 Microsoft Office が定番でした。
ところが近年このコンフィグレーションは非常時での活用はキビシくなっているのではないか? と思うところがあります。

- WindowsUpdate の問題
  - 保管PCをイザ使おうと思ったら延々と Update
  - 貴重な通信帯域を食いつぶす
- Microsoft Office の問題
  - Microsoft 365 vs 買取版 Microsoft Office どれに合わせる?
  - 不特定多数が使う貸出PCのライセンス管理は?
- OneDrive の問題
  - トラブルシュートがキビシイ

いずれもオンライン、広帯域であることが前提となっていて、巨大災害に限らず様々な緊急アクション時にネックとなってしまいます。実際に災害支援を行っている団体にヒアリングをしていると、Windows Update で通信帯域を食いつぶすのはいつも起こっているという声も拾いました。

能登半島地震については、既に発災から8ヶ月を超え、ある程度通信環境などは安定化しています。とはいえ平時でも毎月13日前後は歯を食いしばって使わざるを得ないような環境で、それと同じ状況を被災下でも安直にスライドというようなことを、 IT を使ってダイナミックにイノベーションを起こす立場の者がのほほんと座視しているのは許されないことではないかと考えます。


官公庁との連携のために Microsoft Office ファイルを開くことが重要で、体裁が崩れるような不安を防ぎたいというニーズもたしかに重要なことではあります。
それと両立させるために、エンタープライズ級の管理ツールを活用していけば上記の事柄は解決することは可能です。

しかしながら全てそのようなものに合わせる必要はなく、もっとカジュアルに使えるようなものを考えてもいいのではないかと考えていました。

スマホ世代だとまだるっこしい PC よりもスマホ・タブレットで行えるものはそれで気軽に済ませたいというのがあり、スマホ・タブレットの間隔で物理キーボードがついているからずっと効率的に使える、というようなもので考えた時に近いものは ChromeBook あたりとなります。

しかし ChromeBook は別の業務システム内で使ってもらったときにはユーザーが MS-Windows PC の先入観を持って使うとそこからかけ離れていて割と否定的な反応が多かったのです。その教訓を活かしてもうちょっと MS-Windows PC に近いものとして Linux PC を使ったものを構築してみる事にしました。


# Linux 環境の選択

- Office は オンラインツールで使用
  - 若い人はスマホで慣れている
  - スマホよりもキーボードがある分有利
- イラストツールとして LibreOffice を使用 
- Zoom, Slack, Discord, などは Linux 用アプリで対応
- 補助ツールとして 動画ビューワ、pdf ビューワを設定 
- その他は Webブラウザアプリで対応
- リモートでメンテナンスおよびヘルプデスクを行う

あと今回は選択していませんが、ゆくゆくはメッシュネットワークなどを構築したいなあ。

これらを満たす Linux はどれを使おうかな?

# openSUSE を使ってみる?

Linux 初見の人には gnome 系や Dash よりも KDE の方が直感的に使いやすそうだったので、KDE を用いた openSUSE を使ってみようかと試してみました。


しかしながら WiFi の passphase を覚えてくれないのが致命的で、断念!

「openSUSE Tumbleweed First Impression」
https://qiita.com/nanbuwks/items/352d3661f67afb04b9b9

# Ubuntu24.04

結局使い慣れた スタンダードな Ubuntu を使って設定しました。

## 初期設定
- 日本語変換を有効にしておく
  - Ubuntu だと最初に Mosc 選択の手動操作をしないといけない 
- スクリーンロックを削除
- 日付表示の曜日と秒を表示
  -  災害時に曜日の感覚がなくなるため
  -  Ubuntu のデスクトップUIが固まっているかどうかを秒表示で判別
- 電源設定で画面のブランク、Automatic Power Saver を OFFに
  - リモートサポートの待受が切れるのを防ぐため 
- Ubuntu Desktopを設定
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/f7351cfa-7269-2800-d75d-3611ddc2eaec.png)

- その他貸出PCの機種固有の問題の解決
  - 今回は NEC VersaPro VK24M/B-U を使用し、サスペンド復旧に問題が発生
  - BIOSでセキュリティチップを使用しない設定にして解決(要検証)

## インストールアプリケーション

- vlc

動画の管理のため。

```
$ sudo apt install vlc
```

- rustdesk

リモートサポートのため。

公式パッケージからインストール

```
$ sudo apt-get install curl libxdo3
$ sudo dpkg -i rustdesk-1.2.7-x86_64.deb 
```

- google chrome 

google document ベースのオペレーションのために、各種拡張と一緒に使用。

公式パッケージからインストール

- zoom 6.1.6.1013

WebミーティングはWebブラウザでできるものも多いが、ローカルアプリもインストール。

公式パッケージからインストール

```
$ sudo apt install gdebi
$ sudo apt --fix-broken install
$ sudo dpkg -i zoom_amd64.deb
```

インストール済みの状態

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/f8de9ea4-32c8-7b16-c59c-dd66e129925c.png)

# プリンタ

今回はプリンタの要請はありませんでしたが、大容量インクタンクタイプのインクジェットプリンターを整備していて、インクと共に提供の準備は整えています。