恥は/dev/nullへ by 初心者

プログラミング素人がのろのろと学んだことをつづっています♪

Slackware15で日本語入力

Slackware15をインストールしてみました。とりあえずデフォルトのままでもstartxすればxfceが起動して最低限のことはできそうです。しかし、日本語入力ができなかったので、まずは日本語入力の設定をすることにしました。

デスクトップを起動している設定ファイルはどこ?

ここ数年Debian系しか使ったことがないので、Slackwareについてはチンプンカンプンです。そこで、 Debianと同じように.xinitrcをホームディレクトリに用意して、その中にfcitxに関する記述をしました。

export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS=@im=fcitx
fictx &

これでstartxを実行したら、デスクトップ(xfce)が起動しませんでした。当然ですよね。xfceを起動するための記述がありませんから(汗)。

そこで、xfceの起動はどの設定ファイルにもとづいて行われているのか知るべくstartxについて調べることにしました。

which startx

を実行したら

/usr/bin/startx

と表示されたので、このファイルの中身を見ると

userclientrc=$HOME/.xinitrc
sysclientrc=/etc/X11/xinit/xinitrc

(中略)

# process client arguments
if [ x"$client" = x ]; then
    client=$defaultclient

    # For compatibility reasons, only use startxrc if there were no client command line arguments
    if [ x"$clientargs" = x ]; then
        if [ -f "$userclientrc" ]; then
            client=$userclientrc
        elif [ -f "$sysclientrc" ]; then
            client=$sysclientrc
        fi
    fi
fi

という部分が目に留まりました。

どうやらユーザーのホームディレクトリに.xinitrcファイルがある場合はその内容が読み込まれ、無い場合は/etc/X11/xinit/にあるxinitrcファイルが読み込まれるようです。

/etc/X11/xinitにあるxinitrcを開くと、最後の方に

exec /usr/bin/startxfce4

という記述があったので、ここでxfceを起動していたことが分かりました。

そこで、ホームディレクトリの.xinitrcに

startxfce4

を追記してstartxを実行したら、xfceが起動しました。

.xinitrcの設定

Slackwareに関してもLinuxに関しても素人なので、/etc/X11/xinitにあったxinitrcの内容を一通り踏襲することにしました。

そんなわけで、/etc/X11/xinitにあったxinitrcをホームディレクトリにコピーして、fcitxに関する記述を追記しました。

#!/bin/sh

########################################################################
##  Merge in defaults and keymaps                                     ##
########################################################################

userresources=$HOME/.Xresources
usermodmap=$HOME/.Xmodmap
sysresources=/etc/X11/xinit/.Xresources
sysmodmap=/etc/X11/xinit/.Xmodmap

if [ -f $sysresources ]; then
    /usr/bin/xrdb -merge $sysresources
fi

if [ -f $sysmodmap ]; then
    /usr/bin/xmodmap $sysmodmap
fi

if [ -f $userresources ]; then
    /usr/bin/xrdb -merge $userresources
fi

if [ -f $usermodmap ]; then
    /usr/bin/xmodmap $usermodmap
fi

########################################################################
## fcitx
########################################################################
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS=@im=fcitx
fcitx &

########################################################################
##  Start xfce Desktop Environment                                    ##
########################################################################

exec /usr/bin/startxfce4


fcitxの設定

.xinitrcが上述のようになっていれば X Windowを起動した時点でfcitxは動いているので、あとは日本語入力のON/OFFについて設定するだけです。

ターミナルで

fcitx-configtool

と入力してEnterを押すと設定ツールが起動します。

その後の作業は以下のページの「fcitx-mozcの設定」に書いたのとほぼ同じでした。 https://uhoho.hatenablog.jp/entry/2021/08/29/040523


唯一の違いは、mozcが見当たらなかったので代わりにAnthyを選択したことくらいです。