Это длинный и простой ответ, но я также рассмотрел проблему с Ctrl-D, которую вы указали в ответе ОП ниже
Я вижу большое замешательство здесь терминала и оболочки. Прокрутка выполняется не вашей оболочкой, а терминалом. Что делает screen
и tmux
, так это добавляет еще один терминал поверх вашего gnome-терминала для каждого подокна (на первый взгляд это может показаться странным, но терминал - это не совсем то, что вы видите, а просто устройство, часто в /dev /pts). /, где процесс может читать байты и записывать байты).
Поскольку screen запускает свои псевдотерминал (ы) поверх вашего gnome-терминала, у него нет шансов перехватить ключи, которые gnome-терминал уже перехватывает. Он должен иметь свои собственные сочетания клавиш, и вы, как пользователь, не должны нажимать сочетания клавиш, которые понимает gnome-терминал. Вы можете, но результат не будет таким, как вы ожидали, так как gnome-терминал не знает о беспорядке, который создал экран.
У вас действительно могут быть ярлыки, перехваченные только вашей оболочкой (а не терминалом, из которого оболочка считывает свои символы), но на них не должны воздействовать, если они не задействуют Ctrl-A (единственная клавиша, перехваченная экраном поверх клавиш, которые перехватывается терминальной подсистемой (например, Ctrl-C)). Они должны работать точно так же. Некоторые сочетания клавиш, обычно интерпретируемые этой оболочкой bash
- это Ctrl-A (внутри экрана, вы должны использовать Ctrl-A a), чтобы переместить курсор в начало редактируемой команды, и Ctrl-E (работает внутри экрана точно так же как не внутри экрана), чтобы перейти к концу.
Я знаю, что это звучит сложно, но это действительно очень просто, потому что терминал - это просто файл, в который вы можете записывать байты и читать байты. Вот отличная статья, которая охватывает много связанных вещей, если вы заинтересованы: http://www.linusakesson.net/programming/tty/index.php
Например, для решения проблемы Ctrl-D (комбинация клавиш, которая должна интерпретироваться оболочкой), вы должны убедиться, что символы, сгенерированные Ctrl-D, одинаковы как на терминале gnome, так и на терминале экрана. Вы можете увидеть персонажа, например, с cat
. Я подозреваю, что они действительно одинаковы (так в моей системе), и если да, это означает, что экран запустил другую оболочку, чем обычно делает gnome-терминал. В этом случае выясните, какая оболочка изначально запускается терминалом gnome, и запустите эту оболочку (с такими же аргументами командной строки) и в сеансе экрана.