Автор Тема: Текстовые консоли  (Прочитано 23514 раз)

Olej

  • Гость
Текстовые консоли
« : 31 Марта 2017, 17:02:40 »
В старой системе инициализации sysinit инициализация консолей описывалась так - сам же я и писал
Цитировать
Число текстовых консолей (обычно по умолчанию 6) в Linux (в отличие, например, от FreeBSD) — величина легко изменяемая динамически (настройками, в ходе работы, без пересборки ядра). При работе именно с программами ядра число консолей может понадобится значительно увеличить... В некоторых более старых дистрибутивах (и других UNIX системах) используется хорошо описанный способ — конфигурационный файл /etc/inittab: 
$ uname -r
2.6.18-92.el5
$ cat /etc/inittab
...
# Run gettys in standard runlevels
1:2345:respawn:/sbin/mingetty tty1
2:2345:respawn:/sbin/mingetty tty2
3:2345:respawn:/sbin/mingetty tty3
4:2345:respawn:/sbin/mingetty tty4
5:2345:respawn:/sbin/mingetty tty5
6:2345:respawn:/sbin/mingetty tty6
...
И это часто повторяют из одного учебника Linux в другой... Это идёт ещё от самых старых UNIX систем, SunOS, Minix 2 и т.д. ... из книги Робачевского и т.д.

Но ... далее это было так:
Цитата: Olej
Но в большинстве новых дистрибутивах файл /etc/inittab практически пустой:
# uname -r
2.6.32.9-70.fc12.i686.PAE
# cat /etc/inittab
...
# Terminal gettys (tty[1-6]) are handled by /etc/event.d/tty[1-6] and
# /etc/event.d/serial
...
В этом варианте начальная инициализация консолей, как нам и подсказывает показанный комментарий,  происходит в каталоге :
# ls /etc/event.d/tty*
tty1  tty2  tty3  tty4  tty5  tty6                                                                                     
# cat /etc/event.d/tty6
...
respawn
exec /sbin/mingetty tty6
...

Но как посмотреть инициализированные консоли в новой системе инициализации systemd?
Где и как (в настройках) инициализировать не 6 или 7 консолей, а, скажем ... 20?
(в принципе, в Linux может быть до 63-х текстовых консолей)


Olej

  • Гость
Re: Текстовые консоли
« Ответ #1 : 31 Марта 2017, 17:58:55 »
Если кому будет интересно:

1.
[olej@dell mnt]$ man systemd-getty-generator
...
Цитировать
       3. systemd for Administrators, Part XVI: Gettys on Serial Consoles (and Elsewhere)
           http://0pointer.de/blog/projects/serial-console.html

2. systemd для администраторов
Цитировать
Lennart Poettering (автор)
Сергей Пташник (русский перевод)
Данный документ доступен на условиях лицензии CC-BY-SA 3.0 Unported
17 февраля 2017 г.
...
16 Запуск getty на последовательных (и не только) консолях . . . . . . 60
16.1 Виртуальные консоли . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   60
16.2 Последовательные консоли . . . . . . . . . . . . . . . . . . . . . . . . . . . .   61

Оффлайн vita

  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 4790
  • Да будет свет!
Re: Текстовые консоли
« Ответ #2 : 31 Марта 2017, 18:14:36 »
Если кому будет интересно:
systemd для администраторов
Благодарю за ссылку на полезную информацию.
Делай с нами, делай как мы, делай лучше нас!

Olej

  • Гость
Re: Текстовые консоли
« Ответ #3 : 31 Марта 2017, 18:18:18 »
Подсказали:
Цитировать
В systemd это меняется в файле /etc/systemd/logind.conf через опцию "NAutoVTs=".
Спойлер
[root@dell systemd]# 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.
#
# Entries in this file show the compile time defaults.
# You can change settings by editing this file.
# Defaults can be restored by simply deleting this file.
#
# 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
#HandleLidSwitchDocked=ignore
#PowerKeyIgnoreInhibited=no
#SuspendKeyIgnoreInhibited=no
#HibernateKeyIgnoreInhibited=no
#LidSwitchIgnoreInhibited=yes
#HoldoffTimeoutSec=30s
#IdleAction=ignore
#IdleActionSec=30min
#RuntimeDirectorySize=10%
#RemoveIPC=yes
« Последнее редактирование: 27 Апреля 2017, 14:39:57 от vita »

Оффлайн ivm

  • Ветеран
  • *****
  • Сообщений: 3068
  • Что бы ни случилось, всё будет хорошо!
Re: Текстовые консоли
« Ответ #4 : 31 Марта 2017, 19:49:23 »
Не надо пугать длинными выводами кодов...
Кудри длинные, густые, слова длинные пустые...
Для поиска в выводе нужного значения используется команда grep.
Искомая переменная, отвечающая за количество текстовых консолей, NAutoVTs. Команда выглядит так: sudo cat /etc/systemd/logind.conf | grep NAutoVTs Вывод:
Цитировать
#NAutoVTs=6
Правда, удобнее, чем простынями писать?

Olej

  • Гость
Re: Текстовые консоли
« Ответ #5 : 31 Марта 2017, 19:59:07 »
Правда, удобнее, чем простынями писать?
Отнюдь. :D
Потому что, вместо того, чтобы элементарный Букварь пересказывать, помогли бы лучше разобраться как, когда и на какой VT systemd инициализирует getty.
А не вослед: бла-бла-бла... :-X
А по поводу вашего NAutoVTs - так проще и поумнее будет заглянуть вот сюда ;):
$ man logind.conf
...
       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.
...


Оффлайн alv

  • Ветеран
  • *****
  • Сообщений: 1470
  • Это я и есть
    • Наш Блогосайт
Re: Текстовые консоли
« Ответ #6 : 27 Апреля 2017, 11:17:23 »
Олег, насколько я понимаю, /etc/event.d/ - это тяжёлое наследие царского режима Upstart'а. И, соответственно,
Цитировать
в большинстве новых дистрибутивах
относится только к старых Ubuntu'идам и RHEL 6.X.
В дистрах, сохранивших чистую SysV, как Slackware и клоны, число консолей по прежнему определяется в /etc/inittab.
И если Upstart можно считать достоянием истории, то SysV ещё поживёт какое-то время :)
За прекрасных дам!