Menghemat Sumber Daya Sistem Saat Menggunakan KMail

11 Feb 2012

kmailPengguna KMail di KDE seringkali mengeluhkan permasalahan yang sama dari tahun ke tahun setiap kali ada peluncuran versi KDE terbaru cheeky. Tidak bisa dipungkiri bahwa KMail memang salah satu program KDE yang sangat boros dalam penggunaan sumber daya komputer. Normalnya KMail akan menggunakan database MySQL atau PostgreSQL jika tersedia di dalam sistem. Dari konfigurasi standar ini saja, kita dapat menarik kesimpulan bagaimana besarnya sumber daya sistem yang akan dimakan oleh KMail, sebuah program untuk membaca email secara lokal. Bayangkan saja berapa sumber daya yang akan digunakan oleh KMail jika setiap kali kita menjalankan program tersebut, sebuah sesi database MySQL atau PostgreSQL akan ikut dijalankan di belakangnya. Tidak, saya tidak sedang bercanda. KMail memang menjalankan servis database MySQL atau PostgreSQL hanya untuk dirinya sendiri. Karena itulah KMail hampir tidak pernah digunakan oleh pengguna KDE.

Akonadiakonadi

KMail menggunakan server Akonadi untuk melayani kebutuhannya akan lokasi penyimpanan data. Akonadi bertanggung jawab untuk menginisiasi dan menyediakan layanan penyimpanan data-data KDE Personal Information Management (KDE PIM) yang meliputi penyimpanan email, informasi kontak, RSS feed, kalender, bookmark dan masih banyak lagi. Akonadi inilah yang bertanggung jawab untuk menjalankan layanan database MySQL atau PostgreSQL tadi. Kita bisa melihat konfigurasi standar akonadi di dalam file ${HOME}/.config/akonadi/akonadiserverrc:

bash-4.1$ cat .config/akonadi/akonadiserverrc
[%General]
Driver=QMYSQL

[QMYSQL]
Name=akonadi
Host=
Options="UNIX_SOCKET=/home/walecha/.local/share/akonadi/socket-c435/mysql.socket"
ServerPath=/usr/libexec/mysqld
StartServer=true

[Debug]
Tracer=null

Seperti yang terlihat di konfigurasi standar tersebut, akonadi akan benar-benar menjalankan sebuah layanan database MySQL dengan soket koneksi yang ada di dalam direktori data aplikasi di direktori ${HOME} saya.

Okelah jika mesin kita itu digunakan oleh banyak orang secara bersama-sama dalam waktu yang sama alias berbagi sumber daya. Kita dapat menjalankan sebuah layanan database secara terpusat dan mengkonfigurasi akonadi di komputer-komputer pengguna untuk mengakses database tersebut menggunakan koneksi TCP. Tetapi jika mesin tersebut hanya memiliki satu user, hanya saya saja yang menggunakan mesin tersebut. Sebuah laptop misalnya. Jelasnya ini tidak begitu bagus untuk sistem yang memiliki sumber daya kecil seperti laptop saya. Lalu bagaimana cara mengatasinya? Apa kita harus menginstal database MySQL hanya untuk membaca email? Itu jelas sangat tidak masuk akal untuk penggunaan secara personal.

SQLITE

Untungnya masih ada SQLite. Meskipun pengembang KDE PIM bersikeras bahwa driver SQLite masih sangat tidak stabil dan seringkali bermasalah, tetapi ternyata secara de facto, banyak sekali pengguna KDE PIM yang mengkonfigurasi akonadi untuk menggunakan SQLite. Saya juga heran kok, dokumentasi tersebut terakhir berdasarkan pada KDE PIM 4.5. Hello guys..., I believe that was in 2010. We were already in 2012 now. Jupiter to Earth, Jupiter to Earth, please respon (silence....)indecision. Ah WTH lah. Saya hajar saja. Toh kalo remuk kan laptop-laptop saya juga.

Untuk mengaktifkan layanan database menggunakan SQLite di akonadi, kita tidak dapat menggunakan GUI akonadi. Karena memang masih tidak diikutsertakan sebagai pilihan dalam GUI (sebabnya di atas). Tetapi jangan kuatir. Kita masih dapat mengkonfigurasi akonadi dengan mengedit file konfigurasi (akonadiserverrc). Panduan konfigurasi ini saya peroleh dari laman wiki Arch Linux.

Pertama stop akonadi terlebih dahulu:

$ akonadictl stop

Kedua buka konfigurasi dengan teks editor kesayangan anda. Saya menggunakan mcedit. Ubah isi akonadiserverrc menjadi seperti berikut ini:

[%General]
Driver=QSQLITE3

[QSQLITE3]
Name=/home/NAMA_USER_ANDA/.local/share/akonadi/akonadi.db

[QMYSQL]
Name=akonadi
Host=
Options="UNIX_SOCKET=/home/NAMA_USER_ANDA/.local/share/akonadi/socket-c435/mysql.socket"
ServerPath=/usr/libexec/mysqld
StartServer=false

[Debug]
Tracer=null

Ketiga, jalankan kembali akonadi

$ akonadictl start

Selesai laugh. Kita sudah dapat menggunakan layanan database akonadi yang menggunakan SQLite. Tinggal jalankan KMail, Kontak atau program KDE PIM lainnya. Tunggu beberapa saat dan anda dapat merasakan bahwa laptop anda akan menjadi lebih adem daripada saat akonadi masih menggunakan database MySQL atau PostgreSQL.

Harus diingat bahwa fitur ini masih belum didukung penuh oleh pengembang KDE PIM, jadi segala resiko menjadi tanggung jawab kita sendiri jika kita menggunakan SQLite sebagai database untuk akonadi.

Selamat mengambil resiko cool