Zrzuty ekranu wykonywane w regularnych odstępach
Chciałbym Wam dziś pokazać, jak można wykonywać zrzuty ekranu co jakiś określony czas bez potrzeby kupowania dodatkowego oprogramowania. Tak jak w wielu sytuacjach pomocny będzie Terminal i jego narzędzia.
Takim narzędziem pomocnym w wykonywaniu zrzutów ekranu z poziomu linii poleceń jest bez wątpienia screencapture
, który dostępny jest już od dawna, od OS X 10.2. Z jego pomocą oraz przy wykorzystaniu pętli osiągniemy nasze zadanie. Oto jak wyglądać będzie przykładowa komenda wykonywania zrzutu ekranu co 5 sekund:
while (true); do /usr/sbin/screencapture ~/Desktop/zrzut-`date +%Y%m%d-%H%M%S`.png; sleep 5; done
A teraz kilka słów wyjaśnienia:
while (true); do …; sleep 5; done
– ten kawałek odpowiedzialny jest za pętlę wykonywaną co 5 sekund dopóki sami jej nie przerwiemy (klawiszamiCtrl
+C
)./usr/sbin/screencapture ~/Desktop/zrzut-`date +%Y%m%d-%H%M%S`.png
– w tym miejscu wywołujemy narzędziescreencapture
, które każdy zrzut zachowywać będzie na naszym Biurku w postaci plików o nazwiezrzut-
i dacie w formieRRMMDD-HHMMSS
, żeby uniknąć oczywiście przypadków powtórzenia (data tworzona jest przy pomocy innego narzędziadate
).
Powyższa komenda wykonywać będzie regularne zrzuty całego ekranu. A co w przypadku, gdybyśmy chcieli wykonywać podgląd tylko konkretnego fragmentu ekranu? W takim wypadku po odwołaniu się do komendy screencapture
dodać opcję -R"X,Y,W,H"
, w której podajemy odpowiednio współrzędne (X i Y liczone od lewego górnego rogu ekranu), od których ma być robiony zrzut o określonych wymiarach – W, czyli szerokość i H, czyli wysokość – podawane w punktach. Chcąc więc wykonać zrzuty obszaru rozpoczynającego się w odległości X = 100 i Y = 100 oraz o rozmiarze W = 200 i H = 200; wykonywane co 20 sekund i zapisywane na Biurku, nasza komenda będzie wyglądać następująco:
while (true); do /usr/sbin/screencapture -R"100,100,200,200" ~/Desktop/zrzut-`date +%Y%m%d-%H%M%S`.png; sleep 20; done
Źródło: TUAW