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

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

Compiz FusionのUserspace File Systemについて

(2014/9/26)このプラグインはその後のバージョンで無くなっている。
Compiz Fusionに「Userspace File System」というプラグインがあるのだが、どういう効果があるのかも、設定の方法もよく分からなかった。
今回、これを使う方法が分かったのでメモ。

  1. 準備
  2. 有効にする
  3. ファイルシステムの内容
  4. 設定値の読み込みと書き込み
  5. 必要性と用途

準備

  • マウントポイントの作成(デフォルトでは[ホームディレクトリ]/compiz)
  • /ets/fuse.conf(無ければ作成)に「user_allow_other」と書く(管理者権限で行う)。これを行わないと端末にエラーが出てマウントされない*1

有効にする

ここまで行ったら、あとはプラグインのチェックを入れるだけ(マウントポイントは好みで変更)。

ファイルシステムの内容

$ ls -F ~/compiz/
ccp/         decoration/  glib/      place/       rotate/      text/
core/        expo/        group/     png/         scale/       trailfocus/
cube/        ezoom/       minimize/  regex/       scaleaddon/  vpswitch/
cubereflex/  fade/        move/      resize/      shift/       workarounds/
dbus/        fs/          neg/       resizeinfo/  switcher/

現在有効になっているプラグインごとの設定がディレクトリ階層に入っているようだ(有効なプラグインによって、出てくるディレクトリは異なる)。

$ ls -l ~/compiz/scale/screen0/speed/
合計 0
-r--r--r-- 1 root root 9 1970-01-01 09:00 max
-r--r--r-- 1 root root 8 1970-01-01 09:00 min
-r--r--r-- 1 root root 8 1970-01-01 09:00 precision
-r--r--r-- 1 root root 5 1970-01-01 09:00 type
-rw-rw-rw- 1 root root 8 1970-01-01 09:00 value

読み取り専用のところには、データの範囲やデータ型(例: float)などが書かれている。

設定値の読み込みと書き込み

/sys/procのようなイメージで、値を取るのには、そのまま読み取って

$ cat ~/compiz/scale/screen0/speed/value
5.000000

設定を変更するには、echoなどで上書きする。

$ echo 5.5 >| ~/compiz/scale/screen0/speed/value
$ cat ~/compiz/scale/screen0/speed/value
5.500000

CompizConfig Settings Managerで該当部分を開き、echoを実行すると、設定が変更されたのを確認できた。

必要性と用途

普通にCompizConfig Settings Managerで設定をする分には、これが必要なのかは怪しい。しかし、独自の設定ツールを作ったり、設定を自動で変更(推奨設定を自動的に適用させるスクリプトを書くなど)したりといったことには使えそうな気がしなくもない。

使用したバージョン:

  • Compiz Fusion 0.6.0

*1:「fusermount: option allow_other only allowed if 'user_allow_other' is set in /etc/fuse.conf」というエラーが端末に出る