добавить в автозагрузку... но как? если Ubuntu не запускается и клавиатура не работает. То-есть я не могу переключиться в терминал, нажав альт-контрл-ф1 при загрузке окна с логином.
Е.М.Н.И.П. в ubuntu нет /etc/inittab, в котором можно указать нужный runlevel потому ход конёй
00. Если single mode запускает голую консоль - отлично. Идём в пункт 4.
01. Стартуем с liveCD
02. Монтируем систему с жёсткого диска в каталог /mnt
В качестве примера привожу свою систему:
sda1 /boot
sda2 /
sda4 /home
sda5 swap
sda6 /usr
sda7 /var
Порядок монтирования:
sudo mount /dev/sda2 /mnt #смонтировали корень
Остальные разделы монтируем в соответствующие каталоги в /mnt. swap /boot и /home не понадобятся
sudo mount /dev/sda6 /mnt/usr
sudo mount /dev/sda7 /mnt/var
Привязываем каталог девайсов и процессов:
sudo mount -o bind /dev /mnt/dev
sudo mount -o bind /proc /mnt/proc
sudo mount -o bind /sys /mnt/sys
В моём примере целый зоопарк разделов. Возможно у вас /usr /var /boot и /home в корне. Тогда достаточно примонтировать только его. Привязка /sys /proc и /dev нужна в любом случае.
03. Когда необходимые разделы полностью смонтированы переходим в систему:
sudo chroot /mnt
Теперь, когда мы в системе установленной на жёстком диске - можно начинать настройку...
04. Убираем автозагрузку *DM:
Для Ubuntu и xUbuntu (GNOME, XFCE)
update-rc.d -f dgm remove
Для kUbuntu (KDE)
update-rc.d -f kdm remove
05. Если настройка проделывалась без монтирования каталогов - перезагружаемся и читаем пункт 8. Если настраивали с liveCD - читаем пункт 6.
06. Выходим из примонтированной системы:
exit
07. Отмонтируем разделы в следующей последовательности: сначала все, что нонтировались в корень, /proc /sys /dev, потом сам корень. В моём случае:
sudo umount /dev/sda6 #подкаталоги
sudo umount /dev/sda7
sudo umount /mnt/dev #процессы
sudo umount /mnt/proc
sudo umount /mnt/sys
sudo umount /dev/sda2 #корень
Если попытатся отмонтировать корневой каталог раньше дочерних - получите ошибку device is busy.
Теперь перезагружаемся в нашу систему.
08. Проверяем наличие hal в системе:
sudo aptitude show hal
aptitude нашёл пакет - отлично, идём дальше. Нет - устанавливаем:
sudo aptitude install hal
09. Запускаем hal:
sudo /etc/init.d/hal start
HAL выдаст [BUSY] - перезапустим на всякий случай:
sudo /etc/init.d/hal restart
10. Запускаем X.org:
startx
Клавиатура и мышь работают - дело сделано, читаем пункт 17. Висяк - настраиваем hal.
11. Переносим файл debian-x11-keymap.fdi в домашний каталог
sudo mv /usr/share/hal/fdi/policy/10osvendor/debian-x11-keymap.fdi $HOME
12. Cоздаём новый 10-keymap.fdi в привычном для вас редакторе vi или nano:
sudo vi /usr/share/hal/fdi/policy/10osvendor/10-keymap.fdi
sudo nano /usr/share/hal/fdi/policy/10osvendor/10-keymap.fdi
Приводим файл к следующему состоянию:
<?xml version="1.0" encoding="ISO-8859-1"?> <!-- -*- SGML -*- -->
<deviceinfo version="0.2">
<device>
<match key="info.capabilities" contains="input.keymap">
<append key="info.callouts.add" type="strlist">hal-setup-keymap</append>
</match>
<match key="info.capabilities" contains="input.keys">
<merge key="input.xkb.rules" type="string">base</merge>
<!-- If we're using Linux, we use evdev by default (falling back to
keyboard otherwise). -->
<merge key="input.xkb.model" type="string">keyboard</merge>
<match key="/org/freedesktop/Hal/devices/computer:system.kernel.name"
string="Linux">
<merge key="input.xkb.model" type="string">evdev</merge>
</match>
<merge key="input.xkb.layout" type="string">us,ru</merge>
<merge key="input.xkb.variant" type="string">,winkeys</merge>
<merge key="input.xkb.options" type="string">grp:alt_shift_toggle,grp_led:scroll,compose:ralt</merge>
</match>
</device>
</deviceinfo>
12. Сохраняем изменения и перезапускаем hal:
sudo /etc/init.d/hal restart
Запускаем X.org:
startx
Мышь и клавиатура работают - читаем пункт 17. По прежднему глухо - оставляем HAL в покое и переходим к xorg.conf.
13. Генерируем новый xorg.conf:
sudo X -configure
В папке /root появится файл xorg.conf.new.
14. Открываем редактором xorg.conf.new и проверяем наличие настроек для устройств ввода:
sudo vi /root/xorg.conf.new
sudo nano /root/xorg.conf.new
Пример xorg.conf с указанными "InputDevice":
Section "ServerLayout"
Identifier "X.org Configured"
Screen 0 "Screen0" 0 0
InputDevice "Logitech_MX" "CorePointer"
InputDevice "Logitech_Wave" "CoreKeyboard"
EndSection
...
Section "InputDevice"
Identifier "Logitech_Wave"
Driver "kbd"
Option "XkbModel" "pc105"
Option "XkbKeymap" ",winkeys"
Option "XkbOptions" "grp:alt_shift_toggle,grp_led:scroll,compose:ralt"
EndSection
Section "InputDevice"
Identifier "Logitech_MX"
Driver "mouse"
Option "Protocol" "auto"
Option "Device" "/dev/input/mice"
Option "ZAxisMapping" "4 5 6 7"
EndSection
...
Обратите внимание: Identifier в Section "InputDevice" должен соответствовать InputDevice в Section "ServerLayout".
Если Section "InputDevice" созданы и для мыши и для клавиатуры - перенесём новый файл на место старого, а старый забэкапим:
sudo mv /etc/X11/xorg.conf /etc/X11/xorg.conf.old
sudo mv /root/xorg.conf.new /etc/X11/xorg.conf
Важно не забыть так-же проверить какой драйвер для видео карты указан в xorg.conf.new! Если никаких драйверов пока установлено не было - достаточно указать driver "vesa". Потом с видео разберётесь отдельно.
15. Опять проверяем X.org:
startx
Заработало с настройками xorg.conf - дело сделано. Читаем последний пункт. Если нет - вернём всё на места. С debian-x11-keymap.fdi я раньше не сталкивалась, потому остаётся только выяснять что за костыль такой и по какому принципу работает.
16. Возвращаем обратно dedian-x11-keymap.fdi и удаляем 10-keymap.fdi:
sudo rm 10-keymap.fdi
sudo mv $HOME/debian-x11-keymap.fdi /usr/share/hal/fdi/policy/10osvendor/debian-x11-keymap.fdi
Возвращаем xorg.conf:
sudo rm /etc/X11/xorg.conf
sudo mv /etc/X11/xorg.conf.old /etc/X11/xorg.conf
17. Если HAL помог и устройства ввода заработали - добавляем его в автозагрузку с прочими демонами:
sudo update-rc.d -f hal defaults
Теперь осталось восстановить загрузку графической оболочки.
18. Восстанавливаем загрузку *DE
Для Ubuntu, Xubuntu (GNOME, XFCE)
sudo update-rc.d -f gdm defaults
Для Kubuntu
sudo update-rc.d -f kdm defaults
P.S. Надеюсь - вам поможет