Сценарий Python 2.7 с помощью проклятий, являющихся автоматически фоном, когда полузадержку или cbreak называют

Я в настоящее время работаю над модернизацией (был сделан на Надежном человеке 14.04, модернизировав для Бионических 18.04), сценарий Python, который использует проклятия для создания меню для пользователя. Во время начального запуска сценария, прежде чем отображен фактический UI существует строка:

curses.halfdelay(10)

(Документация для этой команды может быть найдена здесь), Этой строке предшествует curses.initscr (), таким образом, должен быть допустимый терминал для получения входа из. Проблема состоит в том, что эта точная строка заставляет сценарий быть фоном, и у Вас есть к fg процесс для продолжения выполнения. После fg произойдет задержка, указанная в полузадержке, и затем сценарий будет обычно продолжаться, который предполагает, что фоновая обработка происходит перед фактическим ожиданием любых символов. Для ссылки, работы сценария, превосходные в Ubuntu 14.04, таким образом, я склонен сказать, это - проблема из-за изменения в пути getty работы или изменение в поведении от выскочки к systemd. Я нашел, что замена полузадержки строки с curses.cbreak () вместо этого также заставляет это быть фоном. Так как полузадержка по существу заставляет терминал переключаться в к cbreak режиму, который намекает мне, что это - то, что вызывает проблему. Я не мог найти любого онлайн наличием ровной удаленно подобной проблемы, таким образом, любая справка ценилась бы.

Спасибо!

0
задан 6 June 2018 в 08:40

1 ответ

Проблема была то, что проклятия пытались угнать tty1 (который уже использовался), и поэтому чтобы препятствовать тому, чтобы текущий терминал был угнан фоны ОС проблема

0
ответ дан 29 October 2019 в 04:22

Другие вопросы по тегам:

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