Bo z Upstartem raźniej jest
Pozazdrościłem użytkownikom Edgy Eft’a Upstart’a. Czego mój Debian ma być gorszy od takiego Ubuntu ? Tym bardziej, że odkryłem dziś w experimental/main paczuszkę Upstart’a w wersji 0.2.7.
‘Experimental to coś dla mnie’ – pomyślałem i Upstart wylądał mi na dysku i po chwili w systemie. Co tam manuale. Reboot.
W zasadzie system wystartował. W zasadzie szybciej się to odbyło niż za pomocą mojego starego init’a. Tylko GDM nie reagował na moje dziarskie poklepywanie w klawisze. Zmartwiłem się, bo lubię GDM’a, a i środowisko graficzne mi odpowiada. Standardowy sposób przełączenia się na tekstową konsolę też nie pomógł. Tak to jest, jak się uruchamia program ( Upstart ), nie skonfigurowawszy go z lekka.
Zatem osobom instalującym Upstarta polecam ‘dpkg-reconfigure gdm‘ po zainstalowaniu Upstarta, oraz przesunięcie go na ostatnią pozycję w /etc/rc2.d ( np. S99gdm ). Po tych dwóch czynnościach GDM zaczął się zachowywać normalnie po starcie systemu ( u mnie, nie ręczę jak u innych i u ciebie też – w końcu to experimental ). Oprócz tego, instalując pamiętaj o zainstalowaniu tych dwóch paczek : upstart oraz upstart-compat-sysv. Ta druga paczuszka zapewni nam uruchomienie usług z /etc/rcS.d oraz /etc/rcX.d ( taki tryb zgodności z sysvinit ). Rzecz jasna nie ma przeciwskazań, żeby sobie potem go nie usunąć i rzeźbić Upstarta i usługi w systemie na swoją, nieokrzesaną modłę.
A co z przejściem z X’ów na konsolę ? Upstart olewa /etc/inittab – przynajmniej tak przypuszczam. Zatem, skoro nie można wroga pokonać, trzeba poznać jego metody.
Upstarta konfigurujemy dodając do /etc/event.d/ skrypty nazywane przeze z swojska ‘job’. Taki skrypt zawiera przy którym runlevel’u ma być uruchomiony, co ma się stać przy starcie systemu, a co przy zamykaniu. Nazewnictwo jest chyba dowolne – ważne, aby plik znalazł się w /etc/event.d/ ( ja z natury unikam ‘.’ ‘_’ ‘-‘ w nazwach ). Ale było o konsoli. Zatem, jeżeli nie mamy konsoli, a chcielibyśmy ją mieć na tty1. Tworzymy plik ‘tty1’ i wstawiamy w niego :
# tty1 – getty
#start on runlevel-2
start on runlevel-3
start on runlevel-4
start on runlevel-5stop on shutdown
respawn /sbin/getty 38400 tty1
Bardziej skomplikowane przykłady znajdziecie na stronie Upstarta. Dla konsoli tty2 … Tak, zgadłeś. Robimy plik np. ‘tty2’ a tam wstawiamy to samo, zmieniając tty1 na tty2.
O ile Upstart szybciej wstaje niż init ? Nie sprawdzałem – chcę pozostać w błogim przeświadczeniu, że szybciej. A na oko jest szybciej.