前回 Thinkpad X1 Carbon(2017)のWindows周りの設定について書きましたが、今回はUbuntu 17.04とのデュアルブートについて書きます。
基本的に、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でなんとかやろうとしている)と、辞書をどうするかという点(これは絶望的)です。まぁ、ブラウザベースで頑張るかなぁ。