我正在使用 KUbuntu 18.04.1
我正在尝试使用 spectacle(KUbuntu 的屏幕截图应用程序)和 gocr(OCR 工具)从屏幕截图中提取文本
如果我在 Konsole(KUbuntu 终端)中一个接一个地发出命令
第一的:
spectacle -r -b -n -o /home/UserName/Documents/Translate/input.jpg
第二:
gocr -i /home/UserName/Documents/Translate/input.jpg | xsel -b
有用。
如果我创建一个 bash 文件screen_ts.sh并将代码
#!/bin/bash
# Dependencies: gocr xsel
# Take Screenshot and Save it to a File
spectacle -r -b -n -o /home/UserName/Documents/Translate/input.jpg
# Extract text from the saved file
gocr -i /home/UserName/Documents/Translate/input.jpg | xsel -b
exit
打开 Konsole 并输入./screen_ts.sh,它可以工作
但是,如果我使文件可执行并双击,它会截取屏幕截图,但不会将文本保存在剪贴板中。
如果我再次使用创建自定义快捷方式
自定义快捷方式 > 触发器Alt + Q
和操作/home/UserName/Documents/Translate/screen_ts.sh
它会截取屏幕截图,但不会将文本保存在剪贴板中。 与双击相同的行为。
这里发生了什么?
来自man xsel:
这有点误导,但源代码中有一条有趣的注释:
...这就是解决方案:通过添加选项
xsel
明确告诉读取:stdin
-i