Compiz
Wikipedia より:
- Compiz は X Window System 上で動作するコンポジット型ウィンドウマネージャである。OpenGL を利用した 3D 技術により様々な画面効果を可能にしている。最小化アニメーションやキューブ型のワークスペースなどの効果は、ローダブルプラグインとして実装されている。
目次
- 1 インストール
- 2 Compiz を起動する
- 3 Compiz をスタンドアロンのウィンドウマネージャとして使う
- 4 ヒントとテクニック
- 5 トラブルシューティング
- 5.1 Missing GLX_EXT_texture_from_pixmaps
- 5.2 NVIDIA バイナリドライバで Compiz が起動したウィンドウに縁がない
- 5.3 NVIDIA バイナリドライバでサスペンドから復帰したときに画面が表示されない
- 5.4 高性能なグラフィックカードでパフォーマンスが悪い
- 5.5 NVIDIA カードで画面がちらつく
- 5.6 動画がちらつく
- 5.7 fusion-icon が起動しない
- 5.8 Alt+F4 キーバインドが動作しない (Xfce)
- 5.9 テーマを選択すると Emerald がクラッシュする
- 5.10 Compiz の実行時にシステムベルが鳴らない
- 5.11 Gnome Compatibility プラグインを有効にすると Compiz がクラッシュする (GSettings バックエンド)
- 5.12 最小化を解除したときにウィンドウのフォーカスが外れる
- 5.13 Compiz を使っているとポップアップウィンドウがずれる
- 5.14 Alt-Tab スイッチャの背景が表示されない (Emerald)
- 5.15 マウスカーソルが表示されない、または X になる
- 6 既知の問題
- 7 参照
インストール
Compiz には2つのバージョンが存在します。0.8 シリーズは C で書かれており 0.9 シリーズは C++ によって完全に書き直されています。2016年8月現在、どちらのシリーズも活発な開発が続いています。Compiz 0.9 は Launchpad の Compiz メンテナ によって開発されている一方、Compiz 0.8 の開発は GitHub の Compiz Reloaded プロジェクト によって行われています。2つのシリーズを同時に両方ともインストールすることはできません。
0.9 シリーズのインストール
- Compiz — CCSM, プラグイン, GTK ウィンドウデコレータが付属する OpenGL コンポジットウィンドウマネージャ。
0.8 シリーズのインストール
必須:
- Compiz Core — OpenGL コンポジットウィンドウマネージャ。
推奨:
- CompizConfig Settings Manager — Compiz のグラフィカル設定マネージャ。
- Compiz Fusion Plugins Main — Compiz の主要プラグインコレクション。
- Compiz Fusion Plugins Extra — Compiz の追加プラグインコレクション。
任意:
- Compiz Fusion Plugins Experimental — 実験的な Compiz プラグイン (バージョン 0.8.12 以前の名前は Plugins Unsupported)。
- https://github.com/compiz-reloaded/compiz-plugins-experimental || compiz-fusion-plugins-experimentalAUR
追加パッケージ
- Emerald — Compiz のスタンドアロンウィンドウデコレータ。
- Emerald Themes — Emerald ウィンドウデコレータの追加テーマ。
- Fusion Icon — Compiz を起動してウィンドウマネージャやデコレータを切り替えるためのトレイアプレット。
- Compiz Manager — Compiz を起動するためのラッパースクリプト。
- Simple CCSM — Compiz 0.8 のシンプルなグラフィカル設定マネージャ。
Compiz を起動する
主要なプラグインを有効にする
Compiz を起動する前に、ウィンドウマネージャとして基本的な挙動を提供するプラグインを有効にしてください。そうしないとウィンドウをドラッグしたり拡大・縮小したり、閉じることができなくなります。重要なプラグインは以下の通りです:
- Window Decoration - ウィンドウの縁を表示 (#ウィンドウデコレーションセクションを参照)。
- Move Window。
- Resize Window。
- Place Windows - ウィンドウの配置オプションを設定。
- Application Switcher - Alt+Tab スイッチャを提供します (多数のアプリケーションスイッチャプラグインが存在します、例: Shift Switcher, Static Application Switcher など。スイッチャの中には Alt+Tab キーバインドを使わないものもあります)。
ビューポートを切り替えられるようにするには、以下のどれか一つを有効にしてください:
- Desktop Cube & Rotate Cube - 各面がビューポートになっている回転キューブを提供します。
- Desktop Wall - ビューポートが互い隣に整列されます (動きは Cinnamon や GNOME Shell でのワークスペース切り替えのアニメーションと似ています)。
- Expo - マウスを左上の隅に移動した時に全てのビューポートとウィンドウのビューを作成します (このプラグインは単独で使うことも上2つのプラグインのどちらかと一緒に使うことも可能です)。
ウィンドウデコレーション
ウィンドウデコレータは縁のあるウィンドウを表示するプログラムです。Kwin や Xfwm などのウィンドウマネージャとは異なり、Compiz では3つのデコレータの中からどれか1つを選ぶことができます: GTK ウィンドウデコレータ, KDE ウィンドウデコレータ, Emerald です。GTK ウィンドウデコレータと KDE ウィンドウデコレータは Compiz のソースに含まれており Compiz をビルドするときにオプションでコンパイルすることができます。一方で Emerald はスタンドアロンのデコレータです。CCSM で Window Decoration プラグインを有効にしないとウィンドウデコレータは起動しません。
- デコレータの選択
Effects -> Window Decoration -> Command で指定したウィンドウデコレータが起動します。コマンドは次のうちどれかになります: emerald, gtk-window-decorator, kde4-window-decorator。デコレータの指定だけでは足りない場合は --replace
スイッチを使ってください (例: emerald --replace
)。
Compiz の起動コマンド
次のコマンドで Compiz を起動できます:
$ compiz --replace
他のオプションは compiz --help
を見てください。
fusion-icon を使う
次のコマンドで fusion-icon を起動することができます:
$ fusion-icon
fusion-icon が Compiz を起動することを確認するには、パネルのアイコンを右クリックして 'select window manager' を見てください。'Compiz' が選択されていない場合は選択してください。
デスクトップ環境で Compiz を自動起動する
デスクトップ環境#カスタムウィンドウマネージャを見てください。
Compiz をスタンドアロンのウィンドウマネージャとして使う
ディスプレイマネージャでセッションを起動する
スタンドアロンの Compiz セッションをディスプレイマネージャから起動することができます。大抵のディスプレイマネージャ (LightDM など) では compiz (必要であればコマンドラインオプションを付けてください) あるいは fusion-icon を実行する .desktop
ファイルを /usr/share/xsessions
に作成するだけで起動できるようになります。使用しているディスプレイマネージャの記事を見てください。.desktop
ファイルの作成に関する情報はデスクトップエントリを参照。
ディスプレイマネージャの使用時にプログラムを自動起動する
ディスプレイマネージャから Compiz セッションを起動する場合、xprofile ファイルを使うことでセッションと一緒にプログラムを起動することが可能です。もしくは /usr/share/xsessions
の .desktop
ファイルで compiz を直接起動するのではなく、他のプログラムを起動してから Compiz を起動するスクリプトを実行するという方法もあります。
startx でセッションを起動する
Compiz のセッションは startx
で起動できます。.xinitrc
ファイルに compiz または fusion-icon を記述してください。詳しくは xinitrc の記事を参照。
ルートメニューを追加
Openbox など他のスタンドアロンウィンドウマネージャにあるようなルートメニューを追加するために compiz-boxmenuAUR パッケージをインストールすることができます。このプログラムは compiz-deskmenuAUR のフォークです。変更点として、このフォークにはウィンドウ一覧や最近のドキュメント一覧などの機能が追加されています。
compiz-boxmenuAUR パッケージのインストール後、以下のようにホームディレクトリに設定ファイルをコピーして下さい:
# cp -R /etc/xdg/compiz /home/username/.config # chown -R username:group /home/username/.config/compiz
username
はあなたのユーザー名に group
はユーザーのプライマリーグループに置き換えて下さい。
次に、CCSM を開いて、'Commands' プラグインまで移動し 'Command line 0' に compiz-boxmenu
コマンドを入力してください。'Key Bindings' タブでは、'Run command 0' を Control+Space
に設定してください ('Grab key combination' オプションを使うことでこの手順を簡略化することが可能です)。
そして 'Viewport Switcher' プラグインのところまで行き 'Desktop-based Viewport Switching' タブをクリックして下さい。'Plugin for initiate action' を core
に、'Action name for initiate' を run_command0_key
に変更します。
これで Control+Space
を押せばメニューが表示されるはずです。グラフィカルなメニューエディタを起動するには、'Edit' オプションをクリックするかターミナルで compiz-boxmenu-editor
を実行してください。手動でメニューを編集したい場合は、お好きなエディタで次のファイルを開いて下さい: ~/.config/compiz/boxmenu/menu.xml
。変更を適用するには、メニューの 'Reload' オプションをクリックする必要があります。
ユーザーにシャットダウン・再起動を許可
特権がないユーザーも systemctl poweroff
や systemctl reboot
などのコマンドは実行できるようにするべきです。CCSM の 'Commands' プラグインを使ってこれらのコマンドのキーボードショートカットを割り当てることができます。また、compiz-boxmenuAUR でコマンドのランチャーを作成することも可能です - 上記参照。シャットダウンに関する詳細は次の記事を見て下さい: ユーザーにシャットダウンを許可。
ヒントとテクニック
ネイティブのウィンドウマネージャを復活させる
次のコマンドでデスクトップ環境のデフォルトのウィンドウマネージャに戻ることが可能です:
wm_name --replace
wm_name
は kwin
, metacity
, xfwm4
などに置き換えて下さい。
Alt+F2 実行ダイアログを有効にする
- GNOME Panel
CCSM で 'Gnome Compatibility' プラグインを有効にしてください。
- MATE Panel
Compiz で MATE Panel の実行ダイアログを有効にする方法は2つあります。どちらか選べます:
- CCSM で MATE Compatibility プラグインを有効にする (MATE プラグインが存在しない古いバージョンの Compiz では Gnome Compatibility プラグインを使ってください)。
- CCSM の Commands プラグインを使って下のコマンドを
Alt+F2
キーコンビネーションにマップする。
mate-panel --run-dialog
- LXDE Panel
CCSM の 'Commands' プラグインを使って下のコマンドを Alt+F2
キーコンビネーションにマップしてください。
lxpanelctl run
- Xfce Appfinder
Compiz を Xfce セッションで使う場合、実行ダイアログ (xfce4-appfinder) は何も設定しなくても動作します。スタンドアロンで Xfce Appfinder を使う場合、CCSM の Commands プラグインを使って Alt+F2
キーに以下のコマンドをマップしてください:
xfce4-appfinder --collapsed
- 他の実行ダイアログ
CCSM の Commands プラグインを使って実行ダイアログのコマンドを Alt+F2
キーに割り当ててください。
ウィンドウを最大化したときにタイトルバーを表示しない
こちら にあるように ccsm
--> Effects の Window Decoration
--> Decoration Windows
で any
を !state=maxvert
に変更してください。
トラブルシューティング
Missing GLX_EXT_texture_from_pixmaps
ATI カード (解決方法1)
ATI カードで Compiz を実行しようとすると以下のエラーが表示されることがあります:
Missing GLX_EXT_texture_from_pixmap
これは Compiz のバイナリが ATI の OpenGL ライブラリでなくて Mesa の OpenGL ライブラリを使ってコンパイルされているのが原因です。
まず、ATI のドライバーが上書きしないようにライブラリをディレクトリにコピーしてください:
$ install -Dm644 /usr/lib/libGL.so.1.2 /usr/lib/mesa/libGL.so.1.2
それから fglrx ドライバーを再インストールしてください。そして以下のようにして Compiz を起動してみましょう:
LD_PRELOAD=/usr/lib/mesa/libGL.so.1.2 compiz --replace ccp &
ATI カード (解決方法2)
ATI カードの 'GLX_EXT_texture_from_pixmap' の問題としてカードが直接レンダリングできないということも考えられます。その場合、以下のように libgl にオプションを指定する必要があります:
LIBGL_ALWAYS_INDIRECT=1 compiz --replace ccp &
この解決方法は次のカードでテスト済みです: ATI Technologies Inc Radeon R250 [Mobility FireGL 9000] (rev 02)。
Intel チップ
まず、i810 ではなく intel ドライバーが使われていることを確認してください。次に、以下のコマンドを実行して Compiz を起動してください (毎回このコマンドを使う必要があります):
LIBGL_ALWAYS_INDIRECT=true compiz --replace --sm-disable ccp &
NVIDIA バイナリドライバで Compiz が起動したウィンドウに縁がない
まず、ウィンドウデコレータの設定が正しいことを確認してください - 次を参照: #ウィンドウデコレーション。それでもウィンドウの縁が表示されない場合は Option "AddARGBGLXVisuals" "True"
と Option "DisableGLXRootClipping" "True"
を /etc/X11/xorg.conf.d/20-nvidia.conf
の "Screen" セクションに追加してみてください。このオプションでもウィンドウの縁がロードされない場合、/etc/X11/xorg.conf.d/
で他の Option を使っているときは、それらをコメントアウトして上記の ARGBGLXVisuals と GLXRootClipping オプションだけを使用するようにしてください。
NVIDIA バイナリドライバでサスペンドから復帰したときに画面が表示されない
復帰時に黒画面と動くカーソルが現れる場合、垂直同期を無効にしてみてください。無効にするには、CCSM を開いて、'OpenGL' プラグインのところまで行って 'Sync to VBlank' オプションのチェックを外して下さい。
高性能なグラフィックカードでパフォーマンスが悪い
NVIDIA と Intel チップ: 設定が全て正しいはずなのにエフェクトでパフォーマンスが出ない場合、CCSM > General Options > Display Settings > Detect Refresh Rate を無効にして手動で値を選択してみてください。
NVIDIA チップのみ: 'Detect Refresh Rate' でリフレッシュレートが不適切になるのはデフォルトで有効にされている 'DynamicTwinView' という名前のオプションがおそらく原因です。正確にはこのオプションはカードやディスプレイがサポートしている最大リフレッシュレートを報告する役割を負っています。/etc/X11/xorg.conf.d/20-nvidia.conf
の "Device" もしくは "Screen" セクションに次の行を追加して、コンピュータを再起動することで 'DynamicTwinView' を無効にできます:
Option "DynamicTwinView" "False"
NVIDIA カードで画面がちらつく
この挙動を修正するには以下のファイルを作成してください:
/etc/modprobe.d/nvidia.conf
options nvidia NVreg_RegistryDwords="PerfLevelSrc=0x2222"
動画がちらつく
Compiz を使用しているときに動画にティアリングが発生する場合、CCSM で Workarounds プラグインを有効にしてみてください。有効にしたら、Workarounds で次のオプションを有効にしてください: Force complete redraw on initial damage, Force full screen redraws (buffer swap) on repaint。
Intel Graphics を使っている場合で上記の方法で解決しないときは、Intel Graphics#ティアリングの解消を見てください。
fusion-icon が起動しない
コマンドラインから以下のような出力がされる場合:
$ fusion-icon
* Detected Session: gnome * Searching for installed applications... Traceback (most recent call last): File "/usr/bin/fusion-icon", line 57, in <module> from FusionIcon.interface import choose_interface File "/usr/lib/python2.5/site-packages/FusionIcon/interface.py", line 23, in <module> import start File "/usr/lib/python2.5/site-packages/FusionIcon/start.py", line 36, in <module> config.check() File "/usr/lib/python2.5/site-packages/FusionIcon/util.py", line 362, in check os.makedirs(self.config_folder) File "/usr/lib/python2.5/os.py", line 172, in makedirs mkdir(name, mode) OSError: [Errno 13] Permission denied: '/home/andy/.config/compiz'
問題は ~/.config/compiz/
のパーミッションです。修正するには、次のコマンドを使って下さい:
# chown -R username /home/username/.config/compiz/
Alt+F4 キーバインドが動作しない (Xfce)
Compiz はログイン時に Xfwm4 を置き換えるため、Alt+F4
キーバインドが使えなくなってしまうことがあります。この問題を回避するには、ログイン時に Compiz だけが起動するようにしてください。Xfce#デフォルトウィンドウマネージャを見てください。
テーマを選択すると Emerald がクラッシュする
特定のテーマを選択すると Emerald がクラッシュする場合 (特にレガシーなエンジンを使用するテーマの場合)、Emerald のテーママネージャで他のテーマを選択して emerald --replace
コマンドを実行してください。
Compiz の実行時にシステムベルが鳴らない
Compiz が実行していると (GNOME や MATE Terminal において行頭でバックスペースを押した時に再生される滴の音など) システムベルが鳴らないことに気づくかもしれません。上流のバグレポート を参照してください。
PulseAudio を使っている場合、PulseAudio でシステムベルを鳴らす方法があります。PulseAudio#X11 ベルイベントを参照。
Gnome Compatibility プラグインを有効にすると Compiz がクラッシュする (GSettings バックエンド)
GSettings バックエンドを使用している場合、Gnome Compatibility プラグインを有効にすると Compiz がクラッシュする可能性があります。CCSM から Preferences を開いてください。Integration の下にある Enable integration into the desktop environment のチェックを外してください。
最小化を解除したときにウィンドウのフォーカスが外れる
特定のウィンドウ (Chromium のウィンドウなど) で最小化を解除したときにフォーカスが外れることがあります。上流のバグレポート を見てください。Workarounds プラグインにある Keep previews of minimized windows オプションを有効にすることで解決できます。
Compiz を使っているとポップアップウィンドウがずれる
画面の下部にあるパネルのポップアップウィンドウが数ピクセルずれてパネルの上にウィンドウが表示されてしまうことがあります。この問題は Xfce と KDE で発生することが確認されており、他のデスクトップでも起こりえます。以下の方法で修正することができます:
- パネルを画面の下部ではなく上部に配置する。これで大抵の場合は問題が解決します。
- Place Windows プラグインを無効化する。Xfce Whisker Menu プラグインではこれで治ります。
- ウィンドウの配置を固定する。Place Windows プラグインで設定できます。例えば Whisker Menu の場合、Whisker Menu というタイトルのウィンドウを (-1, -1) に表示するよう指定します。
詳しくは 上流のバグレポート を見てください。
Alt-Tab スイッチャの背景が表示されない (Emerald)
Emerald を使っている場合 (staticswitcher や switcher プラグインに入っている) Alt-Tab
スイッチャの背景が完全に透過してしまうことがあります。デスクトップの背景とウィンドウのサムネイルが区別し難くなります。Compiz 0.9.12 (revision 3975) 現在、解決方法が存在します。CCSM から使用しているプラグインの Application Switcher または Static Application Switcher を開いてください。前者の場合、General の下に Background 設定が、後者の場合、Appearance の下に設定が存在します。設定を見つけたら、Set background color ボックスのチェックを入れてください。デフォルトでは灰色ですが変えることができます。
もしくは、Emerald ではなく GTK ウィンドウデコレータを使用するか shift switcher などの別のウィンドウスイッチャを使用してください。GTK ウィンドウデコレータでも、上記の方法で背景色は変えられます。
マウスカーソルが表示されない、または X になる
カーソルテーマ#形が X のデフォルトカーソルの変更を見てください。
既知の問題
Compiz 0.8 にあるプラグインが Compiz 0.9 には存在しない
Compiz 0.8 で人気のあったプラグインの中には Compiz のバージョン 0.9.8 以降では OpenGL ES のサポートのために使えなくなっているものがあります。Animations Add-On プラグインなど、Compiz 0.9.13.0 リリースから再度使えるようになったプラグインも存在しますが、全てのプラグインが使えるわけではありません。この問題については将来のリリースでパッチが適用されればまた使えるようになる可能性があります。詳しくは Compiz 0.9.8 のリリースノート を見てください。
同じ理由で、Compiz Plugins Unsupported (Atlantis などのプラグインが含まれているパッケージ) は最近のバージョンの Compiz 0.9 で使えません。Compiz 0.9.5 から Compiz 0.9 シリーズでは開発されなくなっています。
Xfce パネルの問題
ウィンドウがビューポートを変更した時に Xfce パネルのウィンドウボタンが更新されない
ウィンドウタイトルを右クリックして 'Move to Workspace Right' などのオプションを選択すると、ウィンドウは動くのに、ビューポートを切り替えるまでウィンドウボタンはウィンドウが移動する前のビューポートに表示され続けることがあります。xfce4-panel を xfce4-panel-compizAUR で置き換えることで問題は解決します。詳しくは 上流のバグレポート を参照してください。
Xfce ワークスペーススイッチャのアスペクト比がおかしい
Xfce Panel 4.11 以上で Compiz を使用すると、ワークスペースページャの横幅がワークスペースひとつ分しかないのに、Compiz 指定するビューポートの数によって、小さなバーに分かれてしまいます。この問題は xfce4-panel を xfce4-panel-compizAUR で置き換えることで解決します。詳しくは 上流のバグレポート を参照。
D-Bus プラグインを有効にしたときに Compiz がクラッシュする
Cube プラグインなど特定のプラグインと一緒に D-Bus プラグインを有効にすると Compiz がクラッシュします。上流のバグレポート を参照してください。
ワークスペースページャとウィンドウボタンの問題
Compiz のビューポートと互換性のあるパネルやドックはあまりありません。互換性のないパネルやドックでは表示に問題が発生します。全てのワークスペースにウィンドウボタンが表示されたり、ワークスペースページャにワークスペースがひとつしか表示されなくなったりします。以下は動作に問題がないパネルのリストです:
- xfce4-panel
- mate-panel
- perlpanelAUR[リンク切れ: パッケージが存在しません]
- gnome-panel
- cairo-dock
参照
- Compiz in Launchpad
- Compiz in GitHub
- Compiz Home - wiki とフォーラムが存在します (ウェブサイトと wiki はメンテナンスされていません)。
- Troubleshooting - Compiz Wiki (wiki はメンテナンスされていません)。