¿Existe un comando simple de Linux que me diga cuál es mi administrador de pantalla?
Estoy usando Xfce. ¿Los diferentes entornos de escritorio generalmente están afiliados a diferentes administradores de pantalla?
command-line
display-manager
ptrcao
fuente
fuente
Respuestas:
Lamentablemente, la configuración difiere para cada distribución:
Debian / Ubuntu
RedHat (también debería aplicarse a Fedora)
OpenSuSe
fuente
cat
./usr/bin/xdm
¿eso significa que xdm es mi administrador de pantalla?No hay El administrador de visualización no está necesariamente relacionado con nada más que se ejecute en el mismo servidor X. El administrador de visualización se ejecuta antes de iniciar sesión; Es elegido por el administrador del sistema. El usuario elige todo lo demás (administrador de ventanas, administrador de sesiones, entorno de escritorio, ...). Ni siquiera tiene que haber un administrador de pantalla: si inicia sesión en modo texto e inicia la GUI
startx
, no hay administrador de pantalla involucrado.Puede verificar qué administrador de pantalla es el predeterminado en su sistema . Esto solo dará la respuesta correcta bajo algunos supuestos comunes pero no universales. Si ejecutaste manualmente un administrador diferente por cualquier razón, este método no te lo dirá.
Una buena apuesta es encontrar el ID de proceso del servidor X: su proceso principal es probablemente un administrador de pantalla, si hay uno. Esto requiere que sus clientes se ejecuten en la misma máquina que el servidor X.
lsof /tmp/.X11-unix/X${DISPLAY#:}
mostrará el proceso del servidor X (suponiendo que los sockets X estén activos/tmp/.X11-unix
).(Explicación:
lsof -F ''
imprime resultados comop1234
. La-F
opción significa un formato de salida analizable por máquina, y''
significa imprimir solo el PID, con la letrap
anterior.x=${x#p}
Elimina la letra inicialp
. La última línea obtiene el PID del padre del servidor X (ps -o ppid -p $x
), y llamaps
para mostrar información sobre ese proceso principal.)Algunas distribuciones permiten instalar múltiples administradores de pantalla. Sin embargo, solo se ejecutará uno a menos que tenga un sistema multiseat. Para enumerar todos los paquetes de gestores de pantallas instalados en Debian y derivados:
o
fuente
Si está utilizando la distribución basada en systemd . Este comando le dará el nombre del administrador de pantalla configurado actualmente porque puede tener más de un administrador de pantalla instalado.
SALIDA será algo así como
Parece que estoy usando el administrador de pantalla de menta.
fuente
grep '/usr/bin' /etc/systemd/system/display-manager.service
. (Y, estrictamente hablando, dado/usr/bin
que no contiene ningún personaje que sea especial para el caparazón, no necesita citarlo, pero no duele)cat <file> | grep <searchterm>
lugar de la segunda degrep <searchterm> <file>
cuando grepping.Si está utilizando systemd, entonces
Mostrará el nombre y el estado del servicio de administrador de pantalla activo en su máquina.
fuente
El nombre del administrador de visualización debe estar en DESKTOP_SESSION
me devuelve "gnomo".
EDITAR
Tienes razón. Ellos van ida y vuelta en el que XFCEs Bugzilla por lo que probablemente no es muy fiable.
fuente
$DESKTOP_SESSION
estáunknown
.Como dijo @Gilles, el administrador de pantalla iniciará su entorno de escritorio.
Según el Wiki de Debian , en su mayoría terminan con
dm
, solo la excepción esslim
.Entonces, esto debería ser suficiente para las necesidades de la mayoría de las personas:
O para estar seguro, existe como un proceso padre y no está bifurcado (excepto del sistema init):
fuente
lightdm
. La solución RedHat / Fedora de la respuesta principal no funcionó, la configuración parece haberse movido.En algunos casos, wmctrl podría ayudar. Esta utilidad es compatible con muchos administradores de Windows.
debería mostrar el nombre del administrador de ventanas utilizado actualmente.
fuente
Como ya se mencionó, hay mucha confusión en este hilo. La pregunta original es qué administrador de pantalla, no administrador de escritorio o administrador de ventanas. Actualmente estoy ejecutando Xfwm4, que es el administrador de ventanas Xfce, y lxdm, que es el administrador de pantalla X11 ligero (de LXDE, no Xfce). Debería poder ver qué administrador de pantalla está utilizando a través de htop. Probablemente hace mucho que descubrió la respuesta en los últimos 4 años :)
fuente
Puede hacerlo a través de un script de terceros llamado screenfetch
Screenfetch es un script bash disponible para Linux que muestra información del sistema junto con la versión ASCII del logotipo de distribución de Linux del sistema
Instalar mediante el administrador de paquetes
sudo apt-get install screenfetch
(suponiendo que esté en variantes de Debian)y solo corre
screenfetch
en tu terminalEnlace del proyecto https://github.com/KittyKatt/screenFetch
fuente
X es altamente modular, por lo que si realmente lo desea, sí, puede mezclar entornos de escritorio y administradores de ventanas. Después de todo, un administrador de ventanas es solo una forma de pintar ventanas (esa es la vista simple).
Entonces, si tomas gnome, metacity solía ser el administrador de Windows, pero ahora ha sido reemplazado por Mutter.
El problema con la mezcla es en entornos de escritorio modernos, el escritorio y el administrador de ventanas están muy vinculados entre sí. Demasiada mezcla podría terminar en menos funcionalidad.
Como se mencionó, $ DESKTOP_SESSION funciona, pero si desea preguntar a su servidor X11, puede hacer esto:
Que se descompone en
Que obtiene la identificación de la ventana creada por el administrador de ventanas. Las especificaciones dicen (http://standards.freedesktop.org/wm-spec/1.3/ar01s03.html):
Y luego solicita la propiedad WM_NAME de dicha ventana.
WM_NAME siendo:
fuente
_NET_SUPPORTING_WM_CHECK
proporciona información sobre el administrador de ventanas, no sobre el administrador de pantallas. Ni siquiera siempre funciona; en mi sistema, esa propiedad está configurada para una ID de ventana pero la ventana en cuestión no tiene nombre.fuente