人が休みのときに忙しくなるような店でアルバイトをしていると、連休がいわゆる繁忙期になる。そのおかげで年末年始は7~9時間勤務の連勤続き(しかもたいてい9時間)である。その合間に、お気持ち程度の1日だけ設けられた休日を使って開発環境を見直している。

事の発端は、しばらくアップデートをしていなかったOSアップデートを行ったことだ。sudo apt upgrade自体には成功したものの、アップデート後からどうにもスリープ状態からの復帰が不安定になってしまった。具体的にはそもそもスリープからの復帰が出来ずにフリーズしてしまったり、復帰してもUSBデバイスが軒並み死んでいて、コネクタを抜き差ししないと認識してくれないなどである。
いろいろと探っているうちにUSB3.0ポートに刺したデバイスが死んでいることが発覚したのだが、それを解決するよりも全てを消し去りたい気持ちになってしまった。ということで作業環境をいじろうと思ったわけである。

個人的にプログラミングは全てLinux等で行いたいと思っているのだが、やっぱりコンピューターを使っているとWindowsがほしいなぁという気持ちになることがある。今年のSteamウィンターセールで買ったゲームは全てWindowsでしか動かないし、人から使えと言われたソフトウェアはWindows用だったりする。

ということで、Windowsをホスト環境として快適に開発できる環境を模索していこうと思ったがこれがまあ難しい。

Windowsに開発環境を整える

ナシ。

WSLを使う

Windowsで開発を行うならまあこれが出てくる。が、WSLとはもう決別したのだ。

開発環境をノートパソコンに移す

現状、デスクトップもノートPCもpop_osを入れて使っているのだが、デスクトップを普段Windowsで使うようにしてノートPCで開発を行うという選択肢だ。

これは正直かなりアリなのだが、いかんせんノートPCのスペックが低い。CPUはいいが、メモリが少なく、ストレージも心もとない。現にこいつでAndroidアプリケーションの開発をしたことが何度かあるが、そもそもAndroid Studioを動かすだけで精一杯だ。

作業用にmacを買ってノートパソコンをリプレースする

正直これをやりたいし、Macbookを買う金はあるのだが、クレジットカードの上限額の都合上ナシである。腹をくくって学生ローンを組むとかするのであればアリだと思う。

VPS or 従量課金制のVPSを借りる

やってもいいと思うが、そこそこの計算資源を求めたら結構高値になるんじゃないか?と思って除外した。
機械学習とかやってる人はここらへんを借りてやってたりするので実は意外と高くないのかもしれない。もしくは財布の紐が無いオタクなのかもしれない。

LinuxPCを用意してsshで作業する

今までの5つの選択肢を考えてどれもナシだなぁ…となった結果、「手元に余っているPCにLinuxを入れてこいつにsshを仕掛ければ良いのでは?」という考えに至った。
ということで、これを現状試してみている。

ただ、sshで接続している以上、多少の不都合は発生する。例えば、開発できるソフトウェアがCLIに限られるとかだ。ブラウザアプリケーションに限っては、ポートフォワーディングなどを用いることでホストコンピューターからデバッグができるが、例えばホストのUSBに接続されたデバイスは利用できないし、Android等の開発も行えない。

といっても、そのあたりの技術について深く調べたわけではないので、調べてみると全部出来ます!みたいなオチがあるのかもしれない。
世の中には同じように開発環境を別のパソコンとして持っている人間が存在することを知っているので、彼らがどのように環境構築しているのか知りたいところである。


そもそも自分がどういう開発環境を求めているのかがハッキリしていないために、ここまで悩んでしまっているのだろうと考えている。
実際、開発環境を整える!と言ったところで何を開発するのか自体はハッキリしていないし、そもそも最近はそこまでプログラムを書いていない。
いっそプログラミングから足を洗って、Windowsに統一するのが最善策かもしれない。もしくは、pop_osがUSB3.0をスリープからの復帰後に認識しない問題を解決して、いままで通り使いたい時だけWindowsをブートするようにするのが良いだろうか。

2024年、最初の悩みがコンピューターに関することになったのが非常に悔しい。

願わくば誰か助けてくれないかと思いながら、この日記を締めることとする。