جدول المحتويات
- المقدمة
- المتطلبات
- شرح سكربت Bash: الشرح وطريقة العمل
- خطوات التنفيذ
- نصائح واستكشاف الأخطاء وإصلاحها
- الاستنتاج
1. المقدمة
أخذ لقطات شاشة تلقائيًا كل يوم يمكن أن يساعد في مراقبة الأنشطة أو حفظ مشاهد هامة من الشاشة. يناقش هذا المقال الخطوات اللازمة لإعداد لقطات شاشة تلقائية في Xubuntu، باستخدام سكربت bash الذي يعمل تلقائيًا في كل مرة تقوم فيها بتسجيل الدخول.
2. المتطلبات
قبل البدء، تأكد من أنك تمتلك:
- Xubuntu أو نظام بيئي قائم على XFCE Desktop Environment.
- تم تثبيت حزمة
xfce4-screenshooter
. - محرر نصوص مثل
nano
أوvim
. - وصول إلى الطرفية مع صلاحيات المستخدم.
3. شرح سكربت Bash: الشرح وطريقة العمل
إليك سكربت bash لالتقاط لقطات شاشة تلقائيًا كل 60 ثانية:
#!/bin/bash
# دليل الجذر لحفظ لقطات الشاشة
ROOT_DIR="/home/adb/Pictures/daily-screenshots"
# ملف قفل لمنع التكرار
LOCK_FILE="/tmp/auto_screenshot.lock"
# تأكد من أن هناك نسخة واحدة فقط تعمل
exec 200>"$LOCK_FILE"
flock -n 200 || exit 1
# تأكد من وجود دليل الجذر لحفظ الملفات
mkdir -p "$ROOT_DIR"
# متغيرات البيئة لواجهة المستخدم الرسومية
export DISPLAY=:0
export XDG_RUNTIME_DIR=/run/user/$(id -u)
# ملف السجل
LOG_FILE="/home/adb/Pictures/screenshot_log.txt"
# احذف المجلدات التي مر عليها أكثر من 7 أيام (التنفيذ فقط مرة عند تسجيل الدخول)
find "$ROOT_DIR" -mindepth 1 -maxdepth 1 -type d -mtime +7 -exec rm -rf {} \;
# دالة للتعامل مع إيقاف السكربت
cleanup() {
echo "إيقاف auto_screenshot.sh" >> "$LOG_FILE"
rm -f "$LOCK_FILE" # احذف ملف القفل
exit 0
}
# التقاط إشارات الإيقاف (SIGTERM، SIGINT)
trap cleanup SIGTERM SIGINT
# حلقة لامتناهية لالتقاط لقطات الشاشة كل 60 ثانية
while true; do
# التاريخ لمسمى المجلد (التنسيق: DD MMM YYYY)
DATE_FOLDER=$(date "+%d %b %Y")
OUTPUT_DIR="$ROOT_DIR/$DATE_FOLDER"
# تأكد من وجود مجلد التاريخ لحفظ الملفات
mkdir -p "$OUTPUT_DIR"
# تنسيق اسم ملف لقطات الشاشة (مثال: 19 Jan 2025, 22:30.png)
TIMESTAMP=$(date "+%d %b %Y, %H:%M")
OUTPUT_FILE="$OUTPUT_DIR/$TIMESTAMP.png"
# التقط لقطة شاشة
xfce4-screenshooter -f -s "$OUTPUT_FILE" >> "$LOG_FILE" 2>&1
# انتظر 60 ثانية قبل أخذ اللقطة التالية
sleep 60
done
طريقة العمل
- حفظ لقطات الشاشة: يتم حفظ لقطات الشاشة في
/home/adb/Pictures/daily-screenshots
مع مجلدات فرعية حسب التاريخ. - التنظيف التلقائي: سيتم حذف المجلدات التي مر عليها أكثر من 7 أيام لتوفير مساحة التخزين.
- منع التكرار: يتم استخدام ملف القفل لمنع تشغيل السكربت مرتين.
- حلقة لا نهائية: يتم التقاط لقطات الشاشة كل 60 ثانية بشكل مستمر.
4. خطوات التنفيذ
1. إنشاء سكربت Bash
افتح الطرفية وأنشئ ملفًا جديدًا:
nano ~/Pictures/auto_screenshot.sh
انسخ والصق السكربت أعلاه في الملف.
احفظ الملف باستخدام CTRL + O
، ثم اخرج باستخدام CTRL + X
.
2. منح صلاحيات التنفيذ
لجعل السكربت قابلًا للتنفيذ، قم بتغيير صلاحياته إلى قابل للتنفيذ:
chmod +x ~/Pictures/auto_screenshot.sh
3. إضافة السكربت إلى جلسة التشغيل التلقائي
استخدم ميزة التشغيل التلقائي في Xubuntu لتشغيل السكربت تلقائيًا عند كل تسجيل دخول:
-
افتح إدارة الإعدادات في Xubuntu.
-
اختر الجلسة والإقلاع > تبويب التشغيل التلقائي للتطبيقات.
-
انقر على إضافة لإضافة عنصر جديد.
-
املأ النموذج كما يلي:
- الاسم: لقطة شاشة تلقائية
- الأمر:
/home/adb/Pictures/auto_screenshot.sh
- الوصف: سكربت لأخذ لقطة شاشة تلقائية كل 60 ثانية.
-
انقر موافق لحفظ التغييرات.
5. نصائح واستكشاف الأخطاء وإصلاحها
- فحص السجل: إذا لم يعمل السكربت، تحقق من السجل في
/home/adb/Pictures/screenshot_log.txt
لمعرفة الأخطاء. - الإشعارات: يمكنك تفعيل الإشعارات باستخدام الأمر
notify-send
إذا أردت معرفة حالة حفظ لقطات الشاشة. - صلاحيات الوصول: تأكد من أن السكربت يمتلك صلاحيات لإنشاء الملفات في الدليل المحدد.
6. الاستنتاج
باستخدام سكربت bash وإعداد جلسة التشغيل التلقائي في Xubuntu، يمكنك التقاط لقطات شاشة يومية تلقائيًا دون الحاجة إلى تدخل يدوي. هذا النظام مفيد جدًا للتوثيق أو مراقبة الأنشطة على الكمبيوتر.
نأمل أن يكون هذا الدليل مفيدًا! 🎉


