Làm cách nào để chụp ảnh màn hình toàn bộ máy tính để bàn với lựa chọn menu ứng dụng?


13

Tôi muốn chụp ảnh màn hình toàn bộ máy tính để bàn với lựa chọn Menu Ứng dụng. Làm thế nào để làm điều này?

Câu trả lời:


20
  • Ứng dụng> Phụ kiện> Chụp ảnh màn hình> Lấy toàn bộ máy tính để bàn> Lấy sau khi trì hoãn: 5 giây (nói)

văn bản thay thế

  • Thực hiện lựa chọn menu Ứng dụng của bạn. Chờ đợi.

5

Trên thực tế, nó khả năng để làm điều đó mà không có sự chậm trễ, nhưng với một số hacks để thay thế. Tôi đã viết một kịch bản nhỏ cho phép bạn làm điều đó mà không bị chậm trễ. Đây là một hack lớn, nhưng nó hoạt động và chắc chắn (đối với tôi) thích hợp hơn là sử dụng độ trễ.

#!/bin/bash
######################################################################################
# Simple script to enable users to make screenshots of tooltips/menus/etc...         # 
# without timers                                                                     #
######################################################################################

######################################################################################
# Configuration Section (defaults)                                                   #
######################################################################################
SCREENSHOT_COMMAND="shutter -s"

# The keys can be found out using xinput test "keyboard name"
MODIFIER_KEY=133 #The <Super> Key (aka. Meta or Windows Key)f
CANCEL_KEY=54 # C
CAPTURE_KEY=27 # R

DAEMON_MODE="false" # change to true if you want to keep the script running after the screenshot was taken
VERBOSE="true" #Change this to any value if you dont want to have notifications

######################################################################################

######################################################################################
# Command parsing                                                                    #
######################################################################################

function usage {
    echo "$0 [-hemrcdn]"
    echo "-h prints this message"
    echo "-e <command> - execute that command instead of shutter"
    echo "-m <int> - The modifier key to use. Use xinput test <keyboar> to find out what is what"
    echo "-r <int> - The key to use for capture."
    echo "-c <int> - The key used for cancelling (only valid in non daemon mode)"
    echo "-d - daemon mode. Will keep on running after a screenshot was taken. to kill the daemon, use \"killall xinput\""
    echo "-n - disables notifications"
    exit;
}

while getopts "he:m:r:c:dn" flag
do
    if [ "$flag" == "h" ]; then
        usage
    fi
    if [ "$flag" == "e" ]; then
        SCREENSHOT_COMMAND=$OPTARG
    fi
    if [ "$flag" == "m" ]; then
        CAPTURE_KEY=$OPTARG
    fi
    if [ "$flag" == "r" ]; then
        SCREENSHOT_COMMAND=$OPTARG
    fi
    if [ "$flag" == "c" ]; then
        CANCEL_KEY=$OPTARG
    fi
    if [ "$flag" == "d" ]; then
        DAEMON_MODE="true"
    fi
    if [ "$flag" == "n" ]; then
        VERBOSE="false"
    fi
done

######################################################################################

KEYBOARDS=`xinput list | grep "slave" | grep "keyboard" | sed "s/[^a-zA-Z]*\(.*\)id=.*/\1/" | sed "s/[\t ]*$//"`

function run {
    MODIFIER_PRESSED="false"
    while read line;
    do
        COMMAND=`echo $line | awk '{print $2;}'`
        KEY=`echo $line | awk '{print $3;}'`
        if [ "$KEY" == "$MODIFIER_KEY" ]; then
            if [ "$COMMAND" == "press" ]; then
                MODIFIER_PRESSED="true"
            else 
                MODIFIER_PRESSED="false"
            fi
        fi 
        if [ "$KEY" == "$CAPTURE_KEY" -a "$MODIFIER_PRESSED" == "true" -a "$COMMAND" == "press" ]; then
            bash -c $SCREENSHOT_COMMAND
            if [ "$VERBOSE" == "true" ]; then
                notify-send "Taking Screenshot"     
            fi
            if [ "$DAEMON_MODE" == "false" ]; then
                quit
            fi
        fi
        if [ "$KEY" == "$CANCEL_KEY" -a "$MODIFIER_PRESSED" == "true" -a "$COMMAND" == "press" -a "$DAEMON_MODE" == "false" ]; then
            if [ "$VERBOSE" == "true" ]; then   
                notify-send "Canceling Screenshot"
            fi
            quit
        fi
    done;
}

function quit {
    killall -9 xinput
    exit
}

if [ "$VERBOSE" == "true" ]; then
    notify-send "Screenshot script waiting. Press Meta + R to capture the screenshot"
fi
IFS=$'\n'
for i in $KEYBOARDS
do
    unbuffer xinput test "$i" | run & 
done

Trước khi bạn thực sự có thể sử dụng tập lệnh (trên ubfox), bạn cần đảm bảo rằng bạn có xinputunbuffer . Để làm điều đó chỉ cần làm:

sudo apt-get install xinput expect-dev

Sau đó, bạn có thể chạy tập lệnh. Chạy nó trước với tùy chọn -h để xem các tùy chọn cấu hình có thể. Theo mặc định, tập lệnh sẽ chỉ hoạt động một lần và bạn phải khởi động lại tập lệnh sau mỗi ảnh chụp màn hình (ví dụ: bằng phím tắt). Điều này là do tập lệnh có thể có hiệu suất không chính xác. Nếu bạn muốn chạy nó dưới dạng "daemon", hãy chạy nó với -dtùy chọn.

Theo mặc định, nó cũng sẽ sử dụng màn trập. Nếu bạn muốn sử dụng cái gì khác, hãy sử dụng -etùy chọn, vdscript.sh -c "ksnapshot"

Theo mặc định, nút chụp sẽ là Meta+ R. bạn có thể thay đổi điều đó với các tùy chọn cấu hình.


4

Vì bạn đang tự hỏi liệu điều đó có khả thi với Shutter không ...

Để thực hiện trong Biểu tượng màn trập Shutter , hãy mở nó lên và chọn Toàn màn hình từ thanh công cụ hoặc từ Tệp > Mới > Toàn màn hình .

Đảm bảo rằng bạn đã đặt độ trễ thời gian để bạn có đủ thời gian để mở menu Ứng dụng ( Chỉnh sửa > Tùy chọn > Tab chính ; ở dưới cùng, có một hộp chọn: Chụp sau độ trễ __ giây ).

văn bản thay thế


2

Đúng. Mở ảnh chụp màn hình và đặt độ trễ bất cứ lúc nào bạn nghĩ là cần thiết để quay lại và mở menu. Giữ nó mở cho đến khi chụp được.

nhập mô tả hình ảnh ở đây


2

Trả lời nhanh / cách giải quyết

( dành cho người dùng Ubuntu trung bình đến cao cấp )

  • Thêm một lối tắt tùy chỉnh vào lệnh sau:
    gnome-screenshot --delay=numIntValueInSecs
    ví dụ:
    gnome-screenshot --delay=3
  • Thêm một cái khác để chụp ảnh màn hình cửa sổ đang hoạt động:
    gnome-screenshot -w --delay=3

    Đó là nó , nhưng tôi cũng khuyên bạn nên thiết lập 2 cái khác sẽ cho bạn nhiều thời gian hơn để điều hướng sâu hơn trong các menu.

    • gnome-screenshot --delay=10
    • gnome-screenshot -w --delay=10

    nhập mô tả hình ảnh ở đây

Xây dựng câu trả lời

( người mới đến hacker )

Giới thiệu:

Bất cứ khi nào bạn nhấn PrntScr, tất cả Ubuntu đều gọi gnome-screenshotlà thường nằm trên /usr/bin/đường dẫn và có sẵn từ "thiết bị đầu cuối" (teletype, tty, cli, dòng lệnh / dấu nhắc), vì vậy bạn có thể sử dụng nó theo mọi cách để phù hợp với tính năng vui nhộn của bạn mục đích.

Các gnome-screenshotchương trình ít chấp nhận các thông số tùy chọn, bạn có thể xem tất cả tùy chọn bằng cách thông qua các thông số tiêu chuẩn để yêu cầu giúp đỡ, bạn có biết một ( -h)

nhập mô tả hình ảnh ở đây

Nếu bạn vẫn không chắc chắn cách sử dụng, bạn luôn có thể đọc trợ giúp chi tiết hơn, chỉ cần yêu cầu nhập thủ công man gnome-screenshot

nhập mô tả hình ảnh ở đây

Bạn càng đọc hướng dẫn đầy đủ, việc hack ubfox để phù hợp với nhu cầu của bạn sẽ trở nên trực quan và bạn sẽ không cần người khác hướng dẫn từng bước. Có thể đến thời điểm này, bạn thậm chí còn biết cách tự khắc phục sự cố này, nếu bạn vẫn bị mất (hy vọng là không), hãy tiếp tục đọc ...

Hướng dẫn:

  • Bước không: Mở cài đặt hệ thống của Ubuntu và điều hướng đến tùy chọn Bàn phím:

nhập mô tả hình ảnh ở đây

Hiện nay

  1. Điều hướng đến Shortcutstab.
  2. Lựa chọn Custom Shortcuts
  3. Nhấn +nút để thêm phím tắt tùy chỉnh mới của bạn.
  4. Đặt tên và lệnh.
    (giống như được mô tả trong "Trả lời nhanh" ở trên)
    4½. Chỉ định tổ hợp phím bạn muốn.
  5. Đóng cửa sổ này hoặc nó sẽ không hoạt động.

nhập mô tả hình ảnh ở đây

*mau!
Bạn chỉ cần thực hiện thêm một bước nữa để trở thành bậc thầy về Ubuntu, tôi hy vọng câu trả lời này hữu ích *


Đẹp! Tôi thích ý tưởng đặt độ trễ mặc định cho ảnh chụp màn hình được kích hoạt bằng bàn phím.
jgomo3

Vâng, cuối cùng, nó có một vài trường hợp sử dụng hơn là chỉ chụp ảnh màn hình của menu thả xuống.
JorgeArtware

1

Sử dụng Ảnh chụp màn hình (trong truy cập) và đặt 'Lấy sau độ trễ xx giây'.

Đã làm cho tôi


1

Tôi đã tìm thấy một cách giải quyết cho vấn đề này, không phải là một giải pháp thực tế.

Mở Screenshotứng dụng, trong cửa sổ đã mở, đặt thời gian là Grab sau khi trì hoãn x giây .

Lưu ý: Điều này không thể được sử dụng để lấy một phần cụ thể của cửa sổ.

Lưu ý: Xin lỗi, bạn cũng không thể lấy ảnh chụp màn hình của chính ứng dụng Ảnh chụp màn hình làm Cửa sổ hoặc lấy một phần cụ thể.


0

Tôi sẽ không nói đó là một lỗi. Có thể sử dụng công cụ "Ảnh chụp màn hình" và đặt "Grab sau thời gian trễ là x giây" theo thời gian bạn cần để mở lại menu.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.