¿Cómo deshabilitar el inicio automático del servidor X en Debian Jessie?


39

Tengo una máquina remota que ejecuta Debian 8 (Jessie) con lightdm instalado. Quiero que se inicie en modo sin GUI, pero no quiero eliminar todo lo relacionado con X para poder ejecutarlo a través de SSH con el -Xparámetro. Entonces, ¿cómo deshabilitar el inicio automático del servidor X sin eliminarlo?

Lo intenté systemctl stop lightdm, detiene el lightdm, pero se ejecuta nuevamente después de reiniciar. También lo intenté systemctl disable lightdm, pero básicamente no hace nada. Cambia el nombre de los scripts de lightdm en los /etc/rc*.ddirectorios, pero aún comienza después del reinicio, entonces, ¿qué estoy haciendo mal? Y no puedo simplemente update-rc.d lightdm stop, porque está obsoleto y no funciona.


2
Ejecutar cosas X a través de ssh no requiere un servidor X instalado en la máquina. (Sólo requiere los X cliente bibliotecas). ¿Realmente quieres un servidor X instalado? [AFAIK, has encontrado un error, la desactivación debería haber funcionado. Por supuesto, eso no es una respuesta ...]
derobert

@derobert Oh, entonces ... creo que no necesito el servidor X en ese caso. Todavía es más una solución que una solución, pero gracias. ¿Puedo eliminar de forma segura el lightdm y todos los paquetes xorg-server- * o debo guardar algo, por ejemplo, xorg-server-input- * o controladores de video?
kurogetsusai


@kurogetsusai puedes eliminar lightdm y xorg-server- *. Realmente solo necesita mantener xauth(recomendado por openssh-server) y cualquier biblioteca de la que dependan sus clientes X. Probablemente también necesite algunas fuentes.
derobert

Respuestas:


82

La desactivación no funcionó porque la /etc/X11/default-display-managerlógica de Debian está terminando sobreescribiéndola.

Para que el arranque de texto sea el predeterminado en systemd (independientemente de qué distribución, realmente):

systemctl set-default multi-user.target

Para volver a iniciar la GUI,

systemctl set-default graphical.target

Confirmé esos trabajos en mi Jessie VM y Slashback también lo confirmó en Stretch.

PD: en realidad no necesita el servidor X en su máquina para ejecutar clientes X a través de ssh. El servidor X solo es necesario donde está la pantalla (monitor).


2
No se requiere +1 para señalar X para ejecutar clientes X sobre SSH
jlh

Funciona en mi Stretch VM.
Slashback

funciona pero todavía hay un terminal xterm, no puedo deshacerme de él.
ransh

@ransh Parece que deberías hacer tu propia pregunta. Haga referencia a este en su pregunta y también explique qué quiere decir con que funciona: no estoy seguro de cómo todavía tiene un xterm apareciendo si X no está comenzando. También cualquier cosa que pueda ser diferente sobre su sistema.
derobert

1
puede usar systemctl get-default para saber cuál es el actual. Muy útil para el servidor remoto.
Sadi

4

También puede agregar systemd.unit=multi-user.targeta la línea de comando del núcleo, si no puede acceder al sistema en ejecución.


2

No sé mucho sobre Debian, pero en mi computadora portátil Ubuntu 14.04, aquí está el procedimiento estándar que uso cuando quiero deshabilitar X y arrancar command promptpara solucionar problemas:

  1. Edite el archivo /etc/default/gruben modo superusuario y configure GRUB_CMDLINE_LINUX_DEFAULT="text"

Opcionalmente, también descomenta esta línea: #GRUB_TERMINAL=console y luego hazlo sudo update-grub. La máquina se iniciará en modo texto.

  1. Para iniciar la interfaz gráfica desde allí, sudo service lightdm starten algunas situaciones, puede # gdm o startx

Fuente: https://askubuntu.com/questions/52089/how-do-i-boot-to-a-command-line-interface-instead-of-a-gui


No funcionó en Ubuntu 16.04. Todavía se inicia automáticamente en gnome.
Juha Untinen

¿Intentaste descomentar el GRUB_TERMINAL=consoley también actualizar el grub?
Prahlad Yeri

Sí. Tenía que hacer esto, que se menciona en la respuesta aceptada:systemctl set-default multi-user.target
Juha Untinen

0

Pruebe el siguiente comando:

echo  "manual" | sudo tee -a /etc/init/lightdm.override

0

Tuve que hacer esto:

systemtcl disable *dm

donde *es un go un ktal vez un x.


por supuesto * es una "g" o una "k" tal vez "x"
emile boyer
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.