Mengaktifkan lampu LED indikator keyboard (seperti Scroll Lock) di Linux dengan lingkungan Wayland sering kali bikin pusing. Perintah lama seperti xset led tidak lagi berfungsi, dan tombol Caps Lock sering membuat LED mendadak mati kembali karena perilaku pengontrolan kernel.
Jika kamu menggunakan NixOS dengan KDE Plasma (Wayland), berikut panduan lengkap langkah demi langkah untuk membuat lampu keyboard menyala permanen dan bisa di-toggle menggunakan tombol shortcut!
Masalah Utama & Solusi
- Wayland Tidak Mendukung
xset: Kita menggunakanbrightnessctluntuk mengakses jalur/sys/class/leds/. - Izin Akses Root: Kita menambahkan aturan
udevdi NixOS agar pengguna biasa bisa mengubah status LED tanpasudo. - Lampu Mati Saat Press Caps Lock: Kernel Linux meng-overhaul status LED tiap ada tombol kunci lain yang ditekan. Solusinya adalah menjalankan skrip background daemon ringan yang secara instan menjaga status LED tetap
1(ON) sampai kamu mematikannya secara manual.
Langkah 1: Konfigurasi configuration.nix
Buka file konfigurasi NixOS kamu:
sudo nano /etc/nixos/configuration.nix
Sesuaikan isi configuration.nix kamu dengan menambahkan brightnessctl serta aturan udev:
{ config, pkgs, ... }:
{
# 1. Pastikan user kamu masuk ke grup wheel
users.users."fi" = {
isNormalUser = true;
extraGroups = [ "networkmanager" "wheel" "adbusers" ];
};
# 2. Tambahkan aturan udev untuk izin akses LED Scroll Lock tanpa sudo
services.udev.extraRules = ''
ACTION=="add", SUBSYSTEM=="leds", KERNEL=="*scrolllock", RUN+="/bin/sh -c 'chgrp wheel /sys/class/leds/%k/brightness && chmod g+w /sys/class/leds/%k/brightness'"
'';
# 3. Tambahkan paket brightnessctl ke sistem
environment.systemPackages = with pkgs; [
brightnessctl
# paket kamu lainnya...
];
system.stateVersion = "26.05";
}
Setelah itu, simpan dan rebuild sistem NixOS kamu:
sudo nixos-rebuild switch
Langkah 2: Buat Skrip led.sh (Auto-Keep Daemon)
Buat file skrip baru, misalnya di folder ~/Destop/led.sh:
nano ~/Destop/led.sh
Isi dengan kode bash berikut:
#!/usr/bin/env bash
# File penanda status
LOCK_FILE="/tmp/keyboard_led_on"
if [ -f "$LOCK_FILE" ]; then
# Jika lampu sedang menyala, matikan daemon background & LED
pkill -f "keep_keyboard_led_on" 2>/dev/null
rm -f "$LOCK_FILE"
for dev in /sys/class/leds/*::scrolllock; do
[ -e "$dev" ] && brightnessctl --device="$(basename "$dev")" set 0
done
echo "Lampu keyboard OFF"
else
# Nyalakan LED & jalankan daemon background untuk menjaga LED tetap menyala
touch "$LOCK_FILE"
(
exec -a "keep_keyboard_led_on" bash -c '
while [ -f "/tmp/keyboard_led_on" ]; do
for dev in /sys/class/leds/*::scrolllock; do
[ -e "$dev" ] && brightnessctl --device="$(basename "$dev")" set 1 2>/dev/null
done
sleep 0.1
done
'
) &
echo "Lampu keyboard ON"
fi
Beri izin eksekusi (executable) pada skrip tersebut:
chmod +x ~/Destop/led.sh
Langkah 3: Integrasi Pintasan Tombol di KDE Plasma
Agar kamu bisa menyalakan dan mematikan lampu keyboard dengan menekan tombol (misalnya Scroll Lock):
- Buka System Settings di KDE Plasma.
- Masuk ke menu Keyboard → Pintasan (Shortcuts).
- Klik tombol Tambahkan Baru → Command (Perintah).
- Masukkan perintah:
/home/fi/Destop/led.sh - Pada bagian Custom shortcuts, klik + Tambah... lalu tekan tombol pada keyboard yang ingin kamu jadikan pintasan (misal: tombol Scroll Lock atau
Ctrl + Scroll Lock). - Klik Terapkan (Apply) di pojok kanan bawah.
Kesimpulan
Sekarang kamu bisa menyalakan lampu indikator keyboard secara instan di NixOS KDE Plasma Wayland hanya dengan satu tombol pintasan. Lampu akan tetap terus menyala stabil tanpa terpengaruh saat kamu menekan tombol Caps Lock atau Num Lock!

User Reviews & Discussion
Tidak ada komentar:
Posting Komentar