Fluxbox

提供: ArchWiki
2017年1月29日 (日) 01:01時点におけるKusakata.bot (トーク | 投稿記録)による版 (文字列「[[zh-TW:」を「[[zh-hant:」に置換)
ナビゲーションに移動 検索に移動

Fluxbox は X11 用のウィンドウマネージャです。(現在は開発停止している) Blackbox 0.61.1 のコードをベースにしていて、様々な改善が加えられており継続して開発されています。Fluxbox はリソースの消費量がとても少なく、軽快でありながら、タブとグループなどの面白いウィンドウ管理ツールを提供します。設定ファイルはわかりやすく簡単に編集することができ、デスクトップの見栄えを良くするための数千もの Fluxbox "スタイル" が存在します。Fluxbox が載った Arch Linux は RAM が 256MB しかない古い Pentium 800 の PC でも十分に使用に耐えるコンピュータにすることが可能です。

インストール

公式リポジトリから fluxboxインストールしてください。

Fluxbox を起動する

グラフィカルログイン

お好きなディスプレイマネージャのセッションメニューから fluxbox オプションを選ぶだけです。

手動

~/.xinitrc を編集して次の行を追加してください:

exec startfluxbox

logind セッションの維持など、詳しくは xinitrc を見て下さい。

設定

システム共通の Fluxbox の設定ファイルは /usr/share/fluxbox にあり、ユーザー別の設定ファイルは ~/.fluxbox にあります。ユーザーの設定ファイルは:

  • init - メインの Fluxbox リソース設定ファイル。Editing the init file を見て下さい
  • menu - Fluxbox メニューの設定。下や Editing the menu file を見て下さい
  • keys - Fluxbox のキーボードショートカット (ホットキー) ファイル。下や こちら を見て下さい
  • startup - スタートアップアプリを起動する場所。下や こちら を見て下さい
  • overlay - スタイルの要素を上書きする設定ファイル。こちら を見て下さい
  • apps - 特定のアプリのウィンドウ設定を保存するための設定ファイル。こちら を見て下さい
  • windowmenu - ウィンドウメニューを変更するための設定ファイル: こちら を読んで下さい

ディレクトリには他にもあまり重要でない設定ファイルもいくつか存在します。メインの設定ファイルとされるのは init, menu, keys そして startup です。

メニュー管理

Fluxbox を最初にインストールしたときに基本のアプリケーションメニューが ~/.fluxbox/menu に作成されます。デスクトップを右クリックしてメニューにアクセスすることができます。他の軽量ウィンドウマネージャと同じように新しいアプリケーションをインストールしても Fluxbox はメニューを自動では更新しません。そのためシステムにアプリをインストールしたときはメニューを再生成・編集することが推奨されます。メニューを改良したりアイテムを追加・編集する方法は基本的に4つ存在します:

fluxbox-generate_menu

Fluxbox に初めから付いているコマンドです:

$ fluxbox-generate_menu

このコマンドはインストールされているプログラムに基づいて ~/.fluxbox/menu ファイルを自動生成します。ただし、生成されるメニューは MenuMaker によって生成されるメニューと比べると範囲が狭いものになります。

MenuMaker

MenuMaker は様々なウィンドウマネージャのための XML ベースのメニューを作成するパワフルなツールです、Fluxbox も対応しています。MenuMaker はコンピュータを検索して実行可能ファイルを見つけて、その結果に基づきメニューを生成します。必要に応じて Legacy X, GNOME, KDE, Xfce アプリケーションを外すように設定できます。

menumaker をインストールして、次のコマンドを実行することで完全なメニューを生成しデフォルトのメニューを上書きすることができます:

$ mmaker -f FluxBox

alsamixer などターミナルベースのアプリケーションがメニューに加えられないようにするには mmaker コマンドに次のスイッチを付けて実行します: --no-legacy--no-debian。例:

$ mmaker -f --no-legacy --no-debian FluxBox

MenuMaker の他のオプションを見るには:

$ mmaker --help

Xdg-menu

Xdg-menu を使ってメニューを生成することも可能です。Xdg-menu#FluxBox セクションを見て下さい。

メニューを手動で作成・編集

好きなテキストエディタを使って次のファイルを編集してください: ~/.fluxbox/menu。 表示するメニューアイテムの基本的な構文は次の通りです:

[exec] (name) {command} <path to icon>

..."name" はメニューアイテムに表示する文章に、"command" はバイナリの場所に置き換えて下さい、例:

[exec] (Firefox Browser) {/usr/bin/firefox} <path to firefox icon>

"<path to icon>" は任意です。サブメニューを作成したい場合、構文は:

[submenu] (Name)
...
...
[end]

編集が完了したら、ファイルを保存して終了してください。Fluxbox を再起動する必要はありません。詳しくは editing the Fluxbox menu を読んで下さい。

Init

~/.fluxbox/init ファイルが Fluxbox の主な設定リソースファイルです。Fluxbox の基本的な機能を変更することができます。ウィンドウ、ツールボックス、フォーカスなど。これらオプションの中には Fluxbox の設定メニューから変更するができるものもあります。詳しくは Editing the init file を読んで下さい。

ホットキー

Fluxbox には基本的なホットキー機能が備わっています。Fluxbox のホットキーファイルは ~/.fluxbox/keys にあります。Ctrl キーは "Control" と表されます。Mod1 は Alt キーに、Mod4 は Super キー (標準キーではありませんがほとんどのユーザーは Super を "Win" キーにマップしています) に相当します。~/.fluxbox/keys ファイルをよく読んで Fluxbox を使いやすいようにしましょう。

例: 以下は Master ボリュームを操作する手っ取り早い方法です (Advanced Linux Sound Architecture#キーボードのボリュームコントロールPulseAudio#キーボードのボリュームコントロールも参照):

Control Mod1 Up :Exec amixer set Master,0 5%+
Control Mod1 Down :Exec amixer set Master,0 5%-

ワークスペース

Fluxbox にはデフォルトで4つのワークスペースが出来ます。これらのワークスペースには Ctrl+F1-F4 ショートカットを使ったり、ツールバーの矢印を左マウスボタンでクリックすることでアクセス可能です。また、デスクトップで中マウスボタンをクリックすることでワークスペースメニューがポップアップしてワークスペースにアクセスできます。

タブとグループ

少なくともデスクトップ上に2つのウィンドウが出ているとき、あるウィンドウの上のウィンドウタブで ctrl + 左クリックをして他のウィンドウにドラッグしてみてください。2つのウィンドウはグループ化され上のウィンドウタブバーにウィンドウタブが表示されます。これで一つのウィンドウ操作によってウィンドウ"グループ"全体に影響を与えることができます。タブを戻すにはタブ上で Ctrl+左クリック をしてデスクトップの空きスペースにドラッグしてください。

壁紙

歴史的に Fluxbox での背景の設定は入り組んでおり、特に透過が必要なときは複雑です。Fluxbox wiki に 壁紙の設定 に関するエントリがあるので、そちらを参照してください。

ArchLinux で壁紙を設定する一番簡単な方法はまず最初に壁紙設定アプリケーションが使えるか確認することです:

$ fbsetbg -i

使えない場合は、pacman で feh や esetroot または wmsetbg をインストールしてください。そして ~/.xinitrc ファイルに次のような "fbsetbg" 行を追加してください:

fbsetbg /path/to/my/image.image

上記のコマンドで以下のように返ってくる場合:

$ /usr/bin/fbsetbg: line 153: xmessage: command not found

xorg-xmessage パッケージをインストールしてください。

複数の壁紙を簡単に取り替える

Fluxbox メニューに以下のサブメニューを配置してください:

[submenu] (Backgrounds)
[wallpapers] (~/.fluxbox/backgrounds) {feh --bg-scale}
[wallpapers] (/usr/share/fluxbox/backgrounds) {feh --bg-scale}
[end]

そして壁紙画像を ~/.fluxbox/backgrounds に置くか、または他のフォルダを指定してください。スタイルと同じように表示されます。

'xinerama' を使わないシステムでデュアルスクリーンの壁紙にも同じことが適用されます (例えば NVidia TwinView):

[submenu] (Backgrounds)
[wallpapers] (/path/to/your/backgrounds) {feh --bg-scale --no-xinerama }
[end]

Fluxbox で feh を使う

feh をインストールしてください。

次に起動した時に Fluxbox が feh で壁紙をロードするようにさせるには:

1. .fehbg を実行可能にしてください:

$ chmod 770 ~/.fehbg

2. そして次の行を ~/.fluxbox/init ファイルに追加 (または修正) してください:

session.screen0.rootCommand:	~/.fehbg

3. または次の行を ~/.fluxbox/startup ファイルに追加 (または修正) してください:

~/.fehbg

Nitrogen

Fluxbox で Nitrogen を使って壁紙を設定することもできます。グラフィカルな壁紙セレクタを表示するにはターミナルで次のコマンドを実行してください:

$ nitrogen

使いたい画像ファイルを含むディレクトリを追加して、画像を選択して適用してください。壁紙を中心に置いたり拡大するオプションなどを変更することもできます。

ログイン時に壁紙が設定されるようにするには、次の行を ~/.fluxbox/startup ファイルに追加してください: nitrogen --restore &

Fluxbox を再起動すると、選択したテーマによって設定された壁紙が Nitrogen によって設定した壁紙を上書きしてしまうことがあります。これを修正するには、使っているテーマの theme.cfg ファイルを編集して以下のオプションをコメントアウトするか削除してください:

background:
background.color:
background.colorTo:

テーマ

Fluxbox テーマをインストールするには、テーマの圧縮ファイルを styles ディレクトリに展開してください。デフォルトのディレクトリは:

  • 全ユーザー共通 - /usr/share/fluxbox/styles
  • 各ユーザー個別 - ~/.fluxbox/styles

ArchLinux の AUR には見た目が良い Fluxbox テーマの寄せ集めが "fluxmod-styles" という名前で含まれています。ここ から入手して多数のテーマが入ったパッケージをインストールできます。適切にインストールすると Fluxbox メニューの Styles セクションにテーマが表示されます。

Fluxbox スタイルを自分で作成するには fluxbox-style(5)Fluxbox Style Guide やこちらの style guide を読んで下さい。

mmaker -f FluxBox を使ってメニューを作成すると、スタイルをインストールした後にスタイルのメニュー選択が表示されなくなります。これを修正するには ~/.fluxbox/menu の restart メニューアイテムの後に以下を追加してください:

               [submenu] (System Styles) {Choose a style...}
                     [stylesdir] (/usr/share/fluxbox/styles)
                       [end]
               [submenu] (User Styles) {Choose a style...}
                     [stylesdir] (~/.fluxbox/styles)
                       [end]

Slit

Fluxbox や WindowMaker など複数の軽量ウィンドウマネージャには "Slit" があります。これは'ドックに収容できる'全てのアプリケーションのためのドックです。ドックに入れられたアプリケーションは固定されて全てのワークスペースで表示されます。自由に移動することはできず、ウィンドウ操作を受け付けません。基本的には小さなウィジェットです。ドックアプリは時計・システムモニター・天気などが想定されています。dockapps.net を見て下さい。

プログラムの自動起動

Fluxbox は自らアプリケーションを自動起動する機能を提供しています。~/.fluxbox/startup ファイルは Fluxbox を起動するだけではなくアプリケーションを自動起動するためのスクリプトでもあります。# シンボルはコメントを意味しています。

サンプルファイル:

fbsetbg -l # sets the last background set, very useful and recommended.
# In the below commands the ampersand symbol (&) is required on all applications that do not terminate immediately.
# Failure to provide them will cause Fluxbox not to start.
idesk &
xterm &
# exec is for starting Fluxbox itself, do not put an ampersand (&) after this or Fluxbox will exit immediately.
exec /usr/bin/fluxbox
# or if you want to keep a log, uncomment the below command and comment out the above command:
# exec /usr/bin/fluxbox -log ~/.fluxbox/log

他のメニュー

(上の) "メニュー管理"セクションではメインの "Applications" メニューについて記述しました (Fluxbox では "Root" メニューと呼ばれます)。Fluxbox には他にもユーザーが利用できるメニューが存在します:

  • Workspaces Menu: デスクトップを中クリック。
  • Configuration Menu: "Root" メニューの "Fluxbox" セクション内に存在。
  • Window menu: ウィンドウのタイトルバーを右クリック、または最小化されているときにバーを右クリック。編集可能。fluxbox-menu の man ページを参照。
  • Toolbar menu: ツールバーの空き部分を右クリック。Configuration Menu にもサブメニューとして存在。
  • Slit Menu: Configuration Menu にサブメニューとして存在。

デスクトップ効果

完全透過やシャドウなどのデスクトップ効果を Fluxbox で有効にするには XcompmgrCompton などの X コンポジタが必要です。

通知

Fluxbox の画面上に通知を出せるようにするには、通知サーバーをインストールしておく必要があります。デスクトップ通知の記事を見て下さい。

xorg.conf の代わり

Xorg はもはや xorg.conf ファイルを必要としません。伝統的には、このファイルでキーボード設定や省電力設定を変更していました。幸運なことに xorg.conf を使わないエレガントな方法が存在します。

キーボードを適切に設定する

次の行を ~/.fluxbox/startup に追加するだけです:

setxkbmap us -variant intl & # to have a us keyboard with special characters enabled (like éóíáú)

'us' の代わりにあなたの使っている言語コードを指定したり variant オプションを削除したりできます (例: 'us_intl'、セットアップによっては上のコマンドと同じように動作します)。詳しくは setxkbmap のマニュアルページを見て下さい。

メニューで機能させるには、~/.fluxbox/menu に以下のように追加してください:

[submenu] (Keyboard)
      [exec] (normal) {setxkbmap us}
      [exec] (international) {setxkbmap us -variant intl}
[end]

参照