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

Сохранить вывод консоли в файл:

tee команда

команда tee - чтение со стандартного ввода и запись на стандартный вывод и файлы.

Он автоматически создает файл и сохраняет все выходные данные cmd ps -ax в файл с именем processes_info в той же папке, откуда запускался cmd.

user@admin:~$ ps -ax | tee processes_info
tee команда

команда tee - делает машинописный ввод терминальной сессии.

Создает файл с именем my_console_output.txt и откроет подселочку и записывает всю информацию через этот сеанс. После этого скрипт запускается и независимо от вывода консоли, он будет сохранен в файле my_console_output.txt; если и до тех пор, пока скрипт не закончится, когда разветвленная оболочка выйдет. (например, когда пользователь вводит exit или когда набирается CTRLD.)

user@admin:~$ script -c "ps ax" processes_info.txt
запускает скрипт; создает файл processes_info.txt; хранит вывод консоли в файл; конец (закрыть) скрипт. Другой пример:
script -c 'echo "Hello, World!"' hello.txt
27
задан 13 June 2012 в 03:16

71 ответ

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

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

enter image description here [/g0]

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

enter image description here [/g1]

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

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

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

Exec=gnome-terminal -x screen -q
11
ответ дан 10 August 2018 в 09:26

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

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

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

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

2
ответ дан 10 August 2018 в 09:26

За последние 5 лет я периодически проводил длительные сеансы в care & amp; подача машин Linux (в отдаленных местах). И, в основном, Gnome Terminal не совсем разрезает его.

Я часто использовал Windows / [2] SecureCRT и SecureFX (SFTP) на обоих XP и Win7, а также Ubuntu (под Wine), предоставляя мне гораздо лучший набор функций, в том числе: несколько окон и / или вкладок, сохраненные настройки, макросы входа, пошаговую раскраску, большую настройку, интегрированный SFTP, и даже скрипты .. Были всегда небольшие сбои (с Вином, особенно с SFTP), и я часто возвращался к Gnome Terminal для локальных задач на Ubuntu .

Однако с начала этого года (в бета-версии) у меня был SecureCRT (родной по Ubuntu ). Помимо более тесной интеграции с Nautilus (или чем-то) для передачи файлов SFTP / SSH, это почти заменило мое использование Gnome Terminal .

Даже новая настройка машины лучше с хлопотами -бесплатный срез & amp; paste , полный захват сеанса и сохраненные настройки подключения.

Я не пробовал, но он также был выпущен только для Mac OS X v1.5 (Intel) или v10.6 +.

0
ответ дан 10 August 2018 в 09:26

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

10
ответ дан 10 August 2018 в 09:26

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

screen -raAd

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

6
ответ дан 13 August 2018 в 12:50

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

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

enter image description here [/g0]

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

enter image description here [/g1]

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

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

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

Exec=gnome-terminal -x screen -q
11
ответ дан 13 August 2018 в 12:50
  • 1
    После установки пакета - sudo apt-get install screen - он обертывает строку, но каждый раз запускать screen для этой цели на самом деле неинтрузивно. Посмотрим, какие еще существуют обходные пути. – Marius Butuc 4 August 2011 в 03:03
  • 2
    очень верно - обновились с дальнейшим предложением. – fossfreedom♦ 4 August 2011 в 04:06
  • 3
    Есть тема о gnome-terminal + интеграция экрана GNU и отчет об ошибке , но никто не работает над этим. Тем не менее, экран GNU похож на способ динамического переноса строк. – Maxime R. 6 April 2012 в 19:10
  • 4
    Еще одна проблема: теперь прокрутка - это работа. :( Может быть, хуже, чем не иметь оплату. – allprog 31 October 2013 в 15:30
  • 5
    Всем думать о том, чтобы попробовать это: сначала это круто, но очень изворотливое, и я в конце концов прекратил использовать его – Jay Sullivan 28 August 2014 в 01:48

За последние 5 лет я периодически проводил длительные сеансы в care & amp; подача машин Linux (в отдаленных местах). И, в основном, Gnome Terminal не совсем разрезает его.

Я часто использовал Windows / [2] SecureCRT и SecureFX (SFTP) на обоих XP и Win7, а также Ubuntu (под Wine), предоставляя мне гораздо лучший набор функций, в том числе: несколько окон и / или вкладок, сохраненные настройки, макросы входа, пошаговую раскраску, большую настройку, интегрированный SFTP, и даже скрипты .. Были всегда небольшие сбои (с Вином, особенно с SFTP), и я часто возвращался к Gnome Terminal для локальных задач на Ubuntu .

Однако с начала этого года (в бета-версии) у меня был SecureCRT (родной по Ubuntu ). Помимо более тесной интеграции с Nautilus (или что-то) для передачи файлов SFTP / SSH, это почти заменило мое использование Gnome Terminal .

Даже новая настройка машины лучше с хлопотами -бесплатный срез & amp; paste , полный захват сеанса и сохраненные настройки подключения.

Я не пробовал, но он также был выпущен только для Mac OS X v1.5 (Intel) или v10.6 +.

0
ответ дан 13 August 2018 в 12:50

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

10
ответ дан 13 August 2018 в 12:50
  • 1
    Я просто хочу выразить свою искреннюю благодарность вам за эту работу. Нецензурно, что VTE не перестраивается в 2013 году. – Justin Force 11 September 2013 в 23:40
  • 2
    Если эта функция может перейти к следующей версии Ubuntu, это будет супер пупер! – allprog 31 October 2013 в 14:47
  • 3
    Надеюсь, он это сделает. Теперь он включен в версию VTE 0.35, которая станет стабильной 0,36, частью стабильного Gnome 3.12. – egmont 3 December 2013 в 18:48
  • 4
    К сожалению, это не превратило его в ubuntu, но вы можете обновить пакеты vte (и gnome-terminal) из промежуточной области gnome3 в launchpad.net/~gnome3-team/+archive/gnome3-staging/+ пакеты – egmont 14 April 2014 в 04:59

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

0
ответ дан 13 August 2018 в 12:50
  • 1
    Еще лучше установите byobu . В основном это хорошая обложка вокруг screen, но одна приятная особенность заключается в том, что вы можете автоматически запускать ее во всех терминалах, поэтому вы вряд ли знаете, что она есть. – ams 18 November 2011 в 15:44

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

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

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

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

2
ответ дан 13 August 2018 в 12:50

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

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

sudo apt-get install rxvt-unicode

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

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

7
ответ дан 13 August 2018 в 12:50
  • 1
    Что меня поражает, так это то, что до сих пор никто не думал создать новый новый терминал, который не основан на VTE, поэтому большинство терминальных приложений для Linux не переплетаются. Просто посмотрите на Terminal.app от Mac OSX - он переплачивает и является одним из лучших эмуляторов терминала, которые я использовал. – papashou 9 June 2012 в 03:48

Другие вопросы по тегам:

Похожие вопросы: