Desktop Linux sebagai bengkel

Catatan draf tentang tooling Wayland, utilitas open source kecil, dan kenapa memperbaiki setup sendiri itu latihan yang berguna.

30 September 2026Draf
  • linux
  • wayland
  • tooling

/ Ini draf yang sedang dikerjakan. Strukturnya sudah ada; detailnya masih diverifikasi dan dilengkapi.

Kenapa tooling desktop layak disempatkan

Homelab dan desktop punya mode kegagalan yang sama dengan server produksi, hanya dengan taruhan lebih rendah: layanan yang tidak mau start, konfigurasi yang melenceng, state yang hilang saat restart, dan upgrade yang merusak asumsi.

Mengerjakannya adalah latihan. Di situ juga saya pertama kali bertemu masalah yang kemudian penting di tempat kerja — state sesi, batas izin, dan perbedaan antara “jalan sampai saya logout” dan “jalan”.

Proyek

umbriel-session — simpan dan pulihkan sesi untuk compositor Wayland Umbriel. Ia merekam jendela, workspace, dan geometri, lalu memulihkannya saat login berikutnya.

Bagian menariknya bukan snapshot-nya. Tapi memutuskan apa yang dianggap jendela yang sama setelah restart: identitas berubah, klien mulai dalam urutan berbeda, dan sebagian aplikasi memang tidak ingin dipulihkan.

soundcore-buds — plugin Noctalia yang menampilkan baterai, mode mendengar, dan kontrol ANC earbuds Soundcore di bar desktop.

Yang ini kebanyakan kerja protokol: berbicara dengan perangkat, menangani state yang dilaporkannya, dan tidak memblokir shell saat menunggu response.

Keduanya kecil. Tidak ada yang berusaha menjadi platform. Batasan itu disengaja — utilitas yang menyelesaikan satu masalah lebih mudah dijaga tetap bekerja daripada framework yang menyelesaikan beberapa.

Yang terus saya pelajari

  • State adalah bagian sulitnya. Apa pun yang harus bertahan melewati logout membuka asumsi tentang apa yang persisten.
  • Pemulihan kegagalan lebih penting daripada fitur. Alat yang gagal dengan jelas dan pulih dengan bersih lebih baik daripada yang bekerja sampai suatu saat tidak.
  • Perubahan upstream adalah bagian dari kontrak. API compositor dan shell bergerak. Merawat alat kecil sebagian adalah merawat keputusan orang lain.

Pertanyaan terbuka

  • Seberapa banyak state sesi bisa dipulihkan secara generik versus per aplikasi.
  • Apakah plugin perangkat sebaiknya menyimpan cache sendiri atau membaca state setiap refresh bar.
  • Bagaimana menguji perilaku desktop otomatis tanpa harness grafis penuh.