Rating@Mail.ru

Форум по операционной системе GNU/Linux и свободному программному обеспечению


Текущее время: 20 май 2018, 13:20

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 9 ] 
Автор Сообщение
 Заголовок сообщения: текстовые консоли
Непрочитанное сообщениеДобавлено: 31 мар 2017, 14:54 
Не в сети
Писатель
Аватара пользователя

Зарегистрирован: 24 сен 2011, 14:22
Сообщения: 10718
Откуда: Харьков
Текстовый режим консоли.
Переключаемся между консолями: Ctrl+Alt+Fi.
В одной из (равноправных) консолей запускается X-сервер и организуется графическое DE:
Код:
[olej@dell ACCOUNTS]$ who
olej     :0           2017-03-19 10:19 (:0)

Утверждается, иногда, что вот так (Ctrl+Alt+Fi) можно переключаться между 12 консолями.
Это неверно!
Можно переключаться между 63 виртуальными консолями вот так, командой:
Код:
# chvt 1
...
# chvt 63
...

Вот то "chvt 1" выше - полностью эквивалентно Ctrl+Alt+F1 ... и т.д.

Посмотреть все какие у вас есть VT можете так:
Код:
# ls /dev/tty[0123456789]*
[olej@dell mnt]$ ls /dev/tty[0123456789]*
/dev/tty0   /dev/tty14  /dev/tty2   /dev/tty25  /dev/tty30  /dev/tty36  /dev/tty41  /dev/tty47  /dev/tty52  /dev/tty58  /dev/tty63
/dev/tty1   /dev/tty15  /dev/tty20  /dev/tty26  /dev/tty31  /dev/tty37  /dev/tty42  /dev/tty48  /dev/tty53  /dev/tty59  /dev/tty7
/dev/tty10  /dev/tty16  /dev/tty21  /dev/tty27  /dev/tty32  /dev/tty38  /dev/tty43  /dev/tty49  /dev/tty54  /dev/tty6   /dev/tty8
/dev/tty11  /dev/tty17  /dev/tty22  /dev/tty28  /dev/tty33  /dev/tty39  /dev/tty44  /dev/tty5   /dev/tty55  /dev/tty60  /dev/tty9
/dev/tty12  /dev/tty18  /dev/tty23  /dev/tty29  /dev/tty34  /dev/tty4   /dev/tty45  /dev/tty50  /dev/tty56  /dev/tty61
/dev/tty13  /dev/tty19  /dev/tty24  /dev/tty3   /dev/tty35  /dev/tty40  /dev/tty46  /dev/tty51  /dev/tty57  /dev/tty62

Если вы выбираете консоль с номером ... больше некоторого, например 7, то открывается просто черное окно с мигающим курсором, ничего вводить не получается. Это значит, что у вас VT7 не инициализирована запуском логин-программы.


Вернуться к началу
 Профиль Отправить личное сообщение  
 
 Заголовок сообщения: Re: текстовые консоли
Непрочитанное сообщениеДобавлено: 31 мар 2017, 14:55 
Не в сети
Писатель
Аватара пользователя

Зарегистрирован: 24 сен 2011, 14:22
Сообщения: 10718
Откуда: Харьков
Я бы не писал это всё, если бы не...

В старой системе инициализации sysinit инициализация консолей описывалась так (я сам же и писал):
Цитата:
В этом варианте начальная инициализация консолей, как нам и подсказывает показанный комментарий, происходит в каталоге :
Код:
# ls /etc/event.d/tty*
tty1  tty2  tty3  tty4  tty5  tty6                                                                                     
# cat /etc/event.d/tty6
...
respawn
exec /sbin/mingetty tty6
...



Но как посмотреть инициализированные консоли в новой системе инициализации systemd?


Вернуться к началу
 Профиль Отправить личное сообщение  
 
 Заголовок сообщения: Re: текстовые консоли
Непрочитанное сообщениеДобавлено: 31 мар 2017, 14:58 
Не в сети
Писатель
Аватара пользователя

Зарегистрирован: 24 сен 2011, 14:22
Сообщения: 10718
Откуда: Харьков
Olej писал(а):
Если вы выбираете консоль с номером ... больше некоторого, например 7, то открывается просто черное окно с мигающим курсором, ничего вводить не получается. Это значит, что у вас VT7 не инициализирована запуском логин-программы.

Но вот так, например, вы можете (для эксперимента) запустить логин на 25-й консоли:
Код:
[olej@dell mnt]$ sudo openvt -f -c25 -l login

А затем перейти в эту текстовую консоль и там зарегистрироваться:
Код:
[root@dell system]# chvt 25

После чего увидите что-то типа такого:
Код:
[olej@dell ACCOUNTS]$ who
olej     :0           2017-03-19 10:19 (:0)
root     tty25        2017-03-31 14:17


P.S. (затем вернётесь назад в GUI с помощью Ctrl+Alt+F1)


Вернуться к началу
 Профиль Отправить личное сообщение  
 
 Заголовок сообщения: Re: текстовые консоли
Непрочитанное сообщениеДобавлено: 31 мар 2017, 15:08 
Не в сети
Писатель
Аватара пользователя

Зарегистрирован: 24 сен 2011, 14:22
Сообщения: 10718
Откуда: Харьков
Olej писал(а):
Но как посмотреть инициализированные консоли в новой системе инициализации systemd?

Olej писал(а):
В старой системе инициализации 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
...



Вернуться к началу
 Профиль Отправить личное сообщение  
 
 Заголовок сообщения: Re: текстовые консоли
Непрочитанное сообщениеДобавлено: 31 мар 2017, 17:11 
Не в сети
Писатель
Аватара пользователя

Зарегистрирован: 24 сен 2011, 14:22
Сообщения: 10718
Откуда: Харьков
Olej писал(а):
А затем перейти в эту текстовую консоль и там зарегистрироваться:

Здесь вот подсказали
Цитата:
После завершения всех процессов в виртуальной консоли и выхода из shell'а можно освободить слоты для виртуальных консолей через команду "deallocvt".


Вернуться к началу
 Профиль Отправить личное сообщение  
 
 Заголовок сообщения: Re: текстовые консоли
Непрочитанное сообщениеДобавлено: 31 мар 2017, 17:52 
Не в сети
Писатель
Аватара пользователя

Зарегистрирован: 24 сен 2011, 14:22
Сообщения: 10718
Откуда: Харьков
Olej писал(а):
Но как посмотреть инициализированные консоли в новой системе инициализации systemd?


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

Цитата:
В этой статье я хочу рассказать о том, как в systemd реализован запуск getty на терминалах различных типов.

Цитата:
Тем не менее, для общего образования все же стоит рассмотреть некоторые тонкости
запуска getty в systemd. Эта задача решается двумя шаблонами юнитов
* getty@.service - отвечает за виртуальные консоли (virtual terminals, VT, известные в системе под именами /dev/tty1, /dev/tty2 и т.д.) — те, которые вы можете увидеть безо всякого дополнительного оборудования, просто переключившись на них из графического сеанса.
...


3.
getty
Цитата:
getty (сокращение от get teletype) — программа для UNIX-подобных операционных систем, управляющая доступом к физическим и виртуальным терминалам (tty). Программа выполняет запрос имени пользователя и запускает программу 'login' для авторизации пользователя.

getty(8)
Цитата:
agetty - alternative Linux getty


Вернуться к началу
 Профиль Отправить личное сообщение  
 
 Заголовок сообщения: Re: текстовые консоли
Непрочитанное сообщениеДобавлено: 31 мар 2017, 18:16 
Не в сети
Писатель
Аватара пользователя

Зарегистрирован: 24 сен 2011, 14:22
Сообщения: 10718
Откуда: Харьков
Olej писал(а):
Но как посмотреть инициализированные консоли в новой системе инициализации systemd?

Ещё раз подсказали:
Цитата:
В 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


Вернуться к началу
 Профиль Отправить личное сообщение  
 
 Заголовок сообщения: Re: текстовые консоли
Непрочитанное сообщениеДобавлено: 31 мар 2017, 18:23 
Не в сети
Писатель
Аватара пользователя

Зарегистрирован: 24 сен 2011, 14:22
Сообщения: 10718
Откуда: Харьков
Olej писал(а):
Olej писал(а):
Но как посмотреть инициализированные консоли в новой системе инициализации systemd?

Ещё раз подсказали:
Цитата:
В systemd это меняется в файле /etc/systemd/logind.conf через опцию "NAutoVTs=".


И, соответственно:
Код:
[olej@dell mnt]$ man logind.conf
...
SYNOPSIS
       /etc/systemd/logind.conf
       /etc/systemd/logind.conf.d/*.conf
       /run/systemd/logind.conf.d/*.conf
       /usr/lib/systemd/logind.conf.d/*.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.
...

и т.д.


Вернуться к началу
 Профиль Отправить личное сообщение  
 
 Заголовок сообщения: Re: текстовые консоли
Непрочитанное сообщениеДобавлено: 31 мар 2017, 18:42 
Не в сети
Писатель
Аватара пользователя

Зарегистрирован: 24 сен 2011, 14:22
Сообщения: 10718
Откуда: Харьков
Olej писал(а):
2.
systemd для администраторов
Цитата:
...
16 Запуск getty на последовательных (и не только) консолях . . . . . . 60
16.1 Виртуальные консоли . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
16.2 Последовательные консоли . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61


Цитата:
16.1 Виртуальные консоли
Рассмотрим механизм запуска getty@.service, обеспечивающий появление пригла-
шений логина на виртуальных консолях (последовательны терминалы пока оставим в
покое). По устоявшейся традиции, init-системы Linux обычно настраивались на запуск
фиксированного числа экземпляров getty, как правило, шести (на первых шести вирту-
альных консолях, с tty1 по tty6).
В systemd мы сделали этот процесс более динамичным: чтобы добиться большей
скорости и эффективности, мы запускаем дополнительные экземпляры getty только
при необходимости. Например, getty@tty2.service стартует только после того, как вы
переключитесь на вторую виртуальную консоль. Отказавшись от обязательного запуска
нескольких экземпляров getty, мы сэкономили немного системных ресурсов, а также
сделали загрузку системы чуть-чуть быстрее. При этом, с точки зрения пользователя,
все осталось так же просто: как только он переключается на виртуальную консоль, на
ней запускается getty, которая выводит приглашение к логину. Пользователь может и
не подозревать о том, что до момента переключения приглашения не было. Тем не менее,
если он войдет в систему и выполнит команду ps, он увидит, что getty запущены только
на тех консолях, на которых он уже побывал.

Цитата:
Две консоли играют особую роль: tty1 и tty6. tty1, при загрузке в графическом
режиме, используется для запуска дисплейного менеджера, а при загрузке в многополь-
зовательском текстовом режиме, systemd принудительно запускает на ней экземпляр
getty, не дожидаясь переключений.
Что касается tty6, то она используется исключительно для автоматического запус-
ка getty, и недоступна другим подсистемам, в частности, графическому серверу. Мы
сделали так специально, чтобы гарантировать возможность входа в систему в текстовом
режиме, даже если графический сервер займет более пяти консолей.


Вернуться к началу
 Профиль Отправить личное сообщение  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 9 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB
[ Time : 0.186s | 20 Queries | GZIP : On ]