@Jindřich Makovička
"Jinak systemd s tímhle fakt nemá co do činění."
Samozřejmě má, tato situace je výsledek automatického spouštění služeb s defaultním nastavením (na které se samozřejmě nemá/nedá spoléhat).
>Tím netvrdím že je to chyba systemd, toto je prostě normální riziko automatizace - podobná překvapení. Samozřejmě by to tak udělal každý nějak automatizovaný správce ...
@Ondra Satai Nekola
To sis asi spletl do koho zase reješ. Ja jsem nenapsal ze systemd spustil neco co nema, ale dan za automaticke spousteni je to ze se obcas spusti neco s defaultnim nastavenim. Zkus se vic soustredit na text, ne na nick. Usetri to cas nam oběma.
Cituji ze sveho prispevku, asi jsi cely ten odstavec prehledl:
">Tím netvrdím že je to chyba systemd, toto je prostě normální riziko automatizace - podobná překvapení. Samozřejmě by to tak udělal každý nějak automatizovaný správce ..."
Zrovna správce služeb udělá automaticky akorát to, že projde adresář s definicemi služeb, který je prázdný, takže žádnou službu nespustí. Aby nějakou službu spustil, musí mít potřebný konfigurační soubor – který buď vytvoří administrátor ručně, nebo se nainstaluje při instalaci příslušného balíčku. Pak ho do balíčku ovšem musel přidat správce balíčku. Takže tu konfiguraci služby tam musel někdo vložit. A zrovna systemd ani to nestačí, musí pak tu službu někdo ještě nastartovat nebo povolit – zase to může být administrátor nebo správce balíčku. Takže se nedá říct, že systemd něco udělal automaticky. Systemd dostal pokyn, že má službu spustit, tak jí spustil – a pokud ten pokyn byl špatně, je to chyba toho, kdo ten pokyn dal.
@Filip Jirsak
Samozřejmě že to není chyba automatického správce, nicméně minimálně některé distra instaluji konf. soubory a registrují ke spuštění automaticky s instalací balíčku - takze "on to tam nekdo dal" a "a on to musel někdo zaregistrovat" je pravda tak na pul, protože maintainer tam vloží nějaký default a uzivatel se muze divit protoze se mu něco spustí, jako nyní.
Takze spravce sluzeb automaticky projde adresář kde samozrejme nainstalovana sluzba konfiguraci ma. Pokud si dobre pamatuju, např. Docker pri instalaci z ofic. balicku to dělá - přidá default conf soubor a zaregistruje se autostart. A spravce ho pak spusti
Nick Sekáč Magor: Já pořád nevím, čemu říkáte „automatický správce“. Distribuční balíček nainstaluje soubory aplikace včetně nějakých výchozích konfiguračních skriptů. Pak spustí poinstalační skripty, v rámci kterých může například nabídnout uživateli konfiguraci aplikace, a také v nich může zaregistrovat službu ke spuštění po startu nebo službu rovnou spustit. V případě SysVinitu+bash init skriptů může nalinkovat službu do příslušného adresáře, aby se spustila při startu, může rovnou zavolat start služby. V případě systemd může zavolat na službě enable a start. Se systemd to tedy nijak nesouvisí, a nesouvisí to nijak ani s žádným automatickým správcem, ať už je to cokoli. Nebo-li je to prostě čistě záležitost distribučního balíčku.
Celý bohužiaľ nejde, prebral veľa iných projektov.
https://systemd-free.artixlinux.org/img/systemd-devours-all.gif
Minimálne časti alebo podobné implementácie ako elogind či eudev sú nutné pre moderný linux desktop.
Pri inite je veľa možností: OpenRC, Runit, s6, 66...
Pri logind je toho menej: elogind (v243+ obsahuje fake libsystemd), consolekit2 nedosahuje dostatočnej funkčnosti pre moderný desktop
Pri udev stačí eudev.
Samozrejme sú to aj iné implementácie.
Čo je ale horšie je, že mnohé programy začali používať priamo systemd implementácie dbus a iné...
Ako príklad môžem uviesť cmus (hudobný prehrávać v terminály s vim-like ovládaním) zavisí na systemd kvôli MPRIS.
https://github.com/cmus/cmus/blob/master/mpris.c#L18
https://specifications.freedesktop.org/mpris-spec/2.2/