Pertanyaan Bagaimana cara menyimpan riwayat scrollback di byobu?


Saya memiliki sesi terminal yang menarik di byobu, dan saya ingin menyimpan output terminal (perintah dan semua) ke file - bagaimana saya bisa melakukannya?

Menurut halaman manual byobu:

Ctrl-a ~ - Simpan buffer scrollback jendela saat ini

Ini memang mungkin melakukan sesuatu, tetapi saya tidak menemukan indikasi di mana dan di bawah nama apa itu dapat disimpan.


19
2017-11-27 02:49


asal




Jawaban:


Atau, Anda bisa menggunakan hotkey Byobu untuk ini:

  • Bergeser-F7

Itu akan mengambil sejarah Anda dan memasukkannya ke dalam editor favorit Anda. Sekarang, simpan saja buffer itu ke file. Jika Anda berada di vi atau vim, Anda dapat menggunakan : wq  /tmp/out


16
2018-01-21 21:30



sift-F7 tampaknya tidak melakukan apa-apa dan layar bantuan byobu tidak menyebutkannya - saya menggunakan byobu 5.17 dengan tmux 1.6 di ubuntu. - drevicko
Ini luar biasa, menyelamatkan saya banyak waktu! - Ctrl-C
Saya menjalankan byobu 5.74 dan opsi itu muncul untuk saya di layar bantuan dan berfungsi seperti yang dijelaskan. Saya akan terkejut jika itu tidak terjadi mengingat Dustin adalah pencipta byobu. :) Layak disebut output disimpan di $BYOBU_RUN_DIR/printscreen (seperti yang tercantum di layar bantuan). - Chuim
Bagi saya itu disimpan untuk /dev/shm/byobu-serg-ucvwj2rJ/printscreen, di mana serg jelas adalah nama pengguna saya - Sergiy Kolodyazhnyy
Saya tahu ini adalah jawaban lama. Bagaimanapun, saya mengalami masalah yang sama: pergeseran-F7 tampaknya tidak melakukan apa-apa (meskipun pintasan ada di menu bantuan). Saya menggunakannya pada host Ubuntu-16.04 dengan versi byobu 5.106 & tmux 2.1. - Marc


Sebuah pertanyaan lama masih belum terjawab dengan baik, dan saya memukul kebutuhan itu lagi.

Kali ini saya menemukan solusi yang bisa diterapkan. Dari 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. aku pukul F7 untuk memasuki mode scrollback,
  2. Ruang untuk mulai memilih,
  3. gg untuk menggulir ke atas buffer (terima kasih @GeorgeMarian)
    • Jika itu tidak berhasil, coba ini: entah dengan banyak Halaman ke atas atau : diikuti oleh nomor baris terbesar (ditunjukkan di kanan atas) dan Halaman ke atas untuk sampai ke bagian atas halaman itu,
  4. Memasukkan untuk menyalin (ke clipboard byobu, bukan terminal / sistem),
  5. kemudian cat > my-byobu-dump.txt di terminal,
  6. Alt+Memasukkan atau ctrl+SEBUAH+] untuk menempelkan (lagi, dari clipboard byobu)
  7. Ctrl+D untuk menutup file.

14
2018-02-02 01:46



Ini adalah satu-satunya jawaban yang bekerja dengan baik untuk saya. - pjvandehaar
Untuk langkah 3, jika Anda ingin menggunakan paling atas gg (seperti vim). - George Marian
@GeorgeMarian Tahukah Anda jika itu dari mode emulasi vim? apakah orang akan menemukan perilaku lain? Tampak perilaku default (setidaknya dengan byobu 5.17 di tmux 1.6) - drevicko
Tidak ada mode vim-emulasi di byobu yang saya tahu. Ada perintah gerakan vi-like dalam mode scrollback, dan mungkin di tempat lain. Saya kebetulan mencobanya, karena - juga - Linux. (Saya telah menggunakan less akhir-akhir ini, mencari dan bergerak.) - George Marian
baik. mungkinkah itu berasal dari teknologi multipleks yang mendasari (layar atau tmux)? Bagaimanapun, saya telah menambahkan saran Anda. Terimakasih banyak :) - drevicko


Jika Anda terbiasa tidak menggunakan tombol-F, ini mungkin berhasil untuk Anda:

  • Ctrl+Sebuah, [: masuk ke mode scrollback
  • Ruang masuk ke mode salin (opsional)
  • Memasukkan keluar dari mode gulir balik atau salin
  • Ctrl+Sebuah, ]: tempelkan apa yang disalin

2
2017-08-30 06:44



Juga jika program terminal Anda mencegat tombol-F;) - drevicko


Shift + F7 hanya berfungsi seperti yang diharapkan jika Anda memiliki variabel lingkungan EDITOR yang disetel ke editor dalam byobu. Untuk beberapa alasan, dalam beberapa kasus (misalnya untuk saya ketika menghubungkan melalui SSH ke komputer lain), pengaturan variabel ini di ~/.profile tidak cukup. Satu tempat untuk mengaturnya agar byobu selalu membacanya ~/.bashrc. Salin sesuatu seperti berikut ini ke Anda ~/.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:
# https://askubuntu.com/questions/382750/how-to-save-scrollback-history-in-byobu
export EDITOR='vim'

2
2017-08-23 06:32



Dalam kasus saya, ini tidak membantu (sebenarnya .bashrc adalah tempat saya mengatur EDITOR di jalan). Sejauh yang saya tahu, emulator terminal saya (osx program Terminal default) tidak meneruskan tombol fungsi dengan benar - mungkin dapat dipecahkan dalam pengaturan Terminal, tetapi solusi ctrl-A berfungsi baik untuk saya. - drevicko
@drevicko ah saya lihat, baik untuk tahu. Nah, itu bagus bahwa kami mengumpulkan beberapa solusi sehingga semoga salah satu dari mereka akan bekerja untuk orang berikutnya yang menemukan masalah ini. - scottkosty
fyi: .profile tidak dimuat untuk sesi ssh secara default - Menjelaskan apa yang terjadi di sini. - drevicko
@drevicko Itu tidak menjelaskannya. Terima kasih! - scottkosty


Pilih teks yang ingin Anda simpan, lalu tekan Kontrol + Bergeser  + C Selanjutnya, buka editor teks favorit Anda. Kemudian tempel konten di sini menggunakan Kontrol +  V . Terakhir simpan file di lokasi yang diinginkan.

TERMINAL KIAT HARI: Saat mencoba menyalin sesuatu di terminal, lakukan seperti yang biasa digunakan Kontrol + Bergeser  + C dari pada Kontrol +C, dan tempel seperti biasa. Untuk menempelkan sesuatu yang ada di clipboard ke dalam penggunaan terminal Kontrol + Bergeser  + V.


1
2017-11-27 02:54



itu hanya skema copy paste sederhana, akan membuang waktu untuk menyalin dan kemudian tempel. drevicko ingin melakukannya melalui terminal atau secara otomatis menyimpannya di suatu tempat. - Sukupa91
Bukankah dia bilang aku ingin menyimpan semuanya ke file? Ini cara dia melakukannya. - Cammy_the_block
Tidak, saya percaya Anda hanya akan mendapatkan nilai layar - bukan keseluruhan (mungkin 10.000 baris) riwayat gulir balik byobu ... Perhatikan bahwa byobu menyimpan riwayat terminal yang tidak bergantung pada aplikasi terminal yang Anda gunakan. - drevicko
Jika Anda memegang mouse di atas jendela itu akan menggulir ke atas sehingga Anda dapat menyorot semuanya. - Cammy_the_block
@Cammy_the_block Anda kehilangan bit "byobu", lihatlah (hal yang sangat berguna jika Anda bekerja di server jarak jauh). Ini menyimpan sesi terminal yang Anda dapat putuskan dari dan kemudian terhubung kembali ke. Saya memiliki 10.000 baris sejarah terminal yang TIDAK dapat diakses oleh aplikasi terminal lokal. Byobu (dan backend yang digunakannya: tmux atau layar) memiliki kumpulan perintah keyboardnya sendiri untuk mengakses sejarah tersebut. - drevicko


Menggunakan Ctrl+SEBUAH+~ untuk menyalin buffer scrollback ke clipboard byobu.

Tempel teks ke dalam editor menggunakan Alt+memasukkan  atau Ctrl+SEBUAH+].

(Menyesuaikan Ctrl+SEBUAH jika Anda telah mengubah kunci pelarian Anda.)


1
2017-07-24 10:42



Saya hanya Mac untuk bekerja dari pada saat ini, dan ctrl-a ~ lalu ctrl-a] tidak melakukan apa-apa - saya menduga ctrl-a tidak membuatnya ke byobu (yang berada di ujung lain dari suatu ssh tunnel) .. Ada ide? - drevicko


Ctrl+SEBUAH+] akan berfungsi jika Anda mengetik dari 1 hingga 20 kali atau lebih dengan abracodabra. Tetapi satu-satunya perintah akan bekerja tanpa sakit kepala. Untuk menempel teks dari buffer ke terminal atau file. Dan pemenangnya adalah Alt+Ins., katakan halo Byobu adalah perangkat lunak GPLv3, dibuat dan dikelola oleh Dustin Kirkland.


0
2018-06-05 11:12