📚
Raspberry piの日本語化で一日をつぶした話
※注意
- 主はかなりのIT初心者です。
- 自分のことをあまりにも過信していたがために起こったミスなので、温かく殴ってください。
経緯
自宅に古くなって余ったラズパイが1台あり、机の上に時計が欲しかった + pythonを使って何か作りたかったので、時計を作ることにしました。
あいにく、家にあったラズパイが第一世代だったため、GUI稼働には耐えられないと考え、CUI上で動かせる時計の制作を行いました。
時計は完成しましたが、画面のうちの1/10ほどしか使用しておらず、追加で何かを情報を表示しようと思い、天気予報を下に表示させようと思いました。
気象庁のAPIをたたき、ネットのサンプルコードから必要な部分だけを抽出し、実行。簡単に作ることができ、かなり調子にのっていました。
そして、ラズパイ上で実行すると、文字化けして表示されない。。。
環境
開発環境
- windows10
- Python: 3.12.9
本番環境
- Python: 3.12.9
- Raspberry Pi
- Description: Raspbian GNU/Linux 12 (bookworm)
- Python: 3.11.2
- windows側で実行を確認
- sshでラズパイにアクセスし、ラズパイでの処理を確認
- 実際にラズパイで動作させる。
やったこと
- ラズパイに日本語localeを追加し、ラズパイの実機で実行した。
> 表示されず。 - 日本語フォントをダウンロードし、ラズパイの実機で実行した。
> 表示されず。 - SSH接続の端末から、実行した。
> 表示されず。 - SSH接続の端末からjfbtermをインストールし、実行した。
> 実行できず。 - SSH接続の端末からfbtermをインストールし、実行した。
> 実行できず。 - 冷静になるために昼ご飯を食べた。
- フォントが全部悪いのではと思い始めた。
- 試しにSSH接続先に日本語を入力した。
> 文字化けした。 - SSH接続時のフォントMSゴシックに変更した
> 文字化けを起こさず、表示された。 - fbtermをラズパイ側で起動させてみた。
> 起動した。 - fbterm上で、時計を実行した。
> 日本語が表示された。
学び。
調子に乗って、理解もせずにコンソールのフォントを設定すると、痛い目を見ることになる。
日本語の文字化けで悩んでいる人がいたら、以下のことを試してみてほしい。
- SSH接続のコンソールのフォントが日本語に対応しているかの確認。
- SSH接続で、日本語が見えるかの確認。
- 日本語のlocaleを追加すること。(デフォルトはen)
- fbtermを追加すること。
- 日本語のフォントを追加すること。
ちなみに、なぜfbtermがsshでの実行ができなかったのかはよくわかっていません。
参考
ChatGPTさんに感謝を申し上げます。
Discussion