20110525

[Error] xcompmgr menghilangkan semua window pada Openbox

xcompmgr sepertinya bentrok dengan conky, karena dalam Archlinux dengan window manager Openbox (tidak tahu apakah ini terjadi di distro dan window manager lain), terjadi keanehan dalam prilaku xcompmgr, kita tahu xcompmgr sebagai compositing manager sederhana yang ringan namun berbeda dengan compiz yang mempunyai fitur banyak.

Instalasi xcompmgr berjalan aman, namun terjadi permasalah pada saat menjalankannya:

Pertama, saya membuka urxvt lalu menjalankan

$ xcompmgr -c

Satu detik setelah eksekusi, window urxvt menghilang, begitu juga dengan firefox yang saya jalankan di workspace lain, meskipun dengan alt-tab window tersebut muncul kembali, namun dengan seketika menghilang kembali, tidak ada pesan error satu pun yang keluar, setelah pencarian singkat menemukan thread ini di forum archlinux, dia menyarankan merubah satu konfigurasi conky:

own_window no

Menjadi:

own_window yes

Setelah merubahnya, semuanya berjalan normal, hanya saja jika klik-kanan pada daerah conky, menu Openbox tidak muncul

20110524

Fstab - Informasi statis tentang filesystem

/etc/fstab - menyimpan konfigurasi serta informasi tentang semua harddisk yang tersedia beserta partisi dan filesystem-nya, prilaku bagaimana tiap partisi itu di inisialisasi juga menjadi tugasnya, utilitas seperti fsck, mount, dan umount sangat bergantung pada /etc/fstab.

Contoh isi dari /etc/fstab:

# <file system>                           <dir>       <type>    <options>          <dump> <pass>
devpts                                    /dev/pts    devpts  defaults              0      0
shm                                       /dev/shm    tmpfs   nodev,nosuid          0      0

#/dev/cdrom                               /media/cd   auto    ro,user,noauto,unhide 0      0
#/dev/dvd                                 /media/dvd  auto    ro,user,noauto,unhide 0      0
#/dev/fd0                                 /media/fl   auto    user,noauto           0      0

UUID=004b497f-d56a-46ba-af1c-9f3ab0ce2020 / ext3 defaults 0 1
UUID=5a2e1a84-7073-40ec-b717-7936dc1a99ed swap swap defaults 0 0
UUID=1240b1b4-60e0-44e7-b412-2c8cc523d661 /media/sda3 ext3 user,rw,uid=1000,noatime 0 0

Untuk memodifikasi, setidaknya kita harus mengerti enam informasi yang dibutuhkan /etc/fstab, lihat pada baris terakhir:

UUID=1240b1b4-60e0-44e7-b412-2c8cc523d661 /media/sda3 ext3 user,rw,uid=1000,noatime

/etc/fstab terbagi menjadi 6 wilayah, yaitu:

<file system>  <dir>  <type>  <options>  <dump> <pass>

Pertama, wilayah filesystem digunakan untuk menentukan mana partisi yang digunakan, dalam contoh ini penulis menggunakan UUID untuk mengenali partisi.

Kedua, menenentukan dimana filesystem akan di mount, pada kasus ini berada di /media/sda3

Ketiga, deskripsikan secara jelas jenis filesystem-nya, dalam contoh ini menggunakan ext3, jika tidak yakin dapat menggunakan auto sistem mendeteksi filesystem-nya.

Keempat, user,rw,uid=1000,noatime 0 0 ini opsi yang digunakan, terdapat opsi lain, yaitu;

  • auto, filesystem akan di mounting secara otomatis pada startup atau pada saat perintah mount -a dijalankan.
  • noauto, filesystem tidak akan di mounting dengan otomatis.
  • exec, mengizinkan agar dapat menjalankan file executable.
  • noexec, tidak mengizinkan menjalankan file executable.
  • ro, mounting dengan read-only.
  • rw, mounting dengan read-write.
  • user, memungkinkan user selain root dapat mounting filesystem.
  • nouser, hanya root yang boleh mounting filesystem.
  • suid, membolehkan operasi suid dan sgid, untuk memperbolehkan menjalankan file binary dengan akses tinggi untuk menyelesaikan beberapa tugas.
  • nosuid, tidak memperbolehkan operasi suid dan sgid.
  • defaults, sama dengan rw,suid,dev,exec,auto,nouser,async
  • sync, menentukan bagaimana input/output diselesaikan pada filesystem, dengan opsi sync maka I/O akan diselesaikan secara sinkron, dalam artian jika USB Flashdrive ada di komputer, lalu pada saat menyalin suatu file, maka file itu secara fisik juga tersalin pada Flashdrive.
  • async, dengan opsi ini jika menyalin suatu file ke Flashdrive, maka perubahan fisik akan terjadi setelah perintah itu dijalankan namun dengan rentang waktu yang cukup lama, berarti meskipun menyalin file tersebut dan seketika Flashdrive tersebut dilepas dari komputer, maka tidak akan ada perubahan pada Flashdrive tersebut.

Kelima, berisi nilai 0 atau 1, jika nilai 0 maka utilitas dump tidak menganggap filesystem tersebut, dump digunakan untuk backup filesystem.

Keenam, nilai ini digunakan untuk memberitahu fsck agar mengecek integritas filesystem, dapat diisi dengan nilain 0, 1, dan 2, nilai satu digunakan untuk prioritas tertinggi, biasanya digunakan untuk partisi root, jika nilai 0, maka fsck tidak melakukan pengecekan.

[Baris Perintah] du - untuk mengetahui ukuran direktori

du - biasa digunakan untuk mencari ukuran sebuah direktori, walau sebenarnya du adalah perintah untuk mencari ukuran pada sebuah file, dan untuk mendapat ukuran direktori di lakukan secara rekursif pada seluruh file di direktori tersebut, lalu diberikan total dari akumulasi ukuran tiap file.

Penggunaannya sebagai berikut:

du [OPTION]... [FILE]...

dimana OPTION akan memudahkan kita dalam pencarian informasi, sedangkan FILE diisi dengan file yang inginkan, dapat digunakan lebih dari satu file.

$ du foo.txt bar.txt
10  foo.txt
20  bar.txt

Ini bentuk sederhana yang hanya mengeluarkan ukuran tanpa postfix seperti K, M, atau G. Untuk mendapatkan postfix tersebut digunakan opsi:

$ du -h foo.txt
10K    foo.txt

-h, --human-readable berarti formatnya dipermudah dengan menambahkan postfix.

$ du foobar/
34    foobar

Direktori foobar berisi file foo.txt dan bar.txt, nilai 34 di ambil dari akumulasi foo.txt, bar.txt dan direktori foobar/ (direktori mempunyai ukurannya sendiri yaitu 4 KB)

$ du -a foobar/
10    foobar/foo.txt
20    foobar/bar.txt
34    foobar/

-a, -all digunakan agar format output dari du juga menyisipkan ukuran tiap file, karena tanpa opsi -a hanya menampilkan ukuran tiap direktori serta sub-direktori saja.

$ du -sh foobar/
34K    foobar

-s, --summarize hanya menampilkan total keseluruhan direktori beserta file-nya tambahkan opsi -h untuk mendapatkan format yang mudah dibaca.

Jika menjalankan perintah du tanpa file input, maka dia akan memeriksa pada direktori yang sedang aktif saja.

Selain opsi-opsi diatas, terdapat opsi lain, seperti:

-S, --seperate-dirs ukuran sub-direktori tidak akan di ikutkan dalam akumulasi, jadi jika didalam foobar/ ada direktori barfoo/ dengan ukuran 4K, dan dengan opsi -S maka hasilnya akan tetap 34K.

--exclude=PATTERN opsi ini akan menyingkarkan file yang mempunyai bentuk sesuai dengan PATTERN, dan ini bukan regular expression, hanya shell pattern yang sederhana seperti tanda ? akan mencocokan pada satu karakter saja dan tanda * akan mencocokan pada string apapun, contoh;

Jika direktori foobar/ mempunyai file header.c dan main.c, lalu:

$ du -a --exclude="*.c" foobar/
10    foobar/foo.txt
20    foobar/bar.txt
34    foobar/

Maka yang tampak hanyalah foo.txt, bar.txt, dan foobar/, file header.c dan main.c dihilangkan karena mereka termasuk dalam PATTERN.

20110523

Alt-Tab Preview pada Openbox

Alt-Tab adalah shortcut yang biasanya digunakan untuk memilih window aktif pada desktop, Openbox menawarkan banyak opsi untuk meningkatkan produktifitas, salah satunya dengan meng-preview window selama kita memilih-milih window dengan Alt-Tab.

Dengan menambahkan opsi raise pada fitur NextWindow, berikut contoh penggunaannya:

<keybind key="A-Tab">
  <action name="NextWindow">
    <raise>yes</raise>
  </action>
</keybind>

Opsi ini juga dapat diterapkan pada PreviousWindow, dokumentasi tentang Action pada Openbox dapat dilihat disini Openbox Actions Documentation.

Mengatur Margin Openbox untuk penggunaan Conky

Penggunaan Conky untuk memonitor hardware ataupun waktu sudah menjadi keharusan, untuk pecinta simplisitas desktop biasanya menggunakan conky one-liner yang diletakkan di atas maupun di bawah, nah kadang conky one-liner ini meskipun sudah menggunakan atribut untuk membuatnya di atas namun window aplikasi tetap saja menimpa conky ataupun window tercampur dengan conky, ada solusi yang dapat digunakan di Openbox yaitu dengan mengatur margin, karena Openbox ini sudah kompatibel dengan EWMH.

Pertama, tambahkan di rc.xml baris berikut:

<margins>
  <top>14</top>
  <bottom>0</bottom>
  <left>0</left>
  <right>0</right>
</margins>

Atau lebih mudah dapat menggunakan utilitas obconf, nilai margin bisa anda rubah sendiri sesuai kebutuhan.

Kedua, tambahkan di .conkyrc baris berikut:

own_window yes
own_window_transparent no
own_window_type normal
own_window_hints undecorated,sticky,skip_taskbar,skip_pager

Reload conky, lalu liat hasilnya :D

20110520

Konversi PNG ke JPG dengan ImageMagick

Pindah ke folder yang terdapat file PNG Anda:

$ convert gambar.png gambar.jpg

Perintah tersebut akan mengkonversi satu file, namun jika banyak file
yang ingin di konversi gunakan script berikut:

$ for img in *.png; do
>   convert "$img" "$img.jpg"
> done