Dynamiczne zawijanie linii w terminalu GNOME

27

Jak sprawić, by linie w terminalu GNOME dynamicznie się zawijały podczas zmiany rozmiaru okna?

Marius Butuc
źródło

Odpowiedzi:

19

W chwili, gdy pytanie zostało zadane, nie było to możliwe w Terminalu Gnome. Jednak poprawka została wprowadzona pod koniec 2013 roku. Ta zmiana nie wpłynęła na Ubuntu 14.04, ale powinna być częścią Ubuntu 14.10.

Zgodnie z problemem na Launchpad , możesz mieć tę funkcję już dziś, włączając PPA zespołu Gnome. Możesz aktywować PPA Gnome-team Staging PPA (inscenizacja wymagana do uzyskania najnowszej wersji), wykonując następujące czynności

 sudo apt-add-repository ppa:gnome3-team/gnome3-staging

Zaktualizuj swoje źródła

sudo apt-get update

Ponownie zainstaluj terminal gnome, aby uzyskać najnowszą wersję

sudo apt-get install gnome-terminal

Sprawdź, czy masz wersję 3.13 lub nowszą (od 10 września powinna być 3.13.1)

$ gnome-terminal --version
GNOME Terminal 3.12.1
Michael Martin-Smucker
źródło
Właśnie zainstalowałem PPA zespołu Gnome, zaktualizowałem, teraz mam Gnome Terminal 3.10.2. Bez dynamicznego zawijania linii. Więc...?
Jay Sullivan
@ notfed Prawdopodobnie będziesz potrzebować 3.12, która jest dostępna dla Ubuntu 14.04 w stagingppa. Spróbuj (na własne ryzyko)ppa:gnome3-team/gnome3-staging
Michael Martin-Smucker
Właśnie próbowałem dodać „normalny” ppa:gnome3-team:gnome3ppa, otrzymałem wersję 3.10. Po dodaniu ppa:gnome3-team:gnome3-stagingmam poprawną wersję 3.13.1, więc mogę potwierdzić, że działa.
Victor Bjelkholm
Bardzo ważny jest numer wersji VTE. Funkcja pojawiła się w wersji vte-0.36 (odpowiednio, echo $VTE_VERSIONpowinna zgłosić co najmniej 3600).
egmont,
1
Mam teraz GNOME Terminal 3.12.3na Ubuntu 14.04 za pomocą tej metody, a ponowne uruchomienie działa.
nh2
11

Domyślny terminal Gnome nie pozwala ci tego zrobić - jeśli jednak w terminalu wpiszesz screen- uruchomi terminal w emulatorze terminali, który zmienia rozmiar poprawnie.

Na przykład - tutaj jest mój folder domowy podczas działania ls -l

wprowadź opis zdjęcia tutaj

a tutaj jest ten sam ekran przeskalowany poziomo

wprowadź opis zdjęcia tutaj

Automatyczne uruchamianie Gnome-Terminal z ekranem

cp /usr/share/applications/gnome-terminal.desktop ~/.local/share/applications

następnie edytuj plik gnome-terminal.desktop i zmień wiersz polecenia Exec na:

Exec=gnome-terminal -x screen -q
fossfreedom
źródło
2
Po zainstalowaniu pakietu - sudo apt-get install screen- robi to zawijanie wierszy, ale uruchamianie go za screenkażdym razem tak naprawdę nie jest uciążliwe. Zobaczmy, jakie są inne obejścia.
Marius Butuc
bardzo prawdziwe - zaktualizowałem z kolejną sugestią.
fossfreedom
Jest temat na temat integracji ekranu gnome-terminal + GNU i raportu o błędzie, ale nikt nad tym nie pracuje. Mimo to ekran GNU wygląda jak sposób na dynamiczne zawijanie linii.
Maxime R.
1
Jeszcze jeden problem: przewijanie jest teraz obowiązkiem. :( Może gorsze niż brak reflow.
allprog 31.10.13
1
Wszystkim myślącym o wypróbowaniu tego: na początku jest fajnie, ale naprawdę dziwnie, i w końcu przestałem go używać
Jay Sullivan
10

Robię duże postępy we wdrażaniu przepakowywania w VTE (terminal gnome itp.). Proszę zobaczyć błąd upstream na https://bugzilla.gnome.org/show_bug.cgi?id=336238 , nie krępuj się wypróbować moją łatkę, jeśli jesteś typem hakera. W przypadku jakichkolwiek uwag technicznych prosimy o komentarz w tym głównym błędzie, dzięki! Mam nadzieję, że moja praca wkrótce zakończy się powszechnym VTE.

egmont
źródło
2
Chcę tylko wyrazić szczerą wdzięczność za tę pracę. To obsceniczne, że VTE nie przepakowuje w 2013 roku.
Justin Force
Gdyby ta funkcja mogła przejść do następnej wersji Ubuntu, byłoby super super duper!
allprog
Mam nadzieję, że się uda. Jest teraz zawarty w wersji VTE 0.35, która stanie się stabilna 0.36, część stabilnego Gnome 3.12.
egmont
Niestety nie udało się na ubuntu wierny, ale można uaktualnić ŻChZZ (i gnome-terminal) pakiety z obszaru przemieszczania gnome3 na launchpad.net/~gnome3-team/+archive/gnome3-staging/+packages
Egmont
7

gnome-terminal nie może tego zrobić ( błąd nadrzędny ).

Po kilku eksperymentach rxvt-unicode wydaje się działać.

Zainstaluj za pośrednictwem centrum oprogramowania

sudo apt-get install rxvt-unicode

Przepływ działa tylko wtedy, gdy masz wystarczającą ilość tekstu, aby wypełnić cały ekran, czyli po naciśnięciu bufora przewijania.

Osobiście uważam, że rxvt jest dość brzydki, ale jeśli przepływ jest dla Ciebie ważniejszy, idź do niego.

achiang
źródło
Dziwi mnie to, że do dziś - nikt nie pomyślał o opracowaniu nowego terminalu, który nie jest oparty na VTE - to jest powód, dla którego większość aplikacji terminalowych dla Linuksa nie przepływa. Wystarczy spojrzeć na aplikację Terminal.app w systemie Mac OSX - ponownie się przepełnia i jest jednym z najlepszych emulatorów terminali, z których korzystałem.
papashou
6

Chociaż niestety nie znam odpowiedzi na to podczas normalnej sesji terminalowej, wiem, jak to zrobić, jeśli używasz screena (nawet jeśli używasz byobu): podłącz ponownie ekran, używając następujących poleceń:

screen -raAd

Spowoduje to skalowanie sesji ekranu podczas zmiany rozmiaru (a także odłączanie wszelkich istniejących sesji) i zawsze tego używam, aby przywrócić sesję ekranu.

Ania
źródło
2
To jest fajne ... ale teraz nie mogę przewijać w terminalu .... :(
gregghz
Aby przewijać screen, zobacz to pytanie .
Ruslan
0

Rozwiązanie: zainstaluj ekran ( sudo apt-get screen ) i uruchom go w swoim terminalu.

ern0
źródło
3
Jeszcze lepiej, zainstaluj byobu . Zasadniczo jest to fajne opakowanie screen, ale jedna fajna funkcja polega na tym, że możesz włączyć automatyczne uruchamianie we wszystkich terminalach, więc prawie nie wiesz, że tam jest.
popr.
0

W ciągu ostatnich 5 lat okresowo spędzałem długie sesje na opiece i karmieniu maszyn z systemem Linux (w odległych miejscach). I, w zasadzie, Gnome Terminal nie całkiem go uciął ...

Często korzystałem z SecureCRT i SecureFX (SFTP) dla Windows zarówno na XP, jak i Win7, a także na Ubuntu (pod Wine ), co daje mi znacznie lepszy zestaw funkcji, w tym: wiele okien i / lub kart, zapisane ustawienia , makra logowania, kolorowanie według sesji, wiele dostosowań, zintegrowane SFTP, a nawet skrypty. Zawsze występowały drobne usterki (z Wine, szczególnie z SFTP), i często wracałem do Gnome Terminal w celu wykonywania lokalnych zadań na Ubuntu .

Jednak od początku tego roku (w wersji beta) mam SecureCRT (natywny dla Ubuntu ). Poza ściślejszą integracją z Nautilus (lub czymś takim) do przesyłania plików SFTP / SSH, prawie zastąpiło to moje korzystanie z Gnome Terminal .

Nawet nowa konfiguracja maszyny jest lepsza dzięki bezproblemowemu wycinaniu i wklejaniu , przechwytywaniu pełnej sesji i zapisanym ustawieniom połączenia. Zawsze miał lepszą obsługę zmiany rozmiaru, przepływu i zestawu znaków nawet w większości innych aplikacji terminalowych.

Nie próbowałem tego, ale właśnie został wydany dla Mac OS X v1.5 (Intel) lub v10.6 +.

david6
źródło