4 votes

Comment puis-je modifier mon environnement KDE sans redémarrer ?

J'utilise KDE 4.10. J'ai ajouté une variable d'environnement à mon .profile, cependant cette variable ne sera évidemment pas visible pour les programmes que je lance via l'interface graphique de KDE (par opposition à un Shell avec l'environnement mis à jour) jusqu'à ce que je redémarre KDE.

Existe-t-il un moyen de dire à KDE de relire l'environnement, ou de définir explicitement l'environnement KDE via DBUS ou un mécanisme similaire ?

Un hack consiste à relancer les programmes KDE comme klauncher et krunner à partir d'un Shell ayant l'environnement modifié, mais je cherche quelque chose de plus élégant (élégant signifie ne pas avoir à modifier la mémoire des programmes en cours d'exécution via gdb haha).

Avons-nous enfin trouvé quelque chose que Windows peut faire facilement et que KDE/Linux ne peut pas faire ?

Mise à jour 18/04 : Mise à jour vers KDE 4.10, ajout d'un commentaire sur Windows.

0voto

lornix Points 10746

Tous mes efforts pour faire la même chose ont été vains... Les variables d'environnement sont des choses spéciales, un enfant ne peut pas changer l'environnement du parent, alors qu'un processus parent peut ajuster les choses avant de bifurquer un enfant.

Comme vous l'avez mentionné, vous pouvez lancer les programmes nécessaires à partir d'une console nouvellement lancée, qui aura hérité des nouveaux paramètres de .profile, mais pour certains, cela ne suffit pas.

Hélas... vous devrez vous déconnecter puis vous reconnecter, au minimum. Vraiment désolé. Mais regardez le bon côté des choses... vous n'aurez pas à redémarrer.

(Hmmm, démarrez un autre nouveau serveur X sur :1 (ou :2, etc), ajustez les env-vars DISPLAY de tous les programmes que vous devez continuer à exécuter, pour les déplacer vers le nouveau serveur X puis arrêtez le premier serveur et basculez sur le nouveau. (attention, c'est un peu plus facile à DIRE qu'à FAIRE) )


EDITAR:
J'ai eu une autre IDEE ! Si vous utilisiez gdb pour pénétrer dans le kwin à l'aide d'appels de fonction spécialement conçus, vous POUVEZ ajouter un nombre quelconque de variables d'environnement, modifier les valeurs, etc. .... qui seront ensuite répercutées dans tous les nouveaux programmes/processus que vous lancerez à partir de ce moment-là. Je l'ai fait pour changer le "répertoire courant" d'un processus et pour monter/redémonter des choses. Probablement pas pour les âmes sensibles... Mais ce n'est pas ce dont nous nous occupons ici, n'est-ce pas ? HeeHee ! C'est possible ! Je suppose que vous pourriez aussi vous introduire dans chaque processus en cours d'exécution et injecter les nouvelles valeurs des variables d'environnement. Ainsi, vous n'auriez pas à redémarrer quoi que ce soit.

Des mots sages de Oncle Ben (Spiderman, pas le RICE ! sheesh !).... " De grands pouvoirs impliquent de grandes responsabilités " Je pense que je vais juste mettre cette carte d'idée dans la pile "pas encore prouvée" pour le moment. Vous le faites en premier... Je vais regarder... d'ici... derrière cette porte blindée...

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X