Theppitak's blog

My personal blog.

28 พฤศจิกายน 2555

My Alternative Desktops (3) - Xfce

จาก E17 และ LXDE ก็ถึงคราวของ Xfce ละ

Xfce 4 วางตัวไว้เป็น desktop environment ที่ใช้ GTK+ เป็นหลัก จึงเป็นทางเลือกที่ใกล้เคียงกับ GNOME แต่เบากว่า ผมเองเคยใช้แบบโฉบ ๆ เมื่อหลายปีก่อน แล้วก็กลับไปใช้ GNOME เหมือนเดิมเพราะยังมีพันธกิจกับ GNOME อยู่

หน้าจอที่ปรับแต่งจนสามารถใช้สองจอแล้ว เป็นแบบนี้:

Xfce dual monitor screenshot

ซึ่งผ่านการปรับแต่งดังนี้

สองจอ

Xfce ก็เหมือนกับ LXDE ตรงที่เครื่องมือตั้งค่าจอภาพ คือ xfce4-display-settings ตั้งได้แค่การเปิด/ปิดจอภาพ ความละเอียด ความถี่การรีเฟรช และบวกการหมุนจอและกลับซ้ายเป็นขวาได้ด้วย แต่ไม่สามารถตั้งค่าการต่อชนพื้นที่จอได้

Xfce4 Display Settings

ก็ต้องกลับไปพึ่ง ARandR เหมือนคราว LXDE (อ่านวิธีการได้จาก ตอนที่แล้ว) เพียงแต่สถานการณ์หลังจากนั้นของ Xfce ดีกว่า LXDE มาก เพราะ Xfce รองรับการใช้สองจอเป็นอย่างดี ตัวพาเนลวางพาดลงในจอเดียวอย่างรู้งาน แถมสามารถตั้งพื้นหลังแยกต่างกันสองจอได้อีกต่างหาก

Xfce4 Background Settings

เรียกได้ว่า กลไกภายในรองรับการใช้สองจอเต็มที่แล้ว ยังขาดก็แต่การตั้งค่าจอภาพในเครื่องมือตั้งค่า!

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

เนื่องจากอาจมีการกำหนดอย่างอื่นอีกในอนาคตนอกเหนือจากเรื่องจอภาพ ผมจึงไม่เรียก dual.sh ตรง ๆ แต่จะเรียกผ่านสคริปต์ ~/bin/xfce-init ที่เขียนขึ้นเองแทน:

$ cat > ~/bin/xfce-init <<EOF
#!/bin/sh

$HOME/.screenlayout/dual.sh
EOF
$ chmod +x ~/bin/xfce-init

จากนั้น ก็ไปกำหนดให้วาระของ Xfce เรียกสคริปต์นี้ในตอนเริ่มด้วย โดยใช้เมนู Settings > Session and Startup > Application Autostart

Xfce Session Startup

เกจ์วัดต่าง ๆ

Xfce ปกตินั้น ไม่มีเครื่องมือแสดงสถานะเครื่องอะไรมากนัก แต่มีปลั๊กอินเพิ่มเติมจาก Xfce Goodies ที่สามารถติดตั้งเพิ่มเติมได้ มีแพกเกจใน Debian ด้วย โดยถ้าติดตั้ง xfce4-goodies ก็จะได้ปลั๊กอินทั้งหมด แต่ผมเลือกติดตั้งเฉพาะที่ใช้ คือ:

  • xfce4-cpugraph-plugin (แสดงโหลดของซีพียูคอร์ต่าง ๆ พร้อมกราฟ)
  • xfce4-netload-plugin (แสดงขีดปริมาณข้อมูลเครือข่ายขาเข้า-ออก)
  • xfce4-places-plugin (เมนูไดเรกทอรีต่าง ๆ สำหรับสั่งเปิดด้วย file manager หรือเทอร์มินัลก็ได้)
  • xfce4-sensors-plugin (แสดงขีดอุณหภูมิต่างของซีพียู ฮาร์ดดิสก์)
  • xfce4-systemload-plugin (แสดงขีดการใช้ทรัพยากรต่าง ๆ ของระบบ)
  • xfce4-weather-plugin (แสดงรายงานอากาศ)

อื่น ๆ

  • ธีมของวิดเจ็ต (Settings > Appearance > Style หรือ xfce4-appearance-settings)
  • ธีมของหน้าต่าง (Settings > Window Manager หรือ xfwm4-settings) พร้อมกับตั้งให้ snap หน้าต่างกับขอบหน้าต่างอื่นด้วย (Advanced > Windows snapping > Snap windows to other windows)
  • ภาพพื้นหลัง (Settings > Desktop > Style หรือ xfdesktop-settings)
  • ปุ่มลัดสำหรับเรียกโปรแกรม (Settings > Keyboard > Application Shortcuts หรือ xfce4-keyboard-settings)
  • Xfce สามารถเปิดใช้ compositing ได้ถ้าต้องการ (Settings > Window Manager Tweaks หรือ xfwm4-tweaks-settings ที่แท็บ Compositor) แต่ตอนนี้ยังก่อน

ปัญหา Slow key

ผมใช้ Xfce อยู่หลายวัน ก็รู้สึกสบายดี เป็นธรรมชาติ มีเฟอร์นิเจอร์ที่ต้องการครบครัน แต่มีเรื่องกวนใจอยู่เรื่องหนึ่ง คือถ้าผมกดปุ่ม Shift ค้างเกิน 10 วินาที เช่น อาจเป็นตอนเลือกด้วยเมาส์ด้วยการกด Shift ประกอบ ปรากฏว่าจะมี notification ว่า Slow key is enabled ซึ่งเป็นการเปิดฟังก์ชันสิ่งอำนวยความสะดวก (accessibility) ป้องกันการรัวปุ่มสำหรับคนที่นิ้วมีปัญหายกขึ้นเร็วไม่ได้ แต่ละปุ่มต้องกดค้างประมาณ 1 วินาทีถึงจะได้ตัวอักษร ซึ่งทำให้ผมแทบพิมพ์อะไรไม่ได้เลย ต้องไปคอยสั่งปิดที่ Settings > Accessibility ด้วยการสั่งเปิดครั้งหนึ่ง แล้วสั่งปิดอีกครั้ง (เพราะค่าตั้งตรงนั้นก็ไม่ได้เปิดอยู่)

จาก Debian #657969 ทำให้ได้รู้ว่าเป็นปัญหาเฉพาะกับผู้ที่เข้าระบบผ่าน GDM เท่านั้น โดย GDM จะเปิดฟังก์ชัน AccessX ไว้ ทำให้มีการตรวจสอบพฤติกรรมแป้นพิมพ์เพื่อเปิดใช้สิ่งอำนวยความสะดวก และความเห็นหนึ่งใน RedHat #816764 ได้บอกว่าได้ติดต่อนักพัฒนาต้นน้ำแล้ว ซึ่งต้นน้ำได้แก้ปัญหานี้ทันทีใน git และผู้ดูแลแพกเกจ Xfce ใน Debian กำลังปรึกษา release team ว่าสามารถแก้ปัญหานี้ใน Wheezy ที่กำลัง freeze อยู่ได้หรือไม่ แต่ในระหว่างนี้ ผู้ใช้สามารถแก้ขัดได้โดยใช้คำสั่ง xkbset -a

$ sudo apt-get install xkbset
$ xkbset q | grep Accessibility
Accessibility Features (AccessX) = On
$ xkbset -a
$ xkbset q | grep Accessibility
Accessibility Features (AccessX) = Off

ก็จัดการเพิ่มคำสั่งลงใน ~/bin/xfce-init ของผมเสีย:

$ vi ~/bin/xfce-init
#!/bin/sh

$HOME/.screenlayout/dual.sh
xkbset -a

ปัญหาก็หายเป็นปลิดทิ้ง

ประเมินผล

  • เรื่องการใช้สองจอ Xfce ทำได้ดี ยกเว้นการตั้งค่าที่ยังต้องใช้ ARandR ช่วย แต่หลังจากนั้นก็ไหลลื่นตลอด ในแง่นี้ถือว่า Xfce ทำได้ดีกว่า LXDE แต่ก็ยังด้อยกว่า E17
  • การแสดงสถานะการทำงานของเครื่อง Xfce มีให้ครบตามความต้องการ
  • นาฬิกาและปฏิทิน พาเนลของ Xfce ปกติมีแต่นาฬิกา ไม่มีปฏิทิน ต้องเรียก Orage ขึ้นมาต่างหาก ซึ่งจะได้ปฏิทินที่เชื่อมรวมกับ evolution-data-server เกินความต้องการไปหน่อย แต่ก็ถือว่ามีให้ใช้
  • flash drive เสียบแล้วเมานท์ได้ ไม่มีปัญหา
  • suspend เครื่องได้ ล็อคหน้าจอได้
  • workspace จัดเรียง 2x2 ได้ เปลี่ยน workspace ด้วยแป้นพิมพ์ได้รอบทิศเหมือน GNOME 2
  • การใช้งานโดยรวม ให้ความรู้สึกเหมือน GNOME ที่คุ้นเคย ทำงานได้ไหลลื่นไม่มีสะดุด

เมื่อเทียบกันระหว่าง E17, LXDE และ Xfce แล้ว ผมชอบ Xfce ที่สุด แม้การเซ็ตจอจะขลุกขลักกว่า E17 แต่หลังจากนั้นมันอัตโนมัติหมด ถือว่ายอมรับได้ ฟีเจอร์ต่าง ๆ ก็มีครบตามที่ต้องการใช้ และยังมีความคาบเกี่ยวกับ GNOME อยู่มาก ทำให้ยังเชื่อมโยงกับงานเดิมที่ทำกับ GNOME ได้อยู่

ส่วนอีกสองตัวนั้น ผมชอบ E17 ในแง่ความเนี้ยบของกราฟิกส์ และความสมบูรณ์ของการพัฒนา ติดแต่ว่ามอดูลที่ให้มีน้อยไปหน่อย (มี third party อยู่บ้าง แต่ยังไม่มีเป็นแพกเกจใน Debian) มีปัญหาการ suspend เครื่อง และการใช้ toolkit ที่แตกต่างจาก GNOME ก็ทำให้เชื่อมโยงกับงานเก่าได้ลำบาก

ส่วน LXDE นั้น ผมชอบในความเบา ความเร็ว และการใช้ฟีเจอร์ร่วมกับ GNOME บางส่วน แต่ติดที่ความขาดแคลนต่าง ๆ โดยเฉพาะการรองรับสองจอที่ยังขาด

ตอนนี้ ผมก็เลยยึด Xfce เป็นที่พักพิงมาระยะหนึ่งแล้ว app บางตัวที่เคยเลือกใช้เพราะมัน เชื่อมรวมกับ GNOME ได้ดี จนพอมาใช้ Xfce แล้วกลายเป็น ดีเกินไป โดยมีอะไรประหลาดโผล่มาเยอะ ก็เปลี่ยนไปใช้ตัวอื่น เช่น เปลี่ยนจาก empathy กลับมาหา pidgin เพื่อหลบจากไดอะล็อกทั้งหลายของ gnome-keyring ส่วน app อื่น ๆ ก็คงจะพิจารณาเป็นกรณีไป

อ้อ! กลับมาที่การเปรียบเทียบการใช้หน่วยความจำเสียหน่อย.. ระบบที่ปรับแต่งแล้วของผมใช้หน่วยความจำดังนี้ (วัดด้วยการรีบูต เปิดเทอร์มินัล 1 หน้าต่าง และเรียก gnome-system-monitor ขึ้นมาอ่านหน่วยความจำเหมือนกันทุกตัว เพื่อให้โหลดที่เพิ่มจากระบบเปล่า ๆ มีพอ ๆ กัน):

E17 193 MB
LXDE 203 MB
Xfce 252 MB
GNOME Fallback 456 MB
GNOME Shell 544 MB

ที่ E17 กลายเป็นแชมป์แทนนั้น เกิดจากการ unload มอดูลที่ผมไม่ได้ใช้ เช่น Gadget (desklet)

Update: Xfce ที่ผมทดสอบ เป็นรุ่น 4.8 ยังไม่สามารถเซ็ตสองจอผ่านเครื่องมือของ Xfce เองได้ แต่ไปเห็นข่าวว่า Xfce 4.12 สามารถเซ็ตได้แล้ว ก็คงรอรุ่นใหม่ครับ

ป้ายกำกับ: ,

2 ความเห็น:

  • 28 พฤศจิกายน 2555 เวลา 21:28 , Blogger Thep แถลง…

    Update: Xfce ที่ผมทดสอบ เป็นรุ่น 4.8 ยังไม่สามารถเซ็ตสองจอผ่านเครื่องมือของ Xfce เองได้ แต่ไปเห็นข่าวว่า Xfce 4.12 สามารถเซ็ตได้แล้ว ก็คงรอรุ่นใหม่ครับ

     
  • 22 ธันวาคม 2555 เวลา 13:47 , Blogger rchatsiri แถลง…

    ผมยังใช้ gnome อยู่เลย ยังงงเหมือนกันว่าหน้าจอมันทำยังไงให้ใช้งานได้สองจอ ปกติแล้วผมก็แก้ให้ xorg.conf ให้มันเลือกหน้าจอแรก กับหน้าจอที่สองเอา. ใน linux.thai.net นี้สร้าง Article หรือ Blog ได้ไหมครับ?

     

แสดงความเห็น (มีการกลั่นกรองสำหรับ blog ที่เก่ากว่า 14 วัน)

<< กลับหน้าแรก

hacker emblem