如何在 Xubuntu 中设置每日自动截图(CN)

Xubuntu 每日自动截图设置的分步指南。

Tags:
  • #Linux
  • #Automation
  • #Bash Script
Learning Path: Not Found | Category: Linux Tips

目录

  1. 简介
  2. 系统要求
  3. Bash 脚本:说明和工作原理
  4. 实施步骤
  5. 提示和故障排除
  6. 总结

1. 简介

每日自动截图可以帮助监控活动或保存重要的屏幕显示。本文将介绍如何在 Xubuntu 中设置自动截图,使用在每次登录时自动运行的 bash 脚本。


2. 系统要求

在开始之前,请确保您具备:


3. Bash 脚本:说明和工作原理

以下是每 60 秒自动截图的 bash 脚本:

#!/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 "Stopping 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