VirtualBox Screenshot Nasıl Alınır

VirtualBox Oracle tarafından geliştirilen ve ücretsiz olarak dağıtılan bir sanallaştırma platformu. Son versiyonlarında screenshot desteği de gelmesine rağmen bu konudaki yetersizliği ciddi anlamda hissediliyor.  Aslında sanal işletim sistemi penceresinden Host+E tuşuna basarak screenshot alabiliyoruz. Eğer ard arda ve hızlı bir şekilde ekran görüntüleri kaydetmek istiyorsanız bu özellik sizi tatmin etmeyebilir. Peki VirtualBox Screenshot nasıl alınır? VBoxManage programı burada imdadımıza yetişiyor. Şimdi kısaca bu sevimli programı inceleyelim ve neler yapabiliyoruz bir göz atalım.

VirtualBox Screenshot Alma

Windows veya Linux ortamında konsol u açarak VBoxManage programımıza gerekli parametreleri verelim ve neler oluyor bakalım

Windows

VBoxManage controlvm <vm adı> screenshotpng <dosyaismi>.png

Sihirli komutumuz bu. Konsol u açıp bu komut ile screenshot alabiliyoruz. Ancak bunun için VirtualBox ın kurulu olduğu dizine geçmemiz gerekiyor. “C:\Program Files\Oracle\VirtualBox\”

<vm adı> yazan yere Sanal makinamızın adını ve <dosyaismi> kısmına da kaydedilecek dosyamızın ismini veriyoruz. Şimdi bunun programdakinden ne farkı var dediğinizi duyar gibiyim. VirtualBox ta ekran görüntüsü almak için Host+E tuşuna bastığınızda size Dosya yöneticiyi açar ve dosyayı kaydetmek istediğiniz yeri sorar. Dosya ismini değiştirmenize de izin vermez. İkinci ekran görüntüsünü almak istediğinizde ise ilk aldığınızın üzerine yazar. Bunu önlemek için dosya ismini her ekran görüntüsü almak istediğinizde değiştirmeniz gerekir.Şimdi küçük bir script hazırlayacağız ve bu işlemleri otomatik hale getireceğiz.

Sanal makinamızın adı Ubuntu olsun. Örneğimizi buna göre hazırlayalım.

VirtualBox

VBoxManage controlvm Ubuntu screenshotpng ss1.png

Bu komutu verdiğimizde Ubuntu isimli sanal makinamızın ekran görüntüsünü eğer dosya yolu belirtmediysek VBoxManage in olduğu klasöre kaydeder. Script oluşturduğumuzda ise .bat scriptimizin olduğu yere kaydedecek. Masaüstündeyse masaüstüne. İstersek dosya yolu da belirtebiliriz.  c:\ss1.png deseydik C sürücüsüne kaydedecekti.

Windows komut satırında %random% ile rastgele sayılar oluşturabiliyoruz. Dosya ismi olarak bunu kullanmak ta mümkün.

VBoxManage controlvm Ubuntu screenshotpng %random%.png

VirtualBox Screenshot

Gördüğünüz gibi her defasında rastgele bir sayı üretiyor. Dosya İsimlerimiz de 15633.png 7480.png gibi rastgele oluşturuluyor. Boş bir klasöre kaydederek tarih sırasına göre listelediğimizde işimiz bir nebze kolaylaşmış oluyor.

Şimdi işi biraz daha ileriye götürelim ve dosya isimlerini tarih-saat.png olarak hazırlayalım.

Tarihi almak için %date% kullanabiliyoruz. %time% da bize saati veriyor.

C:\>echo %date%
01.03.2013

C:\>echo %time%
20:48:05,04

Gördüğünüz gibi saat bilgisi 23:48:05,04 şeklinde geldi. Windows dosya isimlerinde ” : ” ikinokta işaretini kullanmamıza izin vermiyor. Bu komutu biraz modifiye etmemiz gerek.

C:\>echo %time:~0,2%
20

Bu komutta kullandığımız %time:~0,2% o anki saat i ilk karakterden başlayarak 2 karakter olarak ekrana basar. Eğer %time:~0,5% deseydik 23:55 sonucu gelecekti. Ayırmaları da saydığına dikkat edin. Biz aralarda ” : ” işaretini istemiyoruz. Bunun yerine ” – ” olsa daha iyi olur. O zaman %time:~0,2%-%time:~3,2% istediğimiz sonucu verecektir. Tabiki sonuna aynı şekilde saniye de eklemeliyiz.

C:\>echo %time:~0,2%-%time:~3,2%-%time:~6,2%
14-51-05

%date% çıktısını da aynı şekilde biçimlendirebiliriz. %date:~0,2%-%date:~3,2%-%date:~6,4% gibi.

C:\>echo %date:~0,2%-%date:~3,2%-%date:~6,4%
01-03-2013

Ve ikisini birleştirelim.

C:\>echo %date:~0,2%-%date:~3,2%-%date:~6,4%-%time:~0,2%-%time:~3,2%-%time:~6,2%
01-03-2013-20-53-12

Dosya ismi olarak bunu kullanacağız. Komutumuz da

VBoxManage controlvm Ubuntu screenshotpng %date:~0,2%%date:~3,2%%date:~6,4%-%time:~0,2%%time:~3,2%%time:~6,2%.png

olacak. Bu kadar uzatmak istemeyebilirsiniz tabiki. Sadece saat olarak veya random dosya isimleri olarak ta kullanabilirsiniz. Tercih size kalmış. Tabiki bunu .bat scripti haline getirirerek çok daha rahat kullanabiliriz. Masaüstüne Vboxss.bat adında bir dosya oluşturalım ve kodlarımızı aşağıdaki gibi içerisine yazalım.

echo off
set dosyaadi=%date:~0,2%%date:~3,2%%date:~6,4%-%time:~0,2%%time:~3,2%%time:~6,2%
"C:\Program Files\Oracle\VirtualBox\VBoxManage.exe" controlvm Ubuntu screenshotpng "%dosyaadi%".png

Bu dosyayı her çalıştırdığımızda masaüstüne screenshot alacak. Eğer VBoxss.bat dosyasını Belgelerim klasörüne taşırsanız ekran görüntülerini Belgelerim klasörüne alır.

Linux

Linux tarafında işler daha basit.

vboxss.sh adında bir script oluşturalım.

nano vboxss.sh

scriptimiz aşağıdaki gibi.

#!/bin/bash
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

vboxmanage=/usr/bin/VBoxManage

# Kayıt yapılacak yol
outputdir=~/Masaüstü

# Bir sonraki kullanılacak image ID bulma (1.png, 2.png, 3.png, vs.)
cd $outputdir
list=([0-9]*)
last=${list[@]: -1}
nextnum=$((10#${last%%[^0-9]*} + 1))

# Çalışan sanal makinamın ismini bulma; O anda sadece tek sanal makina çalıştığı varsayılıyor.
for uuid in $($vboxmanage list runningvms --long | grep "UUID:            " | awk 'BEGIN{FS="UUID:            "}{print $2}')
do
  vm=$($vboxmanage showvminfo $uuid      | sed -e'/^USB Device Filters:/,$ d' | grep "Name:"  | awk 'BEGIN{FS="Name:            "}{print $2}')
done

# Tabiki burada da Sanal Makina adını elle girebiliyoruz. Ancak Her farklı sanal makina için script i düzenlemek gerekir. 
#vm="Ubuntu" şeklinde

$vboxmanage controlvm "$vm" screenshotpng $outputdir/$nextnum.png
exit 0

Bu script ile $outputdir a tanımladığımız yol içerisine 1.png, 2.png, 3.png, vs. şeklinde ekran görüntüleri kaydedebiliyoruz.

Dosyaya çalıştırma izni verelim

chmod +x vboxss.sh

Masaüstünden de bu izni verebiliriz. Sağ tıklayıp özellikler diyerek Dosyayı bir program gibi çalıştırmaya izin ver seçeniğini işaretlemek yeterli.

script çalıştırma izni

Script i çalıştırdığımızda bize ne yapmak istediğimizi soruyor. Çalıştır dediğimizde masaüstüne ekran görüntüsünü kaydedecek.

VirtualBox Screenshot

Bu etkileşim penceresini görmek istemiyorsanız dosya yöneticisi ayarlarından bunu iptal edebilirsiniz. Dosya yöneticisini açarak Tercihler e giriyoruz.

Dosya yöneticisi

Davranış sekmesi altından da Açıldığında Çalıştırılabilir Metin Dosyalarını Çalıştır diyerek pencereyi kapatıyoruz.

VirtualBox Screenshot

Artık scripti çalıştırmak için çift tıkladığımızda bizden giriş beklemeden ekran görüntüsünü kaydedecek.

Bu scriptleri kendinize göre özelleştirebilirsiniz. Umarız VirtualBox ın sonraki sürümlerinde ayarlar altında bu tarz seçeneklere yer verilir.

Takıldığınız bir yer olursa yorum yaparak sorabilirsiniz.

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir