чи є спосіб зберегти те, що надруковано на дисплеї за допомогою екрана gnu?


9

Мені подобається зберігати все, що я роблю в командному рядку, наприклад, коли я щось оновлюю і хочу прочитати, як оновлення пройшло тощо.

Зазвичай з Mac OSX і Terminal ви можете прокручувати назад скільки завгодно, і зберігати за допомогою Cmd-S. Але коли я перебуваю на SSH за допомогою gnu screen, я не можу прокручуватися назад безпосередньо з терміналу.

Як я можу зберегти на диску все, що відбувається під час екранного сеансу? Можливо, за замовчуванням (кожен сеанс автоматично створює файл на диску ...)

Дякую!

Відповіді:


7

У ньому є функція реєстрації screen. Почніть це, коли почнете screenробити screen -L(або зсередини screen). Або також зсередини screenви можете натиснути Ctrl- a : H.

Якщо ви хочете ввійти в систему як за замовчуванням, додайте у ~/.screenrcфайл наступний рядок :

deflog on

Ви можете встановити ім'я файлу, використовуючи щось на зразок:

logfile /tmp/screenlog.%n

1
Можливо, не слід зберігати його на / tmp, оскільки він зазвичай очищається при перезавантаженні (наприклад, через відключення електроенергії).
maxelost

@maxelost: Це те, що варто врахувати. Це був лише приклад. Суть полягала в тому, щоб включити абсолютний каталог, оскільки поведінка за замовчуванням - це створити файл журналу в поточному каталозі. Також screenсеанси (навіть окремі) не переживають перезавантаження.
Призупинено до подальшого повідомлення.


2

Варіант 1: Перегляньте команду сценарію. "man script"

"Сценарій робить машинопис всіх надрукованих на вашому терміналі. Це корисно студентам, які потребують копіювання інтерактивного сеансу на паперовій основі як доказ завдання, оскільки файл машинопису може бути роздрукований пізніше lpr"

В основному введіть "script" (без лапок) - виконайте свою роботу та введіть один раз вихід, щоб закінчити сеанс.

Варіант 2: Використовуйте режим "твердої копії" на екрані. 'Crtl-a', тоді 'h' Це збереже поточний сеанс у файл.

Примітка: Екран GNU має можливість прокрутки. Використовуйте 'crtl-]' (права квадратна дужка), щоб увійти в режим копіювання, потім 'ctrl-b' та 'ctrl-f', щоб переміщати сторінки вниз по одному.


1

Ви хочете скористатися операцією 'log', яка зазвичай пов'язана з цим Ctrl-a H. Це відкриває новий файл під назвою screenlog. N де N - номер вікна. Якщо файл існує, то вихід додається до файлу. Весь вихід у цьому вікні реєструється в екранному журналі. N файл, поки ви не відключитесь, натиснувши Ctrl-a Hще раз. Ви також можете отримати цю функціональність за допомогою Ctrl-a :log. Ви можете змінити ім'я за допомогою logfile {filename}команди. Файл розміщується в каталозі, в якому вперше був запущений екран, але це можна змінити за допомогою команди logfile або за допомогою chdir [{directory}].

Зверніть увагу, що це не те саме, що копія паперу або буфер прокрутки. Це той самий функціонал, що і програма скрипту (1), але прив’язаний до одного вікна і без виклику нової програми.

Якщо ви хочете зберегти весь вміст буфера прокрутки, використовуйте Ctrl-a ] g <space> G <space> Ctrl-a :writebuf Це збереження буфера прокрутки до файлу / tmp / screen-exchange. якщо ви хочете зберегти лише частину, змініть 'g' та 'G' на інші клавіші руху.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.