Cinnamonキーボードショートカットを使用してgnome-screenshot -aを実行します。

Cinnamonキーボードショートカットを使用してgnome-screenshot -aを実行します。

gnome-screenshot -a私はCinnamon Pythonシステム設定アプリケーションのキーボードセクションを使ってPrint Screenキーを押すたびにコマンドを実行するカスタムショートカットを作成しました。期待どおりに動作しません。スクリーンショットを撮る画面部分を選択するために十字マークを表示する代わりに、システムはビープ音を鳴らします。 gnome-screenshotが実行され、次をstderrに出力します。

** Message: Unable to use GNOME Shell's builtin screenshot interface, resorting to fallback X11.

(gnome-screenshot:6577): Gdk-CRITICAL **: gdk_pixbuf_get_from_surface: assertion 'width > 0 && height > 0' failed

(gnome-screenshot:6577): Gtk-CRITICAL **: gtk_window_resize: assertion 'width > 0' failed

** (gnome-screenshot:6577): CRITICAL **: Unable to capture a screenshot of any window

ターミナルエミュレータ($ DISPLAY環境変数やその他の変数を設定すると仮想コンソールが機能する)で実行すると、期待した結果が得られます。場合によっては、Print Screenキーを約50回押すと期待通りに動作することがあります。 「Print Screen」キーを押したときに実行されるコマンドを変更すると、うまく機能しますが、gnome-screenshot -wスクリーンショットを撮る画面の一部を選択できるはずです。この質問が要求されました。ここしかし、答えはありません(OPはgnome-screenshot -wコメントで動作すると指摘してから使用することにしました)。私の状況はリンクされた投稿のOPとまったく同じです。

それでは、Print Screenキーを押しすぎずにスクリーンショットを撮るにはどうすればよいですか?

答え1

システムのスクリーンショットのショートカットをスクリプトにバインドするのと同じような状況があるため、ショートカットを呼び出すとスクリーンショットを撮ってgnome-screenshotファイルに保存してからGimpで開きます。

#!/bin/bash    
SSFile=~/Images/screenshot_window.png
# This command takes a window screenshot and saves it to a file
gnome-screenshot -w -f $SSFile
flatpak run org.gimp.GIMP $SSFile

地域を取得するには、-w次のように置き換えて前に-a追加します。sleep 0.1ここ、私の場合、最終スクリプトは次のようになります。

#!/bin/bash    
SSFile=~/Images//screenshot_area.png
sleep 0.1
# Take a Screenshot from an area and saves it to a file
gnome-screenshot -a -f $SSFile
flatpak run org.gimp.GIMP $SSFile

このsleep 0.1部分がなければ、端末、nemo、またはカスタムランチャーで実行するとうまく機能しますが、キーボードショートカットは機能しません。

答え2

コマンドは正しいです。

gnome-screenshot -a -c

Windowsまたはスーパーキーを使用せず、システムで無料のキー接続を使用してください。

関連情報