Table of Content
- Pendahuluan
- Persyaratan
- Script Bash: Penjelasan dan Cara Kerja
- Langkah-langkah Implementasi
- Tips dan Troubleshooting
- Kesimpulan
1. Pendahuluan
Mengambil screenshot otomatis setiap hari dapat membantu memantau aktivitas atau menyimpan tampilan penting dari layar. Artikel ini membahas langkah-langkah untuk mengatur auto screenshot di Xubuntu, menggunakan script bash yang berjalan otomatis setiap kali Anda login.
2. Persyaratan
Sebelum memulai, pastikan Anda memiliki:
- Xubuntu atau sistem berbasis XFCE Desktop Environment.
- Paket
xfce4-screenshooter
sudah terinstal. - Editor teks seperti
nano
atauvim
. - Akses terminal dengan izin pengguna.
3. Script Bash: Penjelasan dan Cara Kerja
Berikut adalah script bash untuk mengambil screenshot otomatis setiap 60 detik:
#!/bin/bash
# Direktori root untuk menyimpan screenshot
ROOT_DIR="/home/adb/Pictures/daily-screenshots"
# File lock untuk mencegah duplikasi
LOCK_FILE="/tmp/auto_screenshot.lock"
# Pastikan hanya satu instance berjalan
exec 200>"$LOCK_FILE"
flock -n 200 || exit 1
# Pastikan direktori root penyimpanan ada
mkdir -p "$ROOT_DIR"
# Variabel environment untuk tampilan grafis
export DISPLAY=:0
export XDG_RUNTIME_DIR=/run/user/$(id -u)
# Log file
LOG_FILE="/home/adb/Pictures/screenshot_log.txt"
# Hapus folder yang berusia lebih dari 7 hari (eksekusi hanya sekali saat login)
find "$ROOT_DIR" -mindepth 1 -maxdepth 1 -type d -mtime +7 -exec rm -rf {} \;
# Fungsi untuk menangani penghentian skrip
cleanup() {
echo "Stopping auto_screenshot.sh" >> "$LOG_FILE"
rm -f "$LOCK_FILE" # Hapus file lock
exit 0
}
# Tangkap sinyal penghentian (SIGTERM, SIGINT)
trap cleanup SIGTERM SIGINT
# Infinite loop untuk mengambil screenshot setiap 60 detik
while true; do
# Tanggal untuk nama folder (format: DD MMM YYYY)
DATE_FOLDER=$(date "+%d %b %Y")
OUTPUT_DIR="$ROOT_DIR/$DATE_FOLDER"
# Pastikan direktori tanggal penyimpanan ada
mkdir -p "$OUTPUT_DIR"
# Format nama file screenshot (contoh: 19 Jan 2025, 22:30.png)
TIMESTAMP=$(date "+%d %b %Y, %H:%M")
OUTPUT_FILE="$OUTPUT_DIR/$TIMESTAMP.png"
# Ambil tangkapan layar
xfce4-screenshooter -f -s "$OUTPUT_FILE" >> "$LOG_FILE" 2>&1
# Tunggu 60 detik sebelum mengambil screenshot berikutnya
sleep 60
done
Cara Kerja
- Penyimpanan Screenshot: Screenshot disimpan di
/home/adb/Pictures/daily-screenshots
dengan sub-folder berdasarkan tanggal. - Pembersihan Otomatis: Folder yang lebih dari 7 hari akan dihapus untuk menghemat ruang penyimpanan.
- Pencegahan Duplikasi: File lock digunakan untuk mencegah skrip dijalankan dua kali.
- Loop Tak Berhingga: Screenshot diambil setiap 60 detik tanpa henti.
4. Langkah-langkah Implementasi
1. Membuat Script Bash
Buka terminal dan buat file baru:
nano ~/Pictures/auto_screenshot.sh
Salin dan tempelkan script di atas ke dalam file tersebut.
Simpan file dengan CTRL + O
, lalu keluar dengan CTRL + X
.
2. Memberikan Izin Eksekusi
Agar script dapat dijalankan, ubah izinnya menjadi executable:
chmod +x ~/Pictures/auto_screenshot.sh
3. Menambahkan Script ke Autostart Session
Gunakan fitur autostart session di Xubuntu agar script berjalan otomatis setiap login:
-
Buka Settings Manager di Xubuntu.
-
Pilih Session and Startup > Tab Application Autostart.
-
Klik tombol Add untuk menambahkan item baru.
-
Isi form sebagai berikut:
- Name: Auto Screenshot
- Command:
/home/adb/Pictures/auto_screenshot.sh
- Description: Script untuk mengambil screenshot otomatis setiap 60 detik.
-
Klik OK untuk menyimpan perubahan.
5. Tips dan Troubleshooting
- Cek Log: Jika script tidak bekerja, periksa log di
/home/adb/Pictures/screenshot_log.txt
untuk mengetahui kesalahan. - Notifikasi: Aktifkan notifikasi dengan menambahkan perintah
notify-send
jika ingin mengetahui status penyimpanan screenshot. - Hak Akses: Pastikan script memiliki izin untuk membuat file di direktori tujuan.
6. Kesimpulan
Dengan script bash dan konfigurasi autostart session di Xubuntu, Anda dapat secara otomatis mengambil screenshot harian tanpa perlu campur tangan manual. Sistem ini sangat berguna untuk dokumentasi atau monitoring aktivitas komputer.
Semoga panduan ini bermanfaat! 🎉


