แสดงบทความที่มีป้ายกำกับ การปรับแต่ง แสดงบทความทั้งหมด
แสดงบทความที่มีป้ายกำกับ การปรับแต่ง แสดงบทความทั้งหมด

วันพุธที่ 15 กรกฎาคม พ.ศ. 2569

Niri Desktop EP.03 : การตั้งค่าเมนู Fuzzel

Niri Desktop EP.03 : การตั้งค่าเมนู Fuzzel

   Fuzzel คือเมนูโปรแกรมที่ถูกสร้างขึ้นมาเพื่อใช้งานใน Wayland Compositor  โดยเฉพาะ Niri และยังสามารถใชักับ Compositor ตัวอื่นได้อีก เช่น  Hyprland, sway, mango, river เป็นต้น โดยการกำหนดคีย์ลัดให้เรียกใช้ Fuzzel เป็นเมนูโปรแกรม

  ในเดสก์ท็อป Niri ใช้คีย์ลัด Super+D ในการเรียกใช้ Fuzzel

เราสามารถใช้คีย์บอร์ดปุ่ม Up/Down เพื่อเลื่อนขึ้นลงเพื่อเลือกโปรแกรมและกด Enter เพื่อเปิดโปรแกรมที่เลือก หรือจะใช้เมาส์สกรอเลื่อนขึ้นลงแล้วคลิกเปิดโปรแกรมก็ได้เช่นกัน นอกจากนี้ยังสามารถพิมพ์คีย์เวิร์ดในช่อง input ด้านบนเพื่อค้นหาโปรแกรมที่ต้องการได้ง่ายขึ้นด้วย

   ตามปกติ Fuzzel จะไปเรียกใช้การตั้งค่าจากไฟล์คอนฟิก /etc/xdg/fuzzel/fuzzel.ini ซึ่งจะเป็นคอนฟิกที่ใช้เป็นค่าดีฟอลต์  เราสามารถปรับตั้งค่าเองได้โดยสร้างไฟล์คอนฟิกส่วนตัว ด้วยการสร้างไดเร็คทอรี fuzzel ไว้ในไดเร็คทอรี  ~/.comfig/ แล้วคัดลอกไฟล์ fuzzel.ini มาไว้เป็นเทมเพลตสำหรับการตั้งค่าส่วนตัว  ใช้คำสั่งในเทอร์มินัลดังนี้

     mkdir ~/.comfig/fuzzel

     cp /etc/xdg/fuzzel/fuzzel.ini ~/.comfig/fuzzel/

 

จากนั้นเราสามาถใช้ Text Editor มาแก้ไขค่าคอนฟิกได้เลย  ในตอนนี้เราจะใช้ kate 
 

เมื่อเปิด kate ขึ้นมาแล้วให้คลิก Open เพื่อเลือกเปิดไฟล์

ในช่องรายการชื่อไฟล์ให้คลิกขวาที่ว่าง แล้วคลิกเลือก Show hidden files เพื่อแสดงรายการไฟล์ที่ซ่อนอยู่ในระบบ

ตอนนี้เราก็จะเห็นไดเร็คทอรี .config ให้คลิกเข้าไปแล้วคลิกที่ไดเร็คทอรี fuzzel แล้วเลือกเปิดไฟล์ fuzzel.ini

 

ในไฟล์ fuzzel เราจะเห็นมีการตั้งเทมเพลตไว้สำหรับการกำหนดค่าของโปรแกรม และทุกบรรทัดมีเครื่องหมาย # อยู่ข้างหน้า ซึ่งหมายความว่า ยังไม่มีการคอนฟิกอะไร และโปรแกรมยังใช้ค่าดีฟอลต์ในการใช้งานอยู่

  เราสามารถคอนฟิกค่าได้ด้วยการลบเครื่องหมาย # หน้าบรรทัดของค่าที่เราต้องการปรับแต่งแล้วใส่ค่าการปรับแต่งที่ต้องการให้ถูกต้อง เช่นในภาพ เราจะกำหนดค่าฟอนต์ใหม่เพื่อให้ดูง่ายและสบายตาขึ้น ก็ลบเครื่องหมาย # หน้าบรรทัด font= แล้วใส่ค่าเป็นชื่อฟอนต์ที่เราต้องการใช้ (ต้องมีฟอนต์ติดตั้งในระบบแล้ว) ในภาพใช้ฟอนต์ garuda จากนั้นก็บันทึกไฟล์  แล้วเมื่อเรากดคีย์ลัด Super+D ก็จะเห็นว่าเมนูมีการเปลี่ยนไปใช้ฟอนต์ garuda แล้ว ซึ่งอ่านง่ายสบายตากว่าเดิม

   การตั้งค่าหลักๆ ก็คือสีแบคกราวด์และสีตัวอักษรในเมน ให้เลื่อนไปหาเซสซัน [colors]  จะเห็นว่าสามารถปรับค่าสีได้หลายอย่าง เช่น  backgroun (พื้นหลัง), text (ตัวอักษรของเมนู), input (ตัวอักษรที่พิมพ์เพื่อค้นหา), border (ขอบของเมนู) เป็นต้น ซึ่งเราต้องใช้ค่าสี RGBA ที่แปลงเป็น Hexa (สามารถหาได้จากเวปทั่วไป) ซึ่งจะต่างจากการใช้ค่าสีในการคอนฟิกสีพื้นหลังของ Niri คือต้องตัดเครื่องหมาย # ที่หน้าตัวเลขรหัสสีออกเสียก่อนจึงจะใช้ได้ ตามตัวอย่างในภาพ ซึ่งเมื่อเรากำหนดค่าแล้วและบันทึกไฟล์แล้วเราก็สามารถกดดูเมนูเพื่อดูการเปลี่ยนแปลงได้ทันที

   ส่วนที่ต่อกันคือ [border] คือการกำหนดค่ากรอบ คือความหนา (width) และมุม (radius) สามารใช้ค่าตัวเลขเพื่อกำหนดได้ตามความต้องการ  

    ดังที่กล่าวมาก็คือการปรับแต่งหลักๆ ของเมนู fuzzel นอกจากนี้ยังมีค่าที่เราสามารถปรับแต่งได้อีกตามที่มีอยู่ในเทมเพลตแล้ว 




Niri Desktop EP.02 : การปรับแต่ง Niri เบื้องต้น

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

   การใช้งานลีนุกซ์ จะเน้นให้เราใช้งานในโหมดยูสเซอร์ทั่วไป ดังนั้นเมื่อมีการใช้งานที่ต้องใช้สิทธิ์ของผู้ดูแลระบบ โดยเฉพาะ เช่น การเรียกใช้พาร์ติชันต่างๆ ในเครื่อง หรือการคอนฟิคฮาร์ดแวร์บางอย่าง หรือการติดตั้งโปรแกรม เป็นต้น จึงมีระบบคัดกรองผู้ใช้งานในโหมดผู้ดูแลระบบ ใน CLI ก็ใช้ su หรือ sudo เป็นเครื่องมือ ส่วนใน GUI จะมีระบบ Policy Kit (หรือเรียกสั้น ๆ ว่า polkit) เพื่อให้ผู้ใชัป้อนรหัสผ่านเพื่อเข้าไปใช้งานในโหมดผู้ดูแลระบบได้ชั่วคราวl
   ใน Niri ยังไม่มี polkit เป็นของตัวเอง ดังนั้น จึงต้องไปหยิบยืม polkit ของ DE ใหญ่ๆ มาใช้ เช่น gnome-polkit, kde-polkit, mate-polkit เป็นต้น
 

 
   เช่นถ้าสมมติเรามี KDE Plasma ติดตั้งอยู่แล้ว ก็สามารถคอนฟิกให้ Niri ใช้งาน kde-polkit ได้เิลย โดยเพิ่มบรรทัดนี้ลงไป

 spawn-at-startup "/usr/lib/polkit-kde-authentication-agent-1"

ซึ่งเป็นการเรียกโปรแกรมขึ้นมาในตอนล็อกอินเข้ามาใน Niri โดยกา้รคอนฟิก ถ้าจะใช้ polkit ตัวอื่นก็ต้องระบบพาธ ของ polkit ให้ถูกต้อง

   ตามภาพคือ kde-polkit ซึ่งเปิดขึ้นมาโดยอัตโนมัติเมื่อจะเปิดเข้าไปใช้พาร์ติชัน /dev/sdb1 ผ่านโปรแกรมจัดการไฟล์  

     การคอนฟิคที่สำคัญๆ เท่าที่ได้ใช้งาน Niri มาหลายเดือนแล้ว ก็น่าจะมีเท่านี้ ส่วนอื่นๆ ก็ลองซอกแซกหาดูเพื่อปรับแต่งได้ครับ