Thinkpad X1 Carbon (2017)をWindows 10/Ubuntu 17.04デュアルブートにした

Aki Ariga
12 min readJul 10, 2017

--

前回 Thinkpad X1 Carbon(2017)のWindows周りの設定について書きましたが、今回はUbuntu 17.04とのデュアルブートについて書きます。

Ubuntu 17.04 on 4k monitor

基本的に、X1 Carbonに最初から入っているWindows 10がBitlockerが有効化されていてセキュアなので、以下を参照しながらデュアルブートにしました。(とはいってもうっかりUbuntu側をセキュアにし忘れた)

新しいマシンなので、OS新しめにしておいたほうが良いかなと思ったので、Ubuntuは17.04にしました。とりあえず、長く使うかもわからないなぁと思ったので、楽にできる日本語Remixで入れました。

トラックポインタ&タッチパッドが動かない問題

デフォルトだと、16.04も17.04もトラックポインタもタッチパッドも動きません。USBのThinkpadキーボードがあったのでなんとか回避できましたが、これができないと結構きつかったです。

ursmさんのブログのお陰でマウス系が動かない問題も回避できました。(とりあえず、カーネルパラメータにpsmouse.proto=impsを指定してる)

これだと、タッチパッドに手を置くと誤動作するので、BIOSでタッチパッドをオフにしておきます。

1Password問題

1Passwordに依存していたのですが、Keypassとかを入れるのはだるいなということで、1PasswordはWineを使って入れています。あまり困っていないです。

USキーボードでの右AltでIME on/左AltでIME off

人間はIMEの状態を覚えたくないので(2回目)、右AltをIME on/左AltをIME offにします。やり方は、ここを参考に設定しました。

ただし、キーボード(日本語)が存在しないと、Mozcで入力しているときなぜか日本語配列になってしまうので、なければ追加します。

Ctrl-Capsの入れ替え & Emacs風キーバインド

gnome-tweak-toolを使う。

sudo apt-get install gnome-tweak-tool

ちなみに、gnome-tweak-toolでEmacs風のキー設定にできる。こちらはWindowsでkeyhacをやるより賢く?、テキスト入力エリアのときだけEmacs keybindになってくれるので、自分のようなぬるいEmacs keybindを求めている人には助かります。

ただ、この方法だとmediumのようにkeyboard shortcutをJSで奪ってくるタイプのサイトには負けるらしく、もう少し厳密に必要な人は別の手段が必要そうです。

http://qiita.com/AnchorBlues/items/beeb40593fd4c579dbe5

デュアルブート下で時計がずれるのを防ぐ

そのままだと、Windowsに戻ったときに9時間時間がずれるので、Ubuntu側で設定を変えておく。

sudo timedatectl set-local-rtc true

Grubの設定変更をGUIでする

Ubuntuをprimaryでやろうとしたけど、Windowsの方をよく使っているので、Grubの優先順位をGrub Customizer使って変える。

sudo add-apt-repository ppa:danielrichter2007/grub-customizer
sudo apt-get update && sudo apt-get install grub-customizer

エディタはVisual Studio Code

別にJet Brains製品でもいいんですけど、とりあえずVSCodeをdebから入れておきました。

Python3とJupyterを入れる

ymotongpooさんの記事にもあるとおり、Debian/Ubuntu系のvenvは余計なものを入れるらしいので、virtualenv入れて使っています。

sudo apt-get install python3
pip3 install virtualenv
virtualenv hoge
. hoge/bin/activate

iRubyを入れる

まずは、rbenvとruby-buildを入れます。

次にiRubyですが、READMEに従って入れましょう。ただ、一点libzmq-devは16.04にしかないのでlibzmq3-devを入れましょう。

READMEのインストール手順を改変したのがこちら。

sudo apt install libtool libffi-dev ruby ruby-dev make
gem install cztop

sudo apt install git libzmq3-dev autoconf pkg-config
git clone https://github.com/zeromq/czmq
cd czmq
./autogen.sh && ./configure && sudo make && sudo make install

gem install iruby
iruby register --force

[追記]

とのことです。わざわざ自分でビルドしなくても、 sudo apt install czmq でいけるのかな。

[/追記]

Sphinxの執筆環境

Dockerのドキュメントに従って入れる。操作に sudo いることすら知らなかった。。。

あとは、以下の通りでOK。

sudo docker pull chezou/sphinx-recommonmark
sudo docker run -it -v $(pwd):/documents chezou/sphinx-recommonmark:latest make latexpdfja

[追記]user権限でもいけるとのこと[/追記]

iPhoneでの有線テザリング

勉強会などでテザリングが必要なときがよくありますが、その場合は

sudo apt-get install ipheth-utils
sudo modprobe ipheth

とすればOKです。これを永続化するためには、先程のサイトにあるように /etc/modules への登録をお忘れなく。

pbcopy/pbpaste

xselを使えばいけます。やり方はこちらのとおりです。

sudo apt-get install xsel

xselをあとは以下のようにaliasを設定すればOK。 ~/.zshrcに入れました。

alias pbcopy='xsel --clipboard --input'
alias pbpaste='xsel --clipboard --output'

環境変数周り用にenvchainを入れる

AWSのsecretsなんかを引数に渡して実行するために便利なenvchainを入れました。READMEに従うだけです。今回、libsecretのヘッダが入っていなかったので入れました。

sudo apt install libsecret-1-dev

まとめ

指紋認証とか細かいものは動きませんが、Skypeも入ってDMM英会話もできそうだし、BluetoothもWiFiも特に不安定なことなく動いています。Slackもアプリあるので困りません。会社的のVPNも通るし。

その他細かい設定は以下のサイトからつまんで設定しました。

困っていることとしては、例によってメモアプリをどうするかという点(これはGoogle Keepでなんとかやろうとしている)と、辞書をどうするかという点(これは絶望的)です。まぁ、ブラウザベースで頑張るかなぁ。

--

--

Aki Ariga

ML Engineer at Arm Treasure Data. Previously Cloudera. Love machine learning, data analysis, Ruby and Python.