У меня возникнет соблазн собрать эту внешнюю библиотеку, такую как PyScreenshot.
Позвольте ей справиться с тяжелой атлетикой (например, выработать соответствующий DM и экранный API), оставив вам изображение PIL что вы можете либо сохранить на диск, либо поток в качестве загрузки.
Есть множество ответов PyScreenshot , хотя, если вы настроены на DIY.
Что касается интервала, нужно ли это нарезать резьбу? Может ли сценарий не просто запускаться сам по себе, а затем после того, как он сделан снимок, сон в течение случайного периода (от 120 до 300 секунд)?
import random
import time
time.sleep(random.randrange(120, 300))
Просто запустите firefox с помощью
firefox --display=:0.0
Где 0.0 соответствует отображаемому экрану, который вы хотите открыть. Вероятно, у вас есть первый дисплей как 0.0, а второй - 0,1. Если у вас есть nVidia, вы можете открыть панель настроек сервера NVIDIA X, чтобы узнать, какой номер соответствует монитору.
У меня те же проблемы, что и многие другие окна (нормали и диалоговые окна) открываются на другом мониторе, но я решил это с помощью плагина «окно места» из CompizConfig.
На общей вкладке я использовала эту конфигурацию:
Обходные пути (проверка) Режим позиционирования: центрированный Многорежимный режим: используйте устройство вывода с помощью Pointe
И самое главное
Принудительное позиционирование окна : (type = Dialog) | type = Normal
Теперь все ветровые объекты появляются в центре активного монитора или где находится указатель.