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

このエントリーをはてなブックマークに追加 fb-like g-plusone