..

Terminal Oturumunu Kaydetmek ve Paylaşmak

30.10.2021

Terminal oturumunu kaydedip çıktıyı (yazılan tüm komutlar ve çıktıları) paylaşmak için script ve scriptreplay komutlarını kullanabilirsiniz. Kaydı başlatmak için örnek kullanım:

script --timing=zaman.log komutlar.log

Kaydı durdurmak için Ctrl + D ye basabilir ya da terminalden exit komutunu verebilirsiniz. Kaydedilen komutları ve çıktılarını tekrar görmek için:

scriptreplay --timing=zaman.log komutlar.log

Tabi bazı durumlarda kaydı görsel olarak paylaşmanız gerekebilir (örneğin bir web sitesinde .gif olarak). Eğer sadece terminal ekranını kullanıyorsanız ffmpeg ya da ttyrec - ttygif gibi programlar hata verecektir. Neler yapabileceğimi araştırırken Github'ta rastladığım congif adındaki program tam olarak çözüm oldu. Congif'i kurmak için:

git clone https://github.com/lecram/congif.git
cd congif
make

script ile oluşturulan kayıtları .gif'e çevirmek için:

./congif zaman.log komutlar.log

.gif dosyası con.gif adıyla congif klasörünün içinde oluşturulacak. Komutların alabileceği parametreleri görmek için komut sonuna -h ekini ekleyerek bakabilirsiniz. Kullanışlı olabilecek 1-2 komut:

script -q --timing=zaman.log komutlar.log #script komutu çalışmaya başladığında ve durduğunda bildirim vermez (sessiz mod).
scriptreplay --timing=zaman.log komutlar.log 2 #komutlar 2 katı hızlı gösterilir.
./congif -o DOSYA_ADI.gif -l 0 zaman.log komutlar.log #.gif adını DOSYA_ADI olarak belirler ve -l parametresiyle .gif'in kaç defa tekrar edeceği belirlenir (0 = sonsoz döngü)

Not: script komutunda komutlar.log gibi bir parametre belirtilmezse varsayılan kayıt dosyası typescript oluyor. Örnek bir .gif:

script komutu örnek .gif

script komutunu sistem yönetiminde kullanmak isterseniz /etc/profile dosyasında değişiklik yaparak sunucuya bağlanan tüm kullanıcıların yazdığı kodları takip edebilirsiniz.