“импорт: не мог прочитать изображение X-окна: Снабдите временно недоступный”

На Lubuntu 18.04 я пытаюсь сделать снимок экрана текущего сфокусированного окна. Я использую import от Imagick после https://stackoverflow.com/a/32165476.

Это перестало работать на вкладке lxterminal

$ import -window "$(xdotool getwindowfocus -f)" /tmp/file.png
import-im6.q16: unable to read X window image `31457284': Resource temporarily unavailable @ error/xwindow.c/XImportImage/4982.
import-im6.q16: missing an image filename `/tmp/file.png' @ error/import.c/ImportImageCommand/1287.

это преуспевает в xterm окне

$ import -window "$(xdotool getwindowfocus -f)" /tmp/file.png
$

Вы знаете, почему проблема происходит? Как я могу решить проблему?Спасибо.

У кого-то есть подобный сценарий

#!/bin/sh
echo "Enter the name of the window:"
read window
window_id=`xwininfo -name $window | awk '{print $4}' | grep -i 0x`
import -window $window_id $window.jpg

Как я сказал прежде, это не работает полностью, но я думал, что отправлю его так или иначе. Я заставил это работать на небольшие программы как Калькулятор, Словарь, Atomix... ничто как Firefox, gedit, и т.д. При попытке сделать это для больших программ, то Вы на самом деле получите ошибку следующего вида:

import: unable to read X window image `0x3200efb': Resource temporarily unavailable.

Я думаю, что это является результатом того, что эти программы на самом деле приводят к нескольким окно ID:

dill@LAMP:~$ xwininfo -tree -root | grep gedit | awk '{print $1}'
0x3000071
0x3000003
0x3000001
0x300001e
1
задан 6 December 2018 в 05:54

1 ответ

Я нахожусь на Kubuntu 18.04. Я попробовал

$ sleep 5s && import -window "$(xdotool getwindowfocus -f)" ~/Desktop/file.png
import-im6.q16: unable to read X window image `83886084': Resource temporarily unavailable @ error/xwindow.c/XImportImage/4982.
import-im6.q16: missing an image filename `/home/dkb/Desktop/file.png' @ error/import.c/ImportImageCommand/1287.

и

$ sleep 5s && import -window "$(xdotool getactivewindow)" ~/Desktop/file.png
$ 

Последняя команда, которая использует xdotool getactivewindow работы в консоли (версия 17.12.3) и в lxterminal (версия 0.3.1).

sleep должен позволить мне переключиться от терминала до окна другого приложения. Команда ловит активные окна Firefox и geany.

Что касается

Вы знаете, почему проблема происходит?

Я действительно не знаю, но поиск man xdotool для windowfocus говорит нам это

XSetInputFocus использования, который может быть проигнорирован некоторыми менеджерами окон или программами.

Относится ли это также getwindowfocus явно не упоминается.

2
ответ дан 7 December 2019 в 13:20

Другие вопросы по тегам:

Похожие вопросы: