Linux คือเสรีภาพ ในขณะที่ระบบปฏิบัติการเฉพาะเจ้ามักชี้ทางไปยังค่าเริ่มต้นสำหรับแต่ละประเภทแอป (เช่นเว็บเบราว์เซอร์) Linux ให้เครื่องมือปรับแต่งระบบตามความชอบของคุณ คุณควรจะมีโปรแกรมประเภทเดียวกันหลายตัวก็ได้ และนั่นคือสิ่งที่ update-alternatives ทำ — วิธีง่ายๆ ในการสลับระหว่างตัวเลือก
นี่คือวิธีใช้งานใน Ubuntu (และระบบ Debian-based อื่นๆ)
ระบบ update-alternatives
ก่อนจะเจาะลึกลงไปในตัวเลือกต่างๆ เรามาดูเบื้องหลังก่อน ตัวเลือกหนึ่งคือ editor ซึ่งให้ตัวแก้ไขข้อความในเทอร์มินัล:
whereis editor
editor: /usr/bin/editor /usr/share/man/man1/editor.1.gz
และการเปิดไฟล์ข้อความด้วยคำสั่งนี้ทำงานได้ตรงตามที่คาดหวัง:
sudo editor /etc/fstab
คำสั่งนี้จะเปิดไฟล์ config ไฟล์ระบบไฟล์ในตัวแก้ไขข้อความ... แต่เป็นตัวไหน? ในระบบด้านล่างมันเปิดใน nano:
คำสั่ง editor จริงๆ แล้วคือ symbolic link (symlink) ลิงก์ไปที่ nano เหรอ? ไม่ใช่! คำสั่ง /usr/bin/editor เป็นลิงก์ไปที่ /etc/alternatives/editor ไดเรกทอรี /etc/alternatives คือที่ที่จัดการ alternatives ทั้งหมดในระบบเป็น symbolic links ลิงก์เหล่านี้ชี้ไปที่โปรแกรมจริง ดังนั้นจึงเป็นลิงก์ (ใน PATH ของคุณ) ไปยังลิงก์ (ในไดเรกทอรี alternatives) ไปยังโปรแกรม
เหมือนที่คุณคาดเดา update-alternatives คือเครื่องมือช่วยจัดการลิงก์เหล่านี้ มาดูวิธีใช้งานกัน
ตัวอย่างการใช้งาน update-alternatives
คำสั่ง update-alternatives ส่วนใหญ่ที่คุณจะใช้จะมีรูปแบบนี้:
sudo update-alternatives [option] [alternative(s)]
ในข้างต้น alternative(s) หมายถึงโปรแกรมที่คุณจะใช้จริง option คือสิ่งที่คุณต้องการทำกับมัน เพื่อต่อยอดกับส่วนประกอบ editor ก่อนที่เราจะไปทำอะไรกัน เรามาดูภาพรวมก่อน ตัวเลือก display แสดงรายละเอียดบางส่วน
update-alternatives --display editor
บรรทัดบนสุดบอกพาธไปยังคำสั่ง editor เอง รวมถึงสิ่งที่ลิงก์อยู่ตอนนี้ มีรายการเยอะอยู่ในนั้น รวมถึงหน้า man และการแปลภาษา คำสั่ง list ที่โฟกัสมากกว่าจะทำให้เข้าใจง่ายขึ้น:
update-alternatives --list editor
นี่คุณเห็นว่า nano อยู่ในรายการ alternative สำหรับ editor จริงๆ แล้วเราสามารถใช้อะไรได้บ้าง? นี่ให้ 3 ตัวเลือก รวมถึง VIM คุณสามารถกำหนด editor ให้เรียกโปรแกรม VIM แทนได้ด้วยตัวเลือก config
sudo update-alternatives --config editor
ใช้เมนูโต้ตอบเพื่อเลือกตัวเลือกใหม่ หรือถ้าคุณรู้โปรแกรมที่ต้องการ ใช้ตัวเลือก set:
sudo update-alternatives --set editor /usr/bin/vim.basic
ต่อไปเรามาดู alternatives บางตัวที่คุณอาจอยากลอง
ตัวเลือก update-alternatives ที่น่าสนใจ
như đã nói มีแพ็กเกจมากมายที่ใช้ระบบ update-alternatives นี่คือบางตัวที่อาจมีประโยชน์ในการจัดการระบบของคุณ:
update-alternatives --config java
บางโปรแกรมคาดหวัง/ต้องการ Java เวอร์ชันเฉพาะ ในระบบ Ubuntu-based คุณสามารถติดตั้ง OpenJDK (Java โอเพนซอร์ส) หลายเวอร์ชันจาก repositories และติดตั้ง Oracle JRE อย่างเป็นทางการหลายเวอร์ชันด้วยตนเอง การตั้งค่าตัวหล者เป็น alternatives จะให้คุณสลับสภาพแวดล้อม Java ที่เปิดโปรแกรมได้ทุกเมื่อ
หมายเหตุ: มี alternatives ที่เกี่ยวข้องกับ Java หลายตัวที่ควรอัปเดตพร้อมกัน ดูที่แอปสะดวก update-java-alternatives ซึ่งทำงานเฉพาะ Java ให้คุณ
update-alternatives --config x-www-browser/gnome-www-browser
เรื่องนี้เข้าใจง่าย จะให้ตั้งค่าเว็บเบราว์เซอร์เริ่มต้น ถ้าคุณทำงานในเดสก์ท็อป GNOME ควรดู gnome-www-browser ด้วย
update-alternatives --config mozilla-flashplugin
ดีหรือไม่ดี ยังมีเว็บไซต์เยอะที่ใช้ Flash นี่จะช่วยสลับระหว่าง Adobe รุ่นทางการและรุ่นโอเพนซอร์สเช่น gnash
ถ้าคุณอยากรู้ alternatives ทั้งหมดที่มี ลองคำสั่งนี้เพื่อรายการทั้งหมดพร้อมการตั้งค่าปัจจุบัน:
update-alternatives --get-selections
การปรับแต่ง Alternatives ของคุณ
การจัดการตัวเลือกที่ Canonical ให้มานั้นดีแล้ว แต่ถ้าไม่สามารถทำให้เป็นของตัวเองได้ ไม่ใช่เสรีภาพหรอก ในส่วนต่อไปเราจะดูวิธีเพิ่มและลบกลุ่ม alternatives ของตัวเอง
เพิ่ม Alternatives จากระบบ
Alternatives จะถูกเพิ่มเข้าระบบอัตโนมัติเมื่อคุณติดตั้งแพ็กเกจที่รองรับ ตัวอย่างเช่น ถ้าคุณติดตั้ง emacs กระบวนการติดตั้งจะรันสคริปต์สร้างตัวเลือกที่จำเป็นใน /etc/alternatives รวมถึง priority
แต่คุณสามารถสร้าง alternatives ของตัวเองได้เช่นกัน ถ้าคุณกล้าพอ ถ้าทำเช่นนั้น คุณควรจำว่า คุณต้องเพิ่ม alternatives เหล่านี้ด้วยตนเอง ตัวอย่าง ถ้าคุณสร้าง alternative ใหม่ชื่อ x-word-processor คุณต้องเพิ่มโปรแกรมตัวแรกและตัวต่อไปด้วยตนเอง คุณต้องลบด้วย ไม่งั้นอาจพบ alternative ชี้ไปโปรแกรมที่ไม่มีอยู่แล้ว
มาเพิ่มกลุ่มชื่อ x-word-processor และ alternative หนึ่ง (ในที่นี้คือ LibreOffice Writer ที่ยอดเยี่ยม) ดังนี้:
sudo update-alternatives --install /usr/bin/word-processor x-word-processor /usr/bin/lowriter 40
คำสั่งนี้สร้าง:
- คำสั่งใหม่ (จริงๆ คือ symlink) ชื่อ word-processor แทน;
- กลุ่ม alternatives ใหม่ชื่อ x-word-processor ซึ่ง;
- ประกอบด้วย (และเริ่มต้นเป็น) แอปพลิเคชัน /usr/bin/lowriter ซึ่งมี;
- Priority 40
การเรียก word-processor จากบรรทัดคำสั่งจะเปิด LibreOffice Writer (ระบุข้างต้นเป็น lowriter) คุณสามารถเพิ่มอื่นๆ ได้ (เช่น word processor โหมดข้อความ wordgrinder) ด้วยคำสั่งเดียวกัน เปลี่ยนพาธโปรแกรมจริงตามต้องการ:
sudo update-alternatives --install /usr/bin/word-processor x-word-processor /usr/bin/wordgrinder 20
ตอนนี้การ query กลุ่ม x-word-processor จะแสดง 2 ตัวเลือก
โดยกลุ่มอยู่ในโหมด "auto" หมายถึงระบบจะใช้ตัวเลือกที่มี Priority สูงสุด (ตัวเลข) — ในที่นี้คือ LibreOffice (40 เทียบกับ wordgrinder ที่ 20) คุณสามารถใช้ตัวเลือก config ข้างต้นเพื่อเปลี่ยนได้
ลบ Alternatives จากระบบ
ถ้าคุณตัดสินใจว่าไม่ต้องการตัวเลือกใด คำสั่งง่ายๆ ด้วยตัวเลือก remove จะลบมันได้
sudo update-alternatives --remove x-word-processor /usr/bin/wordgrinder
สุดท้าย ตัวเลือก remove-all จะลบกลุ่มทั้งหมด รวมถึง alternatives ทั้งหมด:
sudo update-alternatives --remove-all x-word-processor
โปรดทราบว่าคำสั่งเหล่านี้ลบ entries update alternatives เท่านั้น ไม่ใช่ โปรแกรมที่พวกมันลิงก์ไป
คุณเคยใช้ update-alternatives มาก่อนไหม? มีเคล็ดลับหรือทริคเกี่ยวกับการทำงานกับ alternatives ไหม? บอกเราในความคิดเห็น!
Image Credit: momente via Shutterstock.com