Como posso modificar meu ambiente do KDE sem reiniciar?

4

Estou executando o KDE 4.10. Eu adicionei uma variável de ambiente ao meu .profile, entretanto esta variável obviamente não será visível para programas que eu inicio através da GUI do KDE (ao invés de um shell com o ambiente atualizado) até que eu reinicie o KDE.

Existe uma maneira de dizer ao KDE para reler o ambiente, ou para definir explicitamente o ambiente do KDE via DBUS ou mecanismo similar?

Um truque é reiniciar programas do KDE como o klauncher e o krunner de um shell que tenha o ambiente modificado, mas estou procurando algo mais elegante (elegante significa não ter que alterar a memória dos programas em execução via gdb , haha) .

Finalmente encontramos algo que o Windows pode fazer facilmente que o KDE / Linux não consegue?

Atualização 04/18 : Atualizado para o KDE 4.10, adicionado comentário sobre o Windows.

    
por Raman 28.04.2011 / 01:50

1 resposta

0

Todos os meus esforços para fazer o mesmo foram em vão ... Variáveis de ambiente são coisas especiais, uma criança não pode alterar o ambiente dos pais, enquanto um processo pai pode ajustar as coisas antes de bifurcar um filho.

Como você mencionou, você PODE iniciar os programas necessários a partir de um konsole recém-iniciado, que teria herdado as novas configurações de .profile, mas para alguns isso não é suficiente.

Ai ... você precisará sair e voltar, no mínimo. Sinto muito. Mas olhe para o lado positivo ... você não precisa reiniciar.

(Hmmm, inicie outro novo X-server em: 1 (ou: 2, etc), ajuste o DISPLAY env-vars de todos os programas que você precisa para continuar rodando, para movê-los para o novo servidor X. então mate o primeiro servidor e mude para o novo (lembre-se, isso é um pouco mais fácil de dizer, do que))

EDIT:
Eu tinha outra ideia !! Se você fosse usar gdb para invadir o kwin process, usando chamadas de função especialmente criadas, você PODERIA adicionar qualquer número de variáveis de ambiente, alterar valores, o que quer que ... o que então seria refletido em quaisquer novos programas / processos que você iniciasse daquele ponto em diante. Eu fiz isso para alterar o diretório atual de um processo 'para desmontar / remontar as coisas. Provavelmente não para os fracos de coração ... Mas não é para isso que atendemos aqui, é isso? HeeHee! É possível! Eu suponho que você poderia apenas invadir todos os processos em execução, injetar os novos valores de variáveis de ambiente. Então você não teria que reiniciar nada.

Palavras sábias de Tio Ben (Homem-Aranha, não o RICE! sheesh!) .... " Com grande poder, vem uma grande responsabilidade " Me parece que eu vou coloque esse Idea Card na pilha "As Yet Unproven" por enquanto. Você faz isso primeiro ... eu vou assistir ... daqui de cima ... atrás dessa porta ...

    
por 01.07.2012 / 00:12