# screenshot-tool_aarch64 **Repository Path**: link4ron/screenshot-tool_aarch64 ## Basic Information - **Project Name**: screenshot-tool_aarch64 - **Description**: No description available - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-08-11 - **Last Updated**: 2026-08-25 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 区域截图工具(Screenshot Tool) 一个基于 Python/GTK3 的桌面区域截图与标注工具。全局热键呼出、屏幕冻结、拖拽框选, 确认后自动保存 PNG 并复制到剪贴板;自带一体化标注编辑器(微信截屏风格), 支持箭头 / 方框 / 文字标注。 **针对信创环境(麒麟、统信 UOS 等 Debian 系)提供一键 deb 安装包**,同样兼容 Debian / Ubuntu。 ![托盘图标](docs/tray.png) --- ## 功能特性 - **全局热键**(默认 `Ctrl+Alt+A`)随时呼出,无需点击窗口 - **屏幕冻结 + 暗化遮罩**:框选区域恢复亮度,带反差边框,鼠标始终可见 - **一体化标注编辑器**: - 框选后区域方框保留,下方弹出工具栏:箭头 / 方框 / 文字 / 8 色 / 确认 - 文字标注:点击画布打开输入框,回车**或点击其它位置**提交,双击可重新编辑 - 选中标注可**拖动移动**、**8 向手柄缩放**、**调色板改色**、**Del 删除** - 区域本体也可拖边/拖角调整大小、移动 - Esc 取消;确认后保存"区域 + 标注"合成图 - 截图自动保存 PNG 并**复制到系统剪贴板**,可直接 `Ctrl+V` 粘贴 - **系统托盘**:右键菜单(立即截图 / 使用说明 / 设置 / 退出),双击查看使用说明 - 设置可自定义**快捷键、保存目录**、是否弹通知 - 开机自启动,后台常驻 --- ## 安装 ### 方式:deb 包(信创 / Debian 系推荐) 从 [Releases](../../releases) 下载 `screenshot-tool_*.deb`,执行: ```bash sudo dpkg -i screenshot-tool_1.0.0-4_all.deb sudo apt-get -f install # 若有缺失依赖,自动补装 ``` 安装过程会自动: - 在**桌面**生成「区域截图」快捷方式(兼容中文 `~/桌面` 与 `~/Desktop`) - 写入开机自启动项(`/etc/xdg/autostart`) - 若仓库缺少 `pynput` / `python-xlib`,用 `pip3` 自动补装(离线不阻塞安装) > 已装但桌面没有快捷方式时,可手动补充: > `sudo /usr/share/screenshot-tool/make-desktop-shortcut.sh` 卸载: ```bash sudo apt remove screenshot-tool # 自动移除桌面快捷方式与自启动 ``` --- ## 使用 1. 屏幕右下角出现托盘图标(或直接按 `Ctrl+Alt+A`) 2. 按住鼠标左键拖拽框选区域,松开进入标注编辑 3. 用上方工具栏添加箭头 / 方框 / 文字,调整颜色与大小 4. 点**「确认」**:自动保存 PNG 并复制到剪贴板 5. `Esc` 任意时刻取消 托盘图标: - **右键**:立即截图 / 使用说明 / 设置... / 退出 - **双击**:查看使用说明 --- ## 配置 设置界面(托盘右键 → 设置)或直接编辑 `config.json`(守护进程会自动重载): ```json { "hotkey": "++a", "save_dir": "~/Pictures/Screenshots", "notify": true } ``` | 字段 | 说明 | | ---- | ---- | | `hotkey` | pynput 格式,如 `++a`、`++s` | | `save_dir` | 截图保存目录(支持 `~/`) | | `notify` | 是否弹出桌面通知 | 配置文件位置: - 源码目录运行:与脚本同目录 - deb 安装后:`~/.config/screenshot-tool/config.json` --- ## 文件说明 | 文件 | 说明 | | ---- | ---- | | `main.py` | 守护进程:全局热键监听 + Unix socket 控制接口 | | `tray.py` | 系统托盘助手(GTK3) | | `screenshot.py` | X11 区域选择与截图核心(python-xlib + ImageMagick) | | `editor.py` | 一体化标注编辑器(框选 + 箭头/方框/文字标注 + 合成保存) | | `apppaths.py` | 运行路径解析(可写目录 / 已安装只读目录自动切换) | | `config.json` | 配置文件 | | `start.sh` / `install.sh` / `uninstall.sh` | 启动 / 一键安装 / 卸载脚本 | | `make-desktop-shortcut.sh` | 桌面快捷方式生成脚本 | --- ## 运行环境与依赖 | 类别 | 项 | | ---- | -- | | 操作系统 | Debian 系:麒麟、统信 UOS、Debian、Ubuntu | | 显示环境 | X11(X.Org);纯 Wayland 会话下热键/抓屏可能受限 | | 架构 | `all`,支持 x86_64 / aarch64 / loongarch64 等 | | Python | 系统 `python3` ≥ 3.5(兼容 3.5 – 3.14) | | GTK | GTK3 + PyGObject | apt 依赖(deb 的 `Depends`): ``` python3 python3-gi python3-gi-cairo python3-cairo gir1.2-gtk-3.0 gir1.2-pango-1.0 imagemagick ``` 可选(`Recommends`):`libnotify-bin`(通知)、`python3-xlib` pip 依赖(信创仓库缺失时自动补装):`pynput`、`python-xlib` --- ## 从源码构建 deb ```bash # 1. 准备目录结构(以 /tmp/debbuild 为例) mkdir -p /tmp/debbuild/DEBIAN mkdir -p /tmp/debbuild/usr/share/screenshot-tool /tmp/debbuild/usr/bin mkdir -p /tmp/debbuild/usr/share/applications /tmp/debbuild/usr/share/pixmaps mkdir -p /tmp/debbuild/etc/xdg/autostart # 2. 放入程序文件 cp apppaths.py config.json editor.py main.py screenshot.py tray.py start.sh \ make-desktop-shortcut.sh /tmp/debbuild/usr/share/screenshot-tool/ cp DEBIAN/control DEBIAN/postinst DEBIAN/postrm DEBIAN/prerm /tmp/debbuild/DEBIAN/ # 3. 构建 fakeroot dpkg-deb --build /tmp/debbuild screenshot-tool_1.0.0-4_all.deb ``` `DEBIAN/` 目录内容见本仓库 `packaging/` 目录。 --- ## 日志 - `screenshot.log`:守护进程日志 - `tray.log`:托盘助手日志 - deb 安装后位于 `~/.config/screenshot-tool/`;源码运行位于脚本同目录 --- ## 常见问题 - **安装后不弹快捷键**:确认未处于纯 Wayland 会话;`pgrep -f main.py` 查看守护进程是否运行 - **快捷键被占用**:托盘右键 → 设置,改成其它组合键 - **没有桌面通知**:安装 `libnotify-bin` - **桌面快捷方式未出现**:`sudo /usr/share/screenshot-tool/make-desktop-shortcut.sh`;若文件在桌面未显示,F5 刷新或注销重登 --- ## License [MIT](LICENSE)