Ubuntu 22.04自定义截图快捷键无法生成带时间戳的唯一文件名问题求助
Ubuntu 22.04自定义截图快捷键无法生成带时间戳的唯一文件名问题求助
嘿,我完全懂你的困扰!从Ubuntu 20.04升级到22.04后,自定义截图快捷键的shell命令解析逻辑确实有变化——终端里能正常运行的命令放到快捷键里就失效,核心原因是系统自定义快捷键不会默认通过Shell来解析命令里的变量和命令替换,比如$(date)这种Shell语法会被当成普通字符串处理,自然生成不了时间戳。
解决办法很简单,把你的命令用bash -c包裹起来,让Bash Shell来帮你解析时间戳部分。具体的命令应该改成这样:
bash -c 'gnome-screenshot -a -f "$HOME/Pictures/Screenshots/Screenshot from $(date "+%Y-%m-%d %H-%M-%S").png"'
这里给你拆解下关键点:
bash -c:告诉系统调用Bash Shell来执行后面的完整命令字符串,这样Shell语法才能被正确解析- 外层用单引号包裹整个命令:避免系统把命令拆分成多个参数,保证完整命令传递给Bash
$HOME:用用户目录变量代替硬编码的路径,让命令在不同用户下都能正常工作$(date "+%Y-%m-%d %H-%M-%S"):现在会被Bash正确解析为当前时间戳,确保每个截图文件名都是唯一的
设置自定义快捷键的步骤也给你列出来:
- 打开系统设置 → 键盘 → 快捷键 → 自定义快捷键
- 点击"+"按钮添加新快捷键
- 名称可以随便填,比如「选区截图(带时间戳)」
- 命令栏填入上面的完整命令
- 最后设置你习惯的键盘组合键,比如
Ctrl+Shift+A
这样设置完成后,按下快捷键就能正常生成带时间戳的唯一截图文件啦!
备注:内容来源于stack exchange,提问作者John Oliver
相关产品推荐
相关产品推荐

