Muallim-i Ali Posted June 27, 2007 Share Posted June 27, 2007 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/pythonimport timeimport osmainName=”root-screenshot”; #ekran goruntusu dosyasi bu ad ile baslayacakcount = 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 gordumwhile counttry:f = open(mainName+”[”+str(count)+”].png”,”r”)except IOError:breakcount = count +1#dosya adi olusturuluyorfileName = mainName+”[”+str(count)+”].png”;print fileName #test amacli konsola yaziliyorprint “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 gereklitime.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/pythonimport timeimport osmainName="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 fileNameprint "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 More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.