如何设置 glib 环境变量:g_slice

如何设置 glib 环境变量:g_slice

有人告诉我需要设置以下环境变量才能解决 glib 错误:

G_SLICE=always-malloc

但我不知道如何做到这一点,而且我在任何地方看到推荐使用它的地方,他们只是想当然地认为你知道如何做到这一点(甚至是 gnome 文档:https://developer.gnome.org/glib/stable/glib-running.html)。

所以我尝试将其设置为linux环境变量。我尝试在我所在的编程环境(Firefox Add-on SDK)中设置它,但没有成功。

在我看来,我可能必须安装 glib 开发包并找到某种配置文件。但也许有人会在我走上错误的道路之前帮助我?

答案1

您在进程中设置环境变量,它们会被所有子进程继承。具体如何操作取决于您希望它在哪里可用。你不过,必须修改任何 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上述语句。

相关内容