![用于截取屏幕截图并保存图像的 Bash 脚本 - Ubuntu](https://linux22.com/image/963714/%E7%94%A8%E4%BA%8E%E6%88%AA%E5%8F%96%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE%E5%B9%B6%E4%BF%9D%E5%AD%98%E5%9B%BE%E5%83%8F%E7%9A%84%20Bash%20%E8%84%9A%E6%9C%AC%20-%20Ubuntu.png)
我编写了一个如下的 bash 脚本:
#!/bin/bash
echo "Enter a file name"
read filename
import -window root $HOME/Desktop/$filename.png
我希望该脚本能够截取屏幕截图并使用给定的文件名将图像保存在我的桌面上。
问题:我的 Ubuntu 终端给出错误:
导入:未找到命令
答案1
您需要安装该包图像魔法通过 Ubuntu 软件中心使用导入命令或者:
sudo apt-get install imagemagick
这将允许您使用import
命令。还可以尝试graphicsmagick-imagemagick-compat包裹。
其他进口替代方案包括
scrot
. 使用以下命令安装:sudo aptitude install scrot
用法:
scrot screen.png
gnome-screenshot
. 使用以下命令安装:sudo aptitude install gnome-screenshot
答案2
你可以使用最好的截图工具
快门 也可用于脚本!我相信,这是最强大的工具,为您提供了最先进和最精细的选项供您在脚本中使用。
使用终端命令安装
sudo apt-get install shutter
或使用软件中心(点击下面的大按钮)
安装完成后,使用此命令截取整个显示屏的屏幕截图,并将屏幕截图保存在名为的文件中,myshot.png
shutter -f -o myshot.png -e
指示
-f
快门对整个显示屏进行截图。您还可以使用-a
它对活动窗口进行截图,或者指示它从任何特定窗口进行截图。该
-o
选项用于告诉快门输出文件名。您可以指定任何文件名该
e
选项会导致快门在截取屏幕截图后退出。
下面给出了输出,shutter --help
供参考。
Usage:
shutter [options]
Options:
Example 1
shutter -a -p=myprofile --min_at_startup
Example 2
shutter -s=100,100,300,300 -e
Example 3
shutter --window=.*firefox.*
Example 4
shutter --web=http://shutter-project.org/ -e
Capture Mode Options:
-s, --select=[X,Y,WIDTH,HEIGHT]
Capture an area of the screen. Providing X,Y,WIDTH,HEIGHT is
optional.
-f, --full
Capture the entire screen.
-w, --window=[NAME_PATTERN]
Select a window to capture. Providing a NAME_PATTERN (Perl-style
regex) ist optional.
-a, --active
Capture the current active window.
--section
Capture a section. You will be able to select any child window
by moving the mouse over it.
-m, --menu
Capture a menu.
-t, --tooltip
Capture a tooltip.
--web=[URL]
Capture a webpage. Providing an URL ist optional.
-r, --redo
Redo last screenshot.
Settings Options:
-p, --profile=NAME
Load a specific profile on startup.
-o, --output=FILENAME
Specify a filename to save the screenshot to (overwrites any
profile-related setting).
Supported image formats: You can save to any popular image
format (e.g. jpeg, png, gif, bmp). Additionally it is possible
to save to pdf, ps or svg.
Please note: There are several wildcards available, like
%Y = year
%m = month
%d = day
%T = time
$w = width
$h = height
$name = multi-purpose (e.g. window title)
$nb_name = like $name but without blanks in resulting strings
$profile = name of current profile
$R = random char (e.g. $RRRR = ag4r)
%NN = counter
The string is interpretted by strftime. See "man strftime" for
more examples.
As an example: shutter -f -e -o './%y-%m-%d_$w_$h.png' would
create a file named '11-10-28_1280_800.png' in the current
directory.
Application Options:
-h, --help
Prints a brief help message and exits.
-v, --version
Prints version information.
-d, --debug
Prints a lot of debugging information to STDOUT.
--clear_cache
Clears cache, e.g. installed plugins, at startup.
--min_at_startup
Starts Shutter minimized to tray.
--disable_systray
Disables systray icon.
-e, --exit_after_capture
Exit after the first capture has been made. This is useful when
using Shutter in scripts.
答案3
要安装包含程序的 imagemagick import
,请参阅其他答案。但是,您也可以通过调用从命令行启动 gnome-screenshot gnome-screenshot
。小程序将立即截取屏幕截图并显示一个对话框以输入文件名:
答案4
我喜欢scrot
这个(apt install scrot
):
#!/bin/bash
scrot -u -q 100 '/home/stephen/pic/screenshots/screenshot.%Y%m%d_%H%M%S.png'
并链接到一些密钥。我在使用密钥时遇到了问题printscr
,但并没有太在意去调查。