كيفية إعداد لقطة شاشة تلقائية يومية في Xubuntu (AR)

دليل خطوة بخطوة لإعداد لقطة شاشة تلقائية يومية في Xubuntu.

Tags:
  • #Linux
  • #Automation
  • #Bash Script
Learning Path: غير موجود | Category: نصائح Linux

جدول المحتويات

  1. المقدمة
  2. المتطلبات
  3. شرح سكربت Bash: الشرح وطريقة العمل
  4. خطوات التنفيذ
  5. نصائح واستكشاف الأخطاء وإصلاحها
  6. الاستنتاج

1. المقدمة

أخذ لقطات شاشة تلقائيًا كل يوم يمكن أن يساعد في مراقبة الأنشطة أو حفظ مشاهد هامة من الشاشة. يناقش هذا المقال الخطوات اللازمة لإعداد لقطات شاشة تلقائية في Xubuntu، باستخدام سكربت bash الذي يعمل تلقائيًا في كل مرة تقوم فيها بتسجيل الدخول.


2. المتطلبات

قبل البدء، تأكد من أنك تمتلك:


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

طريقة العمل


4. خطوات التنفيذ

1. إنشاء سكربت Bash

افتح الطرفية وأنشئ ملفًا جديدًا:

nano ~/Pictures/auto_screenshot.sh

انسخ والصق السكربت أعلاه في الملف.
احفظ الملف باستخدام CTRL + O، ثم اخرج باستخدام CTRL + X.

2. منح صلاحيات التنفيذ

لجعل السكربت قابلًا للتنفيذ، قم بتغيير صلاحياته إلى قابل للتنفيذ:

chmod +x ~/Pictures/auto_screenshot.sh

3. إضافة السكربت إلى جلسة التشغيل التلقائي

استخدم ميزة التشغيل التلقائي في Xubuntu لتشغيل السكربت تلقائيًا عند كل تسجيل دخول:

  1. افتح إدارة الإعدادات في Xubuntu.

  2. اختر الجلسة والإقلاع > تبويب التشغيل التلقائي للتطبيقات.

  3. انقر على إضافة لإضافة عنصر جديد.

  4. املأ النموذج كما يلي:

    • الاسم: لقطة شاشة تلقائية
    • الأمر: /home/adb/Pictures/auto_screenshot.sh
    • الوصف: سكربت لأخذ لقطة شاشة تلقائية كل 60 ثانية.
  5. انقر موافق لحفظ التغييرات.


5. نصائح واستكشاف الأخطاء وإصلاحها


6. الاستنتاج

باستخدام سكربت bash وإعداد جلسة التشغيل التلقائي في Xubuntu، يمكنك التقاط لقطات شاشة يومية تلقائيًا دون الحاجة إلى تدخل يدوي. هذا النظام مفيد جدًا للتوثيق أو مراقبة الأنشطة على الكمبيوتر.

نأمل أن يكون هذا الدليل مفيدًا! 🎉

Logo Adib

© 2025 Adib

GitHub