Google Cloud Shellの日本語化(gcc込み)
2022-04-20(水)
Webブラウザ上でコーディングとshellによる操作が可能なCloud Shell Editorがとても便利なので,夏季集中のコンピュータプログラミングで利用できないかと画策中。
機能的にはエディタはVS Codeの拡張機能組込み版みたいな感じで,Shellの方はDebianが動いている。
$ cat /etc/issue
Debian GNU/Linux 11 \n \l
ただし,どちらも日本語は表示は可能でもメニュー等は英語のまま。せめてShellのメッセージやmanを日本語化しようということで,Debianの日本語化の方法を一通り実行。
確認作業
ここで説明している作業を実施しても,セッションが切れると環境がリセットされるが,短時間ブラウザを閉じた程度だと継続してくれている。
locale -a
とやってja_JP.utf-8
が存在していれば作業不要。
日本語化
以下をコピペする
sudo sh -c "echo 'ja_JP.UTF-8 UTF-8' >> /etc/locale.gen"
sudo locale-gen
sudo apt update; sudo apt install task-japanese -y
wget -c https://github.com/gcc-mirror/gcc/raw/releases/gcc-10/gcc/po/ja.po
msgfmt -o gcc.mo ja.po
sudo cp gcc.mo /usr/share/locale/ja/LC_MESSAGES/gcc-10.mo
echo "export LANG=ja_JP.utf-8" >> ~/.profile
source ~/.profile
わかりやすいかは疑問だが英語で思考停止する人には良い。
分けて説明
localeとしてja_JP.utf-8が有効になっていないので/etc/locale.gen
ファイルに追記し,locale-genで生成する。あとtask-japaneseは日本語manとか。
sudo sh -c "echo 'ja_JP.UTF-8 UTF-8' >> /etc/locale.gen"
sudo locale-gen
sudo apt update; sudo apt install task-japanese -y
gccの.moファイル(メッセージのローカライゼーションファイル)が無いのでgccのソースミラーから拾って生成する。moファイルは実体と一致しないとダメなので
$ file /usr/bin/gcc
/usr/bin/gcc: symbolic link to gcc-10
で出てきたgcc-10に合わせている。
wget -c https://github.com/gcc-mirror/gcc/raw/releases/gcc-10/gcc/po/ja.po
msgfmt -o gcc.mo ja.po
sudo cp gcc.mo /usr/share/locale/ja/LC_MESSAGES/gcc-10.mo
シェルを開いたときにja_JP.utf-8が環境変数LANGになるよう設定して読み込み
echo "export LANG=ja_JP.utf-8" >> ~/.profile
source ~/.profile