Google Cloud Shellの日本語化(gcc込み) 2024版
2024-06-05(水)
Webブラウザ上でコーディングとshellによる操作が可能なCloud Shell Editorがとても便利。 ただし50時間/週の制限がある。
三の字のアイコンからTerminal->new terminalでターミナルを開く。
機能的にはエディタはVS Codeの拡張機能組込み版みたいな感じで,Shellの方はUbuntu 22.04が動いている。
$ cat /etc/issue
Ubuntu 22.04.4 LTS \n \l
ただし,どちらも日本語は表示は可能でもメニュー等は英語のまま。せめてShellのメッセージやmanを日本語化しようということで,Ubuntuの日本語化の方法を一通り実行。
確認作業
ここで説明している作業を実施しても,セッションが切れると環境がリセットされるが,短時間ブラウザを閉じた程度だと継続してくれている。
locale -a
とやってja_JP.utf-8
が存在していれば作業不要だが,入ってない。
日本語化
以下を1行ずつコピペする
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-11/gcc/po/ja.po
msgfmt -o gcc.mo ja.po
sudo cp gcc.mo /usr/share/locale/ja/LC_MESSAGES/gcc-11.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-11
で出てきたgcc-11に合わせている。
wget -c https://github.com/gcc-mirror/gcc/raw/releases/gcc-11/gcc/po/ja.po
msgfmt -o gcc.mo ja.po
sudo cp gcc.mo /usr/share/locale/ja/LC_MESSAGES/gcc-11.mo
シェルを開いたときにja_JP.utf-8が環境変数LANGになるよう設定して読み込み
echo "export LANG=ja_JP.utf-8" >> ~/.profile
source ~/.profile
デバッガ
Cloud ShellエディタのデバッガはGo,Node.js,Python,Javaのみ対応なのでC/C++は諦めてgdb(+TUIとか)を使う