¿Cómo guardar el historial de desplazamiento en byobu?


23

He tenido una sesión de terminal interesante en byobu , y me gustaría guardar la salida del terminal (comandos y todo) en un archivo, ¿cómo puedo hacer eso?

Según la página de manual de byobu :

Ctrl-a ~ - Guarda el búfer de desplazamiento de la ventana actual

De hecho, esto puede estar haciendo algo, pero no he encontrado ninguna indicación de dónde y bajo qué nombre podría guardarse.

Respuestas:


21

O simplemente puede usar la tecla de acceso rápido de Byobu para esto:

  • Shift-F7

Eso tomará tu historial y lo colocará en tu editor favorito. Ahora, solo guarde ese búfer en un archivo. Si estás en vi o vim, puedes usar:wq /tmp/out


sift-F7 no parece hacer nada y la pantalla de ayuda de byobu tampoco lo menciona: estoy usando byobu 5.17 con tmux 1.6 en ubuntu.
drevicko

¡Esto es increíble, me ahorró mucho tiempo!
Ctrl-C

1
Estoy ejecutando byobu 5.74 y esa opción me aparece en la pantalla de ayuda y funciona como se describe. Me sorprendería que ese no fuera el caso dado que Dustin es el creador de byobu. :) Vale la pena mencionar que la salida se guarda en $BYOBU_RUN_DIR/printscreen(como se indica en la pantalla de ayuda).
Chuim

2
Para mí se guardó en /dev/shm/byobu-serg-ucvwj2rJ/printscreen, donde serg es obviamente mi nombre de usuario
Sergiy Kolodyazhnyy

1
Sé que esta es una vieja respuesta. De todos modos, experimento el mismo problema: el shift-F7 parece no hacer nada (aunque el acceso directo está presente en el menú de ayuda). Lo estoy usando en un host Ubuntu-16.04 con byobu versión 5.106 y tmux 2.1.
Marc

20

Una vieja pregunta aún no se puede responder de manera práctica, y me encuentro con la necesidad nuevamente.

Esta vez encontré una solución viable. De man byobu:

SCROLLBACK, COPY, PASTE MODES

   Each  window  in  Byobu  has  up to 10,000 lines of scrollback history,
   which you can enter and navigate using the alt-pgup and alt-pgdn  keys.
   Exit  this  scrollback mode by hitting enter.  You can also easily copy
   and paste text from scrollback mode.  To do so, enter scrollback  using
   alt-pgup  or  alt-pgdn,  press the spacebar to start highlighting text,
   use up/down/left/right/pgup/pgdn to select the text, and press enter to
   copy  the  text.  You can then paste the text using alt-insert or ctrl-
   a-].
  1. Golpeé F7para ingresar al modo de desplazamiento hacia atrás,
  2. Space para comenzar a seleccionar,
  3. gg para desplazarse a la parte superior del búfer (gracias @GeorgeMarian)
    • Si eso no funciona, intente esto: con muchos Page upo :seguido por el número de línea más grande (indicado arriba a la derecha) y Page uppara llegar a la parte superior de esa página,
  4. Enter copiar (en el portapapeles de byobu, no en una terminal / sistema),
  5. luego cat > my-byobu-dump.txten la terminal,
  6. Alt+ Inserto ctrl+ A+ ]para pegar (nuevamente, desde el portapapeles de byobu)
  7. Ctrl+ Dpara cerrar el archivo.

Esta fue la única respuesta que funcionó bien para mí.
pjvandehaar

1
Para el paso 3, si desea llegar al máximo uso gg(al igual que vim).
George Marian

@GeorgeMarian ¿Sabes si es de un modo de emulación vim? ¿Las personas encontrarán otros comportamientos? Parece el comportamiento predeterminado (al menos con byobu 5.17 sobre tmux 1.6)
drevicko

No conozco el modo de emulación vim en byobu. Hay comandos de movimiento tipo vi en el modo de desplazamiento hacia atrás , y tal vez en otros lugares. Acabo de probarlos, ya que, bueno, Linux. (He estado usando lessmucho últimamente, buscando y moviéndome)
George Marian

Okay. ¿podría provenir de la tecnología multiplex subyacente (pantalla o tmux)? De todos modos, he añadido tu sugerencia. Muchas gracias :)
drevicko

3

Shift + F7 solo funciona como se espera si tiene la variable de entorno EDITOR establecida en un editor dentro de byobu . Por alguna razón, en algunos casos (por ejemplo, para mí cuando se conecta a través de SSH a otra computadora), establecer esta variable ~/.profileno es suficiente. Un lugar para configurarlo para que byobu siempre lo lea es en ~/.bashrc. Copie algo como lo siguiente en su ~/.bashrc:

# Although this is set in ~/.profile, it is set here as well so that in a 
# remote byobu session, Shift+F7 copies the output to a Vim buffer. See:
# /ubuntu/382750/how-to-save-scrollback-history-in-byobu
export EDITOR='vim'

En mi caso, esto no ayudó (en realidad .bashrc es donde configuro EDITOR de todas formas). Por lo que puedo decir, mi emulador de terminal (programa de terminal predeterminado de osx) no pasa las teclas de función correctamente, probablemente solucionable en la configuración de Terminal, pero las soluciones ctrl-A funcionan bien para mí.
drevicko

1
@drevicko ah ya veo, es bueno saberlo. Bueno, es bueno que estemos recopilando varias soluciones para que, con suerte, una de ellas funcione para la próxima persona que se encuentre con este problema.
scottkosty


2

Si está acostumbrado a no usar las teclas F, esto podría funcionar para usted:

  • Ctrl+ a, [: Entrar en el modo scrollback
  • Space ingrese al modo de copia (opcional)
  • Enter salir del modo de retroceso o copia
  • Ctrl+ a, ]: Pegar lo copiado

También si su programa de terminal está interceptando las teclas F;)
drevicko

1

Use Ctrl+ A+ ~para copiar el búfer de desplazamiento hacia atrás en el portapapeles byobu.

Pegue el texto en un editor usando Alt+ insert o Ctrl+ A+ ].

(Ajuste Ctrl+ Asi ha cambiado su clave de escape).


Por el momento solo tengo una Mac para trabajar, y ctrl-a ~ luego ctrl-a] no están haciendo nada; sospecho que ctrl-a no está llegando a byobu (que está en el otro extremo de un ssh tunnel) .. ¿Alguna idea?
drevicko

0

Seleccione el texto que desea guardar, luego presione Control+ Shift + C Siguiente, abra su editor de texto favorito. Luego pegue el contenido aquí usando Control+ V . Finalmente guarde el archivo en la ubicación deseada.

CONSEJO TERMINAL DEL DÍA: Cuando intente copiar algo en la terminal, hágalo como de costumbre, espere usar Control+ Shift + en Clugar de Control+ Cy pegue como de costumbre. Para pegar algo que está en el portapapeles en la terminal, use Control+ Shift + V.


es solo un esquema simple de copiar y pegar, perderá tiempo para copiar y luego pegar. drevicko quiere hacerlo a través de la terminal o lo guarda automáticamente en algún lugar.
Sukupa91

¿No dijo que me gustaría guardar todo en un archivo? Así es como lo hace.
Cammy_the_block

1
No, creo que solo obtendrías el valor de la pantalla, no todo el historial de desplazamiento de byobu (quizás 10000 líneas) ... Ten en cuenta que byobu almacena un historial de terminal que es independiente de la aplicación de terminal que estás utilizando.
drevicko

Si mantiene el mouse sobre la ventana, se desplazará hacia arriba para que pueda resaltar todo.
Cammy_the_block

2
@Cammy_the_block te estás perdiendo el bit "byobu", búscalo (algo MUY útil si estás trabajando en servidores remotos). Almacena sesiones de terminal de las que puede desconectarse y luego volver a conectarse. Tengo 10,000 líneas de historial de terminal que NO es accesible para la aplicación de terminal local. Byobu (y el backend que está usando: tmux o screen) tienen su propio conjunto de comandos controlados por teclado para acceder a ese historial.
drevicko

0

Ctrl+ A+ ]funcionará si escribe de 1 a 20 veces o más con abracodabra. Pero el único comando funcionará sin dolor de cabeza. Para pegar texto desde el búfer al terminal o archivo. Y el ganador es Alt+ Ins., Saluda a Byobu es el software GPLv3, creado y mantenido por Dustin Kirkland.


0

Si necesita guardar el historial, use Shift + F7shorcut. Como dice @ dustin-kirkland .

Si prefiere desplazarse hacia arriba y hacia abajo en su terminal, depende de si usa tmux o screen. Ejemplos:

  1. Pantalla:

  2. Tmux:

    • ALT + PageUp: te desplazas hacia arriba.
    • ALT + PageDown: te desplazas hacia abajo.

Byobu F1 ayuda

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.