스크린샷을 새 파일에 저장하는 명령

스크린샷을 새 파일에 저장하는 명령

새 스크린샷을 찍어 내 홈 폴더 어딘가에 저장하도록 전역 단축키를 구성하고 싶습니다. 다음 명령을 사용하여 ImageMagick을 사용하여 스크린샷을 찍을 수 있습니다.

import screenshot.jpg

하지만 이 작업을 여러 번 수행하면 스크린샷.jpg가 여러 번 덮어쓰여집니다. 애플리케이션이 screen1.jpg, 스크린샷2.jpg 등을 자동으로 작성하도록 하고 싶습니다. 이 경우 내 명령은 어떻게 보일까요?

답변1

파일 이름 지정

import screenshot-`date +%H%M%S`.jpg

답변2

그래픽 사용자 인터페이스 방법

다음과 같은 것을 사용할 수도 있습니다.셔터가서 이것을 해보세요. 선택 항목, 창 또는 전체 데스크탑의 스크린샷을 찍는 기능을 제공합니다. 이러한 작업은 Shutter의 특정 키보드 단축키에 맞게 사용자 정의할 수 있습니다.

키보드 매핑 대화 상자 표시

               셔터 1ss

명명 패턴 대화 상자 표시

               셔터 2ss

명령줄 방법

명령을 사용하는 경우import이것은ImageMagick 도구 세트.

아래 명령을 실행한 다음 스크린샷을 찍을 준비가 되면 마우스 왼쪽 버튼을 클릭하기만 하면 됩니다.

$ import "screenshot-$(date  +"%d %b %T").jpg"

이 파일을 생성합니다:

$ ls -l | grep screenshot
-rw-rw-r--   1 saml saml  2273538 Sep 26 13:06 screenshot-26 Sep 13:06:55.jpg

이 명령 형식을 사용하면 import파일 이름이 공백으로 분할되지 않도록 모든 인수를 인용해야 합니다.

$ import "...file with spaces..."

또한 이 명령을 사용하여 현재 활성 창의 스크린샷을 찍을 수도 있습니다.

$ import -window \
    "$(xprop -root | grep "_NET_ACTIVE_WINDOW(WINDOW): window" | cut -d" " -f5)" \
    "screenshot-$(date  +"%d %b %T").jpg"

위의 예에서 이 xprop명령은 활성 창의 ID를 프로그래밍 방식으로 결정합니다.

$ xprop -root | grep "_NET_ACTIVE_WINDOW(WINDOW): window" | cut -d" " -f5
0x2e00004

여기서는 식욕을 자극하기 위해 더 복잡한 일을 할 수 있습니다.

답변3

스크립트:

#!/bin/bash
n=0
maxn=1000
bn=screenshot%.jpg

while [[ $n -lt $maxn ]]; do
    # create temporary filename
    tn=${bn/\%/${n}}
    # check whether the file already exists
    if [[ -f $tn ]]; then
        ((n++))
    else
        screenshot_command $tn
        break
    fi
done

$bn퍼센트 문자가 숫자에 대한 자리 표시자 역할을 하는 파일 기본 이름입니다. 일부 파일을 삭제하면 파일이 존재하지 않으면 해당 이름이 사용되기 때문에 파일이 다시 생성됩니다. 계산 순서(즉, 최대값에서 내림차순)를 복원하고 존재하지 않는 마지막 파일 이름을 사용할 수 있습니다. 이미 존재하는 것을 누르십시오.

관련 정보