コンテンツにスキップ

Google Cloud Shell Editorによるオンライン環境構築

Google Cloud Shell (GCS) Editorに関する情報をまとめます。GCSはGoogleが行っている「クラウド計算機環境+クラウドコーディング環境」のサービスです。現在、Googleのアカウントがあれば、無料で使えます。本講義では、このGCSを用います。

注意点

ここに制限事項がまとまっています。特に注意する点は以下です(完全に検証したわけではないので、注意してください)

  • 20分間なにもせずに放置していると切断されます。$HOME以下のファイルは消えずに残ります。
  • なにもしないわけではなく、プログラムをずっと走らせていたとしても、キーボード入力が1時間無い場合は、自動的に切断されるようです。その場合も$HOME以下のファイルは消えないです。
  • ずっと作業し続けていたとしても、12時間たつと切断されるようです。この場合も$HOMEは無事です。
  • 120日間使わないと、$HOME以下のファイルも消えます。なので、ソフトウェアの講義が終ったあと、重要なファイルはgit等にバックアップしたり、ローカルにダウンロードしておいてください。

Tips

  • 初期状態では「オートセーブモード」になっています。すなわち、ファイルを更新すると自動的にその更新が保存されます。オートセーブを切って、保存ボタンを押すまでファイルを更新しないようにするには、「File」から「Auto Save」をチェックして解除してください。
  • 過去に表示された内容が流れてしまって見えないという場合は、ターミナル画面上でマウスのホイールをスクロールすることで、過去の画面を表示することができます。あるいは、ターミナル画面の上部左にある歯車マークを押して「ターミナルの設定」から「スクロールバーを表示」とするとスクロールバーが出てきて便利です。
  • 【2021/10/7追記】macでsafariだとうまく入力できないかもしれないです。その場合、chrome等のインストールを推奨します

リモート環境は、結局何がどうなっているの?

さて、リモートでのプログラミングは、ブラウザ上でテキストを編集したりプログラミングを実行したりするわけですが、それは結局一体何が起こっているのでしょうか?次の図をご覧ください。

ここで、上半分は普通のローカル環境でのプログラミングを表しています。本来は、こちらが普通です。 ここでは、手元のマック上で、ターミナルを開いてプログラミングをしています。ここでは手元のマシンのOSはマックであり、実行環境のOSもマックです。

下半分は、皆さんが取り組んでいるリモート環境でのプログラミングを表しています。 ここでは、右側にあるように、Googleのサーバ内にDebianというOSのコンピュータが一台仮想的に立ち上がります。そして、そのコンピュータを、 手元のマックからchromeブラウザを経由して操作します。なので、 手元のマシンのOSはマックであすが、実行環境はDebianです。

このあたりが複雑ですが、注意してください。

マシン情報(2021/09現在)

$ cat /etc/issue
Debian GNU/Linux 10 \n \l

$ cat /etc/debian_version
10.10

$ which gcc
/usr/bin/gcc

$ gcc --version
gcc (Debian 8.3.0-6) 8.3.0
Copyright (C) 2018 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.