Jump to content

Linuxta Ekran Görüntüsü Almaya Yarayan Script


Muallim-i Ali

Recommended Posts

Yazan : Yugruk

Kullandığım Linuxta ekran görüntüsü almamı sağlayacak windoze benzeri bir “print screen” tuşu bulunmadığı için ekran görüntüsü almak için linux programlarından “import” komutunu kullanıyordum,fakat bu da sorunlu çünkü bir konsol açtığım zaman bu komutu verir vermez ekran görüntüsü aldığı için oluşan screenshot’ta konsol da görünüyordu.

Biraz araştırma biraz da çaba ile hem bu zamanlama sorununu hallettim hem de kullandığım fluxbox pencere yöneticisinin sağladığı klavye tuşlarına komut atayabilme özelliği ile klavye komutu ile de ekran görüntüsü alabilir oldum.

Büyük bir iş değil ama insan bazı sorunlara pratik çözümler bulunca heyecanlanıyor.

Python programının kodu :

#!/usr/bin/python

import time
import os

mainName=”root-screenshot”; #ekran goruntusu dosyasi bu ad ile baslayacak
count = 0;
#ekran goruntusu adini belirleme dongusunde
#kullanilmak uzere ilk degeri 0 olan degisken


#alttaki dongu ile ayni ada sahip 2 tane ekran goruntusu
#olusmamasini saglamaya calistim
#root-screenshot[0].png ,root-screenshot[1].png diye devam ederek
#root-screenshot[256].png a kadar ilgili addaki dosya var mi diye
#bakiyor varsa count 256 dan kucuk oldugu surece 1 artiyor.
#buradan root-screenshot[256].png var ise bu dosya uzerine yaziliyor
#ama 256 tane ekran goruntusunu
#saklamayacagimi dusunurek 256 rakamini uygun gordum
while count
try:
f = open(mainName+”[”+str(count)+”].png”,”r”)
except IOError:
break
count = count +1


#dosya adi olusturuluyor
fileName = mainName+”[”+str(count)+”].png”;
print fileName #test amacli konsola yaziliyor

print “screenshot will be taken in 3 seconds !!!” #peynirrrrr
#3 sn bekleme suresi,klavyeden komutu calistirirken 3 sn gereksiz fakat konsoldan
#komutu calistirirsak 3 sn konsolu simge durumuna getirmek vs icin gerekli
time.sleep(3)

#ve kök pencere yani root un ekran görüntüsü aliniyor
#yani ekrandaki herseyin goruntusu aliniyor.
os.system(”import -window root “+fileName)[/CODE]

Üstteki kodda ilk satır önemli çünkü pyhton programının sisteminizdeki tam yolunu girmeniz gerekli programın çalışabilmesi için.Kodu herhangi bir yere screenshot.py ya da hışunuza giden herhangi bir ad ile kaydedin ve kaydettikten sonra chmod +x kaydedilme_adi.py komutu ile programın çalıştırılabilir olduğunu belirtin (bu linuxa özgü bir durum,eğer o komutu vermezseniz linux kaydettiğiniz dosyayı çalıştırmak isterseniz size hata mesajı verir : erişim engellendi ).

Ayrıca ilk satırdaki # işareti hariç diğer bütün # işareti ile başlayan ve satır sonuna kadar devam eden cümle yorumdur.

Fluxbox kullanıyorsanız alt+f’li kombinasyonlardan birine bu pyhton programını atamak için

~/.fluxbox/keys adlı dosyayı herhangi bir text editör ile açın ve içine (~ işareti ev dizinini kasteder)

Mod1 Fx :ExecCommand ~/screenshot.py –> buraya pyhton programının yolu gelecek , Fx te x yerine sayı 1,2,…

satırını ekleyin ya da var ise düzenleyin.bu arada Fx diye bir tuş yok o F1,F2,F3… manasında x yerine F li tuşlardan hangisine atamak istiyorsanız onun rakamını yazıyorsunuz.

sonuç :

[CODE]#!/usr/bin/python

import time
import os

mainName="root-screenshot";
count = 0;

while count < 256 :
try:
f = open(mainName+"["+str(count)+"].png","r")
except IOError:
break
count = count +1

fileName = mainName+"["+str(count)+"].png";
print fileName

print "screenshot will be taken in 3 seconds !!!"
time.sleep(3)

os.system("import -window root "+fileName)[/CODE]

python scriptini burdan indirebilirsiniz : http://dosyam.net/?id=ms1ui8

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...