成功ログを記録できるようにする
まず、Firefox Sync のログを見えるようにする。ロケーションバーに「about:sync-log」と入力すると、Firefox Sync のログファイルの一覧が表示される。
実体は「<Firefoxプロファイルフォルダ>\weave\logs\」である。
しかし、デフォルトではエラーログ (error-NNNNNNNNNNNNN.txt) しか記録されないので、成功ログ (success-NNNNNNNNNNNNN.txt) も記録できるように変更する。
そのために、「about:config」から「services.sync.log.appender.file.logOnSuccess」を「true」に変更する。
Greasemonkey スクリプトを同期してみる
同期元PCで
同期元PCのFirefoxで、Greasemonkeyのスクリプトを追加して、同期を実行する。
以下の成功ログが記録された(一部分を抽出、一部伏せ字)。
1408071534272 Sync.Engine.Greasemonkey DEBUG First sync, uploading all items 1408071534273 Sync.Engine.Greasemonkey INFO 1 outgoing items pre-reconciliation 1408071534471 Sync.Collection DEBUG mesg: GET success 200 https://sync-57-us-west-2.sync.services.mozilla.com/1.5/ZZZZZZZZ/storage/greasemonkey?full=1 1408071534471 Sync.Collection DEBUG GET success 200 https://sync-57-us-west-2.sync.services.mozilla.com/1.5/ZZZZZZZZ/storage/greasemonkey?full=1 1408071534472 Sync.Engine.Greasemonkey INFO Records: 3 applied, 3 successfully, 0 failed to apply, 0 newly failed to apply, 3 reconciled.
同期先PCで
次に、同期先PCのFirefoxで同期を実行する。
こちらの Firefox でも成功ログを記録するようにしてある。
なお、同期する前に「services.sync.greasemonkey.lastSync」と「services.sync.greasemonkey.lastSyncLocal」の値をリセットしてから同期を行った。
以下の成功ログが記録された(一部分を抽出、一部伏せ字)。
1408071582269 Sync.Engine.Greasemonkey DEBUG First sync, uploading all items 1408071582269 Sync.Engine.Greasemonkey INFO 0 outgoing items pre-reconciliation 1408071582526 Sync.Collection DEBUG mesg: GET success 200 https://sync-57-us-west-2.sync.services.mozilla.com/1.5/ZZZZZZZZ/storage/greasemonkey?full=1 1408071582526 Sync.Collection DEBUG GET success 200 https://sync-57-us-west-2.sync.services.mozilla.com/1.5/ZZZZZZZZ/storage/greasemonkey?full=1 1408071582526 Sync.Engine.Greasemonkey INFO Records: 6 applied, 6 successfully, 0 failed to apply, 0 newly failed to apply, 0 reconciled.スクリプトの同期が成功してるようなログが出ているが、「<Firefoxプロファイルフォルダ>\gm_scripts\」を確認しても実際は同期されていなかった。
Syncサーバーには保存できてるが、同期先PCに同期する時に失敗してる感じだろうか?
同期先PCでProcess Monitorを使ってモニターしてみた
まず「%TEMP%\gm-temp-1\*.user.js」に同期してから、そのファイルを「<Firefoxプロファイルフォルダ>\gm_scripts\*\*.user.js」にコピーしようとしてるように見える。
しかし、よく見るとコピー先のディレクトリに、同期元PCのプロファイルフォルダ名が使用されていた。
つまり、同期元PCの<Firefoxプロファイルフォルダ>部分が「XXXXXXXX.default」、
同期先PCの<Firefoxプロファイルフォルダ>部分が「YYYYYYYY.default」だった場合、
同期先PCの「XXXXXXXX.default」以下に同期しようとしてるっぽい。
それで、そんなパスがないので「PATH NOT FOUND」が出てるのではないかと。
そこで同期先PCに「XXXXXXXX.default\gm_scripts\FirefoxSyncTest\」を作成して、もう一度、同期してみた。
今度は、「NAME NOT FOUND」になり、やっぱり同期できなかった。
問題は「<Firefoxプロファイルフォルダ>が同期元のそれになっているから」だけではないみたい。
それとも、スクリプトの同期できないのは私だけで、他の人はちゃんと同期ができているんだろうか?
ついでに、、、
同期のインターバルは、services.sync.syncInterval でミリ秒で指定できるっぽい。
デフォルトは90000ぽい。
0 件のコメント:
コメントを投稿