วิธีผสานรวมแอปพลิเคชันและสคริปต์เข้ากับเดสก์ท็อป Linux

เผยแพร่แล้ว: 2022-10-12
แล็ปท็อปบนพื้นหลังสีน้ำเงินแสดงพรอมต์คำสั่ง Linux
fatmawati achmad zaenuri/Shutterstock.com

บน Linux แอปพลิเคชันที่ไม่มีไฟล์เดสก์ท็อปจะไม่รวมเข้ากับสภาพแวดล้อมเดสก์ท็อปของคุณ แอปพลิเคชันส่วนใหญ่มีให้ แต่บางครั้งคุณจะต้องสร้างแอปพลิเคชันขึ้นมา มันค่อนข้างง่าย เพียงทำตามขั้นตอนเหล่านี้

ไฟล์เดสก์ท็อป

ไฟล์เดสก์ท็อปมีข้อมูลเกี่ยวกับแอปพลิเคชันหรือสคริปต์ที่เป็นของ มักใช้กับไฟล์เรียกทำงานแบบไบนารี แต่คุณสามารถใช้กับสคริปต์ได้เช่นกันหากต้องการ เพื่อความกระชับ เราจะพูดว่า “application”

9 Bash Script ตัวอย่างเพื่อให้คุณเริ่มต้นบน Linux
ที่เกี่ยวข้อง 9 ตัวอย่างสคริปต์ทุบตีเพื่อให้คุณเริ่มต้นบน Linux

ไฟล์เดสก์ท็อปมีข้อมูลเมตาที่สภาพแวดล้อมเดสก์ท็อปของคุณสามารถอ้างอิงได้เมื่อจัดการกับแอปพลิเคชันนั้น ไฟล์เดสก์ท็อปจะระบุตำแหน่งไบนารีของแอปพลิเคชันหรือสคริปต์ ใช้ไอคอนอะไร และอื่นๆ เนื่องจากไฟล์เดสก์ท็อปถูกจัดเก็บไว้ในตำแหน่งมาตรฐาน สภาพแวดล้อมเดสก์ท็อปของคุณสามารถระบุตำแหน่งและอ้างอิงได้อย่างน่าเชื่อถือ

หากแอปพลิเคชันไม่มีไฟล์เดสก์ท็อป การผสานรวมกับสภาพแวดล้อมเดสก์ท็อปของคุณบางส่วนจะล้มเหลว มันจะไม่ปรากฏในผลลัพธ์ของการค้นหาแอปพลิเคชัน และคุณจะไม่สามารถปักหมุดแอปนั้นกับด็อคหรือตัวเรียกใช้งานอื่นๆ ได้ ในสภาพแวดล้อมเดสก์ท็อปบางอย่าง คุณสามารถวางไฟล์เดสก์ท็อปไว้บนเดสก์ท็อปของคุณ และไฟล์นั้นจะทำหน้าที่เป็นทางลัด ให้คุณเรียกใช้แอปพลิเคชันได้โดยดับเบิลคลิกที่ไฟล์เดสก์ท็อป เป็นกรณีการใช้งานที่ให้ชื่อแก่พวกเขา

วิธีการคอมไพล์และติดตั้งจากซอร์สบน Ubuntu
ที่เกี่ยวข้อง วิธีการคอมไพล์และติดตั้งจากแหล่งที่มาบน Ubuntu

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

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

ไม่ว่าคุณจะสร้างไฟล์เดสก์ท็อปเพื่ออะไร วิธีทำจะเหมือนกันในทุกกรณี

การสร้างไฟล์เดสก์ท็อป

ไฟล์เดสก์ท็อปเป็นไฟล์ข้อความธรรมดา สามารถสร้างได้โดยใช้โปรแกรมแก้ไขข้อความ พวกเขาได้รับชื่อเดียวกับแอปพลิเคชันที่พวกเขาเป็นตัวแทนและมีส่วนขยาย ".desktop" ตามแบบแผน

ไฟล์เดสก์ท็อปอาจมีความคิดเห็น ส่วนหัวของกลุ่ม และคู่คีย์-ค่า

  • ความคิดเห็น : ความคิดเห็นเริ่มต้นด้วยแฮช “ #
  • ส่วนหัว ของกลุ่ม : ส่วนหัวของกลุ่มทำหน้าที่เป็นชื่อส่วน อยู่ในวงเล็บ "[]" ใช้เพื่อจัดกลุ่มชุดคีย์-ค่าที่เกี่ยวข้องกัน ส่วนหัวของกลุ่มบังคับเท่านั้นคือ "[Desktop Entry]"
  • คู่คีย์-ค่า : การตั้งค่าถูกป้อนโดยการระบุค่าให้กับองค์ประกอบที่มีชื่อหรือ "คีย์" ตัวอย่างเช่น Type=Application เป็นคู่คีย์-ค่า “ประเภท” คือกุญแจสำคัญ และ “แอปพลิเคชัน” คือค่า

ตัวอย่างการทำงาน

ก่อนที่คุณจะเริ่ม ตรวจสอบให้แน่ใจว่าแอปพลิเคชันทำงาน เปิดหน้าต่างเทอร์มินัลแล้วเปิดแอปพลิเคชัน ถ้าวิ่งได้จะดีมาก คุณสามารถดำเนินการต่อและสร้างไฟล์เดสก์ท็อปของคุณได้ หากแอปพลิเคชันไม่ทำงาน ไม่ว่าคุณจะใส่อะไรในไฟล์เดสก์ท็อป มันก็จะไม่ทำงาน

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

โปรแกรมที่เรากำลังทำงานด้วยมีไฟล์ปฏิบัติการที่เรียกว่า taf ซึ่งอยู่ในไดเร็กทอรี “/usr/local/bin/taf/” เราจะเปิดแอปพลิเคชันเพื่อให้แน่ใจว่าเริ่มทำงานโดยไม่มีปัญหาใดๆ

 ./taf 

เปิดตัวแอปพลิเคชั่น taf

โปรแกรมเปิดตัวได้ดี

แอปพลิเคชัน taf ที่ทำงานเป็นแอปพลิเคชัน GNOME GTK

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

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

  • หากคุณเป็นคนเดียวที่จะใช้แอปพลิเคชันนี้ ให้คัดลอกไฟล์เดสก์ท็อปของคุณไปที่ไดเร็กทอรี “~/.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 

การคัดลอกไฟล์เดสก์ท็อปไปยังไดเร็กทอรี /usr/share/applications

เรายังจะตรวจสอบให้แน่ใจว่าไฟล์เดสก์ท็อปใหม่ของเราถูกอ่านและเพิ่มข้อมูลเมตาในฐานข้อมูล

 sudo update-desktop-database 

กำลังอัปเดตฐานข้อมูลไฟล์เดสก์ท็อป

ปกติปุ่ม "Super" จะอยู่ระหว่างปุ่ม "Ctrl" และ "Alt" ทางซ้าย การกดปุ่ม "Super" ใน GNOME จะเข้าสู่การค้นหาแอปพลิเคชัน เนื่องจากไฟล์เดสก์ท็อปของเราอธิบายแอปพลิเคชันที่เรียกว่า "Text Adventure Framework" การป้อน "ข้อความ" เนื่องจากคำใบ้การค้นหาก็เพียงพอที่จะแสดงไอคอนของแอปพลิเคชันในผลการค้นหา

การคลิกที่ไอคอนจะเป็นการเปิดแอปพลิเคชัน

กำลังอัปเดตฐานข้อมูลไฟล์เดสก์ท็อป

แอปพลิเคชันได้รับการรวมเข้ากับสภาพแวดล้อมเดสก์ท็อปอย่างสวยงาม ไอคอนของมันจะแสดงอย่างถูกต้องในท่าเรือขณะทำงาน การชี้ไปที่ไอคอนจะแสดงคำแนะนำเครื่องมือที่มีชื่อเต็มของแอปพลิเคชัน

การคลิกที่ไอคอนจะแสดงมุมมองการแสดงตัวอย่างหน้าต่าง โดยแสดงหน้าต่างที่แอปพลิเคชันเปิดขึ้น

คลิกขวาที่ไอคอนแอปพลิเคชันจะสร้างเมนูบริบท การเลือกตัวเลือก "เพิ่มในรายการโปรด" จะตรึงแอปพลิเคชันไว้ที่ท่าเรือ

เมนูบริบทที่ไฮไลต์ตัวเลือก "ปักหมุดที่รายการโปรด" ไว้

ไอคอนแอปพลิเคชันถูกย้ายเหนือเส้นคั่นและกลายเป็นไอคอนถาวรบนท่าเรือ ไอคอนจะปรากฏขึ้นแม้ว่าแอปพลิเคชันจะไม่ทำงาน

Go Native

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

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

ที่เกี่ยวข้อง: ทำอย่างไรให้มีประสิทธิภาพมากขึ้นใน Ubuntu โดยใช้แป้นพิมพ์ลัด