Wie deaktiviere ich den automatischen Start von X-Servern in Debian Jessie?


39

Ich habe eine Remote-Maschine, auf der Debian 8 (Jessie) mit lightdm installiert ist. Ich möchte, dass es im No-GUI-Modus gestartet wird, aber ich möchte nicht alles X-bezogene entfernen, um es trotzdem mit dem -XParameter über SSH ausführen zu können . Wie kann man den Autostart des X-Servers deaktivieren, ohne ihn zu entfernen?

Ich habe versucht systemctl stop lightdm, es stoppt das lightdm, aber es läuft wieder nach dem Neustart. Ich habe es auch versucht systemctl disable lightdm, aber es tut im Grunde nichts. Es benennt die Skripte von lightdm in /etc/rc*.dVerzeichnissen um, startet aber nach dem Neustart immer noch. Was mache ich also falsch? Und ich kann nicht einfach update-rc.d lightdm stop, weil es veraltet ist und nicht funktioniert.


2
Für die Ausführung von X-Inhalten über ssh muss kein X-Server auf dem Computer installiert sein. (Es werden nur die X- Client- Bibliotheken benötigt). Möchten Sie wirklich einen X-Server installiert haben? [AFAIK, Sie haben einen Fehler gefunden - die Deaktivierung hätte funktionieren sollen. Das ist natürlich kaum eine Antwort ...]
derobert

@derobert Oh, also ... ich glaube, ich brauche den X-Server in diesem Fall nicht. Es ist immer noch eher eine Problemumgehung als eine Lösung, aber danke. Kann ich das lightdm und alle xorg-server- * -Pakete sicher entfernen oder sollte ich etwas behalten, z. B. xorg-server-input- * oder Grafiktreiber?
Kurogetsusai


@kurogetsusai können Sie lightdm und xorg-server- * entfernen. Sie müssen wirklich nur die xauth(von empfohlenen openssh-server) Bibliotheken behalten , von denen Ihre X-Clients abhängen. Sie benötigen wahrscheinlich auch einige Schriftarten.
Derobert

Antworten:


81

Die Deaktivierung funktionierte nicht, weil die Debian- /etc/X11/default-display-managerLogik sie überschreibt.

Um Text unter systemd als Standard zu booten (unabhängig von der Distribution):

systemctl set-default multi-user.target

So kehren Sie zum Booten über die GUI zurück:

systemctl set-default graphical.target

Ich bestätigte diese Arbeit auf meiner Jessie VM und Slashback bestätigte sie auch auf Stretch.

PS: Sie benötigen den X-Server auf Ihrem Computer nicht, um X-Clients über ssh auszuführen. Der X-Server wird nur dort benötigt, wo sich das Display (Monitor) befindet.


2
+1 für das Hinweisen auf X ist nicht erforderlich, um X-Clients über SSH
auszuführen

Funktioniert auf meiner Stretch VM.
Slashback

funktioniert aber es gibt immer noch ein xterm terminal, kann es nicht loswerden.
Ransh

@ransh Klingt so, als ob Sie Ihre eigene Frage stellen sollten. Nehmen Sie in Ihrer Frage Bezug auf diese Frage und erläutern Sie, was Sie damit meinen. Ich bin nicht sicher, wie immer noch ein xterm auftaucht, wenn X nicht startet. Auch alles, was an Ihrem System anders sein könnte.
Derobert

1
Sie können systemctl get-default verwenden, um die aktuelle Version zu ermitteln. sehr nützlich für Remote-Server.
Sadi

4

Sie können auch systemd.unit=multi-user.targetzur Kernel-Befehlszeile hinzufügen , wenn Sie nicht auf das laufende System zugreifen können.


2

Ich weiß nicht viel über Debian, aber auf meinem Ubuntu 14.04-Laptop ist hier die Standardprozedur, die ich verwende, wenn ich X deaktivieren und command promptzur Fehlerbehebung booten möchte :

  1. Bearbeiten Sie die Datei /etc/default/grubim Superuser-Modus und legen Sie fest GRUB_CMDLINE_LINUX_DEFAULT="text"

Optional können Sie auch diese Zeile auskommentieren: #GRUB_TERMINAL=console und dann tun sudo update-grub. Das Gerät startet im Textmodus.

  1. Um die grafische Oberfläche von dort aus zu starten, können Sie sudo service lightdm startin einigen Situationen #gdm oder startx verwenden

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


Funktionierte nicht in Ubuntu 16.04. Es bootet immer noch automatisch zu Gnome.
Juha Untinen

Haben Sie versucht, den Kommentar zu entfernen GRUB_TERMINAL=consoleund auch die Made zu aktualisieren?
Prahlad Yeri

Ja. Ich musste dies tun, was in der akzeptierten Antwort erwähnt wird:systemctl set-default multi-user.target
Juha Untinen

0

Versuchen Sie den folgenden Befehl:

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

0

Ich musste das machen:

systemtcl disable *dm

wo *ist ein goder kvielleicht ein x.


natürlich * ist ein "g" oder ein "k" vielleicht "x"
emile boyer
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.