ディスプレイマネージャでxmonadを起動
デスクトップPCなどでは.zlogin
にexec 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からロックが出来る.