วิธีผสานรวมแอปพลิเคชันและสคริปต์เข้ากับเดสก์ท็อป Linux
เผยแพร่แล้ว: 2022-10-12บน Linux แอปพลิเคชันที่ไม่มีไฟล์เดสก์ท็อปจะไม่รวมเข้ากับสภาพแวดล้อมเดสก์ท็อปของคุณ แอปพลิเคชันส่วนใหญ่มีให้ แต่บางครั้งคุณจะต้องสร้างแอปพลิเคชันขึ้นมา มันค่อนข้างง่าย เพียงทำตามขั้นตอนเหล่านี้
ไฟล์เดสก์ท็อป
ไฟล์เดสก์ท็อปมีข้อมูลเกี่ยวกับแอปพลิเคชันหรือสคริปต์ที่เป็นของ มักใช้กับไฟล์เรียกทำงานแบบไบนารี แต่คุณสามารถใช้กับสคริปต์ได้เช่นกันหากต้องการ เพื่อความกระชับ เราจะพูดว่า “application”
ไฟล์เดสก์ท็อปมีข้อมูลเมตาที่สภาพแวดล้อมเดสก์ท็อปของคุณสามารถอ้างอิงได้เมื่อจัดการกับแอปพลิเคชันนั้น ไฟล์เดสก์ท็อปจะระบุตำแหน่งไบนารีของแอปพลิเคชันหรือสคริปต์ ใช้ไอคอนอะไร และอื่นๆ เนื่องจากไฟล์เดสก์ท็อปถูกจัดเก็บไว้ในตำแหน่งมาตรฐาน สภาพแวดล้อมเดสก์ท็อปของคุณสามารถระบุตำแหน่งและอ้างอิงได้อย่างน่าเชื่อถือ
หากแอปพลิเคชันไม่มีไฟล์เดสก์ท็อป การผสานรวมกับสภาพแวดล้อมเดสก์ท็อปของคุณบางส่วนจะล้มเหลว มันจะไม่ปรากฏในผลลัพธ์ของการค้นหาแอปพลิเคชัน และคุณจะไม่สามารถปักหมุดแอปนั้นกับด็อคหรือตัวเรียกใช้งานอื่นๆ ได้ ในสภาพแวดล้อมเดสก์ท็อปบางอย่าง คุณสามารถวางไฟล์เดสก์ท็อปไว้บนเดสก์ท็อปของคุณ และไฟล์นั้นจะทำหน้าที่เป็นทางลัด ให้คุณเรียกใช้แอปพลิเคชันได้โดยดับเบิลคลิกที่ไฟล์เดสก์ท็อป เป็นกรณีการใช้งานที่ให้ชื่อแก่พวกเขา
แอปพลิเคชันอาจไม่มีไฟล์เดสก์ท็อปด้วยเหตุผลหลายประการ รูทีนการติดตั้งอาจสะดุดหรืออาจเป็นตัวติดตั้งแบบมินิมอลที่ไม่เคยมีเจตนาให้ การดาวน์โหลดแอปพลิเคชันเป็นซอร์สโค้ดและคอมไพล์บนคอมพิวเตอร์ของคุณมักจะไม่สร้างไฟล์เดสก์ท็อป
แน่นอน ถ้าคุณเขียนแอปพลิเคชันเอง คุณจะต้องรับผิดชอบไฟล์เดสก์ท็อปด้วย แอปพลิเคชันที่มีพฤติกรรมที่ดีและสอดคล้องกับบรรทัดฐานและความคาดหวังของสภาพแวดล้อมเดสก์ท็อปของคุณคือแอปพลิเคชันที่ให้ความรู้สึกเป็นมืออาชีพและให้ความมั่นใจแก่ผู้ใช้ว่าคุณรู้ว่าคุณกำลังทำอะไรอยู่
ไม่ว่าคุณจะสร้างไฟล์เดสก์ท็อปเพื่ออะไร วิธีทำจะเหมือนกันในทุกกรณี
การสร้างไฟล์เดสก์ท็อป
ไฟล์เดสก์ท็อปเป็นไฟล์ข้อความธรรมดา สามารถสร้างได้โดยใช้โปรแกรมแก้ไขข้อความ พวกเขาได้รับชื่อเดียวกับแอปพลิเคชันที่พวกเขาเป็นตัวแทนและมีส่วนขยาย ".desktop" ตามแบบแผน
ไฟล์เดสก์ท็อปอาจมีความคิดเห็น ส่วนหัวของกลุ่ม และคู่คีย์-ค่า
- ความคิดเห็น : ความคิดเห็นเริ่มต้นด้วยแฮช “
#
“ - ส่วนหัว ของกลุ่ม : ส่วนหัวของกลุ่มทำหน้าที่เป็นชื่อส่วน อยู่ในวงเล็บ "[]" ใช้เพื่อจัดกลุ่มชุดคีย์-ค่าที่เกี่ยวข้องกัน ส่วนหัวของกลุ่มบังคับเท่านั้นคือ "[Desktop Entry]"
- คู่คีย์-ค่า : การตั้งค่าถูกป้อนโดยการระบุค่าให้กับองค์ประกอบที่มีชื่อหรือ "คีย์" ตัวอย่างเช่น
Type=Application
เป็นคู่คีย์-ค่า “ประเภท” คือกุญแจสำคัญ และ “แอปพลิเคชัน” คือค่า
ตัวอย่างการทำงาน
ก่อนที่คุณจะเริ่ม ตรวจสอบให้แน่ใจว่าแอปพลิเคชันทำงาน เปิดหน้าต่างเทอร์มินัลแล้วเปิดแอปพลิเคชัน ถ้าวิ่งได้จะดีมาก คุณสามารถดำเนินการต่อและสร้างไฟล์เดสก์ท็อปของคุณได้ หากแอปพลิเคชันไม่ทำงาน ไม่ว่าคุณจะใส่อะไรในไฟล์เดสก์ท็อป มันก็จะไม่ทำงาน
คุณต้องแก้ไขสิ่งที่ขัดขวางไม่ให้แอปพลิเคชันเปิดตัวก่อนที่คุณจะคิดที่จะเพิ่มเลเยอร์นามธรรมอีกชั้นหนึ่งโดยใช้ไฟล์เดสก์ท็อป
โปรแกรมที่เรากำลังทำงานด้วยมีไฟล์ปฏิบัติการที่เรียกว่า taf
ซึ่งอยู่ในไดเร็กทอรี “/usr/local/bin/taf/” เราจะเปิดแอปพลิเคชันเพื่อให้แน่ใจว่าเริ่มทำงานโดยไม่มีปัญหาใดๆ
./taf
โปรแกรมเปิดตัวได้ดี
การทดสอบง่ายๆ นั้นให้ความรู้ที่เป็นประโยชน์ หากเราพบปัญหาในการพยายามเปิดแอปพลิเคชันจากไฟล์เดสก์ท็อป แสดงว่าปัญหาต้องเกิดจากไฟล์เดสก์ท็อป ไม่ใช่ตัวแอปพลิเคชันเอง
เราสามารถสร้างไฟล์เดสก์ท็อปของเราได้ทุกที่ แต่เพื่อนำไปใช้จริง เราต้องคัดลอกไฟล์ไปยังหนึ่งในสองแห่ง
- หากคุณเป็นคนเดียวที่จะใช้แอปพลิเคชันนี้ ให้คัดลอกไฟล์เดสก์ท็อปของคุณไปที่ไดเร็กทอรี “~/.local/share/applications”
- หากคุณต้องการให้ผู้ใช้ทุกคนสามารถใช้แอปพลิเคชันนี้ได้ ให้คัดลอกไฟล์เดสก์ท็อปของคุณไปที่ไดเร็กทอรี “/usr/share/applications/”
ไฟล์เดสก์ท็อปที่ทำงานได้อย่างสมบูรณ์ไม่จำเป็นต้องมีข้อมูลมากนัก นี่คือไฟล์เดสก์ท็อปที่เราสร้างขึ้นสำหรับแอปพลิเคชัน taf
เรียกว่า "taf.desktop"
[รายการเดสก์ท็อป] Name=Text Adventure Framework GenericName=ล่ามสำหรับ GDL Adventure Scripts ความคิดเห็น=คำอธิบายเกม ล่ามภาษา เวอร์ชัน=1.0 Exec=/usr/local/bin/taf/taf เส้นทาง=/usr/local/bin/taf/ ไอคอน=/usr/local/bin/taf/taf_icon.png เทอร์มินัล=เท็จ Type=Application หมวดหมู่=GNOME;GTK;เกม;
สามารถใช้เป็นเทมเพลตสำหรับไฟล์เดสก์ท็อปของคุณเองได้ อย่าลืมใช้ชื่อปฏิบัติการของคุณสำหรับแอปพลิเคชันที่คุณกำลังสร้างไฟล์เดสก์ท็อป และแก้ไขเส้นทางไดเรกทอรีให้เหมาะสม
นี่คือความหมายของแต่ละบรรทัด
- [Desktop Entry] : บรรทัดนี้ระบุว่าไฟล์นั้นเป็นไฟล์เดสก์ท็อป แม้ว่าไฟล์จะตั้งชื่อผิดและไม่มีนามสกุล ".desktop" แต่ก็ควรได้รับการจดจำและจัดการเป็นไฟล์เดสก์ท็อป
- ชื่อ : ชื่อเต็มของแอปพลิเคชัน ไม่ใช่ชื่อของโปรแกรมสั่งการ ซึ่งจะแสดงอยู่ใต้ไอคอนแอปพลิเคชันเมื่อแสดงในสภาพแวดล้อมเดสก์ท็อป นอกจากนี้ยังเป็นข้อความที่จะใช้ในคำแนะนำเครื่องมือ
- GenericName : คำอธิบายทั่วไปของประเภทของแอปพลิเคชันนี้คือ หากมีคำทั่วไปที่ใช้ เช่น เว็บเบราว์เซอร์ IDE หรือโปรแกรมประมวลผลคำ คุณสามารถใช้คำนั้นได้
- ความคิดเห็น : มีวัตถุประสงค์เพื่อให้ข้อมูลเพิ่มเติมเพื่อเสริมคู่คีย์-ค่า "ชื่อ" และ "GenericName"
- เวอร์ชัน : เวอร์ชันของข้อกำหนดไฟล์เดสก์ท็อปที่ไฟล์นี้สอดคล้อง
- Exec : นี่อาจเป็นชื่อของไฟล์สั่งการ หรือพาธแบบเต็มไปยังไฟล์สั่งการ รวมถึงชื่อของไฟล์สั่งการ
- เส้นทาง : นี่คือเส้นทางไปยังไดเร็กทอรีที่แอปพลิเคชันจะเริ่มทำงาน เป็นไดเร็กทอรีการทำงานของแอปพลิเคชันเมื่อเปิดตัว
- ไอคอน : ไอคอนของแอปพลิเคชัน ไอคอนนี้ใช้ในผลการค้นหาแอปพลิเคชันและเมื่อมีการเพิ่มแอปพลิเคชันลงใน Dock หรือตัวเรียกใช้งานอื่นๆ
- เทอร์มินัล : ระบุว่าแอปพลิเคชันทำงานในหน้าต่างเทอร์มินัลหรือไม่
- ประเภท : สำหรับแอปพลิเคชันทั่วไป นี่จะเป็น “แอปพลิเคชัน” เสมอ
- หมวดหมู่ : ค่านี้ควรสิ้นสุดด้วยเซมิโคลอน “
;
” เพราะมันมี รายการ รายการมีหมวดหมู่ที่แอปพลิเคชันอาจแสดงอยู่ภายใต้เมนู
ทุกครั้งที่คุณแก้ไขไฟล์เดสก์ท็อปที่ใช้งาน อยู่ — ที่อยู่ใน “~/.local/share/applications” หรือ “/usr/share/applications/” คุณจะต้องออกจากระบบและเข้ามาใหม่อีกครั้งเพื่อดูว่าการเปลี่ยนแปลงของคุณมีผลอย่างไร ทำ. เพื่อหลีกเลี่ยงปัญหานี้ คุณสามารถใช้คำสั่ง update-desktop-database
คุณจะต้องใช้ sudo
เมื่อคุณทำ
sudo update-desktop-database
นอกจากนี้ยังมียูทิลิตี้เพื่อตรวจสอบความถูกต้องของไฟล์เดสก์ท็อปของคุณ หากตรวจพบไวยากรณ์หรือข้อผิดพลาดอื่นๆ จะรายงานให้คุณทราบ เราจะเพิ่มคำว่า "แอปพลิเคชัน" ลงในบรรทัด "หมวดหมู่" ในไฟล์ของเรา และตรวจสอบ
เราเปลี่ยนบรรทัดสุดท้ายเป็น:
หมวดหมู่=GNOME;GTK;เกม;แอปพลิเคชัน;
สิ่งนี้ควรทำให้เกิดข้อผิดพลาดเนื่องจากเลิกใช้งานหมวดหมู่ "แอปพลิเคชัน" แล้ว
desktop-file-validate taf.desktop
เครื่องมือตรวจสอบจะเตือนเราว่าหมวดหมู่ "แอปพลิเคชัน" ไม่ใช่ค่าที่ยอมรับได้ในรายการ "หมวดหมู่" อีกต่อไป
การใช้ไฟล์เดสก์ท็อปของคุณ
หากแอปพลิเคชันนี้มีไว้สำหรับคุณเท่านั้น ให้คัดลอกไฟล์เดสก์ท็อปไปยังไดเร็กทอรี “~/.local/share/applications” ของคุณ หากผู้ใช้ทุกคนได้รับอนุญาตให้ใช้แอปพลิเคชัน ให้คัดลอกไฟล์เดสก์ท็อปไปที่ไดเร็กทอรี “/usr/share/applications/”
เราจะคัดลอกไปยังไดเร็กทอรี “/usr/share/applications/”
sudo cp taf.desktop /usr/share/applications
เรายังจะตรวจสอบให้แน่ใจว่าไฟล์เดสก์ท็อปใหม่ของเราถูกอ่านและเพิ่มข้อมูลเมตาในฐานข้อมูล
sudo update-desktop-database
ปกติปุ่ม "Super" จะอยู่ระหว่างปุ่ม "Ctrl" และ "Alt" ทางซ้าย การกดปุ่ม "Super" ใน GNOME จะเข้าสู่การค้นหาแอปพลิเคชัน เนื่องจากไฟล์เดสก์ท็อปของเราอธิบายแอปพลิเคชันที่เรียกว่า "Text Adventure Framework" การป้อน "ข้อความ" เนื่องจากคำใบ้การค้นหาก็เพียงพอที่จะแสดงไอคอนของแอปพลิเคชันในผลการค้นหา
การคลิกที่ไอคอนจะเป็นการเปิดแอปพลิเคชัน
แอปพลิเคชันได้รับการรวมเข้ากับสภาพแวดล้อมเดสก์ท็อปอย่างสวยงาม ไอคอนของมันจะแสดงอย่างถูกต้องในท่าเรือขณะทำงาน การชี้ไปที่ไอคอนจะแสดงคำแนะนำเครื่องมือที่มีชื่อเต็มของแอปพลิเคชัน
การคลิกที่ไอคอนจะแสดงมุมมองการแสดงตัวอย่างหน้าต่าง โดยแสดงหน้าต่างที่แอปพลิเคชันเปิดขึ้น
คลิกขวาที่ไอคอนแอปพลิเคชันจะสร้างเมนูบริบท การเลือกตัวเลือก "เพิ่มในรายการโปรด" จะตรึงแอปพลิเคชันไว้ที่ท่าเรือ
ไอคอนแอปพลิเคชันถูกย้ายเหนือเส้นคั่นและกลายเป็นไอคอนถาวรบนท่าเรือ ไอคอนจะปรากฏขึ้นแม้ว่าแอปพลิเคชันจะไม่ทำงาน
Go Native
ผู้ใช้คาดหวังว่าจะสามารถดำเนินการบางอย่างกับแอปพลิเคชันเดสก์ท็อปได้ พวกเขาคาดหวังว่าแอปพลิเคชันจะปรากฏในผลการค้นหา พวกเขาจะสันนิษฐานว่าสามารถตรึงไว้กับตัวเรียกใช้งานและท่าเรือและมีคุณลักษณะอื่น ๆ ของแอปพลิเคชันเนทีฟที่มีมารยาทดี จำนวนการโต้ตอบที่น่าแปลกใจเหล่านี้ถูกควบคุมโดยไฟล์เดสก์ท็อป
หากคุณพบว่าตัวเองกำลังจัดการกับแอปพลิเคชันที่ไม่มีไฟล์เดสก์ท็อปอยู่ คุณสามารถสร้างมันขึ้นมาได้ แน่นอนว่าการเปิดแอปพลิเคชันด้วยมือทุกครั้ง
ที่เกี่ยวข้อง: ทำอย่างไรให้มีประสิทธิภาพมากขึ้นใน Ubuntu โดยใช้แป้นพิมพ์ลัด