Jak wyłączyć autostart X serwera w Debian Jessie?


39

Mam zdalną maszynę z systemem Debian 8 (Jessie) z zainstalowanym lightdm. Chcę, aby uruchomił się w trybie bez GUI, ale nie chcę usuwać wszystkich rzeczy związanych z X, aby nadal móc go uruchomić przez SSH z -Xparametrem. Jak więc wyłączyć autostart X serwera bez usuwania go?

Próbowałem systemctl stop lightdm, zatrzymuje lightdm, ale działa ponownie po ponownym uruchomieniu. Próbowałem też systemctl disable lightdm, ale w zasadzie nic nie robi. Zmienia nazwę skryptów lightdm w /etc/rc*.dkatalogach, ale nadal uruchamia się po ponownym uruchomieniu, więc co robię źle? I nie mogę tak po prostu update-rc.d lightdm stop, ponieważ jest przestarzały i nie działa.


2
Uruchamianie X-ów przez ssh nie wymaga serwera X zainstalowanego na komputerze. (Wymaga tylko bibliotek klienta X ). Czy naprawdę chcesz zainstalować serwer X? [AFAIK, znalazłeś błąd - wyłączenie powinno zadziałać. Oczywiście to nie jest odpowiedź ...]
derobert,

@derobert Och, więc ... Myślę, że w tym przypadku nie potrzebuję serwera X. To wciąż bardziej obejście niż rozwiązanie, ale dzięki. Czy mogę bezpiecznie usunąć lightdm i wszystkie pakiety xorg-server- *, czy powinienem coś zachować, np. Xorg-server-input- * lub sterowniki wideo?
kurogetsusai


@kurogetsusai możesz usunąć lightdm i xorg-server- *. Naprawdę musisz po prostu zachować xauth(zalecane przez openssh-server) i wszystkie biblioteki, od których zależy twój klient X. Prawdopodobnie potrzebujesz również czcionek.
derobert

Odpowiedzi:


81

Wyłączenie nie działało, ponieważ /etc/X11/default-display-managerlogika Debiana kończy nadpisywanie go.

Aby tekst był uruchamiany domyślnie w systemied (naprawdę, niezależnie od tego, która dystrybucja jest naprawdę):

systemctl set-default multi-user.target

Aby wrócić do uruchamiania z GUI,

systemctl set-default graphical.target

Potwierdziłem te prace na mojej maszynie Wirtualnej Jessie, a Slashback również to potwierdził na Stretch.

PS: W rzeczywistości nie potrzebujesz serwera X na swoim komputerze, aby uruchomić klientów X na ssh. Serwer X jest potrzebny tylko tam, gdzie jest wyświetlacz (monitor).


2
+1 za wskazanie X nie jest wymagane do uruchamiania klientów X przez SSH
jlh

Działa na mojej maszynie Stretch VM.
Slashback,

działa, ale wciąż istnieje terminal xterm, nie można się go pozbyć.
ransh

@ransh Wygląda na to, że powinieneś zadać własne pytanie. Odwołaj się do tego w swoim pytaniu, a także wyjaśnij, co masz na myśli, mówiąc, że to działa - nie jestem pewien, jak nadal pojawia się Xterm, jeśli X się nie uruchamia. Także wszystko, co może być inne w twoim systemie.
derobert

1
możesz użyć systemctl get-default, aby wiedzieć, co jest bieżące. bardzo przydatne dla zdalnego serwera.
Sadi

4

możesz także dodać systemd.unit=multi-user.targetdo wiersza poleceń jądra, jeśli nie masz dostępu do działającego systemu.


2

Nie wiem dużo o Debianie, ale na moim laptopie z Ubuntu 14.04, oto standardowa procedura, której używam, gdy chcę wyłączyć X i uruchomić w command promptcelu rozwiązania problemów:

  1. Edytuj plik /etc/default/grubw trybie administratora i ustaw GRUB_CMDLINE_LINUX_DEFAULT="text"

Opcjonalnie również odkomentuj tę linię: #GRUB_TERMINAL=console a potem zrób sudo update-grub. Urządzenie uruchomi się w trybie tekstowym.

  1. Aby uruchomić interfejs graficzny stamtąd, sudo service lightdm startw niektórych sytuacjach możesz # być gdm lub startx

Źródło: https://askubuntu.com/questions/52089/how-do-i-boot-to-a-command-line-interface-instead-of-a-gui


Nie działał w Ubuntu 16.04. Nadal uruchamia się automatycznie do krasnala.
Juha Untinen

Czy próbowałeś odkomentować, GRUB_TERMINAL=consolea także zaktualizowałeś grub?
Prahlad Yeri

Tak. Musiałem to zrobić, o czym wspomina zaakceptowana odpowiedź:systemctl set-default multi-user.target
Juha Untinen,

0

Spróbuj wykonać następujące polecenie:

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

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.