Эта статья призвана оказать помощь тем пользователям дистрибутива Ubuntu,
которые понимают зачем необходима возможность загрузки системы в консольном
режиме (без запуска графики). Некоторое обоснование этого можно найти в
исходном варианте статьи 1).
В Ubuntu уровни запуска (runlevel) 2,3,4,5 абсолютно идентичны по набору
системных служб, следовательно бесполезны. Реализовать возможность
консольной загрузки можно следующим образом. Необходимо запуск
графической оболочки исключить со 2-го уровня, а оставить только на runlevel 3,4,5.
По умолчанию, система загружается на runlevel 2, который не предусматривает
запуск графического интерфейса. Выполнить же далее загрузку графики можно
двумя (как минимум) путями. Первый - командой:
startx
Второй - переведя систему на третий уровень командой:
sudo telinit 3
От версии к версии в Ubuntu все большее количество системных служб запускаются
через upstart задания. В 10.04 и следующих релизах запуск графической оболочки
выполняется upstart заданием /etc/init/gdm.conf (kdm.conf, lxdm.conf). Берем текстовый
редактор, с правами root открываем файл /etc/init/gdm.conf (kdm.conf, lxdm.conf).
Вместо (пишется все в одну строку):
start on (filesystem and started dbus and (graphics-device-added fb0 PRIMARY_DEVICE_FOR_DISPLAY=1
or drm-device-added card0 PRIMARY_DEVICE_FOR_DISPLAY=1 or stopped udevtrigger)) stop on runlevel [016]
Пишем (пишется все в одну строку):
start on (filesystem and start on runlevel [345] and started dbus and (graphics-device-added
fb0 PRIMARY_DEVICE_FOR_DISPLAY=1 or drm-device-added card0 PRIMARY_DEVICE_FOR_DISPLAY=1
or stopped udevtrigger)) stop on runlevel [0126]
сохраняемся, выходим. На этом все. Если сейчас перегрузить систему, то получим чистый
консольный режим.
Последний штрих. В меню GRUB добавляем пункт, который абсолютно идентичен нашему
основному (умолчательному) варианту, а в конец строки kernel (или сразу после
параметра root ) среди опций загрузки ядра, через пробел пишем цифру 3. При выборе
этого пункта меню GRUB, система загрузится на 3-й уровень, что повлечет
автоматический старт графической оболочки. Вот пример фрагмента меню GRUB:
(пишется все в одну строку)
title 10.04 LXDE sda8 Graphic mode root (hd0,7) kernel
/boot/vmlinuz-2.6.32-21-generic root=/dev/sda8 3 initrd /boot/initrd.img-2.6.32-21-generic
title 10.04 LXDE sda8 Text mode root (hd0,7) kernel
/boot/vmlinuz-2.6.32-21-generic root=/dev/sda8 initrd /boot/initrd.img-2.6.32-21-generic
Вот теперь действительно все.
графические, и для своей корректной работы требуют правильных модулей ядра. Если
после первой успешной загрузки системы, по Ctrl+Alt+F1 вы, вместо консольного
приглашения ввода имени пользователя, видите черный экран, то не спешите
проделывать все вышеописанное. Для начала надо добиться нормальной работы
текстовых консолей. В /etc/modprobe.d/blacklist-framebuffer.conf надо указать те модули
которые грузятся, но некорректно работают. Например модули fbcon и vgafb (тут правда
все довольно индивидуально). После внесения правок в этот файл надо пересобрать файл
initrd-xxxxxxx:
sudo update-initramfs -u
Перегрузиться и посмотреть появились ли текстовые консоли. Если нет, значит
продолжаем поиски до достижения положительного результата.