Вопрос Динамическая перенос строк в терминале GNOME


Как вы можете получить строки в терминале GNOME для динамического переноса при изменении размера окна?


27
2017-07-29 13:57


происхождения




ответы:


В тот момент, когда вопрос был задан, это было невозможно в терминале Гнома. Однако, исправлено в конце 2013 года. Это изменение не попало в Ubuntu 14.04, но должно быть частью Ubuntu 14.10.

В соответствии с проблема на Launchpad, вы можете использовать эту функцию сегодня, включив PPA Gnome. Вы можете активировать групповой PPA для групповой команды Gnome (этап, необходимый для получения последней версии), выполнив следующие действия:

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

Обновление источников

sudo apt-get update

Переустановите gnome-терминал, чтобы получить последнюю версию

sudo apt-get install gnome-terminal

Проверьте, чтобы у вас была версия 3.13 или новее (по состоянию на 10 сентября должно быть 3.13.1)

$ gnome-terminal --version
GNOME Terminal 3.12.1

19
2017-07-29 14:03



Я только что установил PPA Gnome-team, обновил, теперь у меня есть Gnome Terminal 3.10.2. Нет динамического переноса строк. Так...? - Jay Sullivan
@notfed Вам, вероятно, понадобится 3.12, который доступен для Ubuntu 14.04 в staging через поверенного Попробуйте (на свой страх и риск) ppa:gnome3-team/gnome3-staging - Michael Martin-Smucker
Просто попробовал добавить "нормальный" ppa:gnome3-team:gnome3 ppa, получил версию, которая была 3.10. После добавления ppa:gnome3-team:gnome3-staging Я получил правильную версию 3.13.1, поэтому могу подтвердить, что это работает. - Victor Bjelkholm
Это действительно значение версии VTE. Эта функция появилась в vte-0,36 (соответственно, echo $VTE_VERSION должен сообщить не менее 3600). - egmont
У меня теперь есть GNOME Terminal 3.12.3 на Ubuntu 14.04, используя этот метод, и работает reflowing. - nh2


Терминал Gnome по умолчанию не позволяет вам это делать - однако, если в терминале вы вводите screen - он запустит терминал в эмуляторе терминала, который правильно изменит размер.

Например - вот моя домашняя папка во время работы ls -l

enter image description here

и здесь один и тот же экран, измененный по горизонтали

enter image description here

Запуск Gnome-Terminal автоматически с экрана

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

затем отредактируйте файл gnome-terminal.desktop и измените командную строку Exec на:

Exec=gnome-terminal -x screen -q

11
2017-08-03 21:21



После установки пакета - sudo apt-get install screen - он обертывает строку, но работает screen каждый раз для этой цели на самом деле неинтрузивный. Посмотрим, какие еще существуют обходные пути. - Marius Butuc
очень верно - обновились с дальнейшим предложением. - fossfreedom♦
Есть тема о Интеграция с gnome-terminal + GNU и отчет об ошибке но никто не работает над этим. Тем не менее, экран GNU похож на способ динамического переноса строк. - Maxime R.
Еще одна проблема: теперь прокрутка - это работа. :( Может быть, хуже, чем не иметь оплату. - allprog
Всем думать о том, чтобы попробовать это: сначала это круто, но очень изворотливое, и я в конце концов прекратил использовать его - Jay Sullivan


Я добился больших успехов в реализации переделки в VTE (gnome-terminal и т. Д.). См. https://bugzilla.gnome.org/show_bug.cgi?id=336238 , не стесняйтесь попробовать мой патч, если вы хакер. В случае какой-либо технической обратной связи, прокомментируйте, что ошибка вверх, спасибо! Надеюсь, что моя работа скоро закончится в основном VTE.


10
2017-09-10 19:20



Я просто хочу выразить свою искреннюю благодарность вам за эту работу. Нецензурно, что VTE не перестраивается в 2013 году. - Justin Force
Если эта функция может перейти к следующей версии Ubuntu, это будет супер пупер! - allprog
Надеюсь, он это сделает. Теперь он включен в версию VTE 0.35, которая станет стабильной 0,36, частью стабильного Gnome 3.12. - egmont
К сожалению, это не превратило его в ubuntu trusty, но вы можете обновить пакеты vte (и gnome-terminal) из промежуточной области gnome3 в launchpad.net/~gnome3-team/+archive/gnome3-staging/+packages - egmont


gnome-terminal не может этого сделать (ошибка вверх).

После некоторых экспериментов, rxvt-unicode кажется, что он будет работать.

Install via the software center

sudo apt-get install rxvt-unicode

Reflowing работает только после того, как у вас достаточно текста, чтобы заполнить всю ценность экрана, а также после того, как вы нажмете буфер прокрутки.

В личной заметке я считаю, что rxvt будет довольно уродливым, но если перепланировка важнее для вас, идите на это.


7
2017-11-19 17:22



Что меня поражает, так это то, что до сих пор никто не думал создать новый новый терминал, который не основан на VTE, поэтому большинство терминальных приложений для Linux не переплетаются. Просто посмотрите на Terminal.app от Mac OSX - он переплачивает и является одним из лучших эмуляторов терминала, которые я использовал. - papashou


Хотя я, к сожалению, не знаю ответа на этот вопрос для обычного сеанса терминала, я знаю, как это сделать, если вы используете экран (даже если вы используете byobu): повторно подключите свой экран, используя следующее:

screen -raAd

Это уменьшит масштаб сеанса экрана при изменении размера (а также отключит любые существующие сеансы), и это то, что я всегда использую, чтобы вернуть сеанс экрана.


6
2017-10-14 17:46



Это круто ... но теперь я не могу прокручивать в терминале .... :( - gregghz
Для прокрутки в screen, видеть этот вопрос, - Ruslan


Насколько я знаю, это зависит от программы, которую вы используете. Сам терминал не может динамически обертывать текст. Однако некоторые терминальные программы могут, например, less[1].

Работа должна состоять в том, чтобы попытаться выполнить [2] то, что вы хотите отобразить less,

[1] http://linuxcommand.org/lts0030.php#less

[2] http://linuxcommand.org/lts0060.php#pipes


2
2017-07-29 14:05





Решение: установите экран (экран sudo apt-get), и запустите его в своем терминале.


0
2017-11-18 08:19



Еще лучше, установите бёбу, Это в основном приятная обертка вокруг screen, но одна приятная особенность заключается в том, что вы можете автоматически запускать его во всех терминалах, поэтому вы вряд ли знаете, что это есть. - ams