• 作成:

ディスプレイマネージャでxmonadを起動

デスクトップPCなどでは.zloginexec startxを書いて自動でXが起動するようにしても良いが, ラップトップPCでは流石にロック機能などが欲しいので, lightdmなどのディスプレイマネージャ(ログインマネージャ) を使いたい.

セットアップに少し詰まったのでメモ.

新しいセッション設定を書く必要はない

/usr/share/xsessions/に新しいセッションを追加するのは, 私の環境では必要なかった.

何故ならば, 私のxinitには/usr/share/xsessions/Xsession.desktopというセッションが定義されており, それが/etc/X11/Sessions/Xsessionというシェルスクリプトを呼び出すからである. シェルスクリプトは最終的にexec $HOME/.xsessionを実行する.

$HOME/.xsessionを記述

そうなれば後は$HOME/.xsessionにシェルスクリプトを記述すれば良いことがわかる.

なので私の環境では, 以下のように記述した.

#!/usr/bin/env bash
export GTK_IM_MODULE="ibus"
export QT_IM_MODULE="ibus"
export XMODIFIERS="@im=ibus"
exec stack exec -- xmonad

これでlightdmでXSessionを選択して起動すれば, めでたくxmonadが起動する.

xmonadの設定

lightdmにはdm-toolというコマンドラインインターフェイスが備わっているので,

((modMask, xK_l), spawn "dm-tool lock")

のようにキー設定をすればxmonadからロックが出来る.