早いもので、 DELL XPS 13 Developer Edition
を購入してから約1年間が経過してしまいました。
本エントリーでは約1年間 DELL XPS 13 Developer Edition
をメインPCとして使用して分かった良いところ・悪いところを書き綴っていきます。
- 改めて、DELL XPS 13 Developer Editionについておさらい
- DELL XPS 13 Developer Edition の良いところ
- DELL XPS 13 Developer Edition の悪いところ
- フリーズと向き合う方法
- 更なるステップアップを目指して
- 終わりに
改めて、DELL XPS 13 Developer Editionについておさらい
DELL XPS 13 Developer Edition
は DELLが北米で販売しているLinuxプリインストールPC です。ディストリビューションとしては Ubuntu
が採用されています。ほとんど素のUbuntuと同じではありますが、予め Additional Driver
がセットアップされているのでハードウェアとの相性が良いです。また、Dell専用のソフトもインストールされています。
市販されているLinuxプリインストールPCで有名所と言えば System76
があります。DELLもLinuxプリインストールPCを販売しているというわけです。開封レビューは手前味噌ですがこちらです。
DELL XPS 13 Developer Edition の良いところ
まずは良いところをご紹介します。
BIOSアップデートが Ubuntu Software
から入手可能
DELL XPS 13 Developer EditionはBIOSの更新を Ubuntu Software
から入手することが出来ます。OSはBIOSのアップデートによって安定性が向上するため、Linuxでも重要です。実際に、3回分のBIOSアップデートを適用する度にUbuntuの安定性が向上し、BIOSの安定版リリースである 3.0.4
が降りてきた後はUbuntuがほとんどフリーズすることなく利用出来ています。(安定版のBIOSが降りてくるまでに随分と時間がかかったのはどうなのかなと思いますが...)
Dockerが爆速
DockerはUbuntu Serverに提供されるパッケージと同じものが利用でき、LinuxはDockerネイティブであるため爆速で利用することが出来ます。Docker Hubで様々なOSSソフトウェアが提供されている現在においては、Dockerが爆速で利用できることはつまり気軽にOSSシステムを利用・検証することが出来ることを意味します。特にローカルで起動するデータベースやミドルウェアでDockerを活用しています。
サーバーサイドエンジニアであれば最強の開発環境になりえる
上記のDockerネイティブであることに加えて、VMWareやVirtualBoxも動きます。よって仮想マシンも起動したい放題で、好きなだけ開発・検証環境を作れます。私はCentOSの検証用にVagrantを導入し、Microsoft Officeを利用するためにVMwareを導入しました。
Linux(Unix準拠)コマンドと仲良くなれる
サーバーでも使われているシェルが利用できるため、Linuxのコマンドと仲良くなれることは大きなアドバンテージです。いつも使っているOSのコマンドを入力すれば良いだけになりますから、いざサーバーでコマンドを入力する時に「あれ、これってどうやるんだっけ?」が解消されます。また、Linuxで利用できる便利なコマンドやツールとも仲良くなれます。 tmux
や byobu
などのターミナル仮想化ソフトや、全文検索の grep
、そしてテキストエディタの vim
などがあります。
何度でも初期化できる
購入して利用を開始した時点で最初からリカバリパーティションが付随しており、Ubuntuにリカバリ機能もインストールされた状態で利用できます。このリカバリ機能には何度も助けられました。特に後述する アップデートを適用すると不安定になる 現象のセルフ・トラブルシューティングや、 OSを壊してしまった時(!)に大変重宝しまして、5回くらいはリカバリパーティションから初期化しました。
DELL XPS 13 Developer Edition の悪いところ
そして悪いところをご紹介します。
アップデートを適用すると不安定になる
これは控えめに言って致命的ではあります。 DELL XPS 13 Developer Edition
は Additional Driver
にDELLが供給するドライバーが指定されるので、ハードウェアとの相性は素晴らしいです。しかしながら、OSアップデートまでカスタマイズされていないため、OSから降りてくるアップデートは他のUbuntuマシンと全く同じ内容が降りてきます。このアップデートにおける Firmware for Linux kernel drivers
とBIOSの相性(?)が曲者で、素直に Firmware for Linux kernel drivers
を適用するとフリーズを連発するようになったりします。実際に私はこれで半端ないほど苦労しました。
これについて、より素晴らしい提案をしているのが System76
だと思っています。私が仮想マシンで確認したところ、System76のOS Cosmic
はカスタマイズされた Firmware for Linux kernel drivers
を提供しており、彼らのBIOSと相性が良いアップデートを提供していると思います。
アップデートを適用すると不安定になるPCをメインPCとして利用することはかなり大変です。結局はサブPCとしてMacを傍らに置いて作業することになってしまいました。
フリーズと向き合う方法
致命的とも言える DELL XPS 13 Developer Edition
のフリーズですが、フリーズが発生した時の落胆を最小限にするためにできることを実践することで、フリーズが発生しても作業をこなしていくことが出来ます。このフリーズと向き合う方法についてご紹介します。
システムのスナップショットを定期的に取得する
もしフリーズが多発する状況になったとしても、OSをフリーズが発生する前の状態に戻すことが出来れば良いのです。信頼できるツールとして Timeshift
があります。Timeshift
ではユーザー領域はデフォルトではスナップショットを取得せず、システム領域のみ取得しますのでバックアップサイズが小さくなり動作も速いです。本当に、 Timeshift
がなかったらLinuxデスクトップをメインPCとして使用するのは無理なのではないかと思えるほどに重宝しています。
クラウドと相性の良いツールを利用する
オフラインのテキストエディタなど、未保存の状態で作業している時にフリーズすると泣きたくなるので、下書きをクラウドストレージに保存するツールなどを利用すると良いです。私は Joplin
という Dropbox
と連携できるMarkdownエディタを使っています。フリーズした時の被害を最小限に抑えることで、いつ再起動しても良い状況をなるべく作り出します。
トラブルシューティングの手順を確立する
基本的なトラブルシューティングの手順を確立することも重要です。フリーズしたマシンにpingが通るのか、SSH接続が可能なのか、SysReqによる再起動が可能なのかなど、一つ一つフローチャート的に解決策を試みていき、それでも無理ならPCの電源を強制的に切るという手順です。
再起動する
(2020年年末時点の)最新スペックでLinuxデスクトップを利用しているわけですから、そりゃもう起動は爆速です。10秒くらいで起動します。フリーズが発生したのであれば強制的に電源を切って再起動することも選択肢の一つです。クラウドと相性の良いツールを利用していれば、未保存の状態も怖くありません。
更なるステップアップを目指して
直近ではKernelの仕組みについての本を読み漁りました。よりLinuxデスクトップでしか出来ないアドバンテージを模索していきたいと思います。
終わりに
Linuxデスクトップ(ラップトップ)は近年のSaaSの活性化によって、WindowsやMacと遜色がないくらいに開発環境として利用できるマシンになっています。しかしながら、まだまだ利用者のスキルが問われるのは間違いなく、セルフ・トラブルシューティングが前提ではあります。企業が従業員に提供するPCの選択肢として、Linuxが今後増えていくと嬉しい限りですが、正直難しいと思います。私は可能な限り今後もLinuxをメインPCとして利用し続けたいと思います。