有人告诉我,我需要设置以下环境变量才能处理glib bug:
G_SLICE=always-malloc
但是我不知道如何去做,而且在我看到推荐使用它的任何地方,他们只是理所当然地认为你知道如何去做(甚至gnome文档:https://developer.gnome.org/glib/stable/glib-running.html)。
因此,我尝试将其设置为linux环境变量。我尝试在我所处的编程环境中设置它(Firefox外接程序SDK),但没有成功。
在我看来,我可能需要安装glib开发包并找到某种配置文件。但也许在我走错路之前有人会帮我?
发布于 2014-08-22 22:56:16
在进程中设置环境变量,它们由所有子进程继承。你到底是怎么做的,取决于你想要它在哪里可用。不过,您不必修改任何GLib配置。
要为从shell启动的程序设置一个环境变量(我在这里假设Bash ),你可以写:
export G_SLICE=always-malloc
在此之后,从这个shell会话开始的所有程序都将设置变量。
如果希望为以后启动的每个shell设置它,也可以将该行添加到~/.profile
中。在这种情况下,它将应用于您启动的所有以后的shell,但不适用于当前正在运行的所有shell。
要将其设置为一个程序的单个执行(可能是为了调试其效果),在命令前面加上变量赋值:
$ G_SLICE=always-malloc gsomething
这些都是你从终端运行的命令。.profile
通常也适用于GUI,但这可以通过系统配置来打破。它们也都是按用户配置的。
如果您希望随时为每个用户设置它,您可以(很可能)向/etc/environment
添加一个赋值。这里的格式有点不同:只在单独的行上使用KEY=VAL
,不需要引用,也不需要任何其他的引用。
G_SLICE=always-malloc
这也是由pam_env
模块解析的(可能是系统依赖的)。还有一个每个用户的~/.pam_environment
文件,它只对一个用户具有相同的效果,但可能在您的发行版上启用,也可能不启用。这两者都需要注销和返回,以使更改生效。
或者,可以将export
语句添加到~/.xinitrc
(如果使用startx
)或~/.xsession
(对于大多数登录管理器)中。KDE支持是一个目录~/.kde/env
,它可以包含任意数量的shell文件,其中包含如上所述的export
语句。
https://unix.stackexchange.com/questions/151650
复制相似问题