ส่วนใหญ่ติดตั้งโปรแกรมจาก official package manager จึงไม่ต้องคิดว่ามันไปอยู่ไหนใน Linux ติดตั้งเสร็จพิมพ์ชื่อโปรแกรม มันก็ทำงานได้เลย แต่ถ้าคุณเขียน executable shell script เอง หรือดาวน์โหลดโปรแกรมจากเว็บ หรือ compile จาก source แล้วมันรันไม่ได้นอกจาก directory เฉพาะ? ต้องตรวจสอบว่าโปรแกรมปลอดภัยก่อนรันเสมอ แต่มีหลายวิธีให้มันรันได้ทุกที่ทันที
ก่อนอื่น ต้องทำงานที่ command line หา Terminal จาก Ubuntu Dash (Unity) หรือกด Ctrl+Alt+T สำหรับ desktop environments ส่วนใหญ่ LXDE, Xfce4, KDE คลิก Applications menu > System Tools > Terminal แม้มักต้องการ admin access สำหรับโปรแกรม แต่สำหรับเรื่องนี้ส่วนใหญ่ไม่ต้อง sudo
วิธีที่ 1: แก้ไข Path Variables
สมมติรู้ว่าโปรแกรมอยู่ไหน และพร้อม execute แล้ว เพิ่มเข้า PATH ได้ search path บอก bash ว่าไปหาชื่อโปรแกรมที่พิมพ์ที่ prompt ไหน ถ้าเคยใช้ Windows/MS-DOS command lines คงจำ trick นี้ สมมติมี executable ใน Downloads folder อยากรันจากทุกที่ตลอด session พิมพ์ export PATH=$PATH:~/Downloads กด enter
จะเปลี่ยน path สำหรับ current session เท่านั้น เปิด window ใหม่หรือปิด window จะกลับ default path เหมาะสำหรับทดลอง แต่ไม่ ideal ถ้าอยาก permanent พิมพ์ nano ~/.bashrc ที่ command line
ถ้าชอบ editor อื่นอย่าง vi/vim แทน nano ในคำสั่งเลื่อน Page Down หรือลูกศรลงไปท้ายไฟล์ เพิ่ม path command เช่นเราเพิ่ม export PATH=$PATH:/home/user/Downloads ท้ายไฟล์ทำให้ permanent
จะถูก parse ทุกครั้งที่เปิด shell window ใหม่ จำไว้ username อาจไม่ใช่ user ให้แทนเอง กด Ctrl+O save (nano) Ctrl+X exit ควรเสร็จแล้ว สำหรับผู้ใช้ส่วนใหญ่พอ เพราะวิธีนี้เกี่ยวข้องน้อยที่สุด ยังมี path อื่นๆ ให้เลือก (no pun intended)
วิธีที่ 2: สร้าง ~/.local/bin Directory
~/.local/bin directory อยู่ใน default PATH assignments ของระบบส่วนใหญ่ แต่ tend to ไม่ได้สร้างจริงบน GNU/Linux implementations ยอดนิยม ถ้ายังไม่เคยสร้างเพราะทำ shell script หรืออยากรันจากทุกที่ อาจยังไม่มี แต่เพราะอยู่ใน default PATH โปรแกรมจะรันจากนี่ได้ทันที
ที่ command prompt พิมพ์ mkdir ~/.local/bin กด enter ไม่มี output ถ้า error “mkdir: cannot create directory “/home/user/.local/bin”” (ชื่อ user อาจต่าง) แสดงว่า directory นี้มีอยู่แล้ว ไม่ต้องสน error เพราะแค่บอกว่ามี directory นี้อยู่แล้ว bash ไม่ให้สร้างซ้ำ
ตอนนี้ ย้ายอะไรก็ตามเข้า directory นี้ ควรรันจากที่ไหนก็ได้ สมมติมี shell script ชื่อ chkFile ใน Downloads folder ที่เช็คปลอดภัยแล้ว (ตัวอย่างชื่อ ไฟล์จริงต้อง ls ~/Downloads หาชื่อจริง) ถ้าตัวอย่างถูก พิมพ์ chmod +x ~/Downloads/chkFile ทำให้ executable แล้ว mv ~/Downloads/chkFile ~/.local/bin ย้ายเข้า directory ที่ถูกต้อง ตั้งแต่นี้รันได้จากทุกที่
วิธีที่ 3: รันโปรแกรมแบบ Graphical
แม้หลาย Linux users ชอบ command line แต่ไม่บังคับต้องรัน scripts แบบนั้น ถ้าไม่อยาก มี options อื่น กด Super+E ใน graphical desktop environments เปิด file browser หรือค้นหา File Manager จาก Ubuntu Unity Dash ขึ้นกับ configuration จะเห็น folders ใน home directory ดับเบิลคลิก folder ที่มี executable ต้องการ หรือ highlight กด enter
ขึ้นกับ file manager ต่อไปจะต่างกัน บางตัว run อัตโนมัติใน terminal หรือ start as program บางตัวอย่าง PCManFM (มากับ Lubuntu) จะให้ prompt
กระบวนการนี้ clunky เล็กน้อย ควรทำกับไฟล์ที่มั่นใจว่า worthwhile แต่เป็นวิธี useful เริ่ม scripts ขณะ authoring อาจถูกมองข้ามโดยผู้ที่ทำงาน command line เท่านั้น
ABOUT THE AUTHOR

Kevin Arrows
Kevin Arrows เป็นผู้เชี่ยวชาญด้านเทคโนโลยีที่มีประสบการณ์มากกว่า 10 ปี ได้รับการรับรอง Microsoft Certified Technology Specialist (MCTS) มีความหลงใหลในการอัปเดตเทคโนโลยีล่าสุด เขียนบทความเกี่ยวกับหัวข้อเทคโนโลยีกว้างขวาง แสดงความเชี่ยวชาญในด้านการพัฒนาซอฟต์แวร์ ความปลอดภัยไซเบอร์ และ Cloud Computing ได้รับการยอมรับและเคารพจากเพื่อนร่วมงาน สามารถอธิบายแนวคิดทางเทคนิคที่ซับซ้อนได้อย่างชัดเจนและกระชับ