Gibt es einen einfachen Linux-Befehl, der mir sagt, was mein Display-Manager ist?
Ich benutze Xfce. Sind verschiedene Desktop-Umgebungen normalerweise mit verschiedenen Display-Managern verbunden?
command-line
display-manager
ptrcao
quelle
quelle
Antworten:
Leider unterscheidet sich die Konfiguration für jede Distribution:
Debian / Ubuntu
RedHat (sollte auch für Fedora gelten)
OpenSuSe
quelle
cat
./usr/bin/xdm
- Bedeutet das, dass xdm mein Display-Manager ist?Gibt es nicht Der Anzeigemanager ist nicht unbedingt mit etwas anderem verbunden, das auf demselben X-Server ausgeführt wird. Der Anzeigemanager wird ausgeführt, bevor Sie sich anmelden. Es wird vom Systemadministrator ausgewählt. Alles andere (Fenstermanager, Sitzungsmanager, Desktop-Umgebung, ...) wird vom Benutzer ausgewählt. Es muss nicht einmal ein Display-Manager vorhanden sein: Wenn Sie sich im Textmodus anmelden und die GUI mit starten
startx
, ist kein Display-Manager beteiligt.Sie können überprüfen, welcher Anzeigemanager der Standard in Ihrem System ist . Dies wird nur unter einigen allgemeinen, aber nicht universellen Annahmen die richtige Antwort geben. Wenn Sie aus irgendeinem Grund manuell einen anderen Manager ausgeführt haben, werden Sie bei dieser Methode nicht darauf hingewiesen.
Eine gute Wette ist es, die Prozess-ID des X-Servers herauszufinden: Der übergeordnete Prozess ist wahrscheinlich ein Display-Manager, falls vorhanden. Dies setzt voraus, dass Ihre Clients auf demselben Computer wie der X-Server ausgeführt werden.
lsof /tmp/.X11-unix/X${DISPLAY#:}
zeigt den X-Server-Prozess an (vorausgesetzt, die X-Sockets sind aktiv/tmp/.X11-unix
).(Erklärung:
lsof -F ''
druckt die Ausgabe wiep1234
. Die-F
Option bedeutet ein maschinenparsbares Ausgabeformat und''
bedeutet, dass nur die PID mit dem Buchstabenp
davor gedruckt wird. Entferntx=${x#p}
den Anfangsbuchstabenp
. Die letzte Zeile erhält die PID des übergeordneten Elements des X-Servers (ps -o ppid -p $x
) und Aufrufeps
, um Informationen zu diesem übergeordneten Prozess anzuzeigen.)Bei einigen Distributionen können mehrere Display Manager installiert werden. Es wird jedoch nur ein einziges System ausgeführt, es sei denn, Sie haben ein Multiseat-System. So listen Sie alle installierten Display Manager-Pakete unter Debian und Derivaten auf:
oder
quelle
Wenn Sie eine systembasierte Distribution verwenden. Dieser Befehl gibt den Namen des derzeit konfigurierten Display Managers an, da möglicherweise mehr als ein Display Manager installiert ist.
OUTPUT wird ungefähr so sein
Es sieht so aus, als würde ich den Minz-Display-Manager verwenden.
quelle
grep '/usr/bin' /etc/systemd/system/display-manager.service
. (Und genau genommen, da/usr/bin
es keine speziellen Zeichen für die Shell gibt, müssen Sie es nicht zitieren - aber es tut nicht weh.)cat <file> | grep <searchterm>
die zweitegrep <searchterm> <file>
Zeichenfolge.Wenn Sie systemd verwenden, dann
Zeigt den Namen und den Status des aktiven Display Manager-Dienstes auf Ihrem Gerät an.
quelle
Der Name des Display Managers sollte in DESKTOP_SESSION stehen
gibt "gnome" für mich zurück.
BEARBEITEN
Sie haben recht. Sie gehen auf XFCEs Bugzilla hin und her, also ist es wahrscheinlich nicht sehr zuverlässig.
quelle
$DESKTOP_SESSION
istunknown
.Wie @Gilles bereits sagte, startet der Display-Manager Ihre Desktop-Umgebung.
Nach Angaben des Debian-Wikis enden diese meistens mit
dm
, einzige Ausnahme istslim
.Dies sollte also für die meisten Bedürfnisse der Menschen ausreichen:
Oder um sicherzugehen, dass es als übergeordneter Prozess existiert und nicht gegabelt wird (außer vom Init-System):
quelle
lightdm
. Die RedHat / Fedora-Lösung von der obersten Antwort hat nicht funktioniert, die Konfiguration scheint sich verschoben zu haben.In einigen Fällen könnte wmctrl helfen. Dieses Dienstprogramm ist mit vielen Windows-Managern kompatibel.
sollte den Namen des aktuell verwendeten Fenstermanagers anzeigen.
quelle
Wie bereits erwähnt, gibt es in diesem Thread viel Verwirrung. Die ursprüngliche Frage ist, welcher Display Manager, nicht Desktop Manager oder Window Manager. Ich verwende derzeit Xfwm4, das Xfce-Fenstermanager ist, und lxdm, das leichter X11-Displaymanager ist (von LXDE, nicht Xfce). Sie sollten in der Lage sein zu sehen, welchen Anzeigemanager Sie über htop verwenden. Sie haben die Antwort in den letzten 4 Jahren wahrscheinlich schon lange entdeckt :)
quelle
Sie können dies über ein Drittanbieter-Skript namens screenfetch tun
Screenfetch ist ein für Linux verfügbares Bash-Skript, das neben der ASCII-Version des Linux-Distributionslogos des Systems Systeminformationen anzeigt
Installation über den Paketmanager
sudo apt-get install screenfetch
(vorausgesetzt, Sie verwenden Debian-Varianten)und laufen
screenfetch
Sie einfach in Ihrem TerminalProjektlink https://github.com/KittyKatt/screenFetch
quelle
X ist sehr modular aufgebaut. Wenn Sie es wirklich wollten, können Sie Desktop-Umgebungen und Windows-Manager kombinieren. Schließlich ist ein Fenstermanager nur eine Möglichkeit, Fenster zu malen (das ist die einfache Ansicht).
Wenn Sie also Gnome nehmen, war Metacity früher der Windows-Manager, aber jetzt wurde er von Mutter ersetzt.
Das Problem beim Mischen liegt in modernen Desktop-Umgebungen. Desktop und Window Manager sind eng miteinander verbunden. Zu viel Mischen kann zu weniger Funktionalität führen.
Wie bereits erwähnt, funktioniert $ DESKTOP_SESSION, aber wenn Sie Ihren X11-Server fragen möchten, können Sie Folgendes tun:
Welches zerfällt in
Welches bekommt die ID des Fensters vom Fenstermanager erstellt. In den technischen Daten heißt es (http://standards.freedesktop.org/wm-spec/1.3/ar01s03.html):
Und dann fragen Sie nach der WM_NAME-Eigenschaft des Fensters.
WM_NAME ist:
quelle
_NET_SUPPORTING_WM_CHECK
Gibt Informationen über den Fenstermanager, nicht über den Anzeigemanager. Es funktioniert nicht immer; Auf meinem System ist diese Eigenschaft auf eine Fenster-ID festgelegt, das betreffende Fenster hat jedoch keinen Namen.quelle