Tutorial: Mengambil Screenshot GDM
Anda tentu sering mendengar kata screenshot, bagi yang belum mengetahui apa screenshot tersebut, pengertian screenshot adalah suatu gambar yang diambil dari apa yang terlihat di layar komputer kita baik itu seluruh layar, window tertentu, atau bagian tertentu (geometri) dari layar. Semua sistem operasi secara default menyediakan fungsi ini. Cara paling mudah dan sederhana untuk mengambil screenshot adalah dengan menekan tombol PrtSc SysRq pada keyboard laku paste ke program pengolah gambar seperti MS Paint(Windows) atau GIMP(Linux).
Pada tutorial kali ini saya akan membahas bagaimana mengambil screenshot pada sistem operasi Linux(Ubuntu 8.04) lebih tepatnya screen login Gnome (GDM). Jika kita ingin mengambil screenshot setelah kita login pada Gnome itu hal mudah, tinggal tekan tombol PrtSc SysRq lalu paste di GIMP, beres. Masalahnya baru muncul ketika kita ingin mengambil screenshot dari screen login itu sendiri, kita tidak bisa langsung menekan tombol lalu paste begitu saja, hal ini karena kita belum login jadi mana mungkin kita dapat membuka program semacam GIMP. Terus bagaimana caranya? dari hasil googling terdapat dua metode untuk meng-capture screen GDM, yaitu:
- Menggunakan program gdmthemetester
- Menggunakan shell script untuk otomatisasi pengambilan screenshot
Cara yang akan saya tunjukkan adalah cara yang kedua yaitu menggunakan shell script. Berikut adalah langkah-langkahnya:
- Buat sebuah file baru menggunakan teks editor misal, takeshot.sh
- Ketik kode dibawah ini:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 | #!/bin/sh # # Simple shell script to take screenshot # By Rio Astamal : 05-Jul-2008 # executor=`whoami` timestamp=`date +%s` # UNIX timestamp defname="/tmp/scshot${timestamp}.png" myuname="astadev" # CHANGE this with your own username delay=3 # delay before screenshot taken (in second) if [ "$executor" != "root" ]; then echo 'You MUST run this script as root!.' exit 2 fi function usage() { echo "Usage: $0 [file_name]" echo "Example: " echo "$0 /tmp/scshot.png" return } if [ $# -gt 0 ]; then if [ "$1" == "--help" ]; then usage ; exit 2 else defname=$1 fi fi ls $defname 1>/dev/null 2>/dev/null if [ $? -eq 0 ]; then # file is exists make a copy of it newfile=${defname}.bak.$timestamp cp $defname $newfile echo "Old file was copied to $newfile." fi chvt 7 # more info see man chvt sleep $delay XAUTHORITY=/var/lib/gdm/:0.Xauth DISPLAY=:0.0 import -window root $defname if [ $? -eq 0 ]; then chown ${myuname}:${myuname} $defname 2>/dev/null echo "DONE: Screenshot saved to ${defname}." else echo "ERROR: Make sure you have write permission on that directory." fi # EOF |
- Log out dari session sekarang
- Ketika muncul screen login tekan kombinasi Ctrl-Alt-F2
- Login dengan username dan password anda
- Jalankan script dengan menggunakan perintah:
sudo sh takeshot.sh, atausudo sh takeshot.sh /tmp/myscreenshot.png
Dari script di atas baris yang paling penting adalah baris nomor 42. Pada baris tersebut terdapat perintah import -window root $defname, perintah inilah yang kita gunakan untuk mengcapture screen. Program import merupakan salah satu program yang ada pada paket ImageMagick.
Kebanyakan user yang mengambil screenshot dari GDM adalah para GDM theme creator. Nah karena saya bukan theme creator, saya mengambil screen GDM karena saya membuat halaman My Desktop pada blog ini yang menampilkan tampilan Desktop Ubuntu saya :). Ini contoh hasilnya:
Referensi:
http://ubuntuforums.org/archive/index.php/t-239810.html
http://bbs.archlinux.org/viewtopic.php?pid=294833
http://forums.fedoraforum.org/showthread.php?t=122058







