Portál AbcLinuxu, 28. května 2024 20:04


Dotaz: systemd a getty

5.8.2019 08:10 rastos | skóre: 62 | blog: rastos
systemd a getty
Přečteno: 463×
Odpovědět | Admin
Mám server s Ubuntu 18.04.2 a po boote sa mi na virtuálnych konzolách nedá prihlásiť. Našťastie sa dá prihlásiť cez ssh. Za starých čias to bolo tak, že pre každú virtuálnu konzolu, kde sa malo dať prihlásiť, by mal bežať proces getty. Ale žiaden taký proces (podľa výpisu z ps) nebeží.

Domnievam sa, že je nejaký problém s tým, že systemd to getty nespustil. Pretože nie som so systemd veľký kamarát, tak sa chcem spýtať:
  1. - je pravda, že príslušný service (či unit, či čo ), ktorý je zodpovedný za štartovanie getty sa volá "console-getty.service"?
  2. - ak sa to skutočne volá "console-getty.service", tak je takýto výpis normálny?
    # systemctl status console-getty.service
    ● console-getty.service - Console Getty
       Loaded: loaded (/lib/systemd/system/console-getty.service; enabled; vendor preset: disabled)
       Active: inactive (dead)
         Docs: man:agetty(8)
               man:systemd-getty-generator(8)
    
    Tam ma napr. zaráža to "vendor preset: disabled"
  3. - ak sa to skutočne volá "console-getty.service", tak som si myslel, že to naštartujem takto:
    # systemctl start console-getty.service
    
    Ale ten príkaz odvisne - nevráti sa. Čo môže byť príčina? Ako sa dopátram viac?
  4. - chcel som sa dozvedieť, kde je problém a dúfal som, že mi niečo povie journalctl:
     
    # journalctl -u console-getty.service -b
    -- Logs begin at Fri 2019-05-03 21:30:14 CEST, end at Mon 2019-08-05 08:03:34 CEST. --
    -- No entries --
    #
    
    Robím to zle?

Řešení dotazu:


Nástroje: Začni sledovat (2) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

5.8.2019 08:45 debian+
Rozbalit Rozbalit vše Re: systemd a getty
Odpovědět | | Sbalit | Link | Blokovat | Admin
Na debiane ide prepisanie do konzol.

Subor console-getty.service existuje, ale sa nepouziva:
systemctl status console-getty.service
● console-getty.service - Console Getty
   Loaded: loaded (/lib/systemd/system/console-getty.service; disabled; vendor p
   Active: inactive (dead)
     Docs: man:agetty(8)
           man:systemd-getty-generator(8)
V debiane nastavuje podla:
cat /etc/default/console-setup 
# CONFIGURATION FILE FOR SETUPCON

# Consult the console-setup(5) manual page.

ACTIVE_CONSOLES="/dev/tty[1-6]"

CHARMAP="UTF-8"

CODESET="Lat2"
FONTFACE="Fixed"
FONTSIZE="8x16"

VIDEOMODE=

# The following is an example how to use a braille font
# FONT='lat9w-08.psf.gz brl-8x8.psf'
5.8.2019 08:52 rastos | skóre: 62 | blog: rastos
Rozbalit Rozbalit vše Re: systemd a getty
Na debiane ide prepisanie do konzol.

Nechápem. Čo tým myslíš?

/etc/default/console-setup u mňa existuje a má zmysluplný obsah. Ale ktorý program (/service/unit/...) je zodpovedný za jeho interpretovanie?
5.8.2019 10:31 debian+
Rozbalit Rozbalit vše Re: systemd a getty
prepinanie - preklep
5.8.2019 10:37 debian+
Rozbalit Rozbalit vše Re: systemd a getty
Oprava, pouziva sa: Loaded: loaded
5.8.2019 09:14 NN
Rozbalit Rozbalit vše Re: systemd a getty
Odpovědět | | Sbalit | Link | Blokovat | Admin
Co znamena "neda se prihlasit"? Ja vidim toto:
getty-static.service                                                                         loaded    inactive dead      getty on tty2-tty6 if dbus and logind are not available
  getty@tty1.service                                                                           loaded    active   running   Getty on tty1
  getty@tty7.service                                                                           loaded    inactive dead      Getty on tty7
  system-getty.slice                                                                           loaded    active   active    system-getty.slice
  getty.target                                                                                 loaded    active   active    Login Prompts
a pokud prepnu na TTY1 prihlasim se bez problemu.
5.8.2019 09:24 rastos | skóre: 62 | blog: rastos
Rozbalit Rozbalit vše Re: systemd a getty
"nedá sa prihlásiť" znamená, že na virtuálnych konzolách nemám výzvu na prihlásenie - teda to typické
Ubuntu 18.04.2 LTS tty1
servername login: 

tam chýba.

Ten výpis čo si sem dal, to je výstup zo "systemctl list-units --all getty*"? Tak ten u mňa to vyzerá takto:
# systemctl list-units --all getty*
UNIT                 LOAD   ACTIVE   SUB  JOB   DESCRIPTION                                            
getty-static.service loaded inactive dead       getty on tty2-tty6 if dbus and logind are not available
getty@tty1.service   loaded inactive dead start Getty on tty1                                          
getty@tty2.service   loaded inactive dead start Getty on tty2                                          
getty-pre.target     loaded inactive dead       Login Prompts (Pre)                                    
getty.target         loaded inactive dead start Login Prompts                                          

LOAD   = Reflects whether the unit definition was properly loaded.
ACTIVE = The high-level unit activation state, i.e. generalization of SUB.
SUB    = The low-level unit activation state, values depend on unit type.
JOB    = Pending job for the unit.

5 loaded units listed.
To show all installed unit files use 'systemctl list-unit-files'
Řešení 1× (rastos (tazatel))
michich avatar 5.8.2019 10:06 michich | skóre: 51 | blog: ohrivane_parky
Rozbalit Rozbalit vše Re: systemd a getty
To vypadá, že ještě nedoběhnul nějaký job, na který ty getty@... čekají. Co ukazuje systemctl list-jobs ?
5.8.2019 10:15 rastos | skóre: 62 | blog: rastos
Rozbalit Rozbalit vše Re: systemd a getty
Zásah.
# systemctl list-jobs 
 JOB UNIT                                 TYPE  STATE  
 141 getty.target                         start waiting
 134 plymouth-quit-wait.service           start waiting
   2 multi-user.target                    start waiting
 138 systemd-update-utmp-runlevel.service start waiting
 567 getty@tty2.service                   start waiting
  16 setvtrgb.service                     start waiting
 121 plymouth-quit.service                start waiting
 162 ureadahead-stop.timer                start waiting
 142 getty@tty1.service                   start waiting
1620 console-getty.service                start waiting
 143 system-getty.slice                   start waiting
 122 rc-local.service                     start running
   1 graphical.target                     start waiting
A problém bol v tom "rc-local.service", teda vlastne v súbore /etc/rc.local, kde na jednom riadku chýbal na konci riadku znak "&", aby sa spustil na pozadí.

Ďakujem.
Heron avatar 5.8.2019 19:00 Heron | skóre: 53 | blog: root_at_heron | Olomouc
Rozbalit Rozbalit vše Re: systemd a getty
Doporučuju všechny tyhle věci předělat na oneshot service, je to snadné a získá se tím lepší kontrola nad tím co doběhlo a co se pokazilo, než když je to naházené v rc.local.
Josef Kufner avatar 5.8.2019 20:19 Josef Kufner | skóre: 70
Rozbalit Rozbalit vše Re: systemd a getty
Tak, tak. Ono vůbec většina problémů se systemd je právě v různých pozůstatcích ze SysV initu.
Hello world ! Segmentation fault (core dumped)
k3dAR avatar 5.8.2019 23:34 k3dAR | skóre: 62
Rozbalit Rozbalit vše Re: systemd a getty
no priklad ze vcera, pustim byobu a pri odhlaseni mi ho systemd zabije a jak sem patral v pameti i na netu nasel sem:
1. aby nezabijel user procesy je potreba v /etc/systemd/logind.conf: KillUserProcesses=no
2. od nejake verze 1 plati jen "nekdy" pro tmux Lenard hlasa: loginctl enable-linger $user
3. od nejake verze 2 neplati a ma se pouzit: systemd-run --scope --user $program
(s doporucenim to dat do alias aby to fungovalo i kdyz program vola nekdo/neco jineho)
4. od nejake verze 3 plati pouze pokud se zaroven prida do cmdline: systemd.legacy_systemd_cgroup_controller=true

na druhou stranu musim rict ze na jinem stroji mi to funguje bez jakehokoliv nastavovani, oboje je stejna verze distra :-)
porad nemam telo, ale uz mam hlavu... nobody
Heron avatar 6.8.2019 09:20 Heron | skóre: 53 | blog: root_at_heron | Olomouc
Rozbalit Rozbalit vše Re: systemd a getty
Mě na aktuálním debu testing (systemd 241) stále funguje tohle.

Mám explicitně nastaveno:
KillUserProcesses=yes
Potom pro vybrané uživatele zapnutý linger a mají nastavené své vlastní service pomocí systemctl --user.

Tj vybraní uživatelé si mohou psát a spouštět svoje unity a zdá se, že to funguje spolehlivě (jejich unity se spustí při startu pc a přežijí jejich odhlášení).

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.