คำสั่งเทอร์มินัลคืออะไรที่จะจับภาพหน้าจอ


116

ฉันสามารถใช้คำสั่งอะไรในเทอร์มินัลที่เทียบเท่ากับปุ่มPrtSc(หน้าจอการพิมพ์)

ฉันใช้ Ubuntu GNOME


คุณใช้ gnome หรือ KDE หรืออย่างอื่นใช่ไหม มันขึ้นอยู่กับสภาพแวดล้อมเดสก์ท็อปที่คุณใช้
Braiam

@Braiam ดูที่เขาตอบ
Avinash Raj

@AvinashRaj คุณทราบหรือไม่ว่า Unity ใช้ gnome-screenshot
Braiam

1
ฉันคิดว่าgnome-screenshotเป็นเครื่องมือเริ่มต้นในความสามัคคีสำหรับการจับภาพหน้าจอ
Avinash Raj

1
มีความเป็นไปได้ที่ซ้ำกันของเครื่องมือภาพหน้าจอใดบ้าง
Ciro Santilli 新疆改造中心法轮功六四事件

คำตอบ:


104

คุณสามารถใช้เครื่องมือนำเข้าที่มีอยู่ในแพ็คเกจ ImageMagick (คุณจำเป็นต้องติดตั้งสิ่งนี้หากไม่มีอยู่ในระบบของคุณ)

รันคำสั่งต่อไปนี้ในเชลล์:

import screenshot.png

และเลือกหน้าต่างที่คุณต้องการจับภาพหรือเลือกภูมิภาคโดยการกดปุ่มซ้ายของเมาส์แล้วลาก

การนำเข้าเป็นจริงคำสั่งที่มีประสิทธิภาพมากซึ่งสามารถใช้ในหลาย ๆ วิธีในการจับภาพหน้าจอ ตัวอย่างเช่นในการจับภาพหน้าจอทั้งหมดและหลังจากเกิดความล่าช้าและปรับขนาดให้ใช้คำสั่งต่อไปนี้:

import -window root -resize 400x300 -delay 200 screenshot.png

หากต้องการดูตัวเลือกทั้งหมดที่สามารถใช้ได้กับคำสั่งนำเข้าให้ไปที่เว็บไซต์ของ ImageMagick

อีกวิธีหนึ่งในการจับภาพหน้าจอจากเครื่องเทอร์มินัลคือการขีดข่วน

ในการติดตั้ง scrot type:

sudo apt-get install scrot

ในการถ่ายภาพหน้าจอใน Linux จากเทอร์มินัลด้วยชนิด scrot:

scrot MyScreenshot.png

ตัวเลือกเพิ่มเติมที่มีscrotอยู่ที่นี่:

scrot -b -d 5 '%Y:%m:%d:%H:%M:%S.png' -e 'mv $f ~/Desktop/'

ในตัวอย่างนี้

  • -b ระบุรวมถึงเส้นขอบหน้าต่าง
  • -d ระบุความล่าช้าห้าวินาที
  • '% Y:% m:% d:% H:% M:% S.png' จะบันทึกภาพหน้าจอด้วยชื่อตามวันที่และเวลาปัจจุบันและรูปแบบที่ระบุ.pngในกรณีนี้
  • -e 'mv $f ~/Desktop/' บอกวิธีการบันทึกภาพหน้าจอไปยังเดสก์ท็อป

คำตอบทั้งสองดูเหมือนจะทำงานเฉพาะกับ $ DISPLAY ปัจจุบันดังนั้นจึงไม่สามารถทำงานกับ SSH ได้
นั่นคือ Guy บราซิล

แน่นอนมันใช้งานได้สำหรับผู้ใช้หลายคนมันไม่ได้ผลสำหรับฉัน ImageMagick importแสดงผล KDE Desktop Effects ขอบหน้าต่างโปร่งใส / เอฟเฟกต์เรืองแสงในสีดำทึบ และscrotไม่ต้องการมีส่วนร่วมในไพพ์เลยซึ่งฉันใช้เพื่อหลีกเลี่ยงไฟล์กลางที่ไม่จำเป็นเมื่อตัดหน้าจอที่ต้องการจากการตั้งค่า Xinerama ฉันใช้xwdแทนและใช้ImageMagick convertเพื่อแปลงxwd -formatเป็นPNGและทำการครอบตัด (ดูคำตอบของฉันด้านล่าง)
Christian Hujer

55

พบตัวเลือกนี้ที่นี่และตัวเลือกอื่น ๆ ที่ระบุไว้ยัง

เปิดเทอร์มินัลโดยกดCtrl+ Alt+ Tและพิมพ์

gnome-screenshot

ใช้gnome-screenshot -d xxเพื่อชะลอการกระทำ

หากต้องการหน่วงเวลาการดำเนินการจับภาพหน้าจอ 10 วินาที

gnome-screenshot -d 10

หรือ

sleep 10;gnome-screenshot

4
gnome-screenshot --helpจะให้ตัวเลือกมากมายแก่คุณ
somethis

2
gnome-screenshot --interactive
Luis Souza

13

คุณสามารถใช้โปรแกรมชัตเตอร์เพื่อถ่ายภาพหน้าจอจากเทอร์มินัลเรียกใช้คำสั่งด้านล่างในเทอร์มินัลเพื่อติดตั้งชัตเตอร์

sudo add-apt-repository ppa:shutter/ppa
sudo apt-get update
sudo apt-get install shutter

หากต้องการจับภาพหน้าจอของหน้าต่างที่ใช้งานอยู่

shutter -a -o shot.png -e

ในการถ่ายภาพหน้าจอของจอแสดงผลทั้งหมด

shutter -f -o shot.png -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.

2
Shutter เป็นเครื่องมือขั้นสูงที่มีการแก้ไขช็อตอย่าง GIMP และเพิ่มการเพิ่มรูปร่างอัตโนมัติที่มีประโยชน์มากสำหรับบทเรียน
guneysus

8

ฉันลองใช้ImageMagick importแต่มันไม่ได้ผลสำหรับฉันเมื่อใช้ KDE Desktop Effects ImageMagick importมีขอบหน้าต่างโปร่งใสที่แสดงผลเป็นสีดำแทนที่จะรวมอัลฟ่าเบื้องหน้าและพื้นหลังอย่างเหมาะสม

ฉันยังลองใช้X11 xwdและNetPBM xwdtopnmแต่นั่นก็ไม่ได้ผลสำหรับฉันNetPBM xwdtopnmไม่สามารถจัดการกับเอาต์พุตหลายหน้าจอได้อย่างถูกต้องxwdเพราะฉันมีการตั้งค่า Xinerama

แต่การรวมX11 เข้า xwdกับImageMagick ใช้ convertงานได้ดีสำหรับฉัน:

xwd -silent -root | convert xwd:- screenshot.png

หรือถ้าคุณมีการติดตั้ง Dual-FullHD Xinerama อย่างฉันและต้องการหน้าจอแรกเท่านั้น:

xwd -silent -root | convert xwd:- -crop 1920x1080+0+0 test.png

สำหรับหน้าจอที่สองเท่านั้น:

xwd -silent -root | convert xwd:- -crop 1920x1080+1920+0 +repage test.png

คำตอบที่ดี แต่เนื่องจากคุณอ่านจากท่อxwd ... | convert xwd:- ...คุณอาจจำเป็นต้องระบุรูปแบบการป้อนสำหรับการแปลงคำสั่ง: อย่างน้อยมันก็จำเป็นสำหรับการติดตั้ง Debian Strech ของฉันด้วย IM 6.9.6-2
Sylvain Leroux

7

ถ้าคุณต้องการที่จะใช้หน้าจอจากการเข้าสู่ระบบขั้ว (คนที่คุณเปิดด้วยCtrl+ Alt+ F1) fbgrabคุณสามารถใช้โปรแกรม

sudo apt-get install fbcatคุณสามารถติดตั้งได้โดยการพิมพ์

จากนั้นจับภาพหน้าจอล็อกอินของเทอร์มินัลพิมพ์ในล็อกอิน - เทอร์มินัลของคุณ:

$ sudo fbgrab my_screenshot

my_sc แอฟริกาจะถูกบันทึกไว้ในไดเรกทอรีปัจจุบัน


2
รูปแบบของmy_screenshotคืออะไร ดูได้อย่างไร?
Ciro Santilli 新疆改造中心法轮功六四事件

ในขณะที่มีหลายวิธีในการสร้างภาพหน้าจอใน GUI สิ่งนี้สามารถใช้งานได้จริงในคอนโซลธรรมดาที่ไม่มี X หรือ GUI ใด ๆ รูปแบบของภาพหน้าจอคือ PNG
mivk

4

ฉันใช้ Ubuntu 13.10 และฉันมีสคริปต์ที่ฉันเพิ่งเขียนซึ่งอาจเป็นประโยชน์ ฉันเห็นคำถามนี้ได้รับคำตอบแล้ว แต่โซลูชันของฉันไม่ต้องการการติดตั้งเพิ่มเติม

#!/bin/bash
curDate=$(date)
imgExtension=".png"
imgName=$curDate$imgExtension
imgDirectory="/path/to/desires/save/directory/"
imgSavePath=$imgDirectory$imgName
gnome-screenshot --file="$imgSavePath"

รหัสนี้จะบันทึกภาพหน้าจอโดยไม่ต้องเปิดหน้าต่างการสนทนา มันใช้เวลาปัจจุบันสำหรับชื่อไฟล์เพื่อหลีกเลี่ยงปัญหาชื่อไฟล์ที่ซ้ำกัน

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.