DOBRZE. Więc kocham ekran. Zapisało to mój bekon kilka razy, gdy maszyny uległy awarii lub zostały odłączone od sieci. Jest jednak wystarczająco dużo powodów, aby nie używać ekranu do wszystkiego, co obejmuje:
- Ból w przewijaniu tyłka. Dlaczego nie mogę po prostu oddziaływać tak, jakby to była normalna powłoka bash?
- Moje skróty klawiaturowe zniknęły. Mam kilka rzeczy dostosowanych w moim środowisku bash, czy jest jakiś sposób, aby sprawić, by działały również na ekranie?
Czy są jakieś narzędzia, których możemy użyć, aby sprawić, by korzystanie z ekranu było tak wysokiej jakości, jak moje bashowe korzystanie z doświadczenia?
bash
gnu-screen
lonestar21
źródło
źródło
tmux
może to, czego szukasz.Odpowiedzi:
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
itmux
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.źródło
Jedno słowo: Byobu
Zacząłem używać około rok temu i nie wrócę do niczego innego.
Jest to w pełni konfigurowalny fronton na ekran. http://en.wikipedia.org/wiki/Byobu_%28software%29
źródło
Problem
Masz wiele możliwości, jeśli chodzi o muxery terminali, ale żaden z nich się nie zachowa dokładnie jak twoja skorupa.
Rozwiązanie graficzne
Screen i tmux (i rozszerzenie byobu) są prawdopodobnie niewłaściwym wyborem, jeśli chcesz, aby były zamiennikami do używania Basha w gnome-terminal. Równie dobrze możesz to zrobić.
VNC zapewnia środowisko X Windows, które można odłączyć i wznowić, dzięki czemu otrzymujesz całą niezawodność muxera terminala, ale masz również pełne środowisko okienkowe. Możesz uruchamiać emulator terminala, korzystać z normalnych ustawień klawiatury Bash, a mysz będzie działać zgodnie z oczekiwaniami.
Zobacz też
źródło