To długa i podstawowa odpowiedź, ale omówiłem również problem Ctrl-D wymieniony w odpowiedzi OP poniżej
Widzę tu wielkie zamieszanie terminal i muszla . Przewijanie nie jest wykonywane przez powłokę, ale przez terminal. Co screen
i tmux
zrobić, jest Dodaj inny terminal na górze twojego gnome-terminalu dla każdego okna podrzędnego (to może na początku brzmieć dziwnie, ale terminal nie jest dokładnie tym, czym jesteś widzieć ale tak naprawdę tylko urządzenie, często w / dev / pts /, gdzie proces może odczytywać bajty i zapisywać bajty do).
Gdy ekran uruchamia swoje pseudo-terminal (y) na szczycie twojego gnome-terminalu, nie ma szans na przechwycenie kluczy, które gnome-terminal już przechwytuje. Musi mieć własne klawisze skrótów, a użytkownik nie powinien naciskać klawiszy skrótu, które rozumie gnome-terminal. Możesz, ale wynik nie będzie taki, jakiego oczekiwałeś, ponieważ gnome-terminal nie wie, jaki bałagan został utworzony na ekranie.
Rzeczywiście możesz mieć skróty przechwytywane tylko przez twoją powłokę (nie przez terminal, z którego powłoka czyta swoje znaki), ale te nie powinny być naruszone, chyba że dotyczą Ctrl-A (jedyny klucz przechwycony przez ekran na górze klawiszy przechwycony przez podsystem terminalowy (np. Ctrl-C)). Powinny działać tak samo. Niektóre skróty zwykle przez to interpretowane bash
powłoka to Ctrl-A (wewnątrz ekranu, musisz użyć Ctrl-A a), aby przesunąć kursor na początek edytowanego polecenia, a Ctrl-E (działa wewnątrz ekranu tak samo, jak nie wewnątrz ekranu), aby przejść do koniec.
Wiem, że to brzmi skomplikowanie, ale jest naprawdę proste, ponieważ terminal jest tylko plikiem, do którego można zapisywać bajty i odczytywać bajty. Oto doskonały artykuł, który obejmuje wiele powiązanych rzeczy, jeśli jesteś zainteresowany: http://www.linusakesson.net/programming/tty/index.php
Dotyczy to np. Ctrl-D (kluczowa kombinacja powinna być interpretowana przez muszla ) problem, powinieneś sprawdzić, czy znaki wygenerowane przez Ctrl-D są takie same zarówno na terminalu gnome, jak i terminalu ekranowym. Możesz widzieć postać na przykład z cat
. Podejrzewam, że rzeczywiście są takie same (tak jest w moim systemie), a jeśli tak, oznacza to, że ekran uruchomił inną powłokę niż normalnie robi to gnome-terminal. W takim przypadku dowiedz się, która powłoka jest uruchamiana natywnie przez terminal gnome i uruchom tę powłokę (z tymi samymi argumentami wiersza poleceń) również w sesji ekranowej.