Flameshot 延时截图和命令行怎么用
延时截图用来解决什么问题
有一类画面,鼠标一松开就没了:右键菜单、悬浮提示、下拉面板、鼠标悬停才出现的下拉列表、输入法候选栏、拖拽过程中的中间态。用普通热键截这些,往往是你按下键的那一刻画面已经消失。
延时截图就是给中间留几秒:按下之后先进倒计时,倒计时结束才进截图状态,这期间你有时间把鼠标移到正确的位置、把菜单划出来。Flameshot 提供了两条路子,界面里一条,命令行一条。
图形界面里的延时:时钟图标
区域截图界面打开之后,注意看界面底部或左下角的工具条,里面有一个长得像时钟的小按钮。点它,或者按它的快捷键,会出现一个可以填数字的输入框。
操作流程是:
- 按下截图热键,屏幕变灰;
- 点击工具条上的时钟图标,输入想延时的秒数(比如 3);
- 按回车确认,或者再次点击截图按钮;
- 此时才开始倒计时,倒计时过程中界面保持原样,结束后重新进入可框选状态;
- 拖出选区,正常标注保存。
这个办法的优点是不用敲命令,缺点是秒数粒度比较粗,而且每次重新截图都要重新点一次,没法保存成一套配置反复调用。想要固定住「延时三秒」这件事,还是得靠命令行。
命令行延时:-d 参数,单位是毫秒
Flameshot 的本体支持命令行调用,延时靠 -d 参数实现,注意单位是毫秒,不是秒:
flameshot gui -d 3000
上面这条的意思是:延时 3000 毫秒(也就是 3 秒)之后再弹出截图界面。几个常用值可以按需求换算:
-d 1000:1 秒,抓鼠标悬停效果够用;-d 3000:3 秒,比较通用,够从容地把鼠标挪到位;-d 5000:5 秒,需要打开多级菜单、切换窗口时用;-d 20000:20 秒,留时间切到别的软件里做一长串操作再回来。
如果倒计时还没结束就发现鼠标位置不对,可以按 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(推荐长期用)
- 右键「此电脑」→「属性」,或者进「设置 → 系统 → 关于」;
- 点「高级系统设置」→「环境变量」;
- 在用户变量那一栏找到 Path,双击编辑;
- 新建一条,填
C:\Program Files\Flameshot,确定保存; - 重新打开一次终端,旧窗口不认新环境变量。
之后再敲 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。
把延时截图变成一键操作
命令行最大的价值是可以挂到系统的任何触发点上,几种实用搭配:
- 挂到桌面环境的自定义快捷键:Linux 的 GNOME 或 KDE 里新建快捷键条目,命令填
flameshot gui -d 3000,热键设成 Ctrl+Shift+D(延时),和日常的 Ctrl+Shift+S(立即截图)区分开; - Windows 快捷方式:给图标指定快捷键:快捷方式属性里有「快捷键」一栏,填上 Ctrl+Alt+D,之后无论在哪按这组键都会触发这个延时命令;
- 写进批处理脚本:需要连着做几件事的时候,写一个 .bat 文件,延时、截图、把文件挪到指定目录三步串起来,双击跑完。
抓右键菜单这类画面的实操步骤
这里给一套能直接用的流程,抓取目标是某个软件的右键菜单:
- 先把要操作的目标窗口摆好,鼠标停在准备右键的位置;
- 通过快捷方式或终端执行
flameshot gui -d 5000; - 立刻点一下右键把菜单划出来,并保证鼠标不要移动;
- 等待倒计时结束,屏幕进入可选框状态;
- 拖出包含菜单的选区,松手后加箭头标注,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 中文站试试吧!
全平台支持 · 安全无毒 · 官方最新版