Flameshot 延时截图和命令行怎么用

立即下载Flameshot 中文站 全平台支持 · 官方最新版

延时截图用来解决什么问题

有一类画面,鼠标一松开就没了:右键菜单、悬浮提示、下拉面板、鼠标悬停才出现的下拉列表、输入法候选栏、拖拽过程中的中间态。用普通热键截这些,往往是你按下键的那一刻画面已经消失。

延时截图就是给中间留几秒:按下之后先进倒计时,倒计时结束才进截图状态,这期间你有时间把鼠标移到正确的位置、把菜单划出来。Flameshot 提供了两条路子,界面里一条,命令行一条。

图形界面里的延时:时钟图标

区域截图界面打开之后,注意看界面底部或左下角的工具条,里面有一个长得像时钟的小按钮。点它,或者按它的快捷键,会出现一个可以填数字的输入框。

操作流程是:

  1. 按下截图热键,屏幕变灰;
  2. 点击工具条上的时钟图标,输入想延时的秒数(比如 3);
  3. 按回车确认,或者再次点击截图按钮;
  4. 此时才开始倒计时,倒计时过程中界面保持原样,结束后重新进入可框选状态;
  5. 拖出选区,正常标注保存。

这个办法的优点是不用敲命令,缺点是秒数粒度比较粗,而且每次重新截图都要重新点一次,没法保存成一套配置反复调用。想要固定住「延时三秒」这件事,还是得靠命令行。

命令行延时:-d 参数,单位是毫秒

Flameshot 的本体支持命令行调用,延时靠 -d 参数实现,注意单位是毫秒,不是秒:

flameshot gui -d 3000

上面这条的意思是:延时 3000 毫秒(也就是 3 秒)之后再弹出截图界面。几个常用值可以按需求换算:

如果倒计时还没结束就发现鼠标位置不对,可以按 Esc 取消这次截图,重新执行一次命令。

顺手再配一个 -p:指定这次存哪

单纯 flameshot gui 会把图存到配置里设好的默认位置。某次想存到别的项目目录时,可以接一个 -p 参数:

flameshot gui -p D:\截图\项目A
flameshot gui -d 3000 -p D:\截图\项目A

两条参数可以一起用,先延时三秒、再落到指定目录,适合写一次性脚本。注意 -p 后面跟的是一个目录,不是完整文件名,文件名仍由配置里的模板生成。

Windows 用户先做这件事:配路径

这一段最重要。Windows 上很多人兴致勃勃打开终端敲 flameshot gui,结果看到一行提示,大意是不是内部或外部命令,也不是可运行的程序。这不是软件坏了,是安装目录不在环境变量里。

msi 安装包的默认安装位置是:

C:\Program Files\Flameshot

这个路径不在系统的 Path 里,所以系统不知道 flameshot 这个命令对应哪个文件。有三种解法,按自己的习惯选。

解法一:每次先进目录(临时用)

打开 PowerShell 或者命令提示符,先执行:

cd "C:\Program Files\Flameshot"
.\flameshot.exe gui -d 3000

路径里有空格,所以外面要包一层引号。这个方法适合偶尔用一次,不用改动系统设置。

解法二:把目录加进 Path(推荐长期用)

  1. 右键「此电脑」→「属性」,或者进「设置 → 系统 → 关于」;
  2. 点「高级系统设置」→「环境变量」;
  3. 在用户变量那一栏找到 Path,双击编辑;
  4. 新建一条,填 C:\Program Files\Flameshot,确定保存;
  5. 重新打开一次终端,旧窗口不认新环境变量。

之后再敲 flameshot --version 能看到版本号,说明配好了。flameshot gui -d 3000 这样的命令就能直接在任意目录下用。

解法三:直接写完整路径(做快捷方式时用)

不想改环境变量的话,把命令写全:

"C:\Program Files\Flameshot\flameshot.exe" gui -d 3000

这种写法最适合做桌面快捷方式:桌面上右键 → 新建 → 快捷方式,「请输入对象的位置」填上面这一行,下一步起个名字比如「延时3秒截图」,确认。以后双击这个图标就会倒计时三秒后进入截图,连托盘都不用点。

用 zip 便携版的用户更简单:解压到哪个目录,就 cd 到那个目录执行可执行文件,配置文件也会跟着这个目录走,拷进 U 盘换台机器照样能跑。

macOS 与 Linux 上同样的命令

macOS:如果是 dmg 装的,可执行文件在应用程序目录里,终端一般用 flameshot gui -d 3000 不一定认,需要用完整路径:

/Applications/flameshot.app/Contents/MacOS/flameshot gui -d 3000

用 Homebrew 或 MacPorts 装的通常已经在 PATH 里,可以直接写 flameshot gui -d 3000。macOS 第一次用还要记得在系统设置里给屏幕录制、辅助功能这些权限,否则界面弹出来了也截不动。

Linux:仓库原生版(apt / dnf / pacman 装的)命令已经在 PATH 里,终端直接敲 flameshot gui -d 3000 即可。AppImage 版要带上文件路径,比如 ./flameshot-x86_64.AppImage gui -d 3000。

把延时截图变成一键操作

命令行最大的价值是可以挂到系统的任何触发点上,几种实用搭配:

抓右键菜单这类画面的实操步骤

这里给一套能直接用的流程,抓取目标是某个软件的右键菜单:

  1. 先把要操作的目标窗口摆好,鼠标停在准备右键的位置;
  2. 通过快捷方式或终端执行 flameshot gui -d 5000;
  3. 立刻点一下右键把菜单划出来,并保证鼠标不要移动;
  4. 等待倒计时结束,屏幕进入可选框状态;
  5. 拖出包含菜单的选区,松手后加箭头标注,Ctrl+S 存盘。

如果菜单本身要求鼠标悬停才显示(比如浏览器标签的缩略图),延时期间就用另一只手留意不要碰鼠标。倒计时结束、选框出现的那一刻,画面是冻结的,可以放心拖。

常见问题

Q:延时参数写了 3,结果只等了不到一秒就出来了?

注意单位是毫秒,-d 3 是 3 毫秒,几乎瞬间完成。要三秒必须写 -d 3000。

Q:命令执行后立刻报错退出,说无法打开显示?

Linux 上没有 DISPLAY 变量,或者 SSH 远程会话里没有图形环境,命令行没法弹出界面。在本机桌面上执行,或者在 SSH 里加上 X11 转发再执行。

Q:加了环境变量还是不行?

检查是不是改成了「系统变量」但当前用户没权限,或者改完之后没重开终端。可以先用 where flameshot(Windows)或 which flameshot(Linux、macOS)确认解析到哪个文件。

Q:延时等太久,能不能中途取消?

继续执行 Esc 可以取消当前这次截图。命令已经发出去的话,把终端窗口关掉或者在终端里按 Ctrl+C 中断即可。

这篇教程有帮助吗?立即下载Flameshot 中文站试试吧!

全平台支持 · 安全无毒 · 官方最新版