Почему использование pts для xterm или чего-либо

Я на самом деле не засвидетельствовал точно, о чем Вы говорите как широко распространенное явление, но я могу думать о трех гипотезах в увеличивающемся порядке вероятности.

  1. В Bash и подобных оболочках/языках сценариев, обратные галочки могут использоваться для замены команды; люди могут обращаться к этому. (Но здесь с обеих сторон существуют обратные галочки.)

  2. В синтаксисе скидки с цены, применимом даже здесь на сайтах Exchange Стека, обратные галочки используются для помещения вещей в моноширинный шрифт / шрифт печатающего устройства: like this, который обычно используется, чтобы указать, что что-то - короткая часть кода или чего-то, что Вы ввели бы в интерфейс командной строки. (Но снова, здесь, с обеих сторон существуют обратные галочки.)

  3. В ЛАТЕКСНОЙ разметке, которая вероятна что-то непропорционально используемое linuxers/Unixers, обратные галочки используются в качестве оставленных кавычек и одинарных кавычек для правильных кавычек, таким образом, 'это' становится 'этим' при наборе. Возможно, это то, почему это обычная практика среди linux/Unixers.

Я предполагаю, что могли бы быть другие объяснения, но я лично действительно не засвидетельствовал это явление очень.

4
27.12.2011, 05:58
2 ответа

Существует несколько вещей о терминалах, которыми управляют в ядре, таком как сигналы клавиатуры (отображение, например. Ctrl+Z к SIGSTOP), управляя группами приоритетного и фонового процесса, чрезвычайно сырым механизмом выпуска строки, отправляя SIGHUP, когда терминал уходит, и другие тонкости.

С аппаратным терминалом оконечное устройство находится между приложением и аппаратными средствами. Вид оконечного устройства зависит от вида аппаратных средств, например (на Linux) /dev/tty1 для клавиатуры компьютера и экрана, /dev/ttyS0 для терминала, подключенного по последовательной линии, /dev/ttyUSB0 для терминала, подключенного по USB, и т.д.

+-------------+         +-----------------+         +-------------+
| text mode   |         | kernel          |         | peripheral  |
| application |<------->| e.g. /dev/ttyS0 |<------->| e.g. on a   |
|             |         |                 |         | serial port |
+-------------+         +-----------------+         +-------------+

С эмулятором терминала принцип является тем же с соединением, все еще проходящим драйвер ядра, но что в другом конце, также процесс.

+-------------+         +-----------------+         +-------------------+
| text mode   |         | kernel          |         | terminal emulator |
| application |<------->| /dev/pts/*      |<------->| e.g. xterm, sshd, |
|             |         |                 |         |      screen, ...  |
+-------------+         +-----------------+         +-------------------+

Xterm, telnetd ¹, sshd и т.п. (непосредственно) не подключены ни к каким аппаратным средствам. При вводе ключа на клавиатуре информация проходит клавиатуру (физическое устройство) к драйверу клавиатуры в ядре, которое затем передает его к процессу, это слушает на устройстве клавиатуры. Если Вы находитесь на графической сессии, тем процессом является X-сервер, который затем передает информацию к процессу, окно которого фокусируется. С другой стороны, когда программа, работающая внутри xterm, производит вывод, xterm преобразовывает это в порядок на X-сервер для отображения определенных символов в определенном шрифте в определенном положении. Нет никаких аппаратных средств, включенных в какой-либо степени процесс, это обрабатывает вход или производит вывод и возможно ни один вообще (например, если xterm окно не видимо на экране или по крайней мере ни одном локально, если терминал обеспечивается telnet или ssh сервером).

¹ терминал находится на удаленном (сервер) сторона.

3
27.01.2020, 20:58
  • 1
    Есть ли практические различия между способом, которым псевдотерминал и терминал реализованы для размещения различий в соединении? –  rubixibuc 28.12.2011, 03:42
  • 2
    @rubixibuc я не понимаю Вашего вопроса. Различные типы терминала получают вход от других источников и отправляют вывод по-разному. Существует общая часть для вещей как управление группы процесса и сигналы. –  Gilles 'SO- stop being evil' 28.12.2011, 20:00
  • 3
    , который я просто имел в виду, был там любыми значительными различиями в способе, которым оконечное устройство общалось с эмулятором теперь, когда терминал является базирующимся программным обеспечением. Кроме того, чтобы быть псевдотерминалом с основной и ведомой стороной, какие функции сделали добавление предложения псевдотерминала. –  rubixibuc 29.12.2011, 00:21
  • 4
    @Gilles, Когда я ввожу tty в xterm, работающий в GUI, говорит это /dev/tty6. Для разъяснения, Вы говорящий, что подключения удара к xterm через имущество и xterm взаимодействуют с X-сервером для рендеринга материала, который дальнейшие сырые данные дескрипторов ввод-вывод (от Кбита/экрана) использование еще одного оконечного устройства, /device/tty0? Что делает tty6 здесь? –  forumulator 03.01.2018, 20:12
  • 5
    @forumulator “подключения удара к xterm через имущество и xterm взаимодействует с X-сервером для рендеринга материала, какие дальнейшие сырые данные дескрипторов ввод-вывод” исправляет до сих пор. Необработанный ввод-вывод проходит что-то, что не называют оконечным устройством. Можно думать о нем как о консольном устройстве — это имеет совершенно другой интерфейс от терминала. То, как это на самом деле работает, зависит от ядра и изменялось со временем. X-сервер получает конвейер к аппаратным средствам, которые могут позволить ему получать/устанавливать цвета пикселей (кадровый буфер) или более сложные команды (аппаратное ускорение через GPU). –  Gilles 'SO- stop being evil' 03.01.2018, 22:43

Вот ссылка, я нашел, что это отвечает на вопрос. Это в основном говорит, что они были созданы для перемещения эмуляции терминала в пространство пользователя. Это находится к верхней части страницы.

http://www.linusakesson.net/programming/tty/index.php

0
27.01.2020, 20:58

Теги

Похожие вопросы