Score:4

จะเพิ่มโฟลเดอร์ด้วยไฟล์ .desktop ได้อย่างไร?

ธง cn

ฉันรู้ว่าถ้าคุณต้องการเพิ่มรายการ .desktop จะต้องเพิ่มเข้าไป /usr/share/applicationsอย่างไรก็ตาม สิ่งที่ฉันต้องการคือเพิ่มโฟลเดอร์พิเศษที่สามารถโฮสต์ไฟล์ .desktop ได้

ถ้าฉันเรียกใช้ฐานข้อมูล update-desktop คุณจะเห็นว่าโปรแกรมเช่น snapd หรือ flatpak สร้างไดเร็กทอรีของตนเองโดยโฮสต์เป็น .desktop

ฐานข้อมูลใน [/usr/share/ubuntu/applications, /home/cactus/.local/share/flatpak/exports/share/applications, /var/lib/flatpak/exports/share/applications, /usr/local/share ไม่สามารถอัปเดต /applications, /usr/share/applications, /var/lib/snapd/desktop/applications]

ความคิดของฉันคือการเพิ่มโฟลเดอร์ /opt/applications ที่ฉันสามารถบันทึก .desktop ของแอปพลิเคชันที่คอมไพล์เอง

Score:10
ธง hr

ตาม คู่มือการดูแลระบบเดสก์ท็อป GNOME การปรับแต่งเมนู : ไฟล์รายการเดสก์ท็อป

ไฟล์รายการเดสก์ท็อปต้องอยู่ในไฟล์ $XDG_DATA_DIRS/แอปพลิเคชัน ไดเร็กทอรีและต้องมีนามสกุลไฟล์ .desktop ถ้า $XDG_DATA_DIRS 1 ไม่ได้ตั้งค่า เส้นทางเริ่มต้นคือ /usr/share ถูกนำมาใช้. นี้อีกด้วย หมายความว่ารายการเดสก์ท็อปเฉพาะของผู้ใช้อาจอยู่ที่ $XDG_DATA_HOME/แอปพลิเคชัน ซึ่งถูกค้นหาเป็นอันดับแรก ถ้า $XDG_DATA_HOME ไม่ได้ตั้งค่า จากนั้นเป็นเส้นทางเริ่มต้น ~/.local/share ถูกนำมาใช้. เดสก์ทอป รายการจะถูกรวบรวมจากไดเร็กทอรีทั้งหมดใน $XDG_DATA_DIRS ตัวแปรสภาพแวดล้อม ไดเร็กทอรีที่ปรากฏครั้งแรกใน $XDG_DATA_DIRS จะได้รับความสำคัญเมื่อมีไฟล์ .desktop หลายไฟล์ที่มีไฟล์ .desktop ชื่อเดียวกัน

1 $XDG_DATA_DIRS เป็นตัวแปรสภาพแวดล้อมที่กำหนดไว้ใน ข้อมูลจำเพาะไดเร็กทอรีฐาน XDG.

ดังนั้นหาก $XDG_DATA_HOME ไม่ได้กล่าวเป็นอย่างอื่น คุณสามารถวางไฟล์ .desktop ต่อผู้ใช้ได้ ~/.local/share/applications. หากคุณต้องการตำแหน่งที่กำหนดเองทั้งระบบ คุณควรจะสามารถเพิ่มตำแหน่งนั้นได้ $XDG_DATA_DIRS อดีต.

XDG_DATA_DIRS=/opt:$XDG_DATA_DIRS

ดูสิ่งนี้ด้วย ข้อมูลจำเพาะไดเรกทอรีฐาน XDG

cn flag
ที่ทำงานได้อย่างสมบูรณ์แบบ สิ่งที่ฉันทำคือเพิ่มสิ่งต่อไปนี้ใน /etc/profile: "XDG_DATA_DIRS=/opt:$XDG_DATA_DIRS" ตอนนี้แอปพลิเคชันทั้งหมดใน /opt/applications ถูกโหลดโดย gnome และฉันเห็นได้ในลอนเชอร์ ขอบคุณมาก!
vanadium avatar
cn flag
วิธีที่หรูหรากว่าการแก้ไขไฟล์ระบบโดยตรงที่อาจถูกเขียนทับโดยการอัปเดตคือการเพิ่มสคริปต์ซับใน /etc/profile.d สคริปต์ทั้งหมดนี้มาจาก /etc/profile
Score:5
ธง ng

คุณสามารถใช้ได้ ~/.local/share/applications ภายใต้โฮมโฟลเดอร์ของผู้ใช้ของคุณเพื่อเก็บไว้ .เดสก์ทอป ไฟล์ที่คุณต้องการให้มีสำหรับผู้ใช้รายนั้นเท่านั้น

cn flag
ขอบคุณมากสำหรับคำตอบ แต่นั่นไม่ใช่สิ่งที่ฉันต้องการ ความคิดของฉันคือการแยกแอปพลิเคชันเพื่อให้สามารถคัดลอกจากคอมพิวเตอร์เครื่องหนึ่งไปยังอีกเครื่องหนึ่งได้อย่างง่ายดาย อย่างไรก็ตาม คำตอบด้านล่างคือสิ่งที่ฉันกำลังมองหา ขอบคุณอีกครั้ง.
muru avatar
us flag
@SebastiánCastro คุณสามารถใส่ไดเร็กทอรี *inside* `~/.local/share/applications` (เช่น `~/.local/share/applications/my-special-applications`) โดยส่วนตัวแล้ว ฉันจะทำอย่างนั้นแทนการแก้ไขตัวแปรสภาพแวดล้อม คุณเพียงแค่ต้องคัดลอกไดเร็กทอรีใน `~/.local/share/applications` ของระบบใหม่
Score:2
ธง cn

ไม่ใช่คำตอบพื้นฐานสำหรับคำถามจริงของคุณ (เช่น วิธีเพิ่มไดเรกทอรีที่กำหนดเองไปยังโฮสต์ .desktop launchers) แต่ฉันขอแนะนำให้คุณใช้ /usr/local/share/applications สำหรับตัวเรียกใช้งานของแอปพลิเคชันที่คอมไพล์เองซึ่งควรมีให้ใช้งานทั้งระบบ

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

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา