jump to navigation

UbuntuにおけるXmonadのインストールと使い方

2010-02-08 02:11 Posted by
nase
in : ソフトウェア
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の起動は成功しています。

xmonad_default_ss_s.png
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を再起動すれば反映されます。

xmonad_xmobar_ss_s.png
xmobarステータスバー(左上)

これでワークスペース番号やフォーカスウィンドウのタイトルが表示されるようになりました。また、xmobar側の機能でCPU使用率等も表示されています。

おわりに

今回は、もっとも基本的なGDMからXmonadを直接起動するケースについて紹介しました。この場合、gnome-sessionは起動されていません

GNOMEパネルが表示されていないほか、ウィンドウの外観がチープになっているのはこのためです。好みの問題もありますが、このままでは移行に抵抗を感じる方も多いでしょう。

次回移行、これらを解消するXmonadをGNOMEと共に使用する方法についても紹介します。

連載一覧

Comments»

no comments yet


*Comments and trackbacks will appear after it is approved by the administrator.