预览
目录
特性
- 可自定义外观。
- 易于使用。
- 应用内截图编辑。
- DBus 接口。
- 上传到 Imgur。
使用方法
不带参数执行 flameshot
命令将在后台启动一个运行实例,但不会执行任何操作。
如果您的桌面环境提供托盘区域,托盘图标也会出现在托盘中,供用户进行配置和管理。
示例命令:
-
使用图形界面捕获:
flameshot gui
-
使用图形界面捕获并指定自定义保存路径:
flameshot gui -p ~/myStuff/captures
-
延迟 2 秒后使用图形界面捕获(对于捕获鼠标悬停提示等很有用):
flameshot gui -d 2000
-
全屏捕获并指定自定义保存路径(无图形界面)且延迟:
flameshot full -p ~/myStuff/captures -d 5000
-
全屏捕获并指定自定义保存路径,同时复制到剪贴板:
flameshot full -c -p ~/myStuff/captures
- 捕获包含鼠标的屏幕并以PNG格式打印图像(字节):
flameshot screen -r
- 捕获编号为1的屏幕并复制到剪贴板:
flameshot screen -n 1 -c
如有疑问,请选择第一个或第二个命令作为您喜欢的桌面环境中的快捷方式。
当Flameshot运行时,系统托盘中会出现一个图标。 右键单击托盘图标,您会看到一些菜单项,用于打开配置窗口和信息窗口。 查看"关于"窗口以查看图形捕获模式中的所有可用快捷键。
命令行配置
您可以使用图形菜单来配置Flameshot,但也可以使用终端或脚本来执行此操作。
- 打开配置菜单:
flameshot config
- 在捕获模式下显示初始帮助信息:
flameshot config --showhelp true
- 有关可用选项的更多信息,请使用帮助标志:
flameshot config -h
配置文件
您还可以在配置文件中编辑一些设置(如覆盖默认颜色)。
Linux路径: ~/.config/flameshot/flameshot.ini
。
Windows路径: C:\Users\{用户名}\AppData\Roaming\flameshot\flameshot.ini
。
在将配置文件从Linux复制到Windows或反之亦然时,
请确保更正savePath
变量,
以便屏幕截图保存在所需文件系统的正确目录中。
键盘快捷键
本地快捷键
以下快捷键在GUI模式下可用:
按键 | 描述 |
---|---|
P | 将铅笔设置为绘画工具 |
D | 将直线设置为绘画工具 |
A | 将箭头设置为绘画工具 |
S | 将选择设置为绘画工具 |
R | 将矩形设置为绘画工具 |
C | 将圆形设置为绘画工具 |
M | 将标记设置为绘画工具 |
T | 在捕获中添加文本 |
B | 将像素化设置为绘画工具 |
←, ↓, ↑, → | 移动选区1像素 |
Shift + ←, ↓, ↑, → | 调整选区大小1像素 |
Ctrl + Shift + ←, ↓, ↑, → | 对称调整选区大小2像素 |
Esc | 退出捕获 |
Ctrl + M | 移动选区 |
Ctrl + C | 复制到剪贴板 |
Ctrl + S | 将选区保存为文件 |
Ctrl + Z | 撤销上一次修改 |
Ctrl + Shift + Z | 重做下一次修改 |
Ctrl + Q | 离开捕获屏幕 |
Ctrl + O | 选择应用程序打开捕获 |
Ctrl + Return | 在文本区域提交文本 |
Return | 将选区上传到Imgur |
空格键 | 切换侧边栏可见性,显示所选工具的选项、绘图颜色的颜色选择器和历史记录菜单 |
右键单击 | 显示颜色轮 |
鼠标滚轮 | 更改工具的粗细 |
Print screen | 捕获屏幕 |
Shift + Print | 屏幕截图历史记录 |
Ctrl + 绘制直线、箭头或标记 | 仅水平、垂直或对角线绘制 |
Ctrl + 绘制矩形或圆形 | 保持宽高比 |
Shift + 拖动选区的一个手柄: 在对面的手柄上镜像重新调整大小。
全局快捷键
Flameshot使用 Print screen (Windows) 和 cmd-shift-x (macOS) 作为默认全局热键。
在Linux上,Flameshot还不能直接支持 Prt Sc,但通过一些配置可以设置:
在KDE Plasma桌面上
为了简化配置,仓库中有一个文件,可以大致自动化此过程。默认情况下,此文件将分配以下热键:
按键 | 描述 |
---|---|
Prt Sc | 启动Flameshot屏幕截图工具并进行截图 |
Ctrl + Prt Sc | 等待3秒,然后启动Flameshot屏幕截图工具并进行截图 |
Shift + Prt Sc | 进行全屏(所有显示器)截图并保存 |
Ctrl + Shift + Prt Sc | 进行全屏(所有显示器)截图并复制到剪贴板 |
如果您不喜欢默认设置,可以稍后更改。
使用配置的步骤:
- 配置文件使Flameshot自动将屏幕截图保存到
~/Pictures/Screenshots
,而不打开保存对话框。通过运行以下命令确保该文件夹存在:
mkdir -p ~/Pictures/Screenshots
(如果您不喜欢默认位置,可以跳过此步骤,稍后配置您首选的目录。)
- 下载配置文件:
cd ~/Desktop
wget https://raw.githubusercontent.com/flameshot-org/flameshot/master/docs/shortcuts-config/flameshot-shortcuts-kde.khotkeys
- 确保使用包管理器安装了
khotkeys
,以便在 KDE Plasma 中启用自定义快捷键。 - 进入"系统设置" → "快捷键" → "自定义快捷键"。
- 如果存在 Spectacle(KDE 默认截图工具)的条目,你需要禁用它,因为它的快捷键可能会与 Flameshot 的冲突。通过取消选中 Spectacle 条目来完成此操作。
- 点击"编辑" → "导入...",导航到配置文件并打开它。
- 现在 Flameshot 条目应该出现在列表中。点击"应用"以应用更改。
- 如果你想更改默认热键,可以展开条目,选择适当的操作并按需修改;这个过程相当直观。
- 如果你是通过 Flatpak 安装的 Flameshot,你需要创建一个指向命令的符号链接:
ln -s /var/lib/flatpak/exports/bin/org.flameshot.Flameshot ~/.local/bin/flameshot
在 Ubuntu 上(在 18.04、20.04、22.04 上测试过)
要在 Ubuntu 中使用 Flameshot 代替默认的截图应用程序,我们需要移除 Prt Sc 键的绑定,然后为 /usr/bin/flameshot gui
创建一个新的绑定(改编自 Pavel 在 AskUbuntu 上的回答)。
-
移除 Prt Sc 键的绑定:
Ubuntu 18.04/20.04 使用以下命令:
gsettings set org.gnome.settings-daemon.plugins.media-keys screenshot '[]'
Ubuntu 22.04:进入"设置" > "键盘" > "查看和自定义快捷键" > "截图" > "交互式截图",然后按下"退格键"
-
为 Prt Sc 添加自定义绑定:
Ubuntu 18.04:进入"设置" > "设备" > "键盘",然后点击底部的"+"按钮。
Ubuntu 20.04:进入"设置" > "键盘快捷键",然后点击底部的"+"按钮。
Ubuntu 22.04:进入"设置" > "键盘" > "查看和自定义快捷键" > "自定义快捷键",然后点击底部的"+"按钮。
-
为命令命名,例如"flameshot"。在命令栏中输入
/usr/bin/flameshot gui
。 -
然后点击"设置快捷键..."并按下 Prt Sc。这将显示为"print"。
现在每次按下 Prt Sc,它都会启动 Flameshot GUI 而不是默认应用程序。
在 XFCE 4 上
-
进入"键盘"设置
-
切换到"应用程序快捷键"标签
-
找到以下条目
命令 快捷键 xfce4-screenshooter -fd 1 Print
-
将
xfce4-screenshooter -fd 1
替换为flameshot gui
现在每次按下 Prt Sc,它都会启动 Flameshot GUI 而不是默认应用程序。
注意事项
-
对 Gnome Wayland 和 Plasma Wayland 的支持处于实验阶段。
-
如果你使用 Gnome,你需要安装 AppIndicator and KStatusNotifierItem Support 扩展才能看到系统托盘图标。
-
当你处于捕获模式且没有活动选择时,按下 Enter 或 Ctrl + C,整个桌面将被复制到剪贴板。按下 Ctrl + S 将保存你的捕获到文件。查看快捷键以获取更多信息。
-
Flameshot 在包含 D-Bus 的桌面环境中工作得最好。查看这篇文章以获取在最小化窗口管理器(dwm、i3、xmonad 等)中使用 Flameshot 的提示。
-
为了加快 Flameshot 的首次启动速度(应用程序的 D-Bus 初始化可能会很慢),考虑在系统启动时自动启动应用程序。
- 快速提示:如果你没有让 Flameshot 在启动时自动运行,但想设置键盘快捷键,可以使用以下命令作为键绑定:
( flameshot &; ) && ( sleep 0.5s && flameshot gui )
安装
Flameshot 可以安装在 Linux、Microsoft Windows 和 macOS 上。
预构建包
在 GitHub 项目仓库的发布页面 上提供了一些预构建包。
仓库中的包
一些 Linux 发行版的仓库中有可用的包:
- Arch:
pacman -S flameshot
- 通过 AUR 也可获得快照版本:flameshot-git。
- Debian 10+:
apt install flameshot
- Debian 9("Stretch")的包也可通过 stretch-backports 获得。
- Ubuntu 18.04+:
apt install flameshot
- openSUSE:
zypper install flameshot
- Void Linux:
xbps-install flameshot
- Solus:
eopkg it flameshot
- Fedora:
dnf install flameshot
- NixOS:
nix-env -iA nixos.flameshot
- ALT:
su - -c "apt-get install flameshot"
- Snap/Flatpak/AppImage
- Docker
- Windows
MacOS
- MacPorts:
sudo port selfupdate && sudo port install flameshot
- Homebrew:
brew install --cask flameshot
注意,由于 macOS 的安全功能,使用 brew 安装的 flameshot 可能无法打开。 如果你看到消息"无法打开'flameshot',因为无法验证开发者",你需要按照以下步骤操作:
- 前往应用程序文件夹(访达 > 前往 > 应用程序,或按 Shift+Command+A)
- 右击"flameshot.app"并从上下文菜单中选择"打开"
- 在弹出的对话框中点击"打开"
完成上述所有步骤后,flameshot
将可以在你的 Mac 上正常打开。
Windows
托盘图标
注意,要让 Flameshot 图标出现在托盘区域,你应该安装一个系统托盘软件。这对使用最小化窗口管理器(如dwm)的用户尤为重要。在某些桌面环境安装中(如 Gnome),系统托盘可能缺失,你可以安装应用程序或插件(如 Gnome shell 扩展)来将系统托盘添加到你的设置中。据报告,包括 Flameshot 在内的某些软件图标不会显示在 gnome-shell-extension-appindicator 中。
另外,如果你不想使用系统托盘,你始终可以从终端调用 Flameshot。参见使用部分。
编译
要在你的系统中构建应用程序,你需要安装所需的依赖项,每个发行版的包名可能不同,更多信息请参见下面的依赖项。你也可以通过Qt 安装程序安装大多数 Qt 依赖项。如果你之前开发过 Qt 应用,你可能已经安装了这些依赖项。
本项目使用 CMake 构建系统,所以你需要安装它来构建项目(在大多数 Linux 发行版中,它在标准仓库中以 cmake
包的形式提供)。如果你的发行版提供的 CMake 版本太旧(如 Ubuntu 18.04),你可以在官方网站上下载。
你也可以在 C++ IDE 中打开、构建和调试项目。例如,在 Qt Creator 中,在安装 CMake 到系统后,你应该能够通过菜单中的"打开文件或项目"直接打开 CMakeLists.txt
。关于 Qt Creator 中 CMake 项目的更多信息。
依赖项
编译时
- Qt >= 5.9
- 开发工具
- GCC >= 7.4
- CMake >= 3.13
运行时
- Qt
- SVG
可选
- Git
- OpenSSL
- CA 证书
Debian
# 编译时
apt install g++ cmake build-essential qtbase5-dev qttools5-dev-tools libqt5svg5-dev qttools5-dev
# 运行时
apt install libqt5dbus5 libqt5network5 libqt5core5a libqt5widgets5 libqt5gui5 libqt5svg5
# 可选
apt install git openssl ca-certificates
Fedora
# 编译时
dnf install gcc-c++ cmake qt5-qtbase-devel qt5-linguist
# 运行时
dnf install qt5-qtbase qt5-qtsvg-devel
# 可选
dnf install git openssl ca-certificates
Arch
# 编译时
pacman -S cmake base-devel git qt5-base qt5-tools
# 运行时
pacman -S qt5-svg
# 可选
pacman -S openssl ca-certificates
NixOS
nix-shell
MacOS
首先你需要安装 brew,然后安装依赖项
brew install qt5
brew install cmake
构建
安装所有依赖项后,最后在源代码根目录运行以下命令:
cmake -S . -B build && cmake --build build
注意:对于 macOS,你应该将命令
cmake -S . -B build
替换为
cmake -S . -B build -DQt5_DIR=$(brew --prefix qt5)/lib/cmake/Qt5
当 cmake --build build
命令完成后,你可以从 project_folder/build/src
文件夹启动 flameshot
安装
简单地使用 cmake --install build
(需要权限)。
注意:如果你从源代码安装,没有卸载程序,你需要手动删除文件。考虑使用 CMAKE_INSTALL_PREFIX 安装到自定义位置以便于移除。
常见问题
https://flameshot.org/docs/guide/faq/
许可证
- 主要代码使用 GPLv3 许可
- Flameshot 的标志使用 自由艺术许可证 v1.3 许可
- 按钮图标使用 Apache License 2.0 许可。参见:https://github.com/google/material-design-icons
- capture/capturewidget.cpp 中的代码基于 https://github.com/ckaiser/Lightscreen/blob/master/dialogs/areadialog.cpp (GPLv2)
- capture/capturewidget.h 中的代码基于 https://github.com/ckaiser/Lightscreen/blob/master/dialogs/areadialog.h (GPLv2)
- 我从 KSnapshot regiongrabber.cpp 修订版
796531
复制了几行代码 (LGPL) - Qt-Color-Widgets 取自并修改自 https://github.com/mbasaglia/Qt-Color-Widgets(参见项目中的许可证和例外情况)(LGPL/GPL)
信息:如果我从你的项目中获取代码,并且这意味着重新许可为 GPLv3,你可以使用我的更改,并应用你项目的原始许可证。
隐私政策
除非用户或安装或操作该程序的人特别要求,否则该程序不会向其他网络系统传输任何信息。
代码签名政策
对于Windows二进制文件,本程序使用由SignPath.io提供的免费代码签名,以及SignPath基金会提供的证书。
代码签名目前是一个手动过程,因此并非每个补丁版本都会被签名。
贡献
如果您想贡献,请查看CONTRIBUTING.md
致谢
感谢那些在早期开发过程中表现出兴趣的人:
感谢赞助商: