如何在启动 gnome-terminal 时抑制 ld.so.preload 错误消息

如何在启动 gnome-terminal 时抑制 ld.so.preload 错误消息

我构建了一个 32 位共享对象,并将其路径添加到/etc/ld.so.preload系统范围内预加载。它运行良好,系统中的所有应用程序都在使用它。但每次启动时,gnome-terminal我都会收到一条错误消息(虽然没有问题)。

ERROR: ld.so: object '/usr/lib/i386-linux-gnu/libpulse.so' from /etc/ld.so.preload cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.

我怎样才能使该错误信息静音gnome-terminal

答案1

我设法查明并消除了错误消息。这是一条警告消息,不会造成任何损害。当我搜索该错误消息时,我注意到这是一个众所周知的问题,Steam因为它使用了 32 位架构。

一些人甚至提出了修补删除该消息。

~/.bashrc就我而言,它是由我之前添加的环境变量触发的。

我在该链接中找到了如何调试 bash 源进程:

https://unix.stackexchange.com/questions/813/how-to-determine-where-an-environment-variable-came-from

一开始我运行了下面这行gnome-terminal

PS4='+$BASH_SOURCE> ' BASH_XTRACEFD=7 bash -xl 7>&2

它流式传输所有环境变量采购过程。

然后我在我的~/.bashrc

 set -x

它展示了采购的隐藏过程~/.bashrc

后者向我展示了我的罪魁祸首~/.bashrc

它是 :

  [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"

我使用以下方法消除了错误信息:

 [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" 2>/dev/null >/dev/null

相关内容