![cat_in_flower_garden.jpg](wp-content/uploads/cat_in_flower_garden.jpg)
タイル型ウィンドウマネージャ「Xmonad」のUbuntuへのインストールと基本的な使い方について紹介します。
インストールは通常のアプリケーションと同じくapt-get(もしくはSynaptic)で簡単に行えます。
なお、Xmonadをインストールしただけで勝手にウィンドウマネージャが置き換わったりはしません。ログイン時にGNOMEかXmonadを選択できます。
Xmonadのインストール
Ubuntuでは現在のところ標準でXmonad0.8.1のパッケージが利用できます。
$ sudo apt-get xmonad
ただしXmonadの最新版は0.9なので、0.9が使いたい場合は私家版パッケージやcabal-installを利用してインストールする方法もあります。(当方では動作未確認)
ここではパッケージからインストールした0.8.1を使用するものとして話を進めます。(0.9との違いは公式Wiki参照)
Xmonadの起動
Xmonadをインストールすると、GDMでのログイン時に画面下部の「セッション」メニューから「Xmonad」が選択できるようになっています。(デフォルトでは「GNOME」が選択されています)
このセッションの選択項目は、Xmonadをインストールした際に以下のファイルが作成されたことにより追加されたものです。
$ cat /usr/share/xsessions/xmonad.desktop
[Desktop Entry]
Encoding=UTF-8
Name=XMonad
Comment=Lightweight tiling window manager
Exec=xmonad
Icon=xmonad.png
Type=XSession
セッションで「Xmonad」を選択して起動すると、壁紙だけのシンプルな画面が表示されます。これでXmonadの起動は成功しています。
基本的な操作は公式サイトのguided tourで説明されているので、予め目を通しておいた方がよいでしょう。
なお、gnome-terminalはxtermと違いguided tourのようにmod-shift-returnを連打してもウィンドウが増えません。ターミナルから別のGUIアプリを起動してウィンドウを増やしてみてください。
Xmonadのキー操作
Xmonadのデフォルトのキー(およびマウス)操作は以下のとおりです。guided tourにも書かれていますが、modキーは標準で左altが割り当てられています。
mod-shift-return : ターミナルを起動
mod-p : dmenuを起動(キーワードランチャ)
mod-shift-p : gmrunを起動(キーワードランチャ)
mod-shift-c : フォーカスウィンドウを閉じる
mod-space : レイアウトアルゴリズムを変更する(縦分割→横分割→フル)
mod-shift-space : レイアウトアルゴリズムをデフォルトに戻す
mod-n : フォーカスウィンドウを正しいサイズに戻す
mod-tab/shift-tab : ウィンドウフォーカスを移動
mod-j/k : ウィンドウフォーカスを移動
mod-m : マスターウィンドウへフォーカスを移動
mod-return : フォーカスウィンドウをマスターパネルとスワップ
mod-shift-j/k : フォーカスウィンドウを隣りのウィンドウとスワップ
mod-h/l : マスターパネルのサイズ比率を狭める/広げる
mod-t : フローティングウィンドウをタイルに戻す
mod-,/. : マスターエリアのウィンドウ数を増やす/減らす
mod-b : ステータスバーのギャップをトグルする
mod-shift-q : Xmonadを終了
mod-q : Xmonadを再起動
mod-1~9 : ワークスペースを切り替え
mod-shift-1~9 : フォーカスウィンドウを指定ワークスペースへ移動
mod-w/e/r : スクリーンを切り替え(1, 2, 3)
mod-shift-w/e/r : フォーカスウィンドウを指定スクリーンへ移動(1, 2, 3)
mod-button1 : ウィンドウのフローティングと移動
mod-button2 : フローティングウィンドウを最前面に移動
mod-button3 : フローティングウィンドウのリサイズ
dmenuとgmrunは別途インストールが必要です。
xmobar
Xmonadは標準でステータスバーが存在しないため、このままでは現在のワークスペース番号すら分かりません。
ステータスバーとしてはxmobarかdzen2が利用できます。ここでは公式wikiのJohn_Goerzen’s Configurationに従い、xmobarの設定について紹介します。
まずxmobarをインストールします。
$ sudo apt-get install xmobar
xmobarの設定は~/.xmobarrcで行います。上記ページの解説とサンプルを元に若干修正しました。
$ cp /usr/share/doc/xmobar/examples/xmobarrc-example ~/.xmobarrc
$ vim ~/.xmobarrc
Config { font = "xft:Sans-9:bold"
, bgColor = "black"
, fgColor = "grey"
, position = TopW L 90
, lowerOnStart = False
, commands = [ Run Weather "EGPF" ["-t"," <tempF>F","-L","64","-H","77","--normal","green","--high","red","--low","lightblue"] 36000
, Run Network "eth0" ["-L","0","-H","32","--normal","green","--high","red"] 10
, Run Cpu ["-L","3","-H","50","--normal","green","--high","red"] 10
, Run Memory ["-t","Mem: <usedratio>%"] 10
, Run Swap [] 10
, Run Date "%a %b %_d %Y %H:%M:%S" "date" 10
, Run StdinReader
]
, sepChar = "%"
, alignSep = "}{"
, template = "%StdinReader% }{ %cpu% | %memory% * %swap% | %eth0% <fc=#ee9a00>%date%</fc> | %EGPF%"
}
Xmonad側で、xmobarに情報を送るよう設定します。
$ vim ~/.xmonad/xmonad.hs
import System.IO
import XMonad
import XMonad.Hooks.DynamicLog
import XMonad.Hooks.ManageDocks
import XMonad.Util.Run(spawnPipe)
main = do
xmproc <- spawnPipe "xmobar"
xmonad $ defaultConfig
{ manageHook = manageDocks <+> manageHook defaultConfig
, layoutHook = avoidStruts $ layoutHook defaultConfig
, logHook = dynamicLogWithPP $ xmobarPP
{ ppOutput = hPutStrLn xmproc
, ppTitle = xmobarColor "green" "" . shorten 50
}
, terminal = "gnome-terminal"
, borderWidth = 2
, normalBorderColor = "#333333"
, focusedBorderColor = "#cd8b00"
}
$ xmonad --recompile
mod-qでXmonadを再起動すれば反映されます。
これでワークスペース番号やフォーカスウィンドウのタイトルが表示されるようになりました。また、xmobar側の機能でCPU使用率等も表示されています。
おわりに
今回は、もっとも基本的なGDMからXmonadを直接起動するケースについて紹介しました。この場合、gnome-sessionは起動されていません。
GNOMEパネルが表示されていないほか、ウィンドウの外観がチープになっているのはこのためです。好みの問題もありますが、このままでは移行に抵抗を感じる方も多いでしょう。
次回移行、これらを解消するXmonadをGNOMEと共に使用する方法についても紹介します。
連載一覧
- タイル型ウィンドウマネージャ awesomeとXmonadの比較
- UbuntuにおけるXmonadのインストールと使い方
- Xmonadの設定 1/3 「基本」編
- Xmonadの設定 2/3 「with GNOME」編
- Xmonadの設定 3/3 「応用」編
Comments»
no comments yet