Je veux vérifier quel gestionnaire de fenêtres l'utilisateur utilise (comme GNOME ou KDE, etc.). Comment je fais ça?Comment puis-je vérifier avec Python quel gestionnaire de fenêtres est en cours d'exécution?
Répondre
Vous ne pouvez pas. Il n'y a pas d'endroit central où un programme s'enregistre pour dire "salut, je suis le gestionnaire de fenêtres".
Par exemple, je cours xmonad. Je commence simplement cela en appelant xmonad
dans mon fichier ~/.xsession
avec un couple d'autres programmes pour le démarrer quand je me connecte. Vous ne pouvez pas vraiment le détecter.
Je viens de penser à quelque chose, le gestionnaire de fenêtres est juste comme tout autre programme non? C'est donc dans la liste des processus, par exemple, que j'utilise GNOME, et j'ai un processus appelé 'gnome-sessions'. Je peux donc vérifier si ce processus est en cours d'exécution, donc je sais que l'utilisateur utilise GNOME. Vous ne pouvez pas exécuter 2 WM ou plus en même temps de toute façon? – Jay
@Jay: Bien sûr, si vous avez une liste de tous les gestionnaires de fenêtres, je suppose que vous pourriez. Il y en a beaucoup de différents cependant. Vous ne pouvez pas faire une solution générale. –
Voir 'xnest' ou' Xephyr' ou 'startx -: 1' pour les raisons pour lesquelles votre hypothèse de" ne peut pas exécuter 2 WM ou plus en même temps "est incorrecte. – sarnold
Si vous développez le "pourquoi" que vous souhaitez détecter, quelqu'un pourrait avoir une meilleure idée. – viraptor
duplication possible de [Trouver le nom du gestionnaire de fenêtres X] (http://stackoverflow.com/questions/758648/find-the-name-of-the-x-window-manager) –
Vous pourriez être en mesure de vérifier pour les processus spécifiques qui s'exécutent généralement lorsque l'utilisateur utilise l'un de ces gestionnaires de fenêtres. Je n'ai pas vraiment vérifié ceci d'où le commentaire au lieu de répondre. –