[ubuntu-jp:6209] Re: Mozcのソケットを/runなどに移動する方法
Mitsuya Shibata
mty.shibata @ gmail.com
2019年 10月 20日 (日) 08:12:52 UTC
寺薗さん、
> 実は、Mozcの設定やユーザ辞書などを、Google Driveを使って他のUbuntu機、さ
> らにはWindows(Google日本語入力)と共有させています。その際、Ubuntuにおけ
> る.mozcディレクトリそのものを、Google Drive上のディレクトリにシンボリック
> リンクさせる形をとっています(以前は個別のファイル(*.db)をシンボリックリン
> クで結んでいたのですが、何らかの拍子でシンボリックリンクが実体のあるファイ
> ルに置き換わることが多かったため、ディレクトリそのものをシンボリックリンク
> で結んでいます)。
まず最初に、Mozc自身はMozcが動いている状態で他のプロセスから設定や
辞書ファイルを書き換えることを想定していないようなので、
上記のような使い方は、トラブルの要因になりうることをご承知おきください。
https://github.com/google/mozc/issues/264
> もしソケット類を特定ディレクトリに移せる方法がありましたら、どなたかご教
> 示をいただけると助かります。
ざっと見た限り「.mozc」を別のディレクトリに移動するオプションは
存在するように見えるのですが(実際に試したわけではありません)、
個別のファイルを移動できるオプションはなさそうです。
> バグではなくて開発要望になるとは思うのですが、どこにお願いすればいいかと
> 思いまして、とりあえずやや違うかも知れませんがubuntu-jpに出してみました。
一般論で言うとMozcに対する機能追加なので、Mozcにお願いするのが良いとは思います。
ただしGitHubだけ見るとMozcの開発は1年以上止まっているようにも見えますので、
Mozcに機能追加の要望を報告した上で、Debian/Ubuntuのパッケージに
暫定的な対策パッチを提供しておくと、より早く反映されると思います。
---
ただし最初にお伝えしたように、.mozcそのものを直接同期するのは、
あまりよくなさそうな雰囲気です。
他にも、たとえば2つの異なるマシンでほぼ同時に日本語入力を利用して
履歴情報などが更新された場合、同期によってマージされるわけではないため、
どちらかのマシンの情報は消えてしまいます。
(これはMozcに限らず他の設定ファイルを同期する際にも言える話です)
もしどうしても他のマシンとMozcの情報を同期したいのであれば、
次のような手順ではいかがでしょうか。
- Mozcが動いている間は任意のファイルを別のファイルに
定期的にコピーするデーモンを用意する
- Google Driveはコピー先のみを同期する
- ログイン時にMozcが動き出す前に、同期済みのデータを
.mozcにコピーする
これだけだと「どっちを優先するか」問題には対応できませんが、
コピーするプログラム側である程度はコントロール可能です。
さらにはMozcに変更を加えなくても良いとか、
Mozcが動いている間にデータファイルを上書きしないといった
メリットがあります。
一番の懸念点はログイン時にGoogle Driveの同期完了を
待たなければいけないことです。
これに関してはあまり時間がかかるようならスキップするとか、
ログイン時の同期を諦めてコピープログラム側でなんとかするとか、
そういった回避策しか思いつきません。
# これに関してはすでにそういうものを作ってる人がいるような気はします。
--
Mitsuya Shibata
mty.sibata @ gmail.com
ubuntu-jp メーリングリストの案内