2023/09/07

Manjaro i3に変更してみた

目次

Manjaro i3

先に使用感を言ってしまうと、”高速・快適”であります。

i3ウィンドウマネージャは基本的にキーボード操作によるショートカットで様々なアプリケーションを起動します。

起動したものは、タイル状に重ならず配置されます。たとえば、ターミナルでゴニョゴニョ操作していて、調べものをしようと思った時、 [super]+F2と押すだけで、ブラウザが起動し、ちょうど画面の左がターミナル、右がブラウザという状態になります。

VimやEmacsなどを使ったことがある方は、画面分割した状態をイメージしていただけると分かりやすいかと思います。

とにかく動きが速いです。

Manjaro i3で初めてでびっくりすることが一つありました。それは、しばらくPCを放置したら画面がモヤモヤっとした状態になることです。でもこれは決して壊れたとかではないので安心してください。そのままの状態でログインパスワードを打ち込めば戻ります。

インストール

インストールは基本的に他のLinuxディストリビューションをインストールする方法と同じなので割愛しますが、インストーラについて一つ問題があります。と言っても大した問題ではありませんが、日本語でやろうとすると文字化けします。ですので、英語で進めていきます。タイムゾーンとキーボードは日本語にして進めていきます。

インストール完了後、再起動して諸々設定していきます。

まずは$ sudo pacman-mirrors --geoipにて、最寄りのミラーを設定しておきます。そして、$ sudo pacman -Syyuもしくは右下にあるパッケージマネージャで諸々アップデートしておきます。

再起動後、とりあえずファイアウォールを有効にしておきましょう。Manjaro i3にはgufwが入っていますので、それを使って有効にしておきます。

次は日本語環境を設定していきます。

日本語環境設定

まずは日本語フォントをインストールします。私はNoto Sans CJK JP、Source Han Code JP、IPAフォントなどを入れておきました。

次に/etc/locale.genをroot権限で編集していきます。と言っても、en_US.UTF-8ja_JP.UTF-8のコメントを外すだけです。そして$ sudo locale-genを実行します。さらに$ sudo localectl set-locale LANG=ja_JP.UTF-8を実行し、ロケールを設定します。

お次は日本語入力できるようにしていきます。私はfcitx5-imとfcitx5-mozcを導入しました。これらをインストール後、/etc/environmentをroot権限で編集します。以下のコードを追記します。


export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS="@im=fcitx"
export DefaultIMModule=fcitx

そしてroot権限なしで~/.i3/configexec --no-startup-id fcitx5を追記します。

これで再起動すると、日本語入力ができるようになっているはずです。

再起動ついでに、もう一つビープ音の設定もしておきましょう。

まず、/etc/modprobe.d/にて$sudo touch nobeep.confし、ファイルを作成。そしてroot権限でblacklist pcspkrと書いておきます。次に/etc/inputrcをroot権限で編集します。確かset bell-style noneというコードがコメントアウトされていたはずなので、コメントを外します。

これで再起動すれば、日本語入力できるようになり、かつビープ音もなくなります。

次にフォントの設定をしておきましょう。

フォントの設定は、fontconfigを使って行います。設定ファイルは~/.config/fontconfig/fonts.confにXML形式で記述します。私の場合は以下のように設定しました。


<?xml version='1.0'?>
<!DOCTYPE fontconfig SYSTEM 'fonts.dtd'>
<fontconfig>
    <match>
        <edit name="family" mode="prepend">
            <string>Noto Serif</string>
        </edit>
    </match>
    <match>
        <test name="lang" compare="contains">
            <string>ja</string>
        </test>
        <edit name="family" mode="prepend">
            <string>Noto Sans CJK JP</string>
        </edit>
    </match>
    <match target="pattern">
        <test qual="any" name="falimy">
            <string>sans-serif</string>
            </test>
        <edit name="family" mode="prepend" binding="same">
            <string>Noto Sans</string>
        </edit>
    </match>
    <match target="pattern">
        <test qual="any" name="falimy">
            <string>serif</string>
            </test>
        <edit name="family" mode="prepend" binding="same">
            <string>Noto Serif</string>
            </edit>
        <edit name="family" mode="prepend" binding="same">
            <string>IPAPMincho</string>
            </edit>
    </match>
    <match target="pattern">
        <test qual="any" name="falimy">
            <string>monospace</string>
        </test>
        <edit name="family" mode="prepend" binding="same">
            <string>IPAGothic</string>
        </edit>
        </match>
    <alias>
        <family>sans-serif</family>
        <prefer>
            <family>Noto Sans</family>
            <family>Noto Sans CJK JP</family>
            <family>Source Han Code JP</family>
            <family>IPAPGothic</family>
            </prefer>
        </alias>
    <alias>
        <family>monospace</family>
        <prefer>
            <family>IPAGothic</family>
            </prefer>
        </alias>
</fontconfig>

この流れで、今度は画面の右上で文字化けしているConkyをなんとかしていきます。

Conkyの設定

Conkyの設定ファイルは、$ conky -vを実行するとDefualt valuesというところに「Local configfileは$HOME/.conkyrcでっせ」と記述がありますので、$ conky -C > .conkyrcで作成します。このファイルのフォントを変更すれば、文字化けは解消されます…と言いたいところですが、そううまくは行きませんでした。

~/.i3/configを見てみましょう。284行目あたりにexec --no-startup-id start_conky_maiaとあります。このstart_conky_maiaというものはどこにあるかというと、/usr/binにあります。そこには以下のような記述があります。


#!/bin/bash

conky -c /usr/share/conky/conky1.10_shortcuts_maia &&
conky -c /usr/share/conky/conky_maia &&

exit 0

ということで、それらのファイルの中身がどうなっているか、それぞれ見てみると、フォントがBitstream Vera Sansなるものになっています。これをすべてNoto Sans CJK JPにroot権限で変更します。Vimを使用している方は、:%s/Bitstream Vare Sans/Noto Sans CJK JP/gとすればまるっと変更できます。

これで再起動したら、文字化けも解消されているはずです。

ブラウザの設定

Manjaro i3のデフォルトのブラウザはPale MoonというFireFoxの派生ブラウザです。このままで良いという方は問題ないですが、私はGoogle Chromeを使いたかったので、AURの方からgoogle-chrome-stableを入手しました。

インストールできたら設定を行います。

~/.config/mimeapps.listにuserapp-Pale Moon.desktopという記述がズラっとあると思いますが、これをすべてgoogle-chrome-stable.desktopに書き換えます。

次に~/.i3/configの58行目あたりにあるbindsym $mod+F2 exec palemoonbindsym $mod+F2 exec google-chrome-stableに書き換えます。こうすることによって、[super]+F2で開くブラウザがGoogle Chromeになります。そして一応~/.profileexport BROWSER=/usr/bin/google-chrome-stableと記述しておきます。

これで再起動すれば、デフォルトブラウザとしてGoogle Chromeが使えるようになります。

ただし、Tverを観たい方はGoogle Chromeだと、「アプリで観る」みたいなのが出て観れないので、Pale Moonを使うといいと思います。

まとめ

今回、Manjaro i3の初期設定について書きました。私はこの後、NeoVimの設定(なんとなくi3にぴったりな感じがあるので今のところメインエディタはNeoVim にしています)、RustやOCamlなどのプログラミング言語の開発環境構築を順番に行っています。NeoVimは今回初めてLuaで本格的に設定することにチャレンジしました。このあたりも今後記事にできればと思います。現在迷っているのは、Lispの開発環境としてEmacsにするかlemにするかというところです。悩ましい…