Os TTYs usam dispositivos de "memória do console virtual" para armazenar em buffer o conteúdo da tela. Você pode ler mais sobre eles em man vcs
, mas isso permitirá que você veja o que está na tela no momento atual .
Na prática, são apenas arquivos numerados em /dev/
que se alinham com o número TTY. Aqui está um exemplo que fiz com o TTY2:
$ sudo fold -w$(stty -F /dev/tty2 size | awk '{print }') /dev/vcs2
Ubuntu 14.04 LTS bert tty2
bert login: oli
Password:
oli@bert:~$ cd test
oli@bert:~/test$ ls
Madonna - 10 - Bedtime Story.mp3 output_MP3WRAP.mp3
Madonna - 11 - Take A Bow.mp3
oli@bert:~/test$
O fold -w$(...)
existe porque a saída em buffer não aparece para ter os caracteres de controle ou novas linhas que eu esperaria. Isso simplesmente adiciona \n
no final de cada linha.
Como TuKsn aponta nos comentários, você não precisa mexer com tudo isso, você pode conseguir exatamente o mesmo com:
sudo screendump 2
Você pode colocar > tty.log
no final de um dos comandos para gravar a saída em um arquivo chamado tty.log
no diretório atual:
sudo screendump 2 > tty.log
Mais uma vez, isso só vai te dar o que está na tela . Mesmo se você aumentar o buffer de rolagem em TTYs, isso não será armazenado na memória acessível . Você pode alterar isso , mas isso envolve recompilar o kernel.
Isso envolveria reinicializar e perder a tela atual , portanto, se você puder fazer isso, haverá opções muito mais fáceis para registrar o IO futuro , como screen
ou tmux
ou apenas script
.