DELL XPS 13 Developer Editionを1年間メインPCとして使用して分かった良いところと悪いところ

早いもので、 DELL XPS 13 Developer Edition を購入してから約1年間が経過してしまいました。 本エントリーでは約1年間 DELL XPS 13 Developer Edition をメインPCとして使用して分かった良いところ悪いところを書き綴っていきます。

改めて、DELL XPS 13 Developer Editionについておさらい

DELL XPS 13 Developer Edition は DELLが北米で販売しているLinuxプリインストールPC です。ディストリビューションとしては Ubuntu が採用されています。ほとんど素のUbuntuと同じではありますが、予め Additional Driver がセットアップされているのでハードウェアとの相性が良いです。また、Dell専用のソフトもインストールされています。

Dellラップトップ用のドライバーが予めインストールされた状態で利用できる

DELLのユーザー登録やリカバリツールが予めインストールされている

市販されているLinuxプリインストールPCで有名所と言えば System76 があります。DELLもLinuxプリインストールPCを販売しているというわけです。開封レビューは手前味噌ですがこちらです。

xblood.hatenablog.com

DELL XPS 13 Developer Edition の良いところ

まずは良いところをご紹介します。

BIOSアップデートが Ubuntu Software から入手可能

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で利用できる便利なコマンドやツールとも仲良くなれます。 tmuxbyobu などのターミナル仮想化ソフトや、全文検索の grep 、そしてテキストエディタの vim などがあります。

何度でも初期化できる

購入して利用を開始した時点で最初からリカバリパーティションが付随しており、Ubuntuにリカバリ機能もインストールされた状態で利用できます。このリカバリ機能には何度も助けられました。特に後述する アップデートを適用すると不安定になる 現象のセルフ・トラブルシューティングや、 OSを壊してしまった時(!)に大変重宝しまして、5回くらいはリカバリパーティションから初期化しました。

DELL XPS 13 Developer Edition の悪いところ

そして悪いところをご紹介します。

アップデートを適用すると不安定になる

これは控えめに言って致命的ではあります。 DELL XPS 13 Developer EditionAdditional Driver にDELLが供給するドライバーが指定されるので、ハードウェアとの相性は素晴らしいです。しかしながら、OSアップデートまでカスタマイズされていないため、OSから降りてくるアップデートは他のUbuntuマシンと全く同じ内容が降りてきます。このアップデートにおける Firmware for Linux kernel drivers とBIOSの相性(?)が曲者で、素直に Firmware for Linux kernel drivers を適用するとフリーズを連発するようになったりします。実際に私はこれで半端ないほど苦労しました。

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として使用するのは無理なのではないかと思えるほどに重宝しています。

TimeshiftがあるからLinuxデスクトップをメインPCに出来ると言っても過言ではないです

クラウドと相性の良いツールを利用する

オフラインのテキストエディタなど、未保存の状態で作業している時にフリーズすると泣きたくなるので、下書きをクラウドストレージに保存するツールなどを利用すると良いです。私は Joplin という Dropbox と連携できるMarkdownエディタを使っています。フリーズした時の被害を最小限に抑えることで、いつ再起動しても良い状況をなるべく作り出します。

トラブルシューティングの手順を確立する

基本的なトラブルシューティングの手順を確立することも重要です。フリーズしたマシンにpingが通るのか、SSH接続が可能なのか、SysReqによる再起動が可能なのかなど、一つ一つフローチャート的に解決策を試みていき、それでも無理ならPCの電源を強制的に切るという手順です。

再起動する

(2020年年末時点の)最新スペックでLinuxデスクトップを利用しているわけですから、そりゃもう起動は爆速です。10秒くらいで起動します。フリーズが発生したのであれば強制的に電源を切って再起動することも選択肢の一つです。クラウドと相性の良いツールを利用していれば、未保存の状態も怖くありません。

更なるステップアップを目指して

直近ではKernelの仕組みについての本を読み漁りました。よりLinuxデスクトップでしか出来ないアドバンテージを模索していきたいと思います。

終わりに

Linuxデスクトップ(ラップトップ)は近年のSaaSの活性化によって、WindowsやMacと遜色がないくらいに開発環境として利用できるマシンになっています。しかしながら、まだまだ利用者のスキルが問われるのは間違いなく、セルフ・トラブルシューティングが前提ではあります。企業が従業員に提供するPCの選択肢として、Linuxが今後増えていくと嬉しい限りですが、正直難しいと思います。私は可能な限り今後もLinuxをメインPCとして利用し続けたいと思います。