ディスプレイマネージャで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からロックが出来る.
hatena-bookmark