Почему в Linux так много /dev/tty?

в ubuntu 10.04, если я проверяю в /dev,
есть более чем 50 ttys.
tty0, tty1, tty2....

Я понимаю, что tty является символьным устройством для ввода/вывода консоли.

  1. но почему их так много? это что-то вроде бассейна?

  2. и в чем разница между /dev/pts/0, 1, 2... ,/dev / tty?

  3. Если я открываю терминал, новый номер создается в /dev / pts.
    но я не знаю, когда / dev / tty? предназначенный.

    даже если я создаю SSH-соединение, количество /dev / tty s одинаково.

    а если сделаю

    cat /dev/tty0
    

    и введите что-то в клавиатуре, я получаю соответствующие выходы. почему это происходит?

30
задан Ciro Santilli 新疆改造中心 六四事件 法轮功
15.02.2023 17:45 Количество просмотров материала 2918
Распечатать страницу

2 ответа

в этом файле являются не только устройствами ввода/вывода. Они также выполняют специальную работу в качестве управляющего терминала для сеанса, например, отправляют сигналы (Ctrl+C). /dev / ttyNN-виртуальные консоли, отображаемые на мониторе в полноэкранном режиме.

клеммы начинаются с /dev / tty1. Вы можете переключаться на эти консоли, как правило, нажатием клавиш Ctrl + Alt+Fn.

Эл.г, сочетание клавиш Ctrl+АЛТ+Ф1 принимает вас на первый виртуальный терминал. В настоящее время большинство дистрибутивов Linux X сервер от tty1. Таким образом, нажатие Ctrl+Alt+F1 может не иметь эффекта.

$ ps ax | grep Xorg | grep -v grep
 1504 tty1     Ss+   44:57 /usr/bin/Xorg :0 -background none -verbose -auth /var/run/gdm/auth-for-gdm-rfsWyA/database -nolisten tcp vt1

Ctrl + Alt+F2 приведет вас ко второму терминалу. Обычно дистрибутивы запускают программу входа (agetty) на виртуальном терминале.

$ ps ax | grep tty2 | grep -v grep
31865 tty2     Ss+    0:00 /sbin/agetty tty2 38400

программы для входа обеспечит вам быстрое входа и позволяет войти с именем пользователя/пароль. Сценарии инициализации определяют, где будет выполняться вся программа входа в систему. Поэтому в зависимости от того, что вы можете или не можете увидеть приглашение на, скажем tty9. Вернуться к ваш графический интерфейс, нажмите Ctrl + Alt+F1 (как в примере выше).

/ dev/tty0-специальное устройство, указывающее на текущий терминал. Таким образом, независимо от того, где вы его запускаете(любая виртуальная консоль), все, что читается/записывается на tty0, отправляется на ваш текущий терминал.

вторая колонка в "ps ax" также дает управляющий терминал программы. Для некоторых программ, таких как демоны, вы можете увидеть, что столбец"?', что означает, что они не терминал.

/ dev/pts / 0 etc приборы psuedo-стержня, которые не прикреплены к дисплею системы. за e.g, терминал вы получаете, когда вы открываете gnome-терминал или любой другой терминал GUI. Это подход, основанный на клиент-сервере, где клиентская сторона будет экспортироваться в программы, такие как bash. Данные, отправляемые программой на псевдотерминал, отправляются на сервер (который обычно контролируется другой программой, например, gnome-terminal). Процесс управления (на стороне сервера) определяет что нужно отправить в терминал, что в итоге видит клиент. Эти приборы помогают вам раскрыть множественные "стержни GUI" без любого предела на вашей системе, все еще обеспечивая такой же старый стержень как управление(ioctl(), установка цвета, посылая сигналы [Ctrl+C] etc. ).

24
отвечен 3498DB 2023-02-17 01:33

Я просто хочу прояснить отношения такого рода вещи.

первый, / dev / tty находится на уровне процесса, это может быть ttyn(tty1, tty2,...), ttySn(ttyS0, к ttys1), pty(оч/0, ПЦ/1), и что-то еще.

/ dev / tty0 является псевдонимом текущей (на переднем плане) виртуальной консоли, поэтому может быть tty1, tty2, и так далее. Обратите внимание, что ttyS0-это не псевдоним, это первый серийный порт.

/ dev / console - системная консоль, по умолчанию указывает на /dev/tty0. Это может быть ttyn, ttySn, ttyUSBn, lpn и так далее.

ориентировочно, в /dev/телетайп > в /dev/консоли > на /dev/tty0

1
отвечен firo 2023-02-17 03:50

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх