Как отключить автоматический запуск GDM?

11

После установки Ubuntu Server 12.04 я установил Xubuntu только для того, чтобы иметь минимальный графический интерфейс:

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

Но теперь я хочу начать X только в определенных случаях. До 12.04 я просто выдаю:

sudo update-rc.d -f gdm remove

Но эта команда больше не работает.

Как я могу остановить X от init в Ubuntu 12.04? И как мне начать, когда мне это нужно?

Я пробовал оба этих вопроса, но у меня нет gdm.conf:

josircg
источник
Итак, у вас был рабочий стол Ubuntu, после установки Xubuntu, но вы не хотите использовать графический сеанс Xubuntu по умолчанию, а хотите запускать X только вручную?
Белаква
Спасибо + Хорхе Кастро. Я уже читал обе статьи раньше, но обе работают на gdm.conf, но у меня нет конфигурации gdm на этом поле.
josircg
Спасибо за ответ белаква. Это сервер Ubuntu. Это именно то, что я хочу: начать X только в определенных случаях.
josircg
Мне интересно, у Xubuntu нет gdm.conf - это должно быть корнем всех моих вопросов.
josircg

Ответы:

14

В последних версиях Ubuntu gdmбыл заменен на lightdm- вот почему у вас нет gdm.conf. Чтобы настроить lightdmзапуск вручную, создайте файл переопределения для его конфигурации init:

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

(это просто создает файл с именем /etc/init/lightdm.override, содержащий одну строку с надписью manual)

Таким образом, lightdm будет запущен только при вызове:

sudo service lightdm start

и остановить это

sudo service lightdm stop
Джереми Керр
источник
3
Не проще ли будет просто ввести echo manual >> /etc/init/lightdm.overrideс правами root?
Брэден Бест
4
@ B1KMusic: конечно; но затем вы должны выполнить дополнительную команду, чтобы получить корневую оболочку. Я предпочитаю использовать sudo и запускать абсолютное минимальное количество материала как привилегированный пользователь (в этом случае, запуск от имени пользователя bashroot, ddа не от имени пользователя root)
Джереми Керр
Это глупая причина использовать такой мощный инструмент, как dd. Это довольно легко потрогать пальцем (как нажатие на вкладку в середине света) и ударить важный файл.
Роб Рассел
@RobRussell: чем это отличается от предоставления имени файла для любой команды? Преимущество использования ddздесь состоит в том, что вы запускаете только один (и простой) процесс от имени пользователя root, а не целую оболочку.
Джереми Керр
Это отличается тем, что дд может иметь очень разные результаты в зависимости от ошибки, которую они делают. Цель состоит в том, чтобы вставить строку текста в файл. Для этого созданы текстовые редакторы. Если пользователь следует этим инструкциям, он не увидит файл, когда вы закончите писать. Если они хотят вернуться и отредактировать этот файл или просмотреть его содержимое, им придется использовать совершенно другую команду. Я думаю, что большинство людей подумают об использовании здесь редактора (nano, gedit, vi и т. Д.).
Роб Рассел
17

Для Ubuntu 18.04 это работает для меня:

Отключить gdm
Это предотвратит загрузку gdm при загрузке и входе через консоль.

systemctl set-default multi-user.target

Используя этот метод, gdmвсе еще можно запустить вручную сsystemctl start gdm

Проверьте systemdзначение по умолчанию с

systemctl get-default

Обычно это будет graphical.targetи может быть отменено сsystemctl set-default graphical.target

Источник: https://wiki.debian.org/GDM#systemd

DarthVanger
источник
4

просто хочу поделиться, может быть, это станет полезным для любого.

Я установил Ubuntu Server 12.04 и позже установил графический интерфейс kubuntu-desktop

теперь, когда я хотел отключить графический запуск / вход в систему, я попробовал все варианты

/etc/default/grub.. делая запись GRUB_CMDLINE_LINUX_DEFAULT="text"вместо"quiet splash"

update-grub

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

а также

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

Ничего не получалось. Затем я отредактировал /etc/init/kdm.confи добавил 2 уровня запуска по умолчанию и уровень запуска [! 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]
#================================================================

Это сработало.

Али
источник
Был такой же опыт. Это также сработало на /etc/init/gdm.conf
Донн Ли
2

Я установил Ubuntu Server 12.04 на нетбук, главным образом потому, что я больше поклонник CLI, чем GUI, но хотел легкий GUI для мелких вещей. Я установил LXDE, а не Lubuntu, но он запустил LXDM, менеджер входа в систему для LXDE. Я просмотрел все и перепробовал много вещей, чтобы остановить загрузку LXDE. Посмотрев на этот вопрос и ответ, я нашел хороший способ остановить его для LXDE.

Вместо добавления файла, похожего на lightdm.override, я искал в / etc / init и нашел файл с именем lxdm.conf. Посмотрев файл, в основном потому, что мне было любопытно, я обнаружил, что это тот файл, который мне нужен или не нужен. После закрытия файла я переименовал его

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

Я переименовал его вместо того, чтобы удалить, если это вызвало проблемы, но пока я не могу сказать никаких проблем от переименования этого файла, поэтому его следует безопасно удалить.

Я не знаю о других DE, но это сработало для меня с LXDE.

Энтони
источник
1

Проверьте systemctl get-default.

Если вывод graphical.target, то установите его с multi-user.targetпомощью systemctl set-default:

systemctl set-default multi-user.target

Ссылка на эту ссылку для более подробной информации о systemd-target: 10.3. Работа с Systemd Targets

Джеймс
источник
0

Следующее для Ubuntu Server 12 LTS

Сначала вам нужно открыть реальный термин с CTRL+ALT F1

авторизоваться

Остановите GDM с:

$ sudo service gdm stop

Удалите gdm, он вам вообще не нужен на сервере.

$ sudo apt-get remove gdm 

Установите следующий уровень загрузки с помощью.

$ sudo telinit 3

Без gdm вам потребуется установить xinit, если вы все еще сможете запускать приложения на основе графического интерфейса без оконного менеджера gdm.

$ sudo apt-get install xinit

Перезагрузитесь до уровня запуска 3.

$ sudo reboot

Для запуска графического интерфейса или рабочего стола после перезагрузки сделайте.

$ startx 

Это начнет вашу сессию гнома как обычно.

Когда закончите, просто выйдите из своего рабочего стола и вернитесь к уровню 3.

Также теперь вы можете запускать отдельные приложения без рабочего стола, например:

$ startx nautilus

или привилегированный с

$ startx sudo synaptic
Бам бам
источник