Экран GNU: распечатать отдельный сеанс на стандартный вывод

17

Я просто хочу получить краткий обзор моих отдельных screenсеансов GNU . Можно ли сбросить текущий контент на стандартный вывод? Что-то вроде

screen --print SESSION_NAME > file.txt
пьер
источник

Ответы:

17

Вы можете сбросить одно окно сеанса экрана с screen -X hardcopy /some/file, в котором сохранится снимок экрана текущего окна /some/file.

Вы можете сбросить конкретное окно с помощью:

screen -X at 3 hardcopy /some/file

И все они в одном файле с:

screen -X eval 'hardcopy_append on' 'at \\# hardcopy /some/file'

Вы также можете сбросить один файл на окно, указав каталог, в который их следует выгружать (если вы не укажете его, они будут сброшены в каталог, в котором они screenбыли запущены) с помощью

screen -X eval 'hardcopydir /some/dir' 'at \\# hardcopy'

(будет сбрасываться в файлы с именем hardcopy.<n>)

Смотрите -hопцию hardcopyвключения буфера прокрутки.

Используйте screen«S -Sвариант , как обычно используется для задания сеанса выполнить команду в. ⁣ ⁣ ⁣ ⁣

Стефан Шазелас
источник
2
Если на экране сессия никогда не была прикреплена, выбирая окно с -pили atнеобходимо . Так что, если screen -X hardcopy /some/fileне работает, попробуйте screen -X at 0 hardcopy /some/fileили screen -p 0 -X hardcopy /some/file.
Жиль "ТАК - перестань быть злым"
2
Есть ли способ распечатать стандартный вывод за пределы вывода во временный файл, перехватить его, а затем удалить временный файл?
Клавдиу
1
@Claudiu: Ваш вопрос старше 3 лет, но ответ все равно актуален: нет; Я только что понял, straceчто экран "client" отправляет команду hardcopy на сервер, а сервер обрабатывает ее. (В справочной странице говорится, что файл печатной копии записан на сервере cwd, а не на клиенте.) В случае печатной копии данные TTY явно не передаются по проводам.
i336_
6

Начните screenс -Lопции, чтобы включить ведение журнала сеанса.

В качестве альтернативы, после того, как вы запустили screen, вы можете включить или выключить запись окна в screenсеансе с помощью CTRLa- H.

Журналы будут созданы в вашем текущем рабочем каталоге с именем, screenlog.Xгде X - уникальный номер.

Вывод списка окон при включенном ведении журнала находится Lв столбце Флаги.

Num Name           Flags
  0 fedora         $(L)               
  1 sudo           $                                        
  2 fedora         $(L)                                                
Джордж М
источник