[SYSTEMD] en manque de tty

Avec l’installateur beta 2 de debian 8 “jessie” et en installant le strict minimum (moins que standard), on note quelques changements par rapport à debian 7 “wheezy”. Par exemple, aptitude n’est pas installé, par contre, less est installé. Plus étonnant, une seule console permet de se connecter : tty1. Les autres présentent un simple curseur en haut à gauche. Comme c’est systemd (un programme ambitieux qui veut tout “manager”) qui gère le démarrage et les services, voyons ce qu’il a installé

$ dpkg -L systemd | grep tty1
/etc/systemd/system/getty.target.wants/getty@tty1.service

Si je comprends bien, la première console apparaît bien car systemd a exécuté à un moment donné quelque chose du genre

# service getty@tty1 start

Pour vérifier, lançons la commande modifiée pour avoir une console de plus

# service getty@tty4 start

Pourquoi 4 ? Pourquoi pas ! Allons voir le terminal 4… ALT+F4 Eureka ! On peut se connecter !
Et pour ceux qui mettent à jour depuis wheezy ? Très bonne question. J’ai testé pour vous. À ce jour, si vous passez de wheezy à jessie, vous n’aurez pas ce problème. Pourquoi ? Je ne sais pas, désolé. Ce que je sais c’est que, en principe, le fait de faire ALT+F2 force systemd à lancer un écran de connexion sur tty2 automatiquement (une sorte de raccourci clavier qui demande un écran de connexion), la limitation à une console par défaut étant sans doute une forme d’optimisation vitesse et/ou mémoire là ou wheezy démarrait 6 consoles par défaut. C’est pas l’astuce du siècle mais bon, si ça peut aider.

il me semble que c’est Ctrl+Alt+F1àF7

Avec systemd, les tty s’activent lorsqu’on bascule desssus en vertu de /etc/systemd/logind.conf.

$ cat /etc/systemd/logind.conf

#  This file is part of systemd.
#
#  systemd is free software; you can redistribute it and/or modify it
#  under the terms of the GNU Lesser General Public License as published by
#  the Free Software Foundation; either version 2.1 of the License, or
#  (at your option) any later version.
#
# See logind.conf(5) for details

[Login]
#NAutoVTs=6
#ReserveVT=6
#KillUserProcesses=no
#KillOnlyUsers=
#KillExcludeUsers=root
#InhibitDelayMaxSec=5
#HandlePowerKey=poweroff
#HandleSuspendKey=suspend
#HandleHibernateKey=hibernate
#HandleLidSwitch=suspend
#PowerKeyIgnoreInhibited=no
#SuspendKeyIgnoreInhibited=no
#HibernateKeyIgnoreInhibited=no
#LidSwitchIgnoreInhibited=yes
#IdleAction=ignore
#IdleActionSec=30min
#RuntimeDirectorySize=10%
#RemoveIPC=yes

See logind.conf(5) for details

$ man logind.conf

[code]LOGIND.CONF(5) logind.conf LOGIND.CONF(5)

NAME
logind.conf - Login manager configuration file

SYNOPSIS
/etc/systemd/logind.conf

DESCRIPTION
This file configures various parameters of the systemd login manager, systemd-logind.service

OPTIONS
All options are configured in the “[Login]” section:

   NAutoVTs=
       Takes a positive integer. Configures how many virtual terminals (VTs) to allocate by default
       that, when switched to and are previously unused, "autovt" services are automatically
       spawned on. These services are instantiated from the template unit autovt@.service for the
       respective VT TTY name, for example, autovt@tty4.service. By default, autovt@.service is
       linked to getty@.service. In other words, login prompts are started dynamically as the user
       switches to unused virtual terminals. Hence, this parameter controls how many login "gettys"
       are available on the VTs. If a VT is already used by some other subsystem (for example, a
       graphical login), this kind of activation will not be attempted. Note that the VT configured
       in ReserveVT= is always subject to this kind of activation, even if it is not one of the VTs
       configured with the NAutoVTs= directive. Defaults to 6. When set to 0, automatic spawning of
       "autovt" services is disabled.

   ReserveVT=
       Takes a positive integer. Identifies one virtual terminal that shall unconditionally be
       reserved for autovt@.service activation (see above). The VT selected with this option will
       be marked busy unconditionally, so that no other subsystem will allocate it. This
       functionality is useful to ensure that, regardless of how many VTs are allocated by other
       subsystems, one login "getty" is always available. Defaults to 6 (in other words, there will
       always be a "getty" available on Alt-F6.). When set to 0, VT reservation is disabled.[/code]

On peut éditer /etc/systemd/logind.conf pour définir [mono]NAutoVTs=N[/mono] ou [mono]ReserveVT=N[/mono].
[mono]NAutoVTs=N[/mono] : nombre de tty où login getty sera actif.
[mono]ReserveVT=N[/mono] : un tty réservé où un login getty sera automatiquement actif.

« By default, autovt@.service is linked to getty@.service »
À compléter :Comment faire quand on souhaite utiliser autre chose que getty ?
Comment faire avec agetty, ngetty, qingy … ?

[quote=“etxeberrizahar”]
« By default, autovt@.service is linked to getty@.service »
À compléter :Comment faire quand on souhaite utiliser autre chose que getty ?
Comment faire avec agetty, ngetty, qingy … ?[/quote]
Apparemment tu fais un fichier
/etc/systemd/system/getty@ttyN.service.d/autologin.conf qui surcharge le comportement par defaut.

Ainsi pour un autologin sur tty1, ce serait

[Service]
ExecStart=-/sbin/mingetty --noclear --autologin user tty1

dans

/etc/systemd/system/getty@tty1.service.d/autologin.conf

Mais c’est à vérifier