Ekran GNU: wydrukuj odłączoną sesję na standardowe wyjście

17

Chcę tylko mieć szybki przegląd moich odłączonych screensesji GNU . Czy można zrzucić bieżącą zawartość na standardowe wyjście? Coś jak

screen --print SESSION_NAME > file.txt
Pierre
źródło

Odpowiedzi:

17

Możesz zrzucić jedno okno sesji ekranowej screen -X hardcopy /some/file, co spowoduje zapisanie zrzutu ekranu bieżącego okna /some/file.

Możesz zrzucić określone okno za pomocą:

screen -X at 3 hardcopy /some/file

I wszystkie w jednym pliku z:

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

Możesz także zrzucić jeden plik na okno, określając, w którym katalogu chcesz je zrzucić (jeśli go nie określisz, zostaną one zrzucone do katalogu, w którym screenzostał uruchomiony) za pomocą

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

(zostanie zrzucony w plikach o nazwie hardcopy.<n>)

Zobacz -hopcję hardcopywłączenia bufora przewijania.

Skorzystaj screen„s -Sopcja jak zwykle określić sesję, aby uruchomić polecenie. ⁣ ⁣ ⁣ ⁣

Stéphane Chazelas
źródło
2
Jeśli sesja ekranowa nigdy nie została dołączona, wybranie okna za pomocą -plub atjest konieczne . Więc jeśli screen -X hardcopy /some/filenie działa, spróbuj screen -X at 0 hardcopy /some/filelub screen -p 0 -X hardcopy /some/file.
Gilles 'SO - przestań być zły'
2
Czy jest jakiś sposób na wydrukowanie poza standardowym wyjściem do pliku tymczasowego, przechwycenie go, a następnie usunięcie pliku tymczasowego?
Claudiu
1
@Claudiu: Twoje pytanie ma ponad 3 lata, ale odpowiedź i tak jest istotna: nie; Właśnie zorientowałem się, straceże ekran „klienta” wysyła polecenie wydruku na serwer, a serwer go przetwarza. (Strona podręcznika stwierdza, że ​​plik wydruku jest zapisany w cwd serwera, a nie w kliencie.) Dane TTY najwyraźniej nie przechodzą przez drut w przypadku wydruku.
i336_
6

Rozpocznij screenz -Lopcją włączenia rejestrowania sesji.

Alternatywnie, po uruchomieniu screenmożesz włączyć lub wyłączyć rejestrowanie okna w screensesji za pomocą CTRLa- H.

Dzienniki zostaną utworzone w bieżącym katalogu roboczym o nazwie, screenlog.Xgdzie X jest unikalnym numerem.

Dane wyjściowe okna dialogowego po włączeniu rejestrowania mają wartość Lw kolumnie Flagi.

Num Name           Flags
  0 fedora         $(L)               
  1 sudo           $                                        
  2 fedora         $(L)                                                
George M.
źródło