На 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
Я нахожусь на 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
явно не упоминается.