August 27, 2017

ThinkPad X1 Carbon 2017(5th Gen)とManjaro Linux

ThinkPad X1 Carbon 2017(第5世代)を購入した。

tpx1c1 tpx1c2

  • Lenovo楽天市場店で121,000円(お買い物マラソンのポイントを念頭に入れつつ)
  • 一番安いエントリーモデル(メモリ8MB、SSD128GB)
  • 米沢産ではない
  • NICはWiFiのみ(有線用のUSBアダプタが付いてくるのかと勘違いしてた)
  • 充電はUSB-C経由(壊しやすそう)
  • 工場出荷状態で、SSDの空きは92GB程度
  • FirmwareはUEFIで、パーティションはGPT
  • 14インチFHDで見るフォント(スケーリング無し)は、ギリギリセーフって感じ

SSDを240GB(WDのグリーン)に換装し、Win10とManjaro Linuxのデュアルブートに仕立てる。

SSD換装

  • ひとまずオリジナルのSSDで起動してWindowsへサインアップ
  • リカバリUSB作成
    • 設定の「回復メディア」ってやつ
    • 8GB以上のUSBを挿せと言われた
    • 待つこと1時間
  • 高速スタートアップOFF
    • 設定の「電源ボタンの動作」→「現在利用可能ではない設定」
  • シャットダウン
  • 新しいSSDに換装
    • 裏蓋は、ネジを5本外すだけで簡単に外れる

UEFI Firmwareの調整

  • 電源ON後、Lenovoの赤いロゴが出たところでF1キー
    • Setupソフトが起動
    • UEFI BIOS VersionはN1MET37W(1.22)
  • "Security"→"Secure Boot"→"Reset to Setup Mode"
    • これで、"Platform Mode"欄が"Setup Mode"に変わる
  • 続いて"Secure Boot"を"Disabled"に変更
  • Escキーでトップレベルへ戻る
  • "Security"→"Virtualization"→VTとVT-dを"Enabled"に変更
  • F10キーで保存&リブート

リカバリ & SSDのパーティション調整

  • 今度はLenovoロゴのとこでF12キー
  • リカバリ用USBを選択
  • よく覚えてないが、この先の手順が分かりにくかった
    • たしか「トラブルシューティング」から「回復」を選ぶんだったかな
    • 待つこと1時間
  • 無事Windowsが起動するようになったが、明らかに工場出荷状態とは違う
    • Lenovo系のソフトが古いっぽい
      • 例えばLenovo Settingsに、「バッテリー充電のしきい値」が無い
  • WiFiを設定
  • どっかにアップデートボタンがあったので実施した記憶がある
    • そのおかげかどうか分からないが、何度か再起動するうちに、「バッテリー充電のしきい値」が現れた
  • すかさず、充電しきい値設定
    • 50%切ったら充電
    • 65%で充電停止
  • 再び高速スタートアップOFF
  • SSDの調整
    • ディスクマネージャ
    • パーティション(C:)を縮小
      • 思ったほど縮小できない(100GBくらい?)
    • パーティション(D:)を作成
      • ユーザデータ用に20GB程度
    • 残りをManjaro Linuxに使う

Manjaro Linuxのインストール

いつもGentooなので、今回はArchLinux系のManjaroを選択。LiveDVDにお任せでインストールするのはつまらないので、コマンドラインベースのManjaro Architectを使う。

まずは(別のLinuxマシンで)ISOをダウンロードして、起動USBを作る。

$ sudo dd bs=4M if=~/Download/manjaro-architect-17.0.2-stable-x86_64.iso \
  of=/dev/sdb status=progress && sync

んで、起動(LenovoロゴでF12キー)。

  • manjaro/manjaroでログイン
  • setupというコマンドを実行
  • WiFiを設定
  • メニューにそってインストール
  • この時点では、まだロケールをja_JPにしない方がいいと思う
    • 変えるなら、日本語フォントもインストールすべし
  • 使うパーティション
    • swap用
      • 8GB
    • ルート(/)ディレクトリ用
      • 残りすべて
    • ESP(EFIシステムパーティション)
      • ESPは既にあり、Windows用のブートローダが入っている
      • ここにManjaro用のブートローダを共存させることになる
  • ミラーサイト選択
    • 速度計測
    • Japanのいくつかを選択しておく
  • Kernel選択
    • yaourt + base-devel
      • これ入れろって、チュートリアルに書いてあったので
    • linux410
      • 4.10以降ならWiFiのトラブルが無さそうなので、保険
    • linux413
      • 現時点の最新
      • 4.12.5でファンの問題が解消されたとか
  • ブートローダインストール
    • grub
  • 余計なアプリは入れない
  • ひと通り終わったら、トップレベルで"Done"を選択
    • なぜか「ブートローダが入ってないけどいい?」みたいなのが出るが無視
  • reboot

その後

WiFi

問題なし。

一時的にOFF/ONするには:
$ rfkill list
$ sudo rfkill block wlan
$ sudo rfkill unblock wlan

TLPを入れれば、/usr/bin/wifiが使えるようになる。

$ sudo wifi toggle

日本語

なんかいじってるうちに、言語パックが入ったと思う。

フォントを入れる:
$ pacman -S adobe-source-han-sans-jp-fonts

IMEは、pamacでfcitx, fcitx-configtool, fcitx-mozcを入れる。

トラックポイント

動いてるけど遅い。まだカーネルが対応してないそうで、PS/2 Generic Mouseと認識されている。

いろいろネットで調べたが解決しないので、様子見。

[2017-08-27] ちょっと前のアップデートで改善され、TPPS/2 IBM TrackPointと認識されるようになった。でも、まだまだ遅い。トラックパッドも改善してるかもしれないが、どうせ使わないので未確認。

トラックパッド

パーム検出が効いておらず、意図しないところで反応してしまう。どうせ使わないので無効化。

Vim

pamacでインストール。v8.xが入った。

  • fugitiveでエラー
    • E319
    • 最新(913fff1)に更新したらなおった
    • 新機能の:terminalが、Manjaroリポジトリのvimでは有効になってない
  • gvimのカーソルが消える
    • ブリンクの問題?
    • 起動直後は問題ないが、そのうち消える
    • <C-L>がトリガになってる???
    • comptonとかと相性が悪い???
    • 「キーボード設定」のblinkのON/OFFが関係する???
    • :set guicursor+=a:blinkon0して、様子見
    • [2017-08-27]少しマシだが再発する
      • 実はgentooでも起きる、ということに気づいた
  • iminsert=0が効かない?
fcitxのコマンドで切る:
function! TurnOffIme()
  call system('fcitx-remote -c')
endfunction
inoremap <C-[> <ESC>:set iminsert=0<CR>:call TurnOffIme()<CR>
実はgentooの方でも対処済みだった:
inoremap <silent> <C-[> <ESC>:set iminsert=0<CR>
if has('unix')
    function! ImeOff()
        exec system("fcitx-remote -c")
    endfunction
    autocmd! InsertLeave * call ImeOff()
endif

Plank

MacのDockっぽいやつ。左辺に配置したが、変な場所に影が出る。compton_before

xfce4標準のコンポジタを(ウィンドウマネージャ詳細設定から)無効化し、代わりにcomptonを入れるとなおった。compton_after

TLP

省電力設定アプリ。pamacでインストール。ThinkPadの場合、Windowsと同様に、充電しきい値を設定できる。

システムトレイの電源マネージャには、充電してないときでも「充電中」と出るが、メーターは変化しないので、恐らくちゃんと充電は止まっている。

閉じたらスリープ

閉じたときのイベントを調べる。

$ sudo systemctl start acpid.service
$ acpi_listen
button/lid LID close
button/lid LID open

イベントにアクションを仕込む。

$ sudo vim /etc/acpi/events/sleep-on-lid-close
    event=button/lid LID close
    action=/etc/acpi/sleep.sh
$ sudo vim /etc/acpi/sleep.sh
    #!/bin/bash
    systemctl suspend
$ sudo systemctl restart acpid.service

FireFox

最新を入れた。

  • vimperatorは、いろいろ問題あり(そろそろ限界)
  • searchbox syncは、互換性無しのため、インストールすらできない
  • vivaldiとvimiumに乗り換えるか

Orage

デフォルトで、Orageが入っている。パネルの時計表示を%m/%d(%a)%Rに変更。

Docker

$ sudo usermod -g docker USERNAME
$ systemctl restart docker.service

need to logout and login.

ブートマネージャ

Lenovoの赤いロゴが出たところでF12キーを押すと、ブートマネージャのメニューが出て、ManjaroやWindowsを選択できる。

F12キーを押さなければ、デフォルトのブートローダ(grub)がキックされ、そのメニューにもManjaroとWindowsがある。

デフォでManjaroが起動する。UEFI変数bootnextを設定すれば、Manjaro内のシェルからWindowsへリブートすることも可能。まずWindowsのIDを調べておく:

$ efibootmgr -v

たぶん0000のはず。

$ sudo efibootmgr --bootnext 0000

「次のブートだけ、Windowsにして」という意味。で、リブートすればいい。

シェルスクリプトにしてデスクトップにでもリンクを貼っておけば、一発でWindowsへブートできる。visudoして、以下を追記しておけば、パスワードも要らない。

%wheel ALL=(ALL) NOPASSWD: /usr/bin/reboot, /usr/bin/efibootmgr

自動ログイン

$ sudo vim /etc/lightdm/lightdm.conf
  [Seat:*]
  autologin-user=USERNAME
  autologin-session=xfce
$ sudo groupadd -r autologin
$ sudo gpasswd -a USERNAME autologin

日本語名のディレクトリを英語化

pamacでxdg-user-dirs-gtkをインストール。

$ LC_ALL=C xdg-user-dirs-gtk-update

日本語のまま残ってしまったら手動で中身を移動。

Gnomeキーリング

  • DLしたアプリの起動時とかにパスワードを要求されることがある
  • しかも何度も
    • 「セッションと起動」の「詳細」で、GNOMEサービスを起動しておくと、覚えてくれるみたい
      • というのは勘違いか? 覚えてくれてなかった
      • 自動ログインにしてるのが原因で、手動ログインなら、ログインした時点でアンロックされる
Tags: linux thinkpad