Thinkpad X1 carbon(Gen 5)をubuntu-gnome16.04で使う

## TL;DR

ごく普通のインストール手順は書いていない。入れた後にハマったり忘れてたり困って解決した事のメモ。
仕事で仮想サーバ上のsshで入る linux は慣れているがローカルには入れてみた程度の経験しか無いので初歩も普通に出てくるので注意。

## 前提
16.04.01を使うとデバイス回りで苦労するという話もあり、16.04.03のイメージを使っている。
## デバイス回りの情報源

ArchWiki最高という話は聞いてたがここまでまとまっているとは…。ThinkPadデバイス固有の問題はほぼ書いてある。すごい。
[Lenovo ThinkPad X1 Carbon (Gen 5) - ArchWiki](https://wiki.archlinux.org/index.php/Lenovo_ThinkPad_X1_Carbon_(Gen_5))


## 普通にsoftware検索やらdebをDLやらで動くよく見る優秀なアプリ達
- dropbox
- google chrome 
    - インストール失敗する、後述
- slack
    - Softwareで失敗するが、 `sudo dpkg -i` で問題無く入った。
- vlc
    
## chrome インストールできない
依存ライブラリが足りないらしいので、入れて、dpkgでインストール

 [ubuntu 16.04 で google-chrome - Qiita]
(http://qiita.com/146/items/e801c9065c9ef1a575f7)

## デフォルトエディタをvimに
`sudo update-alternatives --config editor`
update-alternativesは デフォルト替えるときによく使う。

[[Ubuntu] visudoのエディタをnanoからvimに変更する - Qiita](http://qiita.com/koara-local/items/35b999631b6ab41fdc9f)

## Gnome Terminalでctrl+c/vが効かない
普通のアプリは ctrl+c/vだがコンソールでは shift+c
trl+c/v 。情弱ですんません。

## caps lock / control入れ替え
様々なremapは  [Linux向けの最強のキーリマッパーを作った - k0kubun's blog](http://k0kubun.hatenablog.com/entry/xkremap)  を使うとして、そこの設定をするまでも caps lockだけは苦痛で仕方無いので。

[Ubuntu 16.04 CapsLockをControlに置換する方法 - Qiita](http://qiita.com/hirooooooaki/items/f404e76c6f171769412a)


## キーボードがJIS動作
以下で普通は動くようだが、skk派なので、ibus-skk入れた後にダメだった。

入力メソッドごとに設定ファイルでのlayout設定が必要らしい。なのでSKKの方のlayoutを設定する。
[ibus-skk のインストール - ほんとのこと知りたいだけなのに。](http://yanqirenshi.hatenablog.com/entry/2015/08/27/ibus-skk_%E3%81%AE%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB)

以下はibus-skk派としては意味無かったが使える人も入ると思うので一応。

[Ubuntu 16.04で英語キーボードを使えるようにする方法 - Qiita](http://qiita.com/SUZUKI_Masaya/items/2f2ef9fdb63fe017c6d2)

`sudo dpkg-reconfigure keyboard-configuration`

## 4K対応

[HiDPI - ArchWiki](https://wiki.archlinux.jp/index.php/HiDPI) にまとまってる。
私の好みのサイズとしては以下で大丈夫だった。

- `gsettings set org.gnome.desktop.interface scaling-factor 2`
- ちょっと縮小
    1. ` xrandr | grep -w connected | cut -d' ' -f1` でdisplay nameを調べる。
    1. `xrandr --output [display name] --scale 1.1x1.1`  


## マウスカーソルを大きくする
高解像度にしたら見つからないレベルになったので。

[settings - How do I change the cursor and its size? - Ask Ubuntu](https://askubuntu.com/questions/126491/how-do-i-change-the-cursor-and-its-size/776535)

## トラックポイントの中ボタンでスクロールする

かなりハマった。
最終的に以下の記事で動いた。
 ただ、下記の記事の `sudo apt-get install xserver-xorg-input-libinput` はそのままだと入らなかったため`sudo apt-get install xserver-xorg-core`  を先に入れたら入った。
 [touchpad - Middle-button scrolling with trackpoint Thinkpad T540p - Ask Ubuntu](https://askubuntu.com/questions/816608/middle-button-scrolling-with-trackpoint-thinkpad-t540p)

ArchWikiの ThinkPadページには別の方法が載っているのでそちらの方が良いかも(この時点で気づいていなかった)

# トラックパッドの無効化
biosに無効設定あるからと言って安心してたら無効にならないと来たもんだ…クリック系は無効になったけど、肝心のカーソル移動が無効にならなかった。
以下で成功。

[【ThinkPad】Ubuntuでのトラックパッドの無効化 - 訳も知らないで](http://shirusu-ni-tarazu.hatenablog.jp/entry/2012/12/10/003154)

# neovimのinstall
pythonを忘れずに。
以下の手順やって、pythoh/rubyで neovimライブラリをinstall(rubyは使ってるpluginによって必要)
https://github.com/neovim/neovim/wiki/Installing-Neovim

## マウススクロール速度調整
http://pagent.github.io/2015/05/13/mouse-wheel-scroll-speed/
    
## SKK
色々あるようだが、以下のibus-skkで概ね問題が無い。
ibus-skkインストール [Ubuntu 16.04LTSでSKKを使う(IBus) – microjournal](https://mlny.info/2016/05/ibus-skk-on-ubuntu-xenial/)

### 未解決課題

様々なウェブサイトで自動補完がうまく動かない。SKKの直接入力時でダメ。入力メソッド変えると動く。ちょっと困ってるのが money forward、esa。 googleや slackでは問題無いが色んなページでダメなので特定のサイトが悪いわけでは無さそう。補完しないなーと思ったら crtl-jやshiftを押すと動いたりする。

# sambaサーバにアクセス
[Samba - ArchWiki](https://wiki.archlinux.org/index.php/samba#Client_configuration)

なぜか、 GUIのファイラーから `smb://[user]@host/path` でログイン画面は出るのにパスワード入力後そのまま入力画面に戻ってしまう… :cry:  (17.04試用したときは使えた)ので、 cifs-utils入れてお手軽に /etc/fstabに書いてマウントするようにした。 fstabだと起動時自動マウントされるが、失敗すると起動しなくなったりするので編集後に `sudo mount -a` してエラー出ないかチェックしておかないとハマる。
下の例は めんどいのでpassword書いてるが書かないようにする事も可能。ArchWiki参照。
uid/gidは指定しないとsambaで参照したファイルのownerがrootになるので注意。

```
//[samba server ip]/[path]  [mount path] cifs username=[user],password=[pass],uid=[username or uid],gid=[groupname or gid],defaults 0 0
```
## ウェブアプリをデスクトップアプリにする
大体chrome上で動かせば良いが、twitterクライアントとかよく使うのは独立させたかった。

- nativefier で可能 [jiahaog/nativefier: Make any web page a desktop application](https://github.com/jiahaog/nativefier#installation)
- 当初 esaもこれで使っていたがページ内検索ができない(ctrl+fが何も起きない)ので本当にアプリっぽいものしかやらない方が良さそう。

### 未解決課題
activitiesから起動できない？みたいなので、symlinkを集めたディレクトリをnautilusで開いて起動している。今後タイル型ウィンドウマネージャーも検討しているので、そのときに調べれば良いかと。

## 時間表示してる所に日付も表示させたい
http://fedorakenken.doorblog.jp/archives/51929536.html

## thunderbolt3 ドック
これもかなり苦労した。以下の記事と ArchWiki参照。
[Ubuntu 16.04 on ThinkPad T470s · GitHub](https://gist.github.com/okapies/de0d08f9e3c8bcb2b76a33b68f62a48c)

https://wiki.archlinux.org/index.php/Lenovo_ThinkPad_X1_Carbon_(Gen_5)

結果として心配していた DisplayPortからの 4k60hz表示は最初からできてたし、充電は当然、USBもLANも色々やって使えるようになった。一本でこれだけできるのはホント便利 :smile:
### 必要だった作業
- kernel4.13へ上げる [Linux Kernel 4.13 Release & install to Ubuntu – 気まぐれ一言居士の公開メモ帳](https://ichigenkoji.wpblog.jp/?p=1775)
- USB関係はBIOSのthunderbolt3のSecurityLevelを noneにすれば動く。途中kernel4.13に上げてたので4.10でbios設定だけで動くかは不明。 https://forums.lenovo.com/t5/ThinkPad-T400-T500-and-newer-T/Thunderbolt-3-Dock-with-T470s-Bios-options/td-p/3709530
- LANポートは r8152-dkmsのインストールが必要…とかArchWikiに書いてはいるが、kernel4.13に上げてれば動くっぽい。
- イヤホンは動くが、本体みたいに挿すだけで自動的には切り替わらず、サウンド設定で切り替える必要がある。

## モバイルバッテリーについて
[Anker | PowerCore+ 26800 PD (USB-C急速充電器付属モデル)](https://www.anker.com/jp/products/variant/PowerCore%2B-26800-PD-(USB-C%E6%80%A5%E9%80%9F%E5%85%85%E9%9B%BB%E5%99%A8%E4%BB%98%E5%B1%9E%E3%83%A2%E3%83%87%E3%83%AB)/B1375111)

これを買って待機してたが充電できなくてショック… :sob:
ただ、使用中はできないがスリープ中ならできる事が分かったので、まあ大分マシ。 
45W以上無いと安定して使用中に充電はできない模様。

## tmux上で256色使えない

[Getting 256 colors to work in tmux - Unix & Linux Stack Exchange](https://unix.stackexchange.com/questions/1045/getting-256-colors-to-work-in-tmux)

で解決。

[tmuxを起動するとvimの色が変になる時 - はらへり日記](http://sota1235.hatenablog.com/entry/2015/07/09/203000)
の `set -g terminal-overrides 'xterm:colors=256'` だと更にぶっ壊れた。 
結果として
`TERM=xterm-256color tmux` or `tmux -2` だった。

ちなみにチェックには [MacのTerminalとvimで256色の確認 - adragoonaの日記](http://adragoona.hatenablog.com/entry/2014/11/03/152539) が便利だった。

## 1password
最大の懸念だった点。とりあえずwineで動くという話もあるが、月額課金していればweb版が使えるのでちょっと不便だが致命的では無い。

## その他未解決問題
### VPN
実は困っている。
windowsへリモートログインができてこれでハマるとは。 linuxサーバでVPN構築…の記事はよく見るが、OSX server で立ててるので情報も少なく動かせていない。
 TimeMachineがいらなくなったから OSX server使う必要が無いし、別の方法でサーバ立てれば良いかなとは考え中。
↓
Windowsでsoftetherサーバを立ててみたら繋がった。
https://qiita.com/__cooper/items/4b5ab7ae40b0e95f0d19

### 再起動時に固まる
そんな再起動する頻度も高く無いので調べていない。
心配してた スリープからの復帰は問題無く動いている。

### バックアップ
とりあえず最初から「バックアップ」というアプリが入ってるので、homeをsambaサーバに日次バックアップするようにはしている。
TimeMachineほど便利では無さそうだが本当に重要なデータはクラウドにあるので良し。

## まとめ
tipsの粒度もレベルもバラバラですみません。