#bash #terminal #tty
#bash #терминал #tty
Вопрос:
Пожалуйста,
У меня есть приложение терминала, которое не требует повторения управляющих символов обратно на терминал. Я могу с радостью выдать ‘stty -echoctl’ на терминале, запустить свое приложение и получить результат, который мне нужен. Кроме того, я могу включить ‘stty -echoctl’ в .bashrc, и все в порядке. (Я также добавил его в .profile, но, похоже, это все равно приводит к .bashrc)
Затем я могу открыть другой терминал (введите ‘konsole / gnome-terminal / xterm’ в исходной консоли и снова получу ожидаемый результат.
Проблема, с которой я сталкиваюсь (и это при подготовке к разветвлению программы из другого приложения), заключается в том, что если я попытаюсь
$ xterm -e ./ V2.13
или даже
$ xterm -e bash -c ./ V2.13
управляющие символы фактически передаются обратно в мое приложение.??
РЕДАКТИРОВАТЬ: Кроме того, есть ли какая-либо необходимость (выгода) в выполнении bash для выполнения моего приложения?
Комментарии:
1. При запуске вы
stty -echoctl
меняете настройки tty, подключенного к вашему стандартному интерфейсу. Когда вы запускаете xterm, вы создаете новый tty , который, конечно, не унаследует настройки несвязанного, с которого он был запущен2. Обратите внимание, что
-echoctl
это НЕ помешает терминалу повторять управляющие символы, а только изменит способ их повторного отображения. Они будут возвращены как двоичныеx02
и т. Д. Вместо^B
и т. Д.3. Таким образом, это в основном сводится к тому, почему вашему приложению нужны управляющие символы, которые будут повторяться как двоичный мусор, а не в обозначении caret (
^C
, etc). Может быть, есть лучший выход из этого, чем возиться с настройками терминала![]()
4. @user414777 — но…. У меня есть stty -echoctl в .bashrc — я вхожу в систему, открываю терминал, и все работает нормально. Я создаю новый экземпляр, запуская xterm из xterm, и все работает нормально — он наследует настройки
5. @user414777 — «echoing x02» — не уверен в этом, все, что я знаю, это то, что на дисплее моего приложения нет управляющих символов, отражающихся эхом.