ThinkPad X1 Carbon(2017) にUbuntu17.10をインストールした
年末のお掃除ということで,開発環境周りを整えることにしました.今までは,ThinkPad X1CarbonでWindows10とManjaro Linuxをデュアルブートしていました.その Windows10とManjaro Linuxを綺麗さっぱり消して, Ubuntu 17.10に移行したというお話です.
ちなみに,現在(2017/12/30)一部のPCでUbuntu 17.10 をインストールするとBIOSを破壊するバグが見つかっているので注意しましょう.
OSイメージ書き込み
こんなこと書かなくてもいいですが,一応書いておきます.
Ubuntu 17.10のISOをダウンロードしてきて,Majaro Linux上で `dd` コマンドを利用して書き込みました.
`of=/dev/rsda`のように, `r` をつけるのがポイントですね.上では付けたのと付けてないのを両方走らせましたが,付けたほうが約124倍高速でした.
インストール
BIOSで起動順序を変更するなどして,USBから起動するようにします.私はこの時,BIOSで一緒にトラックパッドを無効化します.誤動作しかしなくてストレスフルなので.
`Install Ubuntu` を選んでもいいのですが,このままだとトラックポインタが使えないので,私は `Try` の方を選びました.そして,`Super` キー を押して `Terminal` と打ちTerminalを起動させます.
そして上記の秘密の呪文を入力してトラックポインタを有効化します.トラックポインターが利用できるようになり,インストーラーをポチポチできて便利です.
最初にやったこと
インストールしてからササっと最初にやったことを列挙していきます.あ,この時点でトラックポインタがまた利用できなくなっていると思うので,上の秘密の呪文をもう一度入力しておくと良いです.
Waylandやめる
様々な問題があるのでやめました.どう判断したらこれを載せられたのか謎です.ログイン時に歯車をクリックしてXorgにしました.
トラックポインタの呪文を毎回入力しないでいいように
`/etc/default/grub` を編集して `GRUB_CMDLINE_LINUX_DEFAULT=”quiet splash”` を `GRUB_CMDLINE_LINUX_DEFAULT=”quiet splash psmouse.proto=imps”` にして, `update-grub` すると次回から呪文を入力してなくて良くなるので便利です.
CapsLockを潰してCtrlに
私は普段CapsLockを利用することがないので,交換するのではなく潰します.
`/etc/default/keyboard` に `XKBOPTIONS=”ctrl:nocaps”` を追記して潰しました.
様々な方法があるので好きな方法を取ると良いと思います.
WWAN設定
Ubuntuでは設定と言ってもAPNの設定するだけなのですが,外出先で繋がらないと慌てないように,最初に設定して繋がることを確認しておきます.
日本語入力周り
私はSKKを利用しているので,`ibus-skk` を利用します.
Input SourceでSKKを選択します.私はUS配列を利用しているのですが,このままではSKK利用している時にJIS配列になってしまいます.そのため,こちらを参考にして `/usr/share/ibus/component/skk.xml` のLayoutを `jp` から `us` に変更しました.
そして,自分がいつも利用しているSKKサーバーをDockerを利用してローカルに立てます.
```
docker run -d --restart=always -p 1178:1178 upamune/skkserver
```
各種アプリケーションインストール
色々なパッケージをインストールするためにLinuxbrewをインストールしました.簡単に新しいバージョンが手に入るので便利です.
普段使いなのと,1PasswordXのためにChromeをインストールします.Firefoxを利用している人はWineで1Passwordを入れるかブラウザとの連携はできませんが, `my.1password.com` をnativefierでアプリケーション化するとかですかね? Macでずっと使ってる AlfredっぽいAlbertも入れます.Albertは設定しないと,初期状態では何も検索にひっかからないので注意です.そして,Dockerをインストールしますが,面倒なのでいつも `get.docker.com` 経由でインストールしていますw かなり新しいのが降ってきます.音楽を聞くのにはUbuntuのアプリケーションも配布しているSpotifyを利用しています.UbuntuはBluetoothヘッドホンが何もしなくても簡単に繋がって便利ですね.初めてBluetoothヘッドホンに繋いだ時はゴミみたいな音質で驚いたのですが,サウンドのProfileが `HSP/HFP` になっていたので,`A2DP Sink` に変えるとまともになりました.
あとは自分のdotfilesを取ってきたり,適宜開発に必要なパッケージをインストールしました.
Emacsキーバインド化
テキストフィールドで `Ctrl-a` で全選択になったり, `Ctrl-e` とか効かないのでイライラしてたのですが,簡単にEmacsキーバインドを利用できるようなので設定しておきました.Tweakを使って, `Keyboard & Mouse` から `Emacs Input` をオンにするだけで設定できました.
ウェブアプリケーションのネイティブ化
ネイティブ化というと語弊がありますが,良く利用するウェブアプリケーションをElectronを利用して単体で動作するアプリケーションにしました.流れとしては,jiahaog/nativefier を利用してElectronアプリケーションを生成して `.desktop` ファイルを `~/.local/share/applications` に置きます.
`.desktop` ファイルはこんな感じです.
現在,私がネイティブアプリケーション化してるのは以下の通りです.
- 1Password
- Kindle
- PocketCasts
- Trello
おわりに
いつか使うかもしれないと思って,Windows 10をずっと残しておいたのですが,全然使わなかったので消せて良かったです.UbuntuとThinkPadという組み合せだと特に何も設定することがないので便利ですね.最近は様々なアプリケーションがWeb上で実現されてることもあり,ブラウザさえあればなんとかなるみたいなことが多いので,Linuxからでも様々なアプリケーションを利用できるようになって良いです.1PasswordもずっとWineで利用してきたのですが,Web版,1Password Xの登場で必要なくなった感があります.(オフライン時は...)
iOS開発とかしない限り,ネイティブのLinuxの上で生きていきたいと思います.
あとどうでもいいですが,この記事で `` と ``` ```がうまく効いていないのは何なんですかね...