こんにちは。CTOの馬場です。
ArchLinuxクライアントPCことはじめと利用プロダクトまとめ - インフラエンジニアway - Powered by HEARTBEATS から1年半が経過し、そろそろArchLinuxのクライアントPCで仕事を始めて2年近くなります。
最近もまだ「Macやめてみて、その後どうですか?」とよく聞かれるので、現状を共有します。
結論としては特に問題なく普通に暮らしています。
macOSとLinuxを並行利用しているので、 だいぶツールが揃ってきました。
健康のためにお勧めのキーカスタマイズ
macではKarabiner-Elements、 ArchLinuxではxkeysnailを使ってキーをカスタマイズしています。
Ctrl + f / b / n / p / a
のようなemacs風カーソル操作を実現している他に、
スペースの左のキーを
「単体押し→英字入力モードに変更」
「他のキーと組み合わせ→コマンド(macOS) / Alt(ArchLinux)扱い」
としています。
Macbookの場合は英数キーを単体で押すと英数キーになり、
英数キーとwを同時に押すと コマンド+w
と同じになります。
Thinkpad X1 Carbon + ArchLinux の場合は無変換キーを単体で押すと無変換になり、
無変換キーとwを同時に押すと Alt+w
と同じになります。
こうすることで、左手親指の腹の負担がかなり減り快適になりました。 ArchLinuxではもともとxremapを利用していましたが、この設定がうまくできずxkeysnailに乗り換えました。 (ちなみにわたしはかな入力なのでJISキーボード派です)
このキー設定、もの凄くお勧めなので、 ぜひみなさん試してみてください。
Karabiner-Elementsの設定は、
.config/karabiner/assets/complex_modifications/command-eisu.json
に以下のファイルを配置します。
{
"title": "Custom Modification",
"rules": [
{
"description": "英数を単体で押したときに、英数キーを送信する。それ以外はコマンドを送信する",
"manipulators": [
{
"type": "basic",
"from": {
"key_code": "japanese_eisuu",
"modifiers": { "optional": [ "any" ] }
},
"parameters": {
"basic.to_if_held_down_threshold_milliseconds": 50
},
"to": [ { "key_code": "left_command", "lazy": true } ],
"to_if_held_down": [ { "key_code": "left_command" } ],
"to_if_alone": [ { "key_code": "japanese_eisuu" } ]
}
]
}
]
}
xkeysnailは以下のように設定します。
from xkeysnail.transform import define_multipurpose_modmap
define_multipurpose_modmap({
Key.MUHENKAN: [Key.MUHENKAN, Key.LEFT_ALT],
})
利用ツールたち
ArchLinuxではもともとLTS Kernelで使っていましたが、 そんなにトラブらないし新しいほうが安全で速いことが期待できるので Latest Kernelを使っています。
ウィルスチェックアプリケーションがうまく動かず、WaylandをやめてX.orgにしました。
ターミナルはgnome-terminalを使っていましたが、 tmux 利用時の ambiguous width character関連の処理がうまくいかず terminatorに変えました。
エディタはvimからneovimに移行しました。 特に理由はありません。
ドキュメントビューワは devdocs.io を使っています。 特別インストールなどせず、オフライン参照もできて便利です。
MarkdownからスライドPDF生成はMarpit + VS Codeを利用することが増えました。 VS Code拡張になっているのは便利でいいですね。
弊社はG Suite / Google Driveに全面移行したので、 どうしても手元に同期したいファイルはInsyncで同期しています。 macOSであればGoogle Drive File Streamが使えますが、 動作が微妙に不安定な気がして(要検証)、Insyncを利用することにしています。
ジャンル | Mac | Linux |
---|---|---|
Hardware | MacBook | Thinkpad X1 Carbon |
OS | macOS | ArchLinux (Latest kernel) [NEW!] |
Window Manager | - | GNOME + X.org [NEW!] |
IME | Google日本語入力 | Mozc + Fcitx |
ターミナル | iTerm2 | terminator [NEW!] |
ディスク暗号化 | FileVault | dm-crypt + LUKS |
ランチャ | Alfred | albert |
クリップボードマネージャ | Alfred | copyq |
ウィンドウをタイル配置 | Divvy | gTile (gnome extensions) |
タスクトレイにアイコンを表示する | - | TopIcons Plus (gnome extensions) |
VM | VirtualBox | VirtualBox |
Docker | Docker for Mac | Docker |
エディタ1 | neovim [NEW!] | neovim [NEW!] |
エディタ2 | VS Code | VS Code |
仕事用ブラウザ | Google Chrome | Google Chrome |
個人用ブラウザ | Google Chrome Canary | Chromium [NEW!] |
ドキュメントビューワ | [devdocs.io](https://devdocs.io/) [NEW!] | [devdocs.io](https://devdocs.io/) [NEW!] |
画像表示 | Preview.app | evince |
PDF表示 | Preview.app | evince |
PDF校正時のコメント書き込み | Adobe Reader [NEW!] | Windows on VirtualBox の Adobe Reader [NEW!] |
クリップボードの画像から画像ファイル作成 | Preview.app | GIMP |
Office | Office365 | Windows on VirtualBox の Office365 |
OpenVPN | Tunnelbrick | networkmanager-openvpn |
ターミナルからアプリで開く | open | xdg-open |
ターミナルからクリップボード | pbcopy / pbpaste | xsel |
MarkdownからスライドPDF生成 | Marpit + VS Code [NEW!] | Marpit + VS Code [NEW!] |
全体的なフォント | ヒラギノ | Noto |
ターミナルフォント/等幅フォント | Cica [NEW!] | Cica [NEW!] |
カレンダー | なし(ブラウザ) [NEW!] | なし(ブラウザ) [NEW!] |
キーボードモディファイヤ [NEW!] | Karabiner-Elements | xkeysnail |
Google Driveとの同期 [NEW!] | Insync | Insync |
まとめ
仕事道具を自由にいじれるのは素晴らしい