Как Linux использует / dev / tty и / dev / tty0

Я вижу разницу между / dev / tty и / dev / tty0, тестируя предоставленный метод из этого вопроса . Но я действительно задумываюсь о практическом использовании этих устройств (например, о ситуациях, которые они будут использовать).

  • Значение записей в файле / etc / securetty?
  • Какие типы TERM все еще используются?
  • Получить отображаемый номер для данного tty
  • Не удается удалить ttyS0 из / etc / securetty
  • Как я могу жить - измените строки и столбцы TTY?
  • Вперед stdout к различным tty
  • Сохраните файл с сохранением файла emacs без доступа к терминалу
  • Не могу понять, как вернуться к резервному файлу профиля
  • 2 Solutions collect form web for “Как Linux использует / dev / tty и / dev / tty0”

    /dev/tty является управляющим tty текущего процесса для любого процесса, который фактически открывает этот специальный файл. Это не обязательно виртуальное консольное устройство ( /dev/tty n ) и может быть pty , последовательным портом и т. Д. Если управляющий tty не является виртуальной консолью, тогда процесс не должен взаимодействовать с консольными устройствами даже если его псевдометрия фактически реализована на системной консоли. E. g. для оболочки в терминальном эмуляторе под локальным сервером X, указанные программы образуют такую ​​цепочку взаимодействий, как:

    Оболочка Unix
    /dev/pts/2 (≡ /dev/tty для его процессов)
    драйвер ядра pty
    /dev/ptmx
    эмулятор терминала
    ⇕ Протокол X Window
    X-сервер
    /dev/tty7 (≡ /dev/tty для сервера)
    системная консоль
    z x c ↿⇂ [_̈░░]
    пользователь

    Использование /dev/tty по программам userland включает в себя:

    • Напишите что-то на управляющий терминал, игнорируя все перенаправления и трубы;
    • Сделать ioctl () – см. Tty_ioctl (4);
    • Например, отсоедините от терминала (TIOCNOTTY).

    /dev/tty0 – это активная в настоящий момент виртуальная консоль операционной системы (то есть видимая на мониторе). Этот специальный файл вряд ли используется системным программным обеспечением, но /dev/console фактически является «псевдонимом» для tty0 а /dev/console широко используется демонами syslog, а иногда и самим ядром.

    Экспериментируйте, чтобы показать разницу: запустите root оболочку на tty3 ( Ctrl + Alt + F3 ) или в эмуляторе терминала. Теперь

     # sleep 2; echo test >/dev/tty 

    затем быстро Ctrl + Alt + F2 , подождите две секунды и Ctrl + Alt + обратно. Где вы видите результат?
    И теперь тот же тест для /dev/tty0 .

    / dev / tty является управляющим tty для любого процесса. Это может быть ваша оболочка.

    Если ваш процесс не имеет управляющего tty, / dev / tty недоступен, это, например, верно для демонов.

    Если у вашего процесса есть управляющий tty, то / dev / tty является псевдонимом драйвера для реального tty-драйвера, который ваш процесс использует для stdin, stdout или stderr.

    См. man -s7d tty для получения дополнительной информации. Обратите внимание, что раздел, в котором находится данное руководство, может различаться между различными ОС и его не следует путать с справочной страницей в разделе 1. Поэтому проверьте, например, man -k tty .

    Interesting Posts

    Альтернативный источник для пакета, удаленный из тестирования или нестабильной репо

    Команда Wrap в подсказке

    Замена графических подсказок sudo командой sudo

    Скрипт, который перечисляет имена файлов с помощью первого типа bash типа

    Как получить доступ к локальному FTP YUM-репо с клиентской машины

    Неправильная ассоциация каталогов в аптеках Cinnamon на Debian 8

    Diff несколько файлов, true, если все не равны

    Перемещение большого количества файлов и каталогов в другой каталог

    Могу ли я передавать файлы между командами?

    Точка доступа предлагает IP-адрес, если используется в качестве сервера DHCP?

    Сравните две записи файлов, чтобы найти идентичные файлы, но игнорировать расширения

    sed в bash с переменными и двойными кавычками вызывает неисполненную ошибку

    sudo: разрешить одной команде устанавливать одну переменную среды

    Linux, доступ к скрипту proxy.pac для сервера Windows

    Что такое эквивалент IPv6 для 127.0.0.0/8

    Linux и Unix - лучшая ОС в мире.