Есть много причин, по которым может понадобиться отключить X сервер — к примеру, если нужносделать свой рабочий компьютер сервером (хотя бы и временно), или решить какие-либо проблемы с видеокартой… К примеру, я предпочитаю запускать X с помощью команды «startx» в тот момент, когда я полностью готов к его запуску. Мало приятного наблюдать пустой черный экран, когда новый драйвер для встроенной видеокарточки Intel не хочет работать — в старые времена, я бы нажал комбинацию Ctrl+Alt+Backspace и починил бы его. В Ubuntu это происходит немного иначе.
В Ubuntu используется система инициализации под названием «Upstart». Если вы пробовали связываться с update-rc и замечали, что выключение /etc/init.d/gdm не работает, то теперь вы поймете почему. Конечно, можно выполнить:
Однако это лишь временное решение, тем более которое работает когда у вас и так все работает. К примеру, у меня если видеодрайвер не заработал, то моя консоль не восстанавливается, а я просто получаю пустой экран.
В Ubuntu используется система инициализации под названием «Upstart». Если вы пробовали связываться с update-rc и замечали, что выключение /etc/init.d/gdm не работает, то теперь вы поймете почему. Конечно, можно выполнить:
/etc/init.d/gdm stopОднако это лишь временное решение, тем более которое работает когда у вас и так все работает. К примеру, у меня если видеодрайвер не заработал, то моя консоль не восстанавливается, а я просто получаю пустой экран.
Чтобы X сервер полностью перестал запускаться, нужно правильно работать с upstart. Upstart-определения хранятся в каталоге /etc/init (не-не, только не /etc/init.d). В них описан процесс запуска компьютера в стиле init.d скриптов Gentoo — вы можете определять зависимости, события, фазы и т.п. Итак, заглянем в /etc/init/gdm.conf:
# gdm - GNOME Display Manager
#
# The display manager service manages the X servers running on the
# system, providing login and auto-login services
description "GNOME Display Manager"
author "William Jon McCann "
# Нужно закомментировать следующее:
#start on (filesystem
# and started hal
# and tty-device-added KERNEL=tty7
# and (graphics-device-added or stopped udevtrigger))
#stop on runlevel [016]
emits starting-dm
respawn
script
[ ! -f /etc/X11/default-display-manager -o "$(cat /etc/X11/default-display-manager 2>/dev/null)" = "/usr/sbin/gdm" ]
# Check kernel command-line for inhibitors
for ARG in $(cat /proc/cmdline)
do
case "${ARG}" in
text|-s|s|S|single)
exit 0
;;
esac
done
if [ -r /etc/default/locale ]; then
. /etc/default/locale
export LANG LANGUAGE
elif [ -r /etc/environment ]; then
. /etc/environment
export LANG LANGUAGE
fi
initctl emit starting-dm DM=gdm
exec gdm-binary $CONFIG_FILE
end script
Обратите внимание, что я закомментировал строки start on и stop on. Теперь вы сможете запускать X-сервер и графический менеджер с помощью /etc/init.d/gdm start (даже более правильно — initctl start gdm), но автоматически при запуске компьютера он стартовать не будет.
По материалам сайта http://tech.akom.net/