我构建了一个 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 源进程:
一开始我运行了下面这行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