試験運用中なLinux備忘録・旧記事

はてなダイアリーで公開していた2007年5月-2015年3月の記事を保存しています。

xeffectsのOverlayでCompiz Fusionをインストール(2007/7/4現在)

(2014/9/21)xeffectsはその後利用できなくなっているが、「x11-wm/compiz-fusion」のメタパッケージを入れることでCompizは導入できる。
以下、以前の内容となる。

3Dデスクトップ環境を提供するウィンドウマネージャCompizBerylが統合されたプロジェクト「Compiz Fusion」。7月に入った時点ではまだリリースはなく、git*1による取得のみだが、xeffectsのOverlayを利用してインストールしてみた。
注意: ここで扱う内容は、非常に変化の激しいものであるため、すぐに情報が古くなり、作業方法が変わってしまったりする可能性が高い。

準備

GentooによるOverlayを管理するツールのlaymanを使用するため、無ければインストールしておく。後でSubversiongitも必要になるので、これらも無ければ入れておく。

$ sudo emerge -av layman (必要に応じて、subversionとdev-util/gitも)

laymanの設定ファイルを開き、Overlayツリー*2の保存先を必要に応じて書き換えておく。下の例では/usr/local/overlays/layman/以下を使用。
ファイル名: /etc/layman/layman.cfg

storage   : /usr/local/overlays/layman

3Dデスクトップ関係は、xeffectsというOverlayを使用する。

$ sudo layman -a xeffects

なお、一度登録したOverlayは、

$ sudo layman -S

で最新の状態に更新される。

以下はOverlayを使用する設定。例の上では/usr/local/overlays/local/以下に作成したローカルOverlayと一緒に有効にしている。
ファイル名: /etc/make.conf

PORTDIR_OVERLAY="/usr/local/overlays/layman/xeffects /usr/local/overlays/local"
(他にOverlayを使用しない場合)
PORTDIR_OVERLAY="/usr/local/overlays/layman/xeffects"

Wikiより引用したpackage.keywordsの設定。「**」というのは、ebuildファイル中で

KEYWORDS=""

となっているものをインストールするための記述。
[引用]ファイル名: /etc/portage/package.keywords

dev-python/compizconfig-python **
x11-wm/compiz **
x11-wm/compiz-fusion **
x11-plugins/compiz-fusion-plugins-main **
x11-plugins/compiz-fusion-plugins-extra **
x11-plugins/compiz-fusion-plugins-unsupported **
x11-wm/emerald **
x11-themes/emerald-themes **
x11-apps/ccsm **
x11-libs/libcompizconfig **
x11-libs/compizconfig-backend-gconf **
x11-libs/compizconfig-backend-kconfig **
x11-libs/compiz-bcop **

(2007/7/5追加)
x11-apps/fusion-icon **

インストール

$ sudo emerge -av compiz-fusion
(中略)
[ebuild     U ] x11-wm/compiz-9999 [0.5.0] USE="dbus gnome gtk%* svg -fuse% -kde" 0 kB [1]
[ebuild  N    ] x11-libs/compiz-bcop-9999  0 kB [1]
[ebuild     U ] x11-wm/emerald-9999 [0.2.1] USE="(-debug%)" 0 kB [1]
[ebuild  N    ] x11-libs/libcompizconfig-9999  0 kB [1]
[ebuild  N    ] x11-plugins/compiz-fusion-plugins-extra-9999  0 kB [1]
[ebuild  N    ] x11-plugins/compiz-fusion-plugins-main-9999  0 kB [1]
[ebuild  N    ] dev-python/compizconfig-python-9999  0 kB [1]
[ebuild  N    ] x11-libs/compizconfig-backend-gconf-9999  0 kB [1]
[ebuild     U ] x11-themes/emerald-themes-9999 [0.2.1] 0 kB [1]
[ebuild  N    ] x11-apps/ccsm-9999  0 kB [1]
[ebuild  N    ] x11-wm/compiz-fusion-9999  USE="gnome -kde" 0 kB [1]

Total: 11 packages (3 upgrades, 8 new), Size of downloads: 0 kB
Portage overlays:
 [1] /usr/local/overlays/layman/xeffects
 [2] /usr/local/overlays/local

後述のCCSMが依存する「>=dev-python/pygtk-2.10」など、まだインストールされていないものがあれば、これに加えてインストールされる。
問題がなければ、インストールを続行する。なお、Gentoo Linux公式の他のパッケージと同様、9999というバージョンの場合、emergeを繰り返す度に、バージョン管理システムによって、ローカルに保存されたソースツリーを更新して、最新の状態でビルドをしてくれる。

Berylの削除をする場合

$ sudo emerge -aC beryl-manager beryl-settings beryl-settings-bindings beryl-plugins beryl beryl-core

ウィンドウマネージャの切り替え

http://gitweb.opencompositing.org/?p=users/kristian/compiz-scripts;a=blob_plain;f=manager/compiz-manager;hb=HEAD
を、${PATH}に含まれるディレクトリにcompiz-managerというファイル名で保存し、

$ compiz-manager &

Compizを起動。動作中のウィンドウマネージャから切り替わる。現在のところ、ウィンドウマネージャ選択ツール(Berylマネージャのようなもの)はなく、手動で切り替え。
(2007/7/5)fusion-iconという、berylマネージャのような、システムトレイ常駐アプリケーションがOverlayに追加され、使用できるようになった。

設定

CompizConfig Settings Manager(CCSM)というGUI設定ツールを使用すると、分野ごとに色々な設定ができる。これは、デスクトップ環境のメニューの設定メニューの中から選択するか、ccsmコマンドで起動する。
項目数が多いため、「フィルタ」のテキスト編集ボックスにキーワードを入れると、右側の表示が絞り込まれていくのが嬉しい。例えば、「zo」まで入れると、ズームの設定だけが残る。
プラグイン項目の横にはチェックボックスがあり、これで有効/無効を切り替える。右に表示される項目名はボタンになっていて、クリックするとそのプラグインの設定に入る。プラグインごとの設定は、Berylの設定ツールに似ている。各項目をデフォルト値に戻すボタンもある。左下の「戻る」ボタンでメインメニューに戻る。
初めに設定しておきたいのは、リフレッシュレート関係。「General Options」の「Display Settings」タブで

  • 「更新レートの検出」を切る
  • 「垂直ブランクに同期化」を切る
  • 「更新レート」に60以上の値を入れる

とする。
次に、ウィンドウのリサイズの設定。リサイズプラグインの設定の一番上にある「Default Resize Mode」を「Rectangle」にするのが個人的に好み。デフォルトは重たい。
それ以外は、視覚効果重視か軽さ重視かなどにより、好みに応じて設定。

感想

開発版のため不安定で、結構落ちることもあるが、全仮想画面をフルスクリーン表示して、その中でウィンドウを移動したり、画面の切り替えをしたりするExpoプラグインや、ウィンドウをグループ化したりタブ化したりするプラグインなど、見た目だけでなく、実用的な機能が使えるようになっているのが嬉しい。設定ツールの使い勝手も、Berylのものよりも多少良くなっていると感じた。

不要なebuildの削除

$ sudo emerge -avuD world
!!! All ebuilds that could satisfy ">=x11-wm/metacity-2.15.5" have been masked.
!!! One of the following masked packages is required to complete your request:
- x11-wm/metacity-2.16.8 (masked by: ~amd64 keyword)
- x11-wm/metacity-2.16.3 (masked by: ~amd64 keyword)
- x11-wm/metacity-2.18.5 (masked by: ~amd64 keyword)
- x11-wm/metacity-2.18.2 (masked by: ~amd64 keyword)

For more information, see MASKED PACKAGES section in the emerge man page or
refer to the Gentoo Handbook.
(dependency required by "dev-python/gnome-python-desktop-2.16.0" [installed])

と、おかしな状況になってしまった。

$ eix wm/meta
[I] x11-wm/metacity
     Available versions:  2.14.5 2.16.3 ~2.16.3[1] ~2.16.8 ~2.18.2 ~2.18.5
     Installed versions:  2.16.3(20時45分44秒 2006年12月14日)(-debug -xinerama)
     Homepage:            http://www.gnome.org/
     Description:         Gnome default windowmanager

[1] /usr/local/overlays/layman/xeffects

「~2.16.3[1]」となっているほうがOverlayによって提供されていて、画面効果の拡張が有効になっているという違いがあるのだが、いずれにせよ、3Dデスクトップでmetacityウィンドウマネージャを選ぶ理由はあまりないと思うので、このebuildファイルは消すことにする。
また、

[ebuild     UD] x11-libs/gtk+-2.10.9 [2.10.11] USE="X jpeg tiff -debug -doc -macmenu% -xinerama" 14,584 kB [1]

GTK+が、Mac Menubarパッチの使える独自のもの(参考ページ)に置き換えられたりするのも面倒なので、USEフラグを設定しなければ無効ではあるのだが、削除することにする。

$ sudo rm /usr/local/overlays/layman/xeffects/x11-wm/metacity /usr/local/overlays/layman/xeffects/x11-libs/gtk+ -fr

参考URL:

*1:Linuxカーネル開発でBitKeeperに代わって使われているバージョン管理システム

*2:/usr/portage/以下のようなレイアウトのディレクトリツリー