在宅勤務でのリモート開発環境構築
新型コロナウイルスの影響で在宅勤務になっている方も多いのではないでしょうか。かくいう私も在宅勤務が基本となって9ヶ月が経過しました。普段の仕事では職場のマシンやサーバーでプログラミングしたり、GPUに計算投げたり、シミュレーションしたりしてますが、さすがに家に持ち帰るモバイル機でそれらをこなすのは限界があります。よって、家からでも快適にプログラミングができる環境の構築が急務となりました。今回はリモート環境構築で便利だと思ったツールと設定方法を、使用感と合わせて紹介します。
JupyterlabでリモートIDE環境構築
JupyterlabはJupyter notebookの後継アプリケーションで、コードの動作を試したりするときに非常にお世話になっています。Notebookはまさにノートブックという感じでしたが、Labは見た目もIDEぽくなり、様々な拡張機能やアプリも開発されています。流れとしては、会社にあるサーバー(以下サーバーと記載)上でJupyterlabを立ち上げ、自宅モバイル機でChromeなどのブラウザからネットワーク経由でアクセスします。今回紹介する方法は以下記事を参考にしました。機能やおすすめのエクステンション、導入方法も参考になります。
qiita.com
やり方
自宅のモバイル機からSSHでサーバーに接続し、サーバー上でJupyterlabを導入した環境(jupyenvとします)を起動します。
conda activate jupyenv
続いて、サーバー上で以下のオプションを与えながらJupyterlabを起動します。IPの部分にはサーバーのIPアドレスを入れます。
jupyter lab --ip=11.22.33.44 --no-browser
無事立ち上がるとhttp://11.22.33.44:8888/?token=a1b2c3... のようなアクセス用のパスワードトークン付きのURLが表示されるので、これをコピーしてモバイル機のブラウザ(Chrome, Firefoxなど)に貼り付ければ終了です。
使用感
この方法で起動すると、コードはモバイル機のブラウザ上でいつも通り行えますが、処理はサーバー上で行われるため、重い計算も難なく行えます。また、サーバー上にある容量の大きいデータも移動することなく解析でき便利です。さらに、書いたコードの分だけのデータ通信で済むためか、VPNが込み合って非常に重いときでも作業が可能でした。
細かい点ですが、私はモバイル機とサーバーで同時にJupyterlabを使うので、サーバーの方はDark Themeの設定にして間違わないようにしています。設定方法は上で紹介した記事に書かれていますので、参考にしてください。
VSCode remote developmentでリモートのVSCodeで編集
続いて、コードを書くときのもうひとつの頼りになる相棒VSCodeについてです。VSCodeはマイクロソフト社が開発しているコードエディタで、使っている人も多いのではないでしょうか。サーバー上のVSCodeを自宅のモバイル機から使いたい場合は、VSCode remote developmentという拡張機能を使います。
終わりに
早いもので、在宅勤務主体になってから半年以上が経過しました。JupyterlabとVSCode remote developmentによるリモート開発環境を整えたことによって、在宅でも普段とほとんど変わらず業務がこなせるようになりました。しかし、コミュニケーション(と運動)不足は否めず、最近は週2くらいは出社するようにしています。第三波でどうなるか不透明ではありますが、どなたかの参考になれば幸いです。