Linux下Chrome浏览器的BUG

  “我胡汉三又回来了”,好久没出现在博客园了,准备考试什么的最烦躁了,今天又重新整了下我的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 文件里面的文件名,所对应的文件(或者文件夹)此时已经隐藏了!

  好了,强迫症患者的探究到此结束!

  资料参考自:http://argcandargv.com/articles/2170.c

posted @ 2013-07-19 22:58  安迪Lee  阅读(1786)  评论(8编辑  收藏  举报