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

試行錯誤のおと

日々の試行錯誤した結果です。失敗することが多い記録、それだけでっす!

Gentoo な Thinkpad X1 がぶっ壊れたので MacBook Pro に乗り換えた

先週まで会社の業務で出張に出ていたのだけど、出張先で PC が壊れてしまった。 使っていた PC は Thinkpad X1 carbon (1st Gen) 、 2012 年のモデルなので相当古い。 どういう状態かというと、バッテリ駆動しない(出張中に突然なった) + スピーカーの認識が悪くてときたま X11 を巻き込んでクラッシュする。

バッテリ駆動しない状態になるとデスクトップと変わらず、ラップトップとして役割を果たさないので単純につらい。 普段からただただ重い荷物を持って通勤しないといけないし、インフラエンジニアとして緊急時には対応しないといけないので仕事にも支障が出る。

というわけで、会社で支給されている MacBookPro 2015 に移行した*1。 しかし、 Thinkpad X1 には Gentoo Linux を入れて利用していたのでそう単純な話ではなく、というところで..。 そう、ここ 3 日くらい MacBook Proを捨ててThinkpad T460sを買ってgentooを入れた - joker1007の日記 のエントリーと逆のことをやってたのです!?
(僕が箱根をノロノロとヒルクライムしている間にこんな面白いことをされてたなんて!) d.hatena.ne.jp

スペック

使っていた Thinkpad X1 は 2012 年のもので 4 年もの。 スペックを比較するとリッチになったぞ!!

  • CPU: Intel Core i5 2.4 Ghz (Ivybridge) -> Intel Core i5 2.7Ghz (Broadwell)
  • RAM: 8 GB -> 16 GB
  • SSD: 256 GB (SATA) -> 256 GB (PCIe)
  • ディスプレイ: 1600x900(14インチ) -> 2560x1440(13インチ)
  • キーボード: 英字キーボード -> 日本語キーボード
  • バッテリ駆動: 3 時間 -> 10 時間
  • 重量: 1.36kg -> 1.58kg

CPU も世代が上がってさくさくで使いやすいし、何よりも解像度が上がってよくなった。 家では AC 電源に繋いだままの X1 が放置されているけれど、 移行のために X1 で作業するとドットが目立ってちょっと悲しくなる。

バッテリ駆動時間についてもともと X1 は 6 時間なのだけど、ヘタりにヘタって 3 時間になってしまっていた。 自分の使い方では問題なかったのでよかったけど、ダメになってしまっては意味がない。 MacBookPro は 10 時間も持つので AC アダプタを会社に置きっぱなしにできるのはちょっと嬉しい*2。 けれども重量が 220g も増えてしまったのはいただけない。 ずっしりとした重さを感じていて、リュックでの通勤には少しつらいけど支給の PC がモデル 2016 になるまでの我慢だと思ってこの際割り切った。

キーボードは支給 PC だと日本語キーボードしか選べないので、仕方なく日本語キーボードを使ってる。 キーマップを英字配列に変更していて、フラストレーションはたまるが時々を除いてそれほど困らない。 Insert キーや PageUp, PageDown がなくなったほうが辛いくらい。

総合的にはなかなかいいものだなあという所感。

ソフトウェア

OS が Gentoo Linux から OSX になったのが変化としてかなり大きい。

とはいうものの自分も昔は Snow Leopard まで使っていたので大丈夫だろうと思っていた。 (なぜ Mac をやめたかというと当時、 Lion へのアップデートが有料になり嫌なったのと Spaces がなくなったと聞いて Linux に逃げた。)

今に至るまでいくつか問題があったけれども、まずはいいところだけ書いてく。

  • Xcode のインストールに Apple ID が必要ない!
  • Homebrew サイコー!!
  • Karabiner のおかげでほとんどのキーバインドを矯正しなくていい!!!
  • mission control も悪くない!!!!

初めは Firefox (vimperator) も emacs も一部の X11 アプリも使えるし「いいぞ!」という感じだった。 パスワード管理も keepassx を使っていてそのまま移行できたのでかなりよかった! 会社資産の PC に個人のアカウントは入れると面倒なのでそれは移行していないけれど、必要なアカウントだけ選択して移行するのはちょうどいい。

けれども当然、悪いところやハマったところもあって..。

  • Finder のキーバインドがカスタマイズできない。
  • X11Retina が有効じゃない。
  • タイル型ウィンドウマネージャ(xmonad)使いたい。
  • ファイルシステムで大文字小文字が区別されない。
  • 句読点入力がカスタマイズできない(mozc は設定書けたけど OSX でもできるのか不明)。
  • mission control の設定が見れない。
  • ebuild の資産が使えない。
  • UID が 501。
  • docker のバインドマウントの挙動が違う。
  • 色々なところで sudo を要求されてなんか嫌だ。

Linux だとファイラは thunar を使い、 gtk-can-change-accels=1 を有効にして自由にショートカットキーをカスタマイズしていた。 見た目を気にして nemo を使っていた時期もあってこっちはソースにパッチを ebuild の中で当てて、ショートカットキーをカスタマイズしてた。 たとえば Shift + Super + Hホームフォルダに移動や Control + L で直接パスを入力して移動を指定していたのでそのあたり自由に設定できない Finder はなかなかにつらい。

ハマったのは dotfiles をコピーしたら X11 用の設定までコピーしてしまい Xquartz が起動と停止を繰り返す上にエラーメッセージが出力されずに捕捉するまですごく追いづらかったり、 /etc/shells に書かないと zsh が使えなかったところ。 調査のときに Xquartz はユーザログイン時に launchd から startx が叩かれていることがわかったとか launchd の設定ファイルの文法とかあまり使う機会がないのに launchd に詳しくなってしまった..。

ハマるのは解決すればいいので仕方ないのだけれど、嬉しくない本当の理由はハマっても実務に活かせないところ。 例えば OSX の launchd や docker for mac でハマっても、実務で扱っているサーバは Linux なので systemd や sysvinit が init だったり、 docker も全然違うので実務には活かすことができない。 Gentoo なら同じ Linux のため手元の PC での作業をサーバにそのまま知識を活かせるし、coreutils のコマンド群を触っていても小さな発見があるので楽しい。 ローリングリリースで新しいパッケージも順次追加されるので、 eix-diff でどのパッケージが更新されたかといった情報を得たり、試すのが楽しみにもなる。

結局

使っていると光沢ディスプレイもテカテカが気になったり、タイプ中にタッチパッドが反応してトラックポイントが欲しくなってきたりハードウェア的にも不満が出てきてしまったので、結局 1 年もしないうちに Thinkpad X1 に戻してしまうんだろうなあと思って今は本当にこれでいいのかどうか試す目的で考えながら使っている。

*1:会社支給の PC に移行したのは色々複雑な理由がある。持ち込み規定が厳しくなってたり、また壊れたときのことを考えると億劫になった。

*2:X1 は AC アダプタを 2 個持っているので、アダプタは普段持ち歩いてなかったけど勉強会に行く時はアダプタ必須になるのでありがたい。