原来, GDM 用的是 /etc/gdm/Xsession 而非 /etc/X11/Xsession。其中没看到 ~/.xsession-errors 相关信息,估计是 C 写的,编译到二进制里面 去了。 不过很明显可看到将标准错误定向到标准输出(2>&1),标准输出应该是在脚本前 就已经定向到 ~/.xsession-errors 了。这改都没法改。
于 2012年02月29日 08:56, 自由建客 写道:
~/.xsession-errors 体积非常之大,打开一看,很意外,很多并非错误消息,而 是应该写到标准输出的。 检查脚本,看到 /etc/X11/Xsession 中的重定向才恍然大悟。 [code] ERRFILE=$HOME/.xsession-errors exec >>"$ERRFILE" 2>&1 [/code] 于是,我将其修改为 [code] exec >/dev/null exec 2>>"$ERRFILE" [/code] 但很无奈,用 GDM 登录的无效。用 XDM 或 startx 则正常。 另,我用 OpenBox,直接编写 ~/.xsession 启动会话。