Linux Ubuntu X1 carbon

Thinkpad X1 Carbon 5th (2017)をubuntuとデュアルブートする

Thinkpad X1 Carbon 5th (2017)をubuntuとデュアルブートする

Tinkpad X1 Carbon 5th 2017をubuntuとデュアルブートする

macbook12でmacデビューしてから半年経ちましたが、ネイティブのubuntuが使用できないと細々と不便なのと、trackpointが恋しくなる病にかかったため中古でほぼ未使用品を入手しました。

入手した構成

中古で入手した構成はこちら。

    • Full HD(1920×1080)
    • Core i7-7500U
    • RAM 16GB
    • SATA3 SSD 128GB
    • WWANなし
    • IRカメラ
    • 指紋センサー
    • 英字キーボード
    • WiGigなし
    • NFCあり
  • やっぱり英字キーボードが良いですよね。 中古で英字キーボードはなかなかないのでラッキーでした。 もちろんのメモリは16GB。ストレージはM.2 SATA 128GBでしたがこれは交換します。 LTEモジュールとアンテナもありませんでしたがこれも容易に増設できます。(これも後ほど。)

    まずやること

    リカバリUSBをつくります。 Windows10からは「回復ドライブの作成」で作ります。 16GBのUSBメモリを準備しましょう。 私の環境でだいたい2時間かかりました。

    スタート → coltana → "回復"
    

    ストレージを交換する

    M.2 SATA 128GBだと容量が小さすぎるのと性能が回復平凡なのでここでM.2 MVNFの512GBに交換してやります。 交換したのはこれ。評判が良いsamsung製。

    画像の位置のネジを取り外し、矢印側から引っ張るとうまく裏蓋を取り外せます。

    その後、四角い枠のM.2形状のストレージを丸枠のネジを外し取り替えます。

    交換は簡単。まずBIOSで内蔵バッテリーを無効としてから裏蓋を開けて、差し替えます。(バッテリーを無効にすると電源が落ちます。再度電源を入れる際はACアダプターを接続する必要があります。) 交換後は、先程作ったリカバリUSBをUSBポートに接続してから電源を入れます。 そうすると、回復メニューが表示されるためそこからリカバリを実行して下さい。 交換後、Windowsは初期状態のためお好みで更新や設定を行います。

    ubuntuをインストールする

    Bitlockerの無効化

    まずは、ディスクの管理を開いてBitlockerで暗号化されているかを確認します。 X1 Carbonは標準で有効となっていたため無効とします。 本来は無効にしないことが推奨ですが、ubuntu側からマウントしたwindowsのパーティションが読めないため無効にします。

    スタート → システム → バージョン情報 → デバイスの暗号化"オフにする"
    

    ディスクの領域を縮小する

    ubuntuをインストールするための領域を確保するために領域を縮小します。

    Windowsマークを右クリック→ディスクの管理→Cドライブを右クリックし縮小
    

    ただしこの方法ではディスクの半分以上を縮小することはできません。ディスクの半分以上を縮小するにはフリーソフトのEaseUS Partition Masterを使います。

    ubuntuのインストールUSBを作る

    ubuntuでubuntuのインストールUSBを作ります。 インストールするディストリビューションのISOをダウンロードします(ここではubuntu 16.04 gnome) USBを接続して $ sudo fdisk -l USBのデバイス名がわかった後は以下のコマンドを実行します。

    • if=以降に書き込みたいisoイメージ

    • of=以降に書き込み先のデバイス名

    • bs=一度に読み書きするサイズ

      $ sudo dd if=./ubuntu-gnome-16.04.3-desktop-amd64.iso of=/dev/sdb bs=1048576

    USBからOSをインストールする

    ubuntuのインストールUSBを接続し再起動します。 再起動後にlenovoのマークが表示されたところで Enter→F1 でBIOS画面に入ります。 BIOS画面では以下の設定をします。

    • boot順番でUSBを一番優先にする
    • Secure Boot をdisableにする
    • ついでに仮想化テクノロジーをenableにする
    • TPMも使わないので無効化する
    • インストール後にタッチパッドが有効化していると誤作動の元なので無効にします。trackpointあるし。

    grubが読み込まれたらTry Ubuntu without Installingを選択し起動する。 起動後にデクストップのinstallからインストールウィザードを起動しすすめる。 以下肝心なところだけ。

    • インストールの種類はそれ以外
    • 空き領域を指定し、swap領域を作る。swap領域はRAMサイズと同じにする。(RAMが16GBあるので。8GBならその二倍くらい?)
    • ディレクトリごとにパーティションを分ける必要がなければ、/のみ指定する
    • ファイルシステムはext4にする
    • ブートローダーはディスクを指定する あとは必要に応じて設定しインストールを進めます。

    ubuntuインストール後の設定

    trackpointの有効化

    インストール後のubuntuではtrackpointを使用できません。以下を実行すると使用できるようになります。

    $ sudo modprobe -r psmouse
    $ sudo modprobe psmouse proto=imps
    

    再起動後も有効になるように /etc/default/grub を編集し

    GRUB_CMDLINE_LINUX_DEFAULT="quiet splash
    

    という箇所を

    GRUB_CMDLINE_LINUX_DEFAULT="quiet splash psmouse.proto=imps"
    

    に書き換えてgrubに読み込ませます。

    $ sudo update-grub2
    

    ブート順序の変更

    grubでのブート順序がデフォルトだと、後からインストールしたubuntuとなっていますが Windows10はリブート後にもアップデートを継続する必要があるアップデータが多いため デフォルトの起動順序をWindows10にしておきます。 Windows10のブート名を確認する

    $ grep windows /boot/grub/grub.cfg
    

    私の環境では'Windows Boot Manager (on /dev/nvme0n1p1)'でした。 確認したら /etc/default/grub を編集し

    GRUB_DEFAULT=""
    

    GRUB_DEFAULT='Windows Boot Manager (on /dev/nvme0n1p1)'
    

    と書き換えてgrubに読み込ませます。

    $ sudo update-grub2
    

    中スクロールの有効化

    デバイス名を特定するために確認します。

    $ xinput list
    ⎡ Virtual core pointer                    	id=2	[master pointer  (3)]
    ⎜   ↳ Virtual core XTEST pointer              	id=4	[slave  pointer  (2)]
    ⎜   ↳ PS/2 Synaptics TouchPad                 	id=12	[slave  pointer  (2)]
    ⎣ Virtual core keyboard                   	id=3	[master keyboard (2)]
        ↳ Virtual core XTEST keyboard             	id=5	[slave  keyboard (3)]
        ↳ Power Button                            	id=6	[slave  keyboard (3)]
        ↳ Video Bus                               	id=7	[slave  keyboard (3)]
        ↳ Sleep Button                            	id=8	[slave  keyboard (3)]
        ↳ Integrated IR Camera: Integrate         	id=9	[slave  keyboard (3)]
        ↳ Integrated Camera: Integrated C         	id=10	[slave  keyboard (3)]
        ↳ AT Translated Set 2 keyboard            	id=11	[slave  keyboard (3)]
        ↳ ThinkPad Extra Buttons                  	id=13	[slave  keyboard (3)]
        ↳ Intel(R) RealSense(TM) 430: Int         	id=14	[slave  keyboard (3)]
    

    PS/2 Synaptics TouchPadのidを確認します。 先ほど確認したid番号を使って

    xinput set-prop 12 "Evdev Wheel Emulation" 1
    

    を実行すると中スクロールが有効になります。 再起動後も有効になるようにするために /usr/share/X11/xorg.conf.d/10-evdev.conf を編集して以下の表記を追加します。

    Section "InputClass"
        Identifier "Wheel Emulation"
        MatchProduct "PS/2 Synaptics TouchPad"
        Option "EmulateWheel" "on"
        Option "EmulateWheelButton" "2"
        Option "XAxisMapping" "6 7"
        Option "YAxisMapping" "4 5"
    EndSection
    

    これでreboot後も有効になっているはず。

    その他のデバイスについて

    • 指紋認証:不明。調べてない
    • NFC:不明。調べてない。
    • IRカメラ:不明。そのままでは使えないはず。
    • FAN:ubuntu gnome 16.04.3では発熱に応じて動作していました。(4.13.0-32-generic)

    日本語入力の有効化

    そのままだとmozcを有効化しても起動時の入力モードはAのままので手動でにする必要があります。 これを回避するには、ソースを変更してビルドする方法があるようです。が、そもそも日本語入力IME内で入力モードを変更できるのにIME自体を切り替えるのは果たしてベストなのか?と思います。 と、思っていたらおんなじことを考えている人がいました。 こちらを参考にします。

    英字キーボードのALTをmacとおなじように日本語入力の切り替えキーとしても使えるようにする

    項題のとおりです。 画像の感じにします。かつ、ALTも有効に。

    使うのはxcapeです。 導入します。

    $ sudo apt-get install xcape
    

    キーコードの確認

    $ xmodmap -pke |grep Alt
    keycode  64 = Alt_L Meta_L Alt_L Meta_L
    keycode 108 = Alt_R Meta_R Alt_R Meta_R
    keycode 204 = NoSymbol Alt_L NoSymbol Alt_L
    

    調べたキーコードを元に割当します。

    $ xcape -e '#64=Muhenkan;#108=Henkan_Mode'
    

    これで左ALTは無変換、右ALTは変換に割り当てできます。 これを再起動時も有効にするためにubuntu gnomeであればtweak toolを使います。 スタートアップアプリケーションから追加できます。

    次に、入力切換ができるようにします。 まず既にある入力ソースを削除し日本語(Mozc)のみを追加します。 そしてプロパティから Mozcプロパティ→キー設定→編集からキーの割当をします。 この時既に、xcapeでキーの割当ができているため左ALTを押せば無変換、右ALTで変換が割り当てできます。

    xcapeで割り当てた無変換、変換ですがすでにある同時押しの各ショートカットは有効なままです。 もちろんemacsでもM -は有効でした。 これがxcapeを使用して割り当てるおすすめ点です。

    視力保護をする

    ubuntu gnome 17.04からはtweak toolでブルーライトカットの設定ができますが、16.04ではできないのでRedshiftを使います。 導入

    $ sudo apt-get install redshift-gtk
    

    実行後に常駐します。 ただ、エラーが出ます。 起動できません。 エラーなく起動するには、 設定→プライバシー→位置情報サービス をオンにしておきます。

    さらに常駐しているアイコンからenableautostartにチェックを入れておきます。

    上から降りてくるターミナルを導入する

    こんな感じ。

    F12を押すと上からにゅるっと出てきます。 導入

    $ sudo apt-get install guake
    

    後はアイコンがあるのでそこから起動します。 常駐にはtweak toolを使います。

    以上!!

    comments powered by Disqus