読者です 読者をやめる 読者になる 読者になる

自分とLinuxの付き合い

linux

自分がデスクトップOSとしてLinuxを使うようになってから4年ちょっとになる(2016年7月現在)。 そんな自分とLinuxのこれまでの付き合いについて書く。

Linuxとの出会い、最初はUSBブート

元々WindowsでEcpliseを使って開発していた自分がLinuxに触るようになったのは5年ほど前で、 最初はKnoppixをUSBにインストールしてUSBブートして使っていた。

当時の趣味もとい日課は書店で技術書のコーナーをぶらぶらし立ち読みし、興味のあるものを買って読むことだった。 Linuxに関する書籍を読んでみて、エンジニアならLinux使えないとなと思い、使い出した。

それからKnoppix以外の色々なディストリビューションを試した気がする。 Ubuntu, Fedore, Kubuntu, Lubuntu, CentOS, Debian, Puppy Linux, TinyCore Linux, etc もっともほとんどはインストールしてみただけだけど、それが楽しかった気がする。

WindowsUbuntu/Unityをデュアルブート

そして大学院に進学してから本格的にLinuxで開発しようと思いUbuntu/Unityをデュアルブートした。 Ubuntuにしたのは単に一番メジャーなディストリビューションだったから。 Fedoraとか他のも試したけど、Ubuntu/Unityが一番使いやすかった。 WindowsからUbuntuへの移行ではほとんど困ることはなかった。

Ubuntuは初めて使うLinuxディストリビューションとしては一番オススメである。 ユーザが多いので大抵ググればわかるし、初心者でも使えるように設計されているので、 極端な話ターミナルエミュレータ全く使わなくてもなんとかなると思う。

先輩の一言でLinux力を更に高めることに

Ubuntuでは当初ターミナルエミュレータEclipseをそれぞれ別の仮想デスクトップ上に表示して開発していた。 ただ、GUIに頼り切った開発をする自分を見たWindowsユーザの先輩が一言

Linux向いてなんじゃないの?

と言った。これは多分一生忘れない。

先輩としては元Windowsユーザの自分に対し、「無理してLinux使わないでWindows使ったほうがいいんじゃない?」という優しい助言だったのかと思うが、

とても悔しかった。 見てろ、もっとLinux使いこなしてやると思い、Eclipseを16階から外に放り出し、vimに乗り換えた。

Eclipseからvimというのは相当な変化な気もするが、あまり困らなかった気がする。

それからはほとんどCLIによる操作が基本でGUIにはあまり頼らなくなった。

因みに今自分が起動するGUIは基本

だけである(とかいいつつまれにファイラーとか起動しているときがあるかもだけど、見なかったことにしてほしい)。

更に因むと、Windowsでは

  • Git Bash(VagrantでArch Linux起動)
  • Chrome
  • Slackアプリ(なんかChromeだと動作おかしいことがあるので仕方なく使っている)
  • MSオフィス(基本Windows使うのはMSオフィス開かないと駄目なときなので使っている)

長きに渡るUbuntuとの付き合い(4年弱)

それから長いことUbuntuを使っていた。

ただ、Ubuntuは初心者に優しいディストリビューションで、無駄なソフトウェアが最初からインストールされてたりするし、 もっとギークよりのディストリビューションが使いたいと思うようになっていた。 いや、思うだけなら割と早い段階で思っていた。Gentoo に憧れていた時期もあった。

ただ、そんなギークよりのディストリビューションに移行するのは結構ハードルが高く、 Ubuntuで困っているわけでもなかったので結局移行できなかった。

ついにArch Linuxへ移行。今に至る

一念発起してArch Linuxに乗り換えたのは4ヶ月ほど前である。 Arch Linuxに乗り換える際は結構入念に準備した。

KVM上にArch Linuxをインストールし、手順をWikiにまとめたり、 AnsibleのPlaybookやシェルスクリプトを作成したりした。 KVMだけでなく、使わなくなった実機にもインストールし色々準備した。

github.com

github.com

Arch Linuxの魅力の一つは、ベースには必要最低限のものしかインストールされておらず、 自分で好きなようにデスクトップ環境を構築できることである。 UnityやGNOMEKDEなどをインストールしてしまうのが多分簡単なのだと思うが、 それではつまらないし、とにかく無駄のないミニマムな環境を作りたかったので

  • LightDM - ログインマネージャ
  • Openbox - ウィンドウマネージャ

というかなりミニマムな構成になっている。 ミニマム過ぎて困ることも多少あるが、概ね快適である。

本当はタイル型ウィンドウマネージャにしたかったんだけど、 Xmonadもawesomeもうまく行かなくてOpenboxにした。