“我胡漢三又回來了”,好久沒出現在博客園了,准備考試什么的最煩躁了,今天又重新整了下我的Ubuntu,結果發現了一個Chrome瀏覽器的Bug,但是與其說它是個Bug,還不如說它是個Joke。
好吧,原諒我有電腦潔癖,尤其是對於~目錄的潔癖,今天偶然發現~目錄下多了一個名為“libpeerconnection.log”的文件,起初不以為意,雖然不知道是怎么生成的,但是打開一看,什么內容都沒有,也就安安心心地刪了。刪的時候就有種預感,這玩意不會又偷偷自己生成吧。果不其然,不管我怎么刪,重啟電腦后,它依然堅挺地立在那里。好吧,我怒了,那么“libpeerconnection.log”,你就等死吧。結果就發現了下面的這篇文章,頓時怒氣全消啊,這個Bug真Joke啊有木有。
原來是Chrome干的好事啊,而Chrome說是Chromium干的,在google code上,有人提交了這個issue,下面的回答中也有很多提出了自己的解決辦法。
Bug的源頭找到了,<tommi@chromium.org>提交了一個commit:
1 diff --git a/third_party/libjingle/overrides/initialize_module.cc 2 b/third_party/libjingle/overrides/initialize_module.cc 3 .... 4 + if (CommandLine::Init(0, NULL)) { 5 +#if !defined(OS_WIN) 6 + // This is not needed on Windows since CommandLine::Init has already 7 + // done the equivalent thing via the GetCommandLine() API. 8 + CommandLine::ForCurrentProcess()->AppendArguments(command_line, true); 9 +#endif 10 + logging::InitLogging( 11 + FILE_PATH_LITERAL("libpeerconnection.log"), 12 + logging::LOG_TO_BOTH_FILE_AND_SYSTEM_DEBUG_LOG, 13 + logging::LOCK_LOG_FILE, 14 + logging::APPEND_TO_OLD_LOG_FILE, 15 + logging::DISABLE_DCHECK_FOR_NON_OFFICIAL_RELEASE_BUILDS); 16 + } 17 .....
仔細一看你就會發現,真的是如原作者說的,“謝謝你姥姥一家子,毛事沒有,先在當前目錄生成一個.log文件?”,原諒我,我笑了,呵呵^_^,誰讓你啥事不做就在我們經常就看見的~目錄生成這么一個礙眼的.log文件文件的,雖然在CWD生成.log文件無可厚非,但是在~目錄下隨意添加一個不被隱藏的文件卻損害了這個軟件的美觀性、和諧性和友好性。
好吧,說了這么多,對於有強迫症的人來說,解決的辦法是有的。
(1)該問題只在chrome的version28存在,乖乖地等29吧;
(2)無非是找個目錄放“libpeerconnection.log”文件,所以該一下該日志存放的目錄,不放在CWD不就行了,編輯/opt/google/chrome/google-chrome文件,在文件最后一行'exec -a "$0" "$HERE/chrome" "$@"'的前面加上一句“cd /tmp”,當然這里的tmp改為其他目錄也是可以的;
(3)不想看到那就隱藏唄,首先在你要隱藏文件的同一文件夾下創建一個名為.hidden的隱藏文件,在里面填寫你要隱藏文件(或者文件夾的名字),這里我們填libpeerconnection.log,此時當你再打開那個文件夾時,包含在.hidden 文件里面的文件名,所對應的文件(或者文件夾)此時已經隱藏了!
好了,強迫症患者的探究到此結束!
