Uygulama menüsü seçimi ile tüm masaüstünün ekran görüntüsünü nasıl alabilirim?


13

Uygulamalar Menüsü seçimi ile tüm masaüstünün ekran görüntüsünü almak istiyorum.

Yanıtlar:


20
  • Uygulamalar> Aksesuarlar> Ekran Görüntüsü Al> Tüm masaüstünü yakala> 5 saniyeden sonra tut: 5 saniye

alternatif metin

  • Uygulamalar menü seçiminizi yapın. Bekle.

5

Aslında olduğunu ancak bunun yerine bazı kesmek ile, gecikmeksizin bunu yapmak mümkün. Gecikmeden bunu yapmanıza izin verecek küçük bir senaryo yazdım. Bu büyük bir hack, ama işe yarıyor ve kesinlikle (benim için) gecikmeyi kullanmaktan daha çok tercih ediliyor.

#!/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

Betiği gerçekten kullanmadan önce ( ubuntu'da ), xinput ve unbuffer'a sahip olduğunuzdan emin olmanız gerekir . Bunu yapmak için şunları yapın:

sudo apt-get install xinput expect-dev

Sonra komut dosyasını çalıştırabilirsiniz. Olası yapılandırma seçeneklerini görmek için önce -h seçeneğiyle çalıştırın. Varsayılan olarak, komut dosyası yalnızca bir kez çalışır ve her ekran görüntüsünün ardından komut dosyasını yeniden başlatmanız gerekir (örn. Klavye kısayoluyla). Bunun nedeni, komut dosyasının bir performans bozukluğuna sahip olması olabilir. Eğer bir "daemon" olarak çalıştırmak istiyorsanız -dseçeneği ile çalıştırın .

Varsayılan olarak deklanşör de kullanır. Başka bir şey kullanmak istiyorsanız, -eseçeneği kullanın, örn.script.sh -c "ksnapshot"

Varsayılan olarak, yakalama düğmesi Meta+ olur R. bunu yapılandırma seçenekleriyle değiştirebilirsiniz.


4

Shutter ile de mümkün olup olmadığını merak ettiğiniz için ...

Deklanşör simgesi Deklanşörde yapmak için açın ve araç çubuğundan veya Dosya > Yeni > Tam Ekran'dan Tam Ekran'ı seçin .

Bir gecikme süresi ayarladığınızdan emin olun, böylece Uygulamalar menüsünü açmak için yeterli zamanınız olur ( Düzenle > Tercihler > Ana sekmesi; altta bir seçim kutusu vardır: __ saniyelik bir gecikmeden sonra yakalayın ).

alternatif metin


2

Evet. Ekran görüntüsünü açın ve geri dönüp menüyü açmak için gerekli olduğunu düşündüğünüz zamanın gecikmesini ayarlayın. Çekim yapılana kadar açık tutun.

resim açıklamasını buraya girin


2

Hızlı cevaplama / geçici çözüm

( orta ve ileri düzey ubuntu kullanıcıları için )

  • Aşağıdaki komuta özel bir kısayol ekleyin:
    gnome-screenshot --delay=numIntValueInSecs
    örneğin
    gnome-screenshot --delay=3
  • Etkin pencere ekran görüntülerini çekmek için başka bir tane ekleyin:
    gnome-screenshot -w --delay=3

    Bu kadar , ancak menülerde daha derine inmeniz için size daha fazla zaman tanıyacak 2 tane daha ayarlamanızı da tavsiye ederim.

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

    resim açıklamasını buraya girin

Ayrıntılı cevap

( hackerlara acemi )

tanıtım:

Düğmesine her bastığınızda PrntScr, gnome-screenshotgenellikle /usr/bin/yol üzerinde bulunan ve "terminal" den (teletype, tty, cli, komut satırı / istemi) ulaşılabilen tüm Ubuntu çağırıyor , böylece funky'nize uyacak şekilde her türlü şekilde kullanabilirsiniz amaçlar.

gnome-screenshotKüçük program isteğe bağlı parametreleri kabul eder, bir (bilirsin yardım istemek için standart parametresini geçerek tüm seçenekleri görebilir -h)

resim açıklamasını buraya girin

Bunu nasıl kullanacağınızdan hala emin değilseniz, her zaman daha ayrıntılı bir yardım okuyabilirsiniz, sadece manuel yazmayı isteyin man gnome-screenshot

resim açıklamasını buraya girin

Tam kılavuzları ne kadar okursanız, ubuntu'yu ihtiyaçlarınıza uyacak şekilde sezmek sezgisel hale gelir ve size adım adım talimatlar vermek için başkalarına ihtiyacınız olmaz. Belki bu noktada, bu geçici çözümü kendiniz nasıl yapacağınızı bile biliyorsunuzdur, eğer hala kaybolursanız (umarım değil), okumaya devam edin ...

Talimatlar:

  • Sıfır Adım: Ubuntu'nun sistem ayarlarını açın ve Klavye seçeneğine gidin:

resim açıklamasını buraya girin

şimdi

  1. ShortcutsSekmeye gidin .
  2. seçmek Custom Shortcuts
  3. Hit +yeni özel kısayol eklemek için düğmeyi.
  4. Bir ad ve komut verin.
    (tıpkı yukarıdaki "Hızlı Cevap" bölümünde anlatıldığı gibi)
    4½. İstediğiniz tuş kombinasyonunu atayın.
  5. Bu pencereyi kapatın yoksa işe yaramaz.

resim açıklamasını buraya girin

* presto!
Bir ubuntu ustası olmak için bir adım daha attınız, umarım bu cevap yardımcı olmuştur *


Güzel! Klavye ile çekilen ekran görüntüsü için varsayılan bir gecikme ayarlama fikrini seviyorum.
jgomo3

Evet, sonunda sadece açılır menülerin ekran görüntülerini almaktan birkaç kullanım vakası daha var.
JorgeArtware

1

Ekran görüntüsünü (aksesuarlarda) kullanın ve 'xx saniye gecikmeden yakala' seçeneğini ayarlayın.

Benim için çalıştı


1

Bunun için bir çözüm buldum, gerçek bir çözüm değil.

ScreenshotUygulamayı açın, açılan pencerede, x saniyelik bir gecikmeden sonra bir Süreyi Tut olarak ayarlayın .

Not: Bu, pencerenin belirli bir bölümünü kapmak için kullanılamaz.

Not: Üzgünüz, Ekran Görüntüsü uygulamasının ekran görüntüsünü Pencere olarak almak veya belirli bir kısmı almak da mümkün değildir .


0

Bunun bir hata olduğunu söyleyemem. "Ekran görüntüsü" aracını kullanmak ve "x saniyelik bir gecikmeden sonra yakala" yı menüyü tekrar açmak için gereken süreye ayarlamak mümkündür.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.