Surface Pro 4でManjaro Linuxを快適に使う


はじめに

Windows10とManjaro Xfce Editionのデュアルブートです。
インストールするまでと、してからが大変だったのでやったことを残しておきます。

USBメモリの準備

ここから好きなエディションを選んでDLします。

USBWriter等でISOをUSBに書き込みます。

Surfaceの準備

BitLockerの解除

BitLokerが有効だとGrubでWindowsが起動できないようです。
コントロールパネルから、BitLockerを無効にします。

パーティションの確保

スタートボタンを右クリックしてディスクの管理を開きます。
Cドライブを好きなだけ縮小します。
新しくできたパーティションは未割り当てのままでOKです。

パーティションが縮小できない場合

縮小可能な領域が18GB程しかありませんでした。
調べてみると、ページファイルが動かせないファイルとして邪魔をしていたので、無効にします。
コントロールパネル→システムとセキュリティ→システム→システムの詳細設定から画像のようにたどって行き、ページングファイルなしを選択します。

再起動すると、縮小可能領が40GB程になったのでよしとします。

パーティション縮小後、忘れずに元の設定に戻しておきましょう。
詳しくはこちら

UEFIの設定

電源を切り、音量を上げるボタンを押しながら電源を入れてUEFIに入ります。
SecurityタブのChange ConfigurationからNoneを選びセキュアブートを無効にします。

次に、Boot configurationタブでUSB Storageの優先順位を上げます。
最後に、用意したUSBメモリを挿してExitタブからRestart now!

Manjaroのインストール

USBメモリを挿してから起動したらWelcome to Manjaroと表示されます。
一応tz(タイムゾーン)、keytable、langをあわせたらBoot: Manjaroを選んで起動します。
Manjaroへようこそ!のインストーラーを起動からインストールを始めます。
GUIに沿って進め、パーティションの所ではパーティションの置換を選び、先程作ったパーティションを選択します。

終了したら、電源を落として再起動します。
このとき、優先順位は自動的にManjaroが優先になっているので、USBメモリは抜かなくても大丈夫です。
Grubが起動しManjaroとWindowsが選べます。

操作について

ここからは、インストールしたManjaroで設定を続けていきます。

ウィンドウのリサイズがやりにくい

タッチパッドでウィンドウの端を掴むのは無理なので、別の方法を使います。
Alt + 右クリ + ドラッグでリサイズできます。

タップでクリック

設定→マウスとタッチパッドからMicrosoft Surface Type Cover Touchpadを選びます。
タッチパッドタブからタッチパッドをタップでクリックを選択します。

表示の設定

Surfaceは解像度が高いので、そのままだとUIが小さすぎて見づらいです。
xrandrを使って画面をそのままズームするやり方も試しましたが、多少ボヤけるのが気に入らなかったのでそれぞれの設定をいじります。

フォント

設定→外観→フォントのカスタムDPI設定を、倍の192にします。
これである程度見やすくなりました。

ツールバー

続いてツールバーも大きくします。
デフォルトテーマにはhidipがありますが、ちょっとダサいので他を使います。
ここからDL

解凍したら~/.themesに入れます。
設定→ウィンドウマネージャから、今のテーマを設定します。

デスクトップのアイコン

設定→デスクトップ→アイコンでサイズを72にします。(お好みで)

パネル

設定→パネル→表示の行サイズで変更できます。
パネルを倍の60ピクセル程にしたい所ですが、ウィンドウボタン(ウィンドウ一覧が表示されるところ)のサイズは変更できないようです。
なので、ウィンドウボタンが2行にならないぎりぎりの、49ピクセルに設定します。

スタートメニュー(Whisker Menu)のアイコン

設定→パネルでWhisker Menuを選択し、右にある編集ボタンを押します。
Whisker Menuの設定画面が出てくるのでアイコンサイズを普通等にします。
メニュー右上のボタン群の大きさは変わりません。

通知エリアのアイコン

BluetoothやWiFiのアイコンのある部分です。
先ほどと同じ、設定→パネルで通知エリアを選択し、右にある編集ボタンを押します。
おさまりのいい47ピクセルにします。
IMのアイコンは変わらないので、後の項目で対応します。

ファイルマネージャ

ファイルのアイコンはCtrl + +で拡大できます。

時刻合わせ

時計がずれていたので、Manjaroセッティングマネージャから"自動的に時刻と日付を設定"と"ローカルタイムゾーンでのハードウェアクロック"にチェックを入れます。

WiFi設定

起動してしばらくたつと、WiFiが途切れることがあります。1
/etc/NetworkManager/NetworkManager.confに追記します。

NetworkManager.conf
[connection]
wifi.powersave = 2
[device]
wifi.scan-rand-mac-address=false

いろいろとインストール

pacmanの設定

インストールの前に、そのままでは遅いので、ミラーを早い順にソートします。
ついでに更新もしておきます。
$ sudo pacman-mirrors --fasttrack && sudo pacman -Syyu

AURの有効化

スタートメニューからソフトウェアの追加と削除を選んでPamacを起動します。
右上の設定→AURでAURを有効にします。
これで、検索結果にAURが含まれるようになります。

この後インストールするものまとめ

sudo pacman -S xdg-user-dirs-gtk fcitx-mozc fcitx-gtk2 fcitx-gtk3 fcitx-qt4 fcitx-qt5 noto-fonts-cjk onboard

ホーム内のディレクトリを日本語から英語へ

便利なスクリプトがあるのでインストールします。
$ sudo pacman-S xdg-user-dirs-gtk

実行
$ LANG=C xdg-user-dirs-update

再起動時に、ダウンロードフォルダが無いとbluemanから怒られるので、変更後のパスを設定します。
$ gsettings set org.blueman.transfer shared-path '/home/user/Downloads/'

日本語入力

fcitx-mozcを使います。
$ sudo pacman -S fcitx-mozc fcitx-gtk2 fcitx-gtk3 fcitx-qt4 fcitx-qt5

インストール後、.xprofileと.bashrcに設定を追記します。

~/.xprofile
export LANG="ja_JP.UTF-8"
export XMODIFIERS="@im=fcitx"
export XMODIFIER="@im=fcitx"
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export DefaultIMModule=fcitx
~/.bashrc
export GTK_IM_MODULE=fcitx
export XMODIFIERS=@im=fcitx
export QT_IM_MODULE=fcitx

アイコンサイズの変更

GitHubにアイコンがあるので、product_icon_32bpp-128.pngをDLします。

ファイルを置き換えます。

$ cd /usr/share/fcitx/mozc/icon/
$ sudo cp mozc.png mozc.png.bak
$ sudo cp -f ~/Downloads/product_icon_32bpp-128.png mozc.png

次に、fcitxのキーボードのアイコンのサイズを変えます。
defaultスキンを直接書き換えます。

$ cd /usr/share/fcitx/skin/default/
$ sudo cp inactive.png inactive.png.bak
$ sudo cp active.png active.png.bak
$ sudo convert inactive.png -resize 200% inactive.png
$ sudo convert active.png -resize 200% active.png

再起動後、反映されます。

日本語フォント

Google Noto Fontを使います。
$ sudo pacman -S noto-fonts-cjk
設定→ウィンドウマネージャからタイトルのフォントをNoto Sans CJK JP Mediumにします。
設定→Qt5 Settings→Fontsも変更します。

linux-surface4

Surface用のカーネルがあるので、インストールします。
pamacでsurfaceと検索するとAURに出てきます。

途中でunknown public keyとエラーが出たので、鍵を登録します。
$ gpg --recv-keys ABAF11C65A2970B130ABE3C479BE3E4300411886 647F28654894E3BD457199BE38DBBDC86092693E

再度試すと、止まることなく進んだので気長に待ちます。

無事完了して再起動すると、画面がタッチできるようになり、カーネルが有効になっていることがわかります。

スクリーンキーボード

画面がタッチできるようになったので、入れておきます。
$ sudo pacman -S onboard

タイプカバーを1回無効にすると再認識できない

issueがあったので対応します。

こちらのスクリプトを好きなところに置いておきます。
$ vim script/read-all-sensors.py

sytemdモジュールがないと怒られるので、インストールします。
$ sudo pip install systemd

実行権限をつけます。
$ chmod 777 script/read-all-sensors.py

udevルールを追加します。
$ sudo vim /etc/udev/rules.d/99-TypeCover.rule

99-TypeCover.rule
SUBSYSTEM=="usb", ACTION=="add", ATTRS{product}=="Surface Type Cover", RUN+="/home/underasail/scripts/read-all-sensors.py"

これで、タイプカバーを付け外ししても認識されるようになりました。

おわりに

  • ウィンドウサイズを記憶してくれないソフトは毎回広げないといけない
  • ソフトによってはUIが小さい

等、多少の問題はありますが、十分使えるのではないかと思います。

参考


  1. book,Pro4限定?