(そろそろ2年)仕事利用のArchLinuxのクライアントPCでの利用プロダクトまとめ | 株式会社ハートビーツ(HEARTBEATS Corporation)|AWS・クラウド・サーバーなどのインフラ運用を24時間365日サポート

インフラエンジニアway

(そろそろ2年)仕事利用のArchLinuxのクライアントPCでの利用プロダクトまとめ

技術

こんにちは。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を利用することにしています。

仕事道具を自由にいじれるのは素晴らしい

TOP