ごあいさつ
みなさんLinuxを使っていますか?
どうもこんにちは、アルゴリズム班のcomaviusです。
Linuxを使うということ、それは自由であるということです。様々なものを自分の好きに変更することができます。今日はそんな自由にカスタマイズすることの楽しさに触れていただければと思います。
導入の経緯
まずは軽く導入の経緯について見ていきたいと思います。私も1年前まではwindowsを使っていたのですが、競技プログラミングを始めるにあたってC++の開発環境を用意しなければならなくなり、windows本体やWSLの開発環境があまり良いものではなかったため、Windowsとのデュアルブートという形でLinuxを導入することにしました。その際、初心者が使うなら情報の出回っているディストリビューション[1]がいいだろうということでUbuntuを選びました。
Linuxの嬉しみ
これはmacにも共通することだと思いますが、Linuxを使う上での嬉しさはなんと言ってもターミナル(いわゆる黒い画面)で完結する操作が多いことです。腕をキーボードのホームポジションから移動させることがなく、数単語のコマンドを書くことで様々な操作をすることができ、これは何にも代えがたい長所だと思います。それでは、実際に私がターミナルに加えた変更について見ていきたいと思います。
変更例1 Obsidian on git
さて話は変わりますが、Obsidianというmarkdownエディターがあります。これを導入するにあたって、データを自分の管理下においておきたいということで、原本をGitHubに保管するという形にすることとしました。しかし、いちいち保管場所まで行ってpullするようでは美しくありません。そこで、pullとpushを簡略化することとしました。
vault pull # pull from remote
vault sync # add, commit and push to remote
変更例2 Line on Linux
みなさんご存知のSLineはLinux版のアプリを提供しておらず、LinuxからLineを使うためにはgoogle chromeの拡張機能を利用するしかありません。しかし普段はfirefoxを使っているのにLineを使うためだけにchromeのGUIを立ち上げるというのはなんとも面倒なので、ターミナルから開きたいです。そこで、
nohup google-chrome --app="chrome-extension://ophjlpahpchlmihnnnihgmmeilfjmjjc/index.html" > /dev/null 2>&1 &
を
lineapp
で実行できるようにしました。
変更例3 Online-Judge-Toolsのwrapper
Online-Judge-Tools(通称OJ)は、AtCoderをはじめとした競技プログラミングサイトへの自動提出やサンプル入出力のテストができるようになるとても嬉しいプログラムです。しかし一回ごとにURLをベタ打ちするのは絶対に嫌だったので、いい感じにテストと提出ができ、ついでに自作ライブラリとの結合をしてくれるコードを書きました。面倒くさくて時間がなくてバグを放置したままなので現在は非公開なのですが、直し次第公開したいと思っています。
おわりに
いかがでしたか?
Linuxは便利で、その上オープンソースです。自分色になったターミナルを使っているとまるでパソコンが自分の体の一部になったかのような嬉しさがあるので、ぜひ一度試されてみて[2]はいかがでしょうか。
最後までお付き合いいただきありがとうございました。
明日は@iroriさんの「GDG DevFest Tokyo に参加してきたよ!」と@Alt--erさんの「RDP環境を作ってみようとしただけなのに」です。おたのしみに!