Jak wyłączyć automatyczne uruchamianie GDM?

11

Po instalacji Ubuntu Server 12.04 zainstalowałem Xubuntu tylko po to, aby mieć minimalny GUI:

sudo apt-get install x-window-system-core
sudo apt-get install --no-install-recommends xubuntu-desktop gparted

Ale teraz chcę uruchomić X tylko w niektórych sytuacjach. Przed 12.04 wystawiam:

sudo update-rc.d -f gdm remove

Ale to polecenie już nie działa.

Jak mogę zatrzymać X od init na Ubuntu 12.04? I jak mogę go uruchomić, kiedy go potrzebuję?

Próbowałem obu tych pytań, ale nie mam pliku gdm.conf:

josircg
źródło
Tak więc miałeś komputer Ubuntu, Xubuntu po instalacji, ale nie chcesz domyślnej sesji graficznej Xubuntu, ale chcesz uruchomić X ręcznie?
belacqua
Dziękuję + Jorge Castro. Przeczytałem już oba artykuły wcześniej, ale oba działają na gdm.conf, ale nie mam konfiguracji gdm na tym polu.
josircg
Dzięki za odpowiedź Belacqua. Nie. To serwer Ubuntu. Właśnie tego chcę: uruchom X tylko w określonych sytuacjach.
josircg
Zastanawiam się, czy Xubuntu nie ma pliku gdm.conf - powinien on być źródłem wszystkich moich pytań.
josircg

Odpowiedzi:

14

W najnowszych wersjach Ubuntu gdmzostał zastąpiony lightdm- dlatego nie masz gdm.conf. Aby ustawić lightdmuruchamianie ręczne, utwórz plik zastępowania dla konfiguracji init:

echo 'manual' | sudo dd of=/etc/init/lightdm.override

(tworzy to po prostu plik o nazwie /etc/init/lightdm.overridezawierający pojedynczy wiersz z napisem manual)

W ten sposób lightdm zostanie uruchomiony tylko po wywołaniu:

sudo service lightdm start

i aby to zatrzymać:

sudo service lightdm stop
Jeremy Kerr
źródło
3
Czy nie byłoby łatwiej po prostu wpisać echo manual >> /etc/init/lightdm.overridejako root?
Braden Best
4
@ B1KMusic: pewny; ale musisz wykonać dodatkowe polecenie, aby uzyskać powłokę root. Wolę używać sudo i uruchamiać absolutnie minimalną ilość rzeczy jako uprzywilejowany użytkownik (w tym przypadku działając bashjako root, a nie ddjako root)
Jeremy Kerr
To głupi powód, aby używać bardzo silnego narzędzia, takiego jak dd. Łatwo jest go grubo dotknąć (jak naciśnięcie tabulatora pośrodku światła) i zatkać ważny plik.
Rob Russell
@RobRussell: jak to się różni od podania nazwy pliku dla dowolnego polecenia? Zaletą używania ddtutaj jest to, że uruchamiasz tylko jeden (i prosty) proces jako root, a nie całą powłokę.
Jeremy Kerr
Różni się tym, że dd może mieć bardzo różne wyniki w zależności od popełnionego błędu. Celem jest umieszczenie wiersza tekstu w pliku. Do tego stworzono edytory tekstu. Jeśli użytkownik postępuje zgodnie z tymi instrukcjami, nie widzi pliku po zakończeniu pisania. Jeśli chcą wrócić i edytować ten plik lub przejrzeć jego zawartość, muszą użyć zupełnie innej komendy. Myślę, że większość ludzi pomyślałaby o użyciu edytora tutaj (nano, gedit, vi itp.).
Rob Russell
17

W przypadku Ubuntu 18.04 działało to dla mnie:

Wyłącz gdm
Zapobiegnie to ładowaniu gdm podczas rozruchu, a logowanie odbywa się za pośrednictwem konsoli.

systemctl set-default multi-user.target

Korzystając z tej metody, gdmmożna nadal uruchomić ręcznie za pomocąsystemctl start gdm

Sprawdź wartość systemddomyślną za pomocą

systemctl get-default

Zwykle będzie to graphical.targeti może być cofniętesystemctl set-default graphical.target

Źródło: https://wiki.debian.org/GDM#systemd

DarthVanger
źródło
4

po prostu chcę się podzielić, może być pomocny dla każdego.

Zainstalowałem Ubuntu Server 12.04, a później zainstalowałem interfejs graficzny kubuntu-desktop

teraz, kiedy chciałem wyłączyć graficzne uruchamianie / logowanie, wypróbowałem wszystkie opcje

/etc/default/grub.. dokonanie wpisu GRUB_CMDLINE_LINUX_DEFAULT="text"zamiast"quiet splash"

update-grub

update-rc.d -f ldm remove
update-rc.d -f kdm remove
update-rc.d -f gdm remove

jak również

echo 'manual' | sudo tee /etc/init/lightdm.override

Nic nie działało. Następnie edytowałem /etc/init/kdm.confi dodałem 2 domyślny poziom uruchamiania do i poziom uruchamiania [! 026]

stop on runlevel [0126]
#================================================================
#start on ((filesystem
#           and runlevel [!026]
#           and started dbus
#           and (drm-device-added card0 PRIMARY_DEVICE_FOR_DISPLAY=1
#                or stopped udev-fallback-graphics))
#          or runlevel PREVLEVEL=S)
#
#stop on runlevel [0126]
#================================================================

Zadziałało.

Ali
źródło
Miałem to samo doświadczenie. Działa to również na /etc/init/gdm.conf
Donn Lee
2

Zainstalowałem Ubuntu Server 12.04 na netbooku, głównie dlatego, że bardziej jestem fanem CLI, a nie GUI, ale chciałem mieć lekki GUI do drobiazgów. Zainstalowałem LXDE, a nie Lubuntu, ale uruchomiłoby LXDM, menedżera logowania dla LXDE. Rozejrzałem się i próbowałem wielu rzeczy, aby przestać ładować LXDE. Po zapoznaniu się z tym pytaniem i odpowiedzią znalazłem dobry sposób na zatrzymanie go w LXDE.

Zamiast dodawać plik podobny do lightdm.override, szukałem w / etc / init i znalazłem plik o nazwie lxdm.conf. Po przejrzeniu pliku, głównie dlatego, że byłem ciekawy, stwierdziłem, że jest to plik, którego potrzebowałem lub nie potrzebowałem. Po zamknięciu pliku zmieniłem jego nazwę

    sudo mv /etc/init/lxdm.conf /etc/init/lxdm.conf.bak

Zmieniłem nazwę zamiast usuwać go na wypadek, gdyby powodował problemy, ale jak dotąd nie mogę odróżnić nazwy tego pliku, więc powinno być bezpiecznie go usunąć.

Nie wiem o innych DE, ale działało to dla mnie z LXDE.

Anthony
źródło
1

Sprawdzić systemctl get-default.

Jeśli dane wyjściowe są graphical.target, ustaw je za multi-user.targetpomocą systemctl set-default:

systemctl set-default multi-user.target

Odnoś się do tego linku, aby uzyskać więcej informacji na temat systemd-target: 10.3. Praca z celami systemowymi

James
źródło
0

Poniższe informacje dotyczą Ubuntu Server 12 LTS

Najpierw musisz otworzyć prawdziwy termin za pomocą CTRL+ALT F1

Zaloguj sie

Zatrzymaj gdm za pomocą:

$ sudo service gdm stop

Usuń gdm, którego wcale nie potrzebujesz na serwerze.

$ sudo apt-get remove gdm 

Ustaw następny poziom uruchamiania za pomocą.

$ sudo telinit 3

Bez gdm musisz zainstalować xinit, jeśli chcesz nadal móc uruchamiać aplikacje oparte na GUI bez menedżera okien gdm.

$ sudo apt-get install xinit

Uruchom ponownie na poziomie 3.

$ sudo reboot

Aby uruchomić GUI lub pulpit po ponownym uruchomieniu, wykonaj.

$ startx 

To rozpocznie sesję gnome jak zwykle.

Po zakończeniu wyloguj się z pulpitu i przenieś z powrotem do terminu 3 poziomu.

Ponadto możesz teraz uruchamiać poszczególne aplikacje bez pulpitu, takie jak:

$ startx nautilus

lub uprzywilejowany z

$ startx sudo synaptic
BamBam
źródło