Como definir variável de ambiente simplificada: g_slice

1

Foi-me dito que preciso definir a seguinte variável de ambiente para contornar um bug:

G_SLICE=always-malloc

Mas eu não sei como fazer isso, e em qualquer lugar que eu tenha visto o uso recomendado, eles apenas tomam como certo que você sabe como fazer isso (mesmo a documentação do gnome: link ).

Então, tentei defini-lo como uma variável de ambiente do Linux. Eu tentei configurá-lo no ambiente de programação em que eu estava (Firefox Add-on SDK), mas sem sucesso.

Parece-me que posso ter que instalar pacotes de desenvolvimento simplificados e encontrar algum tipo de arquivo de configuração. Mas talvez alguém ajudasse antes de eu seguir o caminho errado?

    
por markling 22.08.2014 / 19:01

1 resposta

2

Você define variáveis de ambiente em um processo e elas são herdadas por todos os processos filhos. Exatamente como você vai sobre isso depende de onde você quer que esteja disponível. Você não precisa modificar qualquer configuração do GLib.

Para definir uma variável de ambiente para programas iniciados a partir do seu shell (assumirei o Bash aqui), você pode escrever :

export G_SLICE=always-malloc

Todos os programas iniciados a partir desta sessão de shell depois disso terão a variável definida.

Se você quiser que ele seja definido para cada shell iniciado posteriormente, adicione essa linha a ~/.profile também. Nesse caso, ele será aplicado a todos os shells futuros que você iniciar, mas nenhum que esteja em execução no momento.

Para configurá-lo apenas para uma única execução de um programa (talvez para depurar seus efeitos), preceda o comando com a atribuição de variável:

$ G_SLICE=always-malloc gsomething

Esses são todos os comandos que você executa no terminal. .profile geralmente funciona para a GUI, mas isso pode ser quebrado pela configuração do sistema. Eles são todos por configuração de usuário também.

Se você quiser definir para todos os usuários o tempo todo, é possível adicionar uma atribuição a /etc/environment . O formato é um pouco diferente: apenas KEY=VAL em linhas separadas, sem citações obrigatórias e nada mais.

G_SLICE=always-malloc

Isso é (novamente, provavelmente - dependente do sistema) analisado pelo módulo pam_env . Também existe um arquivo ~/.pam_environment por usuário, que tem o mesmo efeito para apenas um usuário, mas pode ou não estar ativado em sua distribuição. Ambos exigem o logout e o retorno para que a alteração entre em vigor.

Como alternativa, você pode adicionar a instrução export em ~/.xinitrc (se usar startx ) ou ~/.xsession (para a maioria dos gerenciadores de login). O KDE suporta um diretório ~/.kde/env que pode conter quantos arquivos shell você quiser, que contêm export declarações como acima .

    
por 23.08.2014 / 00:56