View previous topic :: View next topic |
Author |
Message |
WombaT n00b
Joined: 18 Jan 2009 Posts: 31
|
Posted: Sun Jan 18, 2009 5:19 pm Post subject: [INIT] xdm a runlevel - nie domyślny |
|
|
Instaluje i konfiguruje KDE według dokumentacji (klik!) i mam problem na punkcie 3.4., mianowicie:
Quote: | Listing 3.4: Dodawanie xdm do domyślnego poziom uruchamiania
Code: | # rc-update add xdm default |
|
juz jedno gentoo mam zainstalowane (na maszynie wirtualnej na laptopie) i tam po wywołaniu tego polecenia x'y startują na domyślnym poziomie, czyli 3... Moj problem polega na tym ze chce aby domyslnie, w inittabie, poziom byl ustawiony na 3, ale x'y startowaly na 5. tak jak w innych dystrybucjach. Czyli aby system startowal tylko z konsola, a dopiero po wpisaniu init 5 startowały x'y i inne programy z tego poziomu. Oczywiscie nie bedzie tak zawsze, z czasem zmienie inittaba aby od razu startowalo do 5. ale dzieki temu bede mial prosty sposob na zamkniecie srodowiska graficznego init 3 - taki nawyk pozostał mi po opensuse.
Tak więc jak to zrobić?
Myslałem aby zmienic domyslny poziom na 5, dodac xdm do domyślnego, i potem znow zmienic domyslny na 3. Ale problem w tym ze jesli xdm jest faktycznie dodawany do "domyślnego", a nie do konkretnego numerka to nawet jak zmienie na 3 poziom to i tak mi bedzie srodowisko startowac.
Nastepnie przegladalem inittaba i zaciekawił mnie ten fragment:
Code: | l0:0:wait:/sbin/rc shutdown
l1:S1:wait:/sbin/rc single
l2:2:wait:/sbin/rc nonetwork
l3:3:wait:/sbin/rc default
l4:4:wait:/sbin/rc default
l5:5:wait:/sbin/rc default
l6:6:wait:/sbin/rc reboot |
czy gdyby zmienic przy piątym poziomie nazwe z default na jakas inna, chociazby na "wszystko" to zadziałałaby komenda:
Code: | # rc-update add xdm wszystko |
i start srodowiska graficznego "dodal" by sie TYLKO do 5. poziomu? Szczerze mówiąc to troche w to wątpie, zeby takie coś zaskoczyło.
próbowałem:
Code: | # rc-update add xdm 5 |
ale nie zadziałało, otrzymałem komunikat o nie istniejącym poziomie.
Jest to szczególnie dla mnie ważne, bo dodając np sambe do automatycznego uruchamiania, oczywistą rzeczą jest wybranie poziomu default aby usluga startowała przy każdym uruchomieniu. Napisałem sobie skrypt synchronizujący archiwum wiadomości kadu windowsa z linuksem (w obie strony) i chcę go dodać TYLKO do 5 poziomu na którym startuje środowisko graficzne, bo nie potrzebna jest synchornizacja historii jeżeli nie możliwe jest odpalenie w ogóle kadu.
Mam nadzieję ze zrozumieliście co mam na myśli |
|
Back to top |
|
|
individual n00b
Joined: 06 Dec 2006 Posts: 61 Location: Wrocław
|
Posted: Mon Jan 19, 2009 9:55 am Post subject: |
|
|
Małe pytanie - dlaczego w ogóle potrzebujesz tymczasowo startu bez X'ów? A później chcesz zmienić żeby automatycznie wstawały? _________________ HP dv5-1040ew + Gentoo ~amd_64 |
|
Back to top |
|
|
WombaT n00b
Joined: 18 Jan 2009 Posts: 31
|
Posted: Mon Jan 19, 2009 3:36 pm Post subject: |
|
|
individual wrote: | Małe pytanie - dlaczego w ogóle potrzebujesz tymczasowo startu bez X'ów? A później chcesz zmienić żeby automatycznie wstawały? |
A czy to ma jakies krytyczne znaczenie? Taki mam kaprys, tak sobie wymyslilem i chce wiedziec jak to zrobic, nawet jesli to nie ma sensu
edit:
generalnie to chce wiedziec jak dodac jakikolwiek program do konkretnego, jednego poziomu, a nie do domyslnego |
|
Back to top |
|
|
individual n00b
Joined: 06 Dec 2006 Posts: 61 Location: Wrocław
|
Posted: Mon Jan 19, 2009 3:49 pm Post subject: |
|
|
Code: | rc-update add twoja-usluga jakis_runlevel |
Oczywiście wcześniej musisz stworzyć taki runlevel.
Co innego to uruchamiać taki a nie inny runlevel dla danego uruchomienia - tutaj nie jestem zorientowany.
Aha. Pytałem - bo jeśli masz przyzwyczajenie z OpenSuse to niekoniecznie muszą one mieć zastosowanie w Gentoo. Dla przykładu instalacja nvidia-drivers nie wymaga zamknięcia X-ów co kiedyś musiałem w innych distro robić.
A dla zabicia X-ów wystarczy w razie czego dać: Code: | /etc/init.d/xdm stop | - i po klopocie
Jeśli masz jakiś program w kilku runlevelach to musisz go z nich wywalić:
Code: | rc-update del twoja-usluga niechciany_runlevel |
Ten skrypt musi się uruchomić po kadu? _________________ HP dv5-1040ew + Gentoo ~amd_64 |
|
Back to top |
|
|
WombaT n00b
Joined: 18 Jan 2009 Posts: 31
|
Posted: Mon Jan 19, 2009 4:15 pm Post subject: |
|
|
Powiem tak: Linuksem zainteresował mnie wykładowca na uczelni, a uczył mnie na przykładzie jednego z uczelnianych serwerow na ktorym rezyduje fedora. No i zostałem nauczony ze poziomów jest tylko sześć:
(pisze z pamięci)
0 - wyłączenie komputera
1 - tryb jednego usera
2 - tryb wielu uzytkowników bez obsługi sieci
3 - tryb wielu użytkowników z siecią
5 - najwyższy tryb, ze srodowiskiem graficznym i wszystkim czym sie da
6 - reboot.
Tak więc, byłem lekko zdziwiony widząc srodowisko graficzne na 3cim poziomie. Tym bardziej, jak napisałeś "stwórz taki runlevel" to zleksza zdębiałem. Myslałem ze obczajam o co chodzi w tych poziomach, a teraz nie mam pojecia
Cały czas swoje rozumowania opieram na cyferkach, tak jak mnie nauczyli. Tak więc nie rozumiem jak mógłbym stworzyć własny runlevel |
|
Back to top |
|
|
individual n00b
Joined: 06 Dec 2006 Posts: 61 Location: Wrocław
|
Posted: Mon Jan 19, 2009 4:27 pm Post subject: |
|
|
http://www.gentoo.org/doc/pl/handbook/handbook-x86.xml?part=2&chap=4
Quote: | Gentoo posiada siedem zdefiniowanych poziomów: trzy wewnętrzne i cztery definiowane przez użytkownika. Wewnętrzne nazywają się sysinit, shutdown i reboot. Jak nietrudno się domyślić służą one kolejno do inicjacji, wyłączania oraz ponownego uruchamiania systemu.
Poziomy definiowane przez użytkownika związane są z podkatalogami /etc/runlevels: boot, default, nonetwork i single. W poziomie boot uruchamiane są wszystkie niezbędne usługi systemowe używane w pozostałych poziomach. Pozostałe trzy różnią się rodzajem uruchamianych usług: default służy do uruchamiania "standardowych" operacji, nonetwork wykorzystywany jest w przypadkach kiedy do uruchomienia danej usługi nie jest wymagane połączenie z siecią, zaś single używany jest tylko wtedy, gdy system wymaga naprawy. |
Zobacz sobie ns poddział - softlevel. Wydaje mi się, że musisz zmienić runlevel dla poziomu 5 z default na jakiś softlevel (stworzony przez Ciebie) - ale to tak na szybko piszę. Może ktoś zweryfikuje? _________________ HP dv5-1040ew + Gentoo ~amd_64 |
|
Back to top |
|
|
WombaT n00b
Joined: 18 Jan 2009 Posts: 31
|
Posted: Mon Jan 19, 2009 7:04 pm Post subject: |
|
|
individual wrote: | Wydaje mi się, że musisz zmienić runlevel dla poziomu 5 z default na jakiś softlevel (stworzony przez Ciebie) - ale to tak na szybko piszę. Może ktoś zweryfikuje? |
Właśnie to by mi odpowiadało! gdyby tak zadziałało jak myślę, to zrezygnowałbym z nazwy default, nazywajac trzeci np konsola a piaty wszystko. Wtedy wiedziałbym do ktorego dokladnie runlevelu co dodaje i by było wszystko tak jakbym chciał
Kwestia tylko, czy da się tak zrobić i jak? |
|
Back to top |
|
|
individual n00b
Joined: 06 Dec 2006 Posts: 61 Location: Wrocław
|
Posted: Mon Jan 19, 2009 8:57 pm Post subject: |
|
|
Jeszcze inaczej.
Tworzysz softlevel: (np.) bez_X
Code: | mkdir /etc/runlevels/bez_X |
kopiujesz ustawienia default do bez_X. Poza xdm i twoim skryptem kadu.
Code: | # cd /etc/runlevels/default
for service in *; do rc-update add $service bez_X; done
#(Usuwanie niechcianej usługi z runlevela bez_X
rc-update del xdm bez_X
#(Wyświetlenie wszystkich aktywnych usług dla runlevela bez_X
rc-update show bez_X |
to samo robisz dla soflevela (np) z_X (tylko razem z xdm i kadu_skryptem)
Zostaje jeszcze edycja /boot/grub/grub.conf
Code: | title Gentoo Linux Tryb bez X
root (hd0,0)
kernel (hd0,0)/kernel-X.X.XX root=/dev/hdaX softlevel=bez_X
title Gentoo Linux Tryb X
root (hd0,0)
kernel (hd0,0)/kernel-X.X.XX root=/dev/hdaX softlevel=z_X
|
Tym sposobem masz na starcie 2 możliwości do wyboru. Wg how-to powinno działać. _________________ HP dv5-1040ew + Gentoo ~amd_64 |
|
Back to top |
|
|
WombaT n00b
Joined: 18 Jan 2009 Posts: 31
|
Posted: Wed Jan 21, 2009 6:04 pm Post subject: |
|
|
Nie, to mnie nie satysfakcjonuje to jest takie obejscie problemu na około, chciałbym zeby to działalo tak jak w innych distro :] |
|
Back to top |
|
|
mziab l33t
Joined: 01 Oct 2004 Posts: 644
|
Posted: Wed Jan 21, 2009 7:13 pm Post subject: |
|
|
Nie wiem czy cię zainteresuje, ale można też podać kernelowi nox jako parametr. Wtedy skrypt xdm to wyłapuje i nie autostartuje Xów. Całkiem przydatna rzecz przy aktualizacjach kernela, kiedy trzeba po reboocie przebudować nvidia-drivers _________________ Gentoo Linux 13.0 | 3.19 | glibc 2.19 | gcc 4.9.2
mteam | mziab's blog | roslin |
|
Back to top |
|
|
Drwisz Apprentice
Joined: 16 Feb 2005 Posts: 191 Location: Warszawa
|
Posted: Fri Jan 23, 2009 9:53 am Post subject: |
|
|
Zainteresuj się plikiem
Dokładnie ostatnią linią. Kasujesz to co jest i wklepujesz
Code: | x : 5 : respawn : {tu podajesz ścieżkę dla np : xdm} --nodaemon |
By startowały xy automatycznie z 5 runlevela przy starcie systemu musisz edytować linię:
Code: | # Default runlevel.
id:3:initdefault: |
Trzeba zmienić na :
Code: | # Default runlevel.
id:5:initdefault: |
Hmmm.. nie chce mi się grzebać i sprawdzać ale powinno działać. Kiedyś działało. _________________ https://przyrodamm.blogspot.com/
https://drwisz.blogspot.com/ |
|
Back to top |
|
|
|