Existe-t-il une simple commande linux qui me dira ce qu'est mon gestionnaire d'affichage?


Réponses:


46

Malheureusement, la configuration diffère pour chaque distribution:

Debian / Ubuntu

/etc/X11/default-display-manager

RedHat (devrait également s'appliquer à Fedora)

/etc/sysconfig/desktop

OpenSuSe

/etc/sysconfig/displaymanager

1
Euh, pourquoi tu me parles de configuration ...?
ptrcao

2
@ptrcao Parce qu'il spécifie le gestionnaire d'affichage que vous utilisez.
Let_Me_Be

1
Supposons que je ne sache pas ce qu'est mon gestionnaire d'affichage et que je veuille le savoir en utilisant un terminal. Comment je ferais ça?
ptrcao

3
@ ptrcao Vous examineriez ces fichiers. Soit les ouvrir dans votre éditeur préféré, ou tout simplement faire cat.
Let_Me_Be

1
Il ne contient qu'une ligne: /usr/bin/xdm- cela signifie-t-il que xdm est mon gestionnaire d'affichage?
ptrcao

23

Il n'y a pas. Le gestionnaire d'affichage n'est pas nécessairement lié à quoi que ce soit d'autre qui s'exécute sur le même serveur X. Le gestionnaire d'affichage s'exécute avant de vous connecter; c'est choisi par l'administrateur système. Tout le reste (gestionnaire de fenêtre, gestionnaire de session, environnement de bureau,…) est choisi par l'utilisateur. Il n'est même pas nécessaire d'avoir un gestionnaire d'affichage: si vous vous connectez en mode texte et démarrez l'interface graphique avec startx, aucun gestionnaire d'affichage n'est impliqué.

Vous pouvez vérifier quel gestionnaire d'affichage est celui par défaut sur votre système . Cela ne fera que donner la bonne réponse sous certaines hypothèses communes mais non universelles. Si vous avez exécuté manuellement un autre gestionnaire pour une raison quelconque, cette méthode ne vous le dira pas.

Un bon pari consiste à connaître l'ID de processus du serveur X: son processus parent est probablement un gestionnaire d'affichage, le cas échéant. Cela nécessite que vos clients s'exécutent sur le même ordinateur que le serveur X. lsof /tmp/.X11-unix/X${DISPLAY#:}montrera le processus du serveur X (en supposant que les sockets X vivent /tmp/.X11-unix).

x=$(lsof -F '' /tmp/.X11-unix/X0); x=${x#p}
ps -p $(ps -o ppid -p $x)

(Explication: lsof -F ''imprime la sortie comme p1234. L' -Foption désigne un format de sortie analysable par machine et ''n'imprime que le PID, avec la lettre la pprécédant. x=${x#p}Élimine la lettre initiale p. La dernière ligne obtient le PID du parent du serveur X ( ps -o ppid -p $x), et appelle pspour afficher des informations sur ce processus parent.)

Certaines distributions permettent d'installer plusieurs gestionnaires d'affichage. Il n'y en aura qu'un seul en cours d'exécution, sauf si vous avez un système multiseat. Pour lister tous les paquets du gestionnaire d’affichage installés sous Debian et ses dérivés:

aptitude -F %p search '~i ~P^x-display-manager$'

ou

</var/lib/dpkg/status awk '
    /^Package: / {package = $2}
    /^Provides: .*x-display-manager/ {print package}'

18

Si vous utilisez une distribution basée sur systemd . Cette commande donnera le nom du gestionnaire d'affichage actuellement configuré car plusieurs gestionnaires d'affichage peuvent être installés.

grep '/usr/s\?bin' /etc/systemd/system/display-manager.service

SORTIE sera quelque chose comme

ExecStart=/usr/bin/mdm

On dirait que j'utilise le gestionnaire d'affichage à la menthe.


3
Vous avez présenté un exemple classique d' utilisation inutile de chat - c'est parfaitement acceptable, et même préférable, par exemple grep '/usr/bin' /etc/systemd/system/display-manager.service. (Et, à proprement parler, puisqu'il /usr/binne contient aucun caractère spécial pour le shell, vous n'avez pas besoin de le citer, mais cela ne fait pas mal.)
G-Man dit 'Réintégrez Monica'

6
«utilisation inutile de chat» est toujours quelque peu relative. Je préfère éditer la dernière chaîne de cat <file> | grep <searchterm>au lieu de la seconde grep <searchterm> <file>lors de la récupération.
Sjas

1
Cette réponse devrait être la première que vous voyez, car la plupart des utilisateurs ayant ce type de question exécutent aujourd'hui des distributions basées sur systemd. Merci. Ça m'a aidé.
Adergaard

3
@allsyed mon fichier n'a pas / usr / bin, il a / usr / sbin. Linux-Mint 18
Prévt_Yadav

2
Dans mon cas (Centos 7) je dois écrire | grep '/ usr / sbin'
Davide

16

Si vous utilisez systemd, alors

systemctl status display-manager

Affiche le nom et l’état du service du gestionnaire d’affichage actif sur votre machine.


Avec Debian 9, c’est le seul qui a fonctionné pour moi. Les autres méthodes systemd n'ont rien renvoyé.
mickeyf_supports_Monica le

10

Le nom du gestionnaire d'affichage doit être dans DESKTOP_SESSION.

echo $DESKTOP_SESSION

retourne "gnome" pour moi.

EDIT
Vous avez raison. Ils vont et viennent à ce sujet sur le bugzilla de XFCE, donc ce n'est probablement pas très fiable.


@frabjous: Qu'en est-il de GDM et KDM? S'agit-il également de gestionnaires d'affichage ou de gestionnaires de connexion?
ptrcao

J'ai dû accidentellement effacer le commentaire de frabjous juste au-dessus parce que je me souviens qu'il avait remarqué que Gnome est un environnement de bureau, pas un gestionnaire d'affichage. La confusion
règne sur

Cela donne des informations sur… la session de bureau, qui sera probablement la même chose que votre environnement de bureau, mais peut être tout à fait autre chose si vous n'utilisez pas un environnement de bureau ou si vous avez une configuration particulière. Sur la machine sur laquelle j'écris ceci, $DESKTOP_SESSIONc'est unknown.
Gilles 'SO- arrête d'être méchant'

+1, echo $ DESKTOP_SESSION me renvoie également gnome ... mais peut-être que cela ne fonctionne que pour gnome?
Trevor Boyd Smith

Si cela ne fonctionne que pour gnome, cette commande vous aidera uniquement à déduire "oui vous avez gnome ou non vous n'avez pas gnome". Quand la question veut savoir plus que cela.
Trevor Boyd Smith

2

Comme @Gilles a dit, le gestionnaire d'affichage va démarrer votre environnement de bureau.

Selon le wiki de Debian , la plupart du temps, ils se terminent par dm, seule exception slim.

Cela devrait donc suffire à la plupart des besoins de la population:

ps auxf | awk '{print $11}' | \grep --color -e dm$ -e slim$

Ou pour être sûr, il existe en tant que processus parent et n'est pas créé (à l'exception du système init):

ps auxf | awk '{print $11}' | \grep -e "^/.*dm$" -e "/.*slim$" 

1
C'est la seule solution qui a fonctionné pour moi. J'ai découvert que mon Fedora 23 minimal avec l'add-on LXDE (et non le LXDE Spin) est en cours d'exécution lightdm. La solution RedHat / Fedora de la réponse principale n'a pas fonctionné, la configuration semble s'être déplacée.
Daniel Saner


0

Comme déjà mentionné, il y a beaucoup de confusion dans ce fil. La question initiale est de savoir quel gestionnaire d’affichage, et non pas le gestionnaire de bureau ou le gestionnaire de fenêtres. J'utilise actuellement Xfwm4, gestionnaire de fenêtres Xfce, et lxdm, gestionnaire d'affichage X11 léger (de LXDE et non de Xfce). Vous devriez pouvoir voir quel gestionnaire d’affichage vous utilisez via htop. Vous avez probablement depuis longtemps découvert la réponse au cours des 4 dernières années :)


En fait, jamais jamais ... En fait, nous
avons

0

Vous pouvez le faire via un script tiers appelé screenfetch

Screenfetch est un script bash disponible pour Linux qui affiche des informations système à côté de la version ASCII de la distribution Linux. Logo du système

Installer via le gestionnaire de paquets sudo apt-get install screenfetch(en supposant que vous êtes sur des variantes de Debian)

et juste courir screenfetch dans votre terminal

Lien du projet https://github.com/KittyKatt/screenFetch


-1

X est hautement modulaire, vous pouvez donc mélanger les environnements de bureau et les gestionnaires de fenêtres. Après tout, un gestionnaire de fenêtres n’est qu’un moyen de peindre des fenêtres (c’est la simple vue).

Donc, si vous prenez gnome, Metacity était le gestionnaire de fenêtres, mais maintenant, il est remplacé par Mutter.

Le problème du mélange réside dans les environnements de bureau modernes. Le bureau et le gestionnaire de fenêtres sont étroitement liés. Trop de mixage pourrait aboutir à moins de fonctionnalités.

Comme mentionné précédemment, $ DESKTOP_SESSION fonctionne, mais si vous voulez demander à votre serveur X11, vous pouvez le faire:

xprop -id $(xprop -root _NET_SUPPORTING_WM_CHECK | cut -d\# -f2) WM_NAME

Qui se décompose en

xprop -root _NET_SUPPORTING_WM_CHECK | cut -d\# -f2
0x1000052
xprop -id 0x1000052 WM_NAME
WM_NAME(STRING) = "xfwm4"

Ce qui obtient l'id de la fenêtre créée par le gestionnaire de fenêtres. La spécification dit (http://standards.freedesktop.org/wm-spec/1.3/ar01s03.html):

_NET_SUPPORTING_WM_CHECK, WINDOW/32
The Window Manager MUST set this property on the root window to be the ID
of a child window created by himself, to indicate that a compliant window
manager is active.

Et ensuite, vous demandez la propriété WM_NAME de ladite fenêtre.

WM_NAME étant:

The WM_NAME property is an uninterpreted string that the client wants the
window manager to display in association with the window (for example, in
a window headline bar). 

@frabjous: Xfwm4 est le gestionnaire de fenêtres Xfce. Est-ce la même chose qu'un gestionnaire d'affichage?
ptrcao

@Mathieu Vous parlez de gestionnaires de fenêtres, pas de gestionnaires d'affichage.
Let_Me_Be

@ Let_Me_Be True, mais dans la plupart des cas, votre gestionnaire de fenêtres est lié à votre gestionnaire d'affichage ... À quelle fréquence utilisez-vous le gestionnaire de fenêtres gnome avec kde et vice-versa? Et ça marche parce que gdm / kdm / que vous permettez de sélectionner votre gestionnaire d’affichage, ce qui signifie que lire le fichier de configuration comme vous l’avez dit ne fonctionne pas si vous n’utilisez pas le paramètre fourni par défaut ...
Mathieu

_NET_SUPPORTING_WM_CHECKdonne des informations sur le gestionnaire de fenêtres, pas sur le gestionnaire d'affichage. Cela ne fonctionne même pas toujours; sur mon système, cette propriété est définie sur un ID de fenêtre, mais la fenêtre en question n'a pas de nom.
Gilles 'SO- arrête d'être méchant'

@Mathieu Cela dépend des distributions. Habituellement, lorsque vous installez une version KDE de la distribution, vous obtenez KDM et, lorsque vous utilisez une version de GNOME, GDM. Mais ce que vous verrez de plus en plus, c’est le support officiel d’un seul gestionnaire d’affichage (généralement une variante plus légère que GDM / KDM).
Let_Me_Be

-2
lshw -c video | grep 'configuration'

3
Un peu d'explication serait bien.
phk
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.