システムワイドに uim-mozc が入っていて、uim-anthy を入れるからmozcは無効化したい、でもパッケージは削除したくない…… そんなシチュエーションに遭遇する人はあまりいないと思いますが、そんなときは uim から mozc を無効化しましょう。 システム全体に影響する変更方法はこちら。
# uim-module-manager --unregister mozc --path /var/lib/uimで、このコマンドを探し当てるためにまた遠回りしたので、その経緯を書いておきます。
まず、uim の仕組みが分かっていなかったので、とりあえずなにかファイルを消せばいいと思った(強引)のですが
% dpkg -L uim-mozc /. /usr /usr/lib /usr/lib/x86_64-linux-gnu /usr/lib/x86_64-linux-gnu/uim /usr/lib/x86_64-linux-gnu/uim/plugin /usr/lib/x86_64-linux-gnu/uim/plugin/libuim-mozc.so /usr/share /usr/share/uim /usr/share/uim/pixmaps /usr/share/uim/mozc.scm /usr/share/uim/mozc-custom.scm /usr/share/uim/mozc-key-custom.scm /usr/share/doc /usr/share/doc/uim-mozc /usr/share/doc/uim-mozc/README.Debian /usr/share/doc/uim-mozc/copyright /usr/share/doc/uim-mozc/changelog.Debian.gz /usr/share/lintian /usr/share/lintian/overrides /usr/share/lintian/overrides/uim-mozc /usr/share/uim/pixmaps/mozc_tool_dictionary_tool.png /usr/share/uim/pixmaps/mozc.png /usr/share/uim/pixmaps/mozc_tool_selector.png /usr/share/uim/pixmaps/mozc_tool_config_dialog.png
当然、なにを消して良いかこれだけで理解するのは無理というもの。
そういえばdebian にはパッケージのコントロールファイルがあるじゃないか。それを見よう、と思い立つわけです。
% dpkg -e uim-mozc_1.5.1090.102-4+deb7u1_amd64.deb ~/tmp-uimcontrol % cd ~/tmp-uimcontrol % ls -la total 44 drwxr-xr-x 2 tarai staff 4096 Jun 7 2013 . drwx------ 140 tarai staff 20480 Sep 23 17:49 .. -rw-r--r-- 1 tarai staff 1010 Jun 7 2013 control -rw-r--r-- 1 tarai staff 560 Jun 7 2013 md5sums -rwxr-xr-x 1 tarai staff 1504 Jun 7 2013 postinst -rwxr-xr-x 1 tarai staff 132 Jun 7 2013 postrm -rwxr-xr-x 1 tarai staff 985 Jun 7 2013 prerm -rw-r--r-- 1 tarai staff 21 Jun 7 2013 shlibs % lv postinst (中略) configure) if which uim-module-manager >/dev/null 2>&1; then uim-module-manager --register mozc --path /var/lib/uim fi ;; (以下略) % lv prerm (中略) remove|deconfigure) if which uim-module-manager >/dev/null 2>&1; then uim-module-manager --unregister mozc --path /etc/uim fi ;; (以下略)
postinst や prerm の詳細は http://www.debian.or.jp/community/devel/debian-policy-ja/policy.ja.html/ch-maintainerscripts.html が詳しいです。
つまりこの uim-module-manager というコマンドが重要なんですね、というところにたどりつき、
冒頭のような操作で大丈夫だろう、という結論に到達した次第です。
(何故postinstとprermで pathの引数が違うんだろう……)
0 件のコメント:
コメントを投稿