Anda ingin membangun DE (lingkungan desktop) Anda sendiri. Contoh umum adalah GNOME dan KDE, meskipun lebih banyak yang populer. Membangun DE Anda sendiri sebenarnya sangat populer, dan alat skrip khusus sering kali dibuat.
Anda biasanya perlu menggabungkan beberapa alat:pengelola jendela, program bilah alat, pengelola desktop (ikon), pengelola sesi, mungkin lebih. Dari itu hanya pengelola jendela yang merupakan bagian yang diperlukan (biasanya tidak masuk akal untuk tidak menjalankan WM apa pun di dalam server X), dan yang lainnya bersifat opsional. Anda biasanya tidak akan menulis alat ini dari awal (ini banyak pekerjaan), tetapi gunakan komponen yang sudah tersedia.
Perhatikan bahwa GNOME dan KDE sebenarnya terdiri dari elemen-elemen ini (terintegrasi dengan baik). Misalnya GNOME terdiri dari pengelola jendela (metacity
), bilah alat (gnome-panel
), pengelola desktop (nautilus
) dan seterusnya. Anda dapat mengubah satu elemen menjadi elemen lain jika Anda mau:dulu populer menggunakan sawfish
sebagai pengelola jendela alih-alih metacity
, menjaga semua elemen lainnya tetap utuh. Sekarang populer untuk menggunakan compiz
bukannya metacity
.
Saya dulu menggunakan FVWM, yang merupakan pengelola jendela dengan kemampuan skrip tambahan (cukup bagus) yang dapat digunakan untuk membuat bilah alat, menu, dan hal lainnya. Salah satu contoh yang bagus adalah FVWM-Crystal, yang merupakan DE lengkap yang dibangun di atas FVWM dan beberapa alat lainnya, ditulis dalam campuran skrip FVWM dan Python. Anda benar-benar dapat mengubah perilaku apa pun saat runtime hanya dengan membuka konsol skrip FVWM dan mengetik perintah. FVWM-Crystal dapat menjadi titik awal yang baik jika Anda ingin memulai dari sesuatu yang sudah dapat digunakan; FVWM telanjang bagus jika Anda ingin membangun DE dari awal.
[PEMBARUAN:sepertinya gnome-shell sangat mirip dalam hal ini dengan FVWM
. Sebagian besar perilakunya ditulis menggunakan JavaScript (bukan bahasa khusus di FVWM), dan sangat mudah diubah. Ini juga dikembangkan dengan sangat aktif, karena merupakan bagian penting dari GNOME3, dengan dukungan komposisi yang sangat baik. Ini adalah surga bagi para peretas;-)]
[UPDATE2:jadi sepertinya saya benar menggunakan gnome-shell. Ada Cinnamon, yang menggunakan framework yang sama (mutter
window manager) sebagai gnome-shell
, namun membangun desktop yang bekerja dengan cara yang berbeda dari gnome-shell
.]
Ada situs web yang merupakan sumber ide bagus untuk diterapkan:lynucs.org. Sudah turun selama dua tahun sekarang, tapi sudah diarsipkan.
Peringatan:banyak dari komponen ini tidak dipertahankan lagi, terutama sejak GNOME/KDE mulai benar-benar dapat digunakan. Pengembangan di area ini biasanya lebih didorong oleh kebutuhan khusus perangkat tersemat:ponsel atau netbook.
Sekarang, untuk menjawab pertanyaan Anda yang sebenarnya:
- Linux/OS flaver:apa saja yang mudah disesuaikan:Debian, Arch, Gentoo, LFS...
- Alat/kerangka kerja:tergantung pada apa yang ingin Anda capai. Jika Anda ingin menulis bilah alat khusus, Anda mungkin hanya menggunakan beberapa bahasa skrip (seperti FVWM), alat khusus seperti adesklet, atau menulis sendiri di Qt (jika sebagian besar komponen Anda yang lain ada di Qt) atau GTK (jika sebagian besar komponen Anda yang lain komponen ada di GTK).
- UI pribadi:ada banyak sekali, dan situs seperti lynucs.org adalah kompilasi yang bagus darinya (komponen yang terdaftar di lynuc digunakan di setiap desktop).
- Efek transparansi kompleks:alat lama biasanya tidak menanganinya secara asli, atau melakukan hal-hal sederhana seperti menggunakan kembali sebagian wallpaper desktop sebagai latar belakangnya sendiri (disebut transparansi palsu). Kemungkinan besar Anda harus menulis kode Anda sendiri, f.e. sebagai plugin untuk
compiz
.
Jika UI Anda cepat dan keren, saya sarankan untuk melihat ke Pencerahan. Ini lebih tua dari Gnome dan menurut saya ini adalah opsi yang sangat cepat dan hemat sumber daya.
Saya mungkin akan mulai dengan penginstalan Ubuntu dan pengelola jendela OpenBox dan membangun dari sana.
OpenBox sangat minimal tetapi Anda dapat menambahkan aplikasi (misalnya Docky, Awn, dll) untuk menyediakan elemen antarmuka desktop atau menulis sendiri.