firefoxのAdobeReaderがC:\nppdf32Log\debuglog.txtというファイル名を作る問題
Portageから入れたfirefoxのAdobeReaderプラグインが,firefoxを起動した時のカレントディレクトリに"C:\\nppdf32Log\\debuglog.txt"というファイルを作る問題について.
この現象だいぶ前からある気がするんですが,前に対処したのがFirefoxのアップデートと共に復活したので再度対処したメモ.一向に治らないのはバイナリ配布のプロプライエタリだから.たぶん.
ファイル名でググれば同じ症状は腐るほど出てくるので,この方みたいにブラウザ内でPDF開けなくていいよって方は丸っと消しちゃってもいいんですが,別の方法もあります.
ソースがないならバイナリを書き換えればええやん.ということで,まずは犯人のバイナリを探します.
$ ps ax | grep firefox
28928 pts/2 SNl 1:00 firefox
28976 pts/2 SNl 0:02 /usr/lib/firefox/plugin-container /opt/netscape/plugins/nppdf.so -greomni /usr/lib/firefox/omni.ja 28928 plugin
pdfっぽいのがあるので,たぶんこれでしょう.ということで,なんかしらのでバイナリエディタで/opt/netscape/plugins/nppdf.soを開きます.バックアップも忘れずに.バイナリエディタはEmacsのhexl-modeが好きです.
00021930: 6573 7361 6765 0061 6200 433a 5c6e 7070 essage.ab.C:\npp
00021940: 6466 3332 4c6f 675c 6465 6275 676c 6f67 df32Log\debuglog
00021950: 2e74 7874 0058 5858 3a47 6976 696e 6720 .txt.XXX:Giving
適当に検索すると,ファイル名っぽい文字列がみつかります.これを/dev/nullとかに書き換えてしまえば良いわけですが,忘れてはいけないのは,"C:\nppdf32Log\debuglog.txt"は26文字(byte)なのに対して,"/dev/null"は9byteなので,以降のデータアドレスがズレないように,17byteをnull埋めしてやる必要があります.
00021930: 6573 7361 6765 0061 6200 2f64 6576 2f6e essage.ab./dev/n
00021940: 756c 6c00 0000 0000 0000 0000 0000 0000 ull.............
00021950: 0000 0000 0058 5858 3a47 6976 696e 6720 .....XXX:Giving
こんな感じで.firefoxを再起動すれば,晴れて余計なファイルは作られなくなります.