シャッターで適切なスクリーンショットを撮れない

シャッターで適切なスクリーンショットを撮れない

私は Fedora 25 を使っていて、いくつかの特定のスクリーン キャプチャを撮る必要があるので、Shutter がそのための優れたツールであると読みました。残念ながら、何らかの理由でそれを使用することができません。スクリーンショットを撮ろうとすると、いつも次の結果になります。

スクリーンショット

答え1

Fedora 25はWaylandを使用していますが、多くのアプリケーションはそれに対応していません(特に、画面全体などの共有リソースにアクセスするときにセキュリティや制限を期待していないアプリケーション)。これは確かにShutterのバグであり、すでにバグとして埋められています。#1299293#1363845#1399331

スクリーンショットを撮りたい場合は、古いXを使用する修正されるまで、Wayland で別のツールを使用するか、

答え2

私もスクリーンショットを作成して簡単に名前を変更するために Shutter をよく使用していましたが、Fedora 27 の Wayland によってそれが壊れてしまったのは残念でした。

gnome-screenshot は、Fedora-wayland でスクリーンショットを作成するのに非常に便利なユーティリティです。これを使用すると、Wayland で Shutter の回避策を簡単に作成できます。

1) 追加したスクリプト shut.sh と grabname.sh を作成します。

2) 実行可能にし (chmod +x)、既存のコマンド パスに保存して、コマンド ラインから呼び出せるようにします (例: /usr/bin)。私はカスタム スクリプトを /usr/local/bin に保存することが多いのですが、visudo を使用してこれを既定のパスに追加する必要があります。

3) ここで、shut.sh を実行するとカーソルが表示されます。カーソルを使って四角形を描くと、ターミナルがポップアップし、新しいファイルの名前 (grabname.sh) を尋ねます。ファイル名にはスペースを使用できます。次に、ファイルの先頭に yyyymmdd (y) を付けるかどうかを尋ねられます。プレフィックスをスキップするには、リターン キーまたは他のキーを押してください。

4) 名前を変更したファイルは/my/temp/locationに保存されます。

5) これを shut.sh として保存します。

#!/bin/sh

# START shut.sh

# This script calls gnome-screen shot in Wayland to take a rectangular     screenshot
# resulting png is saved to /my/temp/location
# script then calls a second script (grabname.sh) which asks you for a filename to give the grab with the option to prefix current date if you want
# make sure both scripts are in a relevant executable path for your kernel eg. /usr/bin etc.
# You can allocate shut.sh to a hot key in settings and make screengrabs via a hotkey.

gnome-screenshot -a -f /my/temp/location/grabcache.png

gnome-terminal -e "bash grabname.sh"

# END shut.sh

グラブ名.sh

#!/bin/sh

# START grabname.sh

# Previous script shut.sh calls gnome-screen shot in Wayland to take a rectangular screenshot
# resulting png is saved to /my/temp/location
# This script (grabname.sh) asks you for a filename to give the grab with the option to prefix current date if you want
#  * spaces are allowed in filenames *
# make sure both scripts are in a relevant executable path for your kernel eg. /usr/bin etc.

# set -x

IFS=$'\n'

read -p "Name for grab? " grab

while true; do

    read -p "Append date yyyymmdd (y or anything else for no) ?" yn

    case $yn in
        [Yy]* ) ap=$(date +%Y%m%d_%H%M_)
        break;;

    * ) echo -e "\n\e[0;34mNot prefixing date...\e[0m\n"; ap="";break;;
    esac
done

echo $ap$grab

cp /my/temp/location/grabcache.png /my/temp/location/"$ap$grab".png

nautilus /my/temp/location

# END grabname.sh 

関連情報