Niri Desktop EP.02 : การปรับแต่ง Niri เบื้องต้น
จากตอนที่แล้วเราพูดถึงการทำงานหลักโดยทั่วไปของ Niri ต่อไปก็จะมาถึงการปรับแต่งเบื้องต้นเพื่อการใช้งานได้เต็มที่ต่อไป
ตามธรรมดาการปรับแต่ง Niri คือปรับแต่งตัว Niri โดยตรง โดยการแก้ไขไฟล์คอนฟิกของ Niri คือไฟล์ ~/.config/niri/config.kdl
การปรับแต่างไฟล์ config.kdl จะเป็นการปร้บแต่งสภาพแวดล้อมเบื้องต้นของ Niri คือ การแสดงผลทางหน้าจอ ความละเอียดของหน้าจอ กำหนดค่าการใช้งานคีย์บอร์ด เมาส์ ทัชแพด กำหนดค่าการทำงานของหน้าต่าง การกำหนดคีย์ลัด และการตั้งค่าเวิร์คสเปช
นอกจากนี้ยังสามารถใช้ปรับแต่งการกำหนดค่าที่เหมาะสมเพื่อใช้งานซอฟต์แวร์บางอย่าง และการกำหนดให้รันโปรแกรมที่ต้องการในตอนเปิดเข้ามาในระบบด้วย
การใช้ค่าที่ตั้งมาแล้วตั้งแต่ต้นก็เหมาะสมสำหรับการใช้งานในระดับหนึ่ง แต่ก็ยังมีบางอย่างที่อาจจะต้องตั้งค่าเพิ่มเติมเพื่อความสะดวกในการใช้งานมากขึ้น
โดยปกติ เมื่อเปิดใช้งานครั้งแรก ระบบจะสร้างไฟล์ config.kdl ไว้ให้แล้ว
เรามาดูกันว่าจะปรับแต่งอะไรกันได้บ้าง
การตั้งค่าคีย์บอร์ด
เมื่อเราติดตั้งลีนุกซ์โดยทั่วไปจะมีการตั้งค่าคีย์บอร์ดมาเรียบร้อย แต่ที่จะพูดถึงคือการปรับแต่งค่า Keymaps เพื่อสลับใช้ภาษาไทยและอังกฤษ ถ้าเราติดตั้ง Niri เป็นเดสก์ท็อปโดยเลือกภาษาไทย ระบบจะตั้งค่าคีย์บอร์ดภาษาไทยไว้ให้แล้ว โดยใช้คีย์ลัดตามที่กำหนดตั้งแต่แรก แต่ถ้าติดตั้ง Niri ทีหลังหรือไม่ได้ติดตั้งภาษาไทยตั้งแต่ทีแรกก็อาจจะต้องมาตั้งค่าเอง โดยการเข้าไปแก้ไขไฟล์ ~/.config/niri/config.kdl สามารถใช้ Text Editor เข้าไปแก้ไข เช่น ใช้คำสั่งในเทอร์มินัล โดยใช้ nano เป็น editor ในโหมดของ user โดยไม่ต้องเป็นผู้ดูแลระบบ ดังนี้
nano ~/.config/niri/config.kdl
จากนั้น กด Ctrl+F แล้วพิมพ์ xkb แล้วกด Enter เพื่อค้นหาจุดที่คอนฟิกคีย์บอร์ดแมป
(ที่จริงก็ไม่ได้ค้นหายากเพราะมันอยู่ตอนต้นไฟล์อยู่แล้ว ฮ่าฮ่าฮ่า)
เราจะเห็นตัวอย่างการคอนฟิกคีย์บอร์ดแมป ให้เพิ่มสองบรรทัดนี้ลงไป
layout "us,th"
options "grp:alt_shift_toggle"
บรรทัดแรกคือกำหนดคีย์บอร์ดแมปให้มีสองตัวคือ us กับ th
บรรทัดที่สองคือกำหนดคีย์ลัดสำหรับสลับคีย์บอร์ดแมป นั่นคือ alt+shift (สามารถตั้งเป็นคีย์อื่นก็ได้แต่ต้องแน่ใจว่าไม่ซ้ำกับคีย์ลัดที่มีกำหนดไว้แล้วในระบบ)
เสร็จแล้วกด Ctrl+X เพื่อออกจากโปรแกรม ซึ่งจะถูกถามกลับมาว่าจะบันทึกไฟล์หรือเปล่าให้กด y เพื่อบันทึกแล้วกด Enter เป็นอันเสร็จเรียบร้อย
การปรับแต่งคีย์ลัด
คีย์ลัด (Bind หรือ Hot keys) ซึ่งใช้ในการทำงานเป็นหลักใน Niri ในตอนก่อนเรารู้จักคีย์ลัดที่ใช้บ่อยๆ มาแล้วหลายตัว ซึ่งจะสังเกตได้ว่ามักจะใช้คีย์ Super (คีย์วินโดวส์) เป็นตัวหลักประกอบกับคีย์อื่นๆ ซึ่งอาจจะใช้สองคีย์หรือสามคีย์ร่วมกัน
ตอนนี้เราลองมาเซ็ตคีย์ลัดด้วย Kate (Text editor ของ KDE) ซึ่งจะสะดวกกว่าใช้โปรแกรมในเท็กซ์โหมด
ในไฟล์คอนฟิกของ Niri จะเรียกคีย์ Super ว่า Mod โดยการคอนฟิกง่ายๆ เช่น
Mod+D { spawn "alacritty"; }r
คือใช้ปุ่ม Super+D เพื่อเปิดโปรแกรม alacritty ซึ่งเป็นเทอร์มินัลอีมูเลเตอร์ที่มาคู่กับ wayland
Mod+Shift+E { quit; }
คือคีย์ลัดที่ใช้สำหรับการ Log out ออกจาก Niri กลับไปหน้าจอล็อกอิน
ซึ่งถ้าเราตรวจสอบดูคีย์ลัดที่คอนฟิกมาแล้วใน Niri มีครอบคลุมการใช้งานแทบจะทั้งหมด
คีย์ลัดเพิ่มเติมที่แนะนำสำหรับการใช้งาน
ใน Niri ยังไม่มีคีย์ลัดสำหรับการรีบูตหรือปิดเครื่อง (แต่ใช้คำสั่ง reboot ในเทอร์มินัลได้อยู่)
เราสามารถติดตั้งโปรแกรมเพื่อใช้งานเพิ่มได้คือ nwg-bar (ติดตั้งก่อนโดยใช้คำสั่ง sudo pacman -S nwg-bar (Arch Base) หรือ apt install nwg-bar (Debian Base) หรือ dnf install nwg-bar (Fedora Base) เป็นต้น)
จากนั้นค้นหาบรรทัดนี้ ซึ่งอยู่ตอนท้ายๆ ไฟล์
Ctrl+Alt+Delete { quit; }
แล้วแก้เป็น
Ctrl+Alt+Delete { spawn "nwg-bar"; }
จากนั้นก็บันทึกไฟล์ เราก็จำสามารถใช้คีย์ลัด Ctrl+Alt+Delelte (ซึ่งเป็นคีย์ลัดที่นิยมใช้ในการปิดเครื่อง) เพื่อเรียกเมนูบาร์สำหรับปิดเครื่อง หรือรีบูตเครื่องได้ตามภาพ
อีกอย่างหนึ่งที่เราต้องใช้งานประจำคือการปรับเสียงในระบบ ตามธรรมดาเราอาจจะใช้ alsamixer เพื่อปรับแต่งเสียงหรือใช้โปรแกรม pavucontrol สำหรับปรับแต่งในโหมด GUI เราสามารถเพิ่มคีีย์ลัดเพื่อเรียกใช้ pavucontrol ได้โดยเพิ่มบรรทัดนี้ลงไป (ต่อจากบรรทัดคอนฟิก nwg-bar )
Ctrl+Alt+V { spawn "pavucontrol"; }
เราก็จะสามารถใช้คีย์ลัด Ctrl+Alt+V เพื่อเรียกใช้การปรับแต่งเสียงในโหมด GUI ได้ (คีย์ลัดนี้ผมกำหนดมาเอง)
ดังนั้น เราสามารถสร้างคีย์ลัดเพื่อเรียกโปรแกรมต่างๆ มาใช้งานได้ตามความต้องการ สิ่งที่ต้องระวังคือ การคอนฟิกไฟล์ config.kdl จะแบ่งการคอนฟิกออกเป็นเซสซัน บรรทัดที่เราเพิ่มเข้าไปต้องอยู่ในเซสซันของการกำหนดคีย์ลัดคือ Blinds ห้ามไม่ให้ไปอยู่ในเซสซันของการคอนฟิกอื่นไม่งั้นจะใช้งานไม่ได้
การกำหนดค่า Background Color
ค่าปกติของ Niri ไม่สามารถมาใช้ภาพมาเป็นพื้นหลังได้ แต่สามารถใช้การคอนฟิกสีของพื้นหลังได้ โดยใช้รหัสสี Hex ที่เป็น RGB หรือ RGBA (เราสามารถเข้าไปหารหัสจากเวปต์ไซต์ที่ให้บริการแปลงค่าสี RGB หรือ RGBA เป็น Hex ได้มากมาย)
การปรับแต่งสีพื้นหลังของ Niri จะอยู่ในเซสซัน laout เมื่อเราเลื่อนหาเจอ จะพบว่ามีการคอนฟิกค่า
gaps 16
เป็นจุดสังเกต ให้เราเพิ่มบรรทัดนี้เป็นบรรทัดล่างต่อจากนี้
background-color "#1a1a1a"
ตามภาพจะเห็นว่ามีบรรทัดที่ขึ้นต้นด้วย // ซึ่งหมายความว่าบรรทัดนี้เป็นคำอธิบายหรือหมายเหตุเท่านั้น
ส่วนค่า ในเครื่องหมาย " " ให้เปลี่ยนเป็นรหัส Hex ของค่าสีที่ต้องการโดยมี # นำหน้า โดยที่ Niri ใช้ระบบ Live Reloaded เมื่อเราบันทึกไฟล์ Niri จะแสดงผลการเปลี่ยนแปลงให้เห็นได้ทันที
การกำหนดค่า Backdrop Color
Backdrop (หรือ Overview) คือพื้นหลังซ้อนพื้นหลัง ซึ่งจะแสดงให้เห็นเมื่อเราใช้ฟังค์ชัน Hot Corners ซึ่งใช้สำหรับย่อเวิร์คสเปชลงแสดงแสดงรายการเวิร์คสเปชที่เปิดทำงานอยู่ให้เราสามารถเลือกไปใช้งานเวิร์คสเปชต่างๆ ได้ (Hot Corners มีใช้ใน Gnome และ KDE หรืออาจจะมีใน DE ตัวอื่นอีกก็ยังไม่ได้สำรวจ) พื้นหลังที่ปรากฎตอนย่อเวิร์คสเปชก็คือ Backdrop หรือ Overview ใน Niri สามารถคอนฟิคค่าสีของ Backdrop ได้ โดยต้องเพิ่ม เซสซัน overview เข้าไป (ต่อท้ายไปเลย) ดังนี้overview {
// Sets the color of the empty area behind the workspaces
backdrop-color "#111111"
}
เราสามารถปรับแต่งค่าสีได้ตามต้องการ
ถ้าต้องการใช้รูปภาพเป็นพื้นหลังและแบ็คดรอป ต้องใช้โปรแกรมตั้งค่าวอลเปเปอร์โดยเฉพาะ ซึ่งจะยกไปกล่าวในอีกตอน
การตั้งค่า Policykit
spawn-at-startup "/usr/lib/polkit-kde-authentication-agent-1"
ซึ่งเป็นการเรียกโปรแกรมขึ้นมาในตอนล็อกอินเข้ามาใน Niri โดยกา้รคอนฟิก ถ้าจะใช้ polkit ตัวอื่นก็ต้องระบบพาธ ของ polkit ให้ถูกต้อง
ตามภาพคือ kde-polkit ซึ่งเปิดขึ้นมาโดยอัตโนมัติเมื่อจะเปิดเข้าไปใช้พาร์ติชัน /dev/sdb1 ผ่านโปรแกรมจัดการไฟล์
การคอนฟิคที่สำคัญๆ เท่าที่ได้ใช้งาน Niri มาหลายเดือนแล้ว ก็น่าจะมีเท่านี้ ส่วนอื่นๆ ก็ลองซอกแซกหาดูเพื่อปรับแต่งได้ครับ






