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 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.