Могу ли я добавить горячую клавишу Tab в мой сценарий оболочки?

Оболочка использует устройство TTY (если оно подключено к одному) для получения пользовательского ввода и вывода вывода, и не более того. Тот факт, что оболочка подключена к TTY, определяется getty (и сохраняется логином ); в большинстве случаев оболочке все равно, подключен он к TTY или нет. Его взаимодействие с ядром происходит через системные вызовы .

Сервер X11 не знает о логинах (как и оболочка). Процесс входа в систему в X11 работает двумя способами:

  • либо пользователь входит в систему на терминале, а затем запускает X (обычно с использованием startx );
  • или X-сервер запускается с « диспетчер дисплеев », который запрашивает у пользователя логин и пароль (или любую другую информацию для аутентификации).

То, как серверы X11 получают ввод и выводят данные, сильно отличается от оболочки. На стороне ввода X знает об устройствах, которых нет в оболочке, начиная с мышей; он обычно управляет ими напрямую с помощью собственных драйверов. Даже для клавиатур у X есть свои собственные драйверы, которые дополняют обработку ядра (насколько я понимаю, в Linux, например, X использует драйвер TTY для чтения необработанного ввода с клавиатуры, но затем интерпретирует это, используя свой собственный драйвер). На стороне вывода X управляет устройствами отображения напрямую, с помощью ядра или без нее, и без использования устройства TTY.

Серверы X11 во многих системах действительно используют устройства TTY для синхронизации с ядром: в системах, поддерживающих виртуальные терминалы, X должен «зарезервировать» VT, на котором он работает, и обрабатывать переключение VT.На этом пути есть еще несколько тонкостей; таким образом, в Linux X настраивает TTY, чтобы отключить GPM (программу, которая позволяет использовать мыши в текстовом режиме). X также может совместно использовать VT ...

Раньше на некоторых рабочих станциях не было явной синхронизации с ядром; если вы не запустили xconsole , вы можете получить сообщения ядра, отображаемые в «текстовом режиме» поверх экрана X11.

1
22.07.2017, 09:03
0 ответов

Теги

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