Полагаю, мне не ясно, каковы функции программ getty / agetty / mgetty на машине linux / unix.Я могу запустить оболочку на tty примерно так:
TTY = '/dev/tty3'
cpid = os.fork()
if cpid == 0:
os.closerange(0, 4)
sys.stdin = open(TTY, 'r')
sys.stdout = open(TTY, 'w')
sys.stderr = open(TTY, 'w')
os.execv(('/bin/bash',), ('bash',))
.. и, если я переключусь на tty3, будет запущена оболочка, но некоторые нажатия клавиш игнорируются / никогда не отправляются наракушка.оболочка знает, что настройки TTY неверны, потому что bash скажет что-то вроде «невозможно открыть tty, управление заданиями отключено»
Я знаю, что модуль «termios» имеет функции для изменения настроек TTY, чточто использует модуль 'tty', но я не могу найти пример того, как Python правильно устанавливает TTY и запускает оболочку.Я чувствую, что это должно быть что-то простое, но я не знаю, где искать.
поиск источника * etty программ не помог мне - C выглядит для меня как греческий: - /
Может быть, я просто не ищу правильные термины?Кто-нибудь в прошлом заменял * etty программы на Python и у них есть объяснение, которым они хотели бы поделиться?
Спасибо за интерес к моему основному вопросу:)