ฉันกำลังสร้าง.desktop
ไฟล์เพื่อใช้ใน Unity Launcher
ฉันมีสถานที่ตั้งของตัวเองในไดเรกทอรีบ้านของฉันที่ฉันใส่ executables ของฉัน ( ~/usr/bin/
) ซึ่งจะมีการเพิ่มอย่างถูกต้องเพื่อฉันPATH
ตัวแปรสภาพแวดล้อมในของฉัน.pam_environment
ไฟล์ที่ระบุไว้ในเอกสารที่เกี่ยวข้องอูบุนตู
นี่คือเนื้อหาของ.pam_environment
ไฟล์ของฉัน:
LANGUAGE=en_AU:en_GB:en
LANG=en_AU.UTF-8
LC_NUMERIC=en_AU.UTF-8
LC_TIME=en_AU.UTF-8
LC_MONETARY=en_AU.UTF-8
LC_PAPER=en_AU.UTF-8
LC_NAME=en_AU.UTF-8
LC_ADDRESS=en_AU.UTF-8
LC_TELEPHONE=en_AU.UTF-8
LC_MEASUREMENT=en_AU.UTF-8
LC_IDENTIFICATION=en_AU.UTF-8
PATH DEFAULT=${PATH}:~/usr/bin/
ซึ่งผลลัพธ์ในPATH
ตัวแปรของฉันเป็นดังนี้:
ben@ben-HPdv6:~$ echo $PATH
/usr/lib/lightdm/lightdm:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:~/usr/bin/:~/usr/bin/
ฉันรู้ว่ามันถูกผนวกเข้าด้วยกันสองครั้ง แต่สิ่งใดใน.pam_environment
ไฟล์ที่ดูเหมือนว่าจะถูกเพิ่มเข้ามาสองครั้งไม่ว่าเมื่อใช้ไวยากรณ์ที่ถูกต้องที่แนะนำในเอกสาร Ubuntu ที่ฉันอ้างอิง
นี่เป็นตัวอย่างหนึ่งของปัญหา (เกิดขึ้นกับทุกกรณี) ฉันมีสคริปต์ (เรียกว่าeclipse
) ~/usr/bin/
ซึ่งรัน Eclipse IDE
ฉันสามารถเปิดเทอร์มินัลใดก็ได้แล้วพิมพ์eclipse
และมันก็ทำงานได้ดีอย่างที่คุณคาดหวัง
แต่เมื่อใช้.desktop
ไฟล์ต่อไปนี้:
#!/usr/bin/env xdg-open
[Desktop Entry]
Version=1.0
Type=Application
Terminal=false
Name=Eclipse - Juno (4.2)
Icon=/home/ben/.icons/eclipse.svg
Exec=eclipse
ฉันได้รับข้อผิดพลาด:
แต่เมื่อฉันเปลี่ยนExec=
สายเป็น:
Exec=/home/ben/usr/bin/eclipse
มันทำงานได้อย่างสมบูรณ์แบบ
เอกสารอย่างเป็นทางการของ Unity Launchers และ Desktopชี้ให้เห็นว่าควรใช้งานได้:
Exec เป็นเส้นทางไปยังไฟล์ปฏิบัติการ พา ธ แบบเต็มไปยังไฟล์เรียกทำงานต้องใช้ในกรณีที่ไม่ได้อยู่ในพา ธ ที่ระบุในตัวแปร $ PATH ตัวอย่างเช่นไฟล์ใด ๆ ที่อยู่ภายในพา ธ / usr / bin ไม่จำเป็นต้องมีพา ธ เต็มของพวกเขาที่ระบุในฟิลด์ Exec แต่จะมีเพียงชื่อไฟล์เท่านั้น
ข้อเสนอแนะใด ๆ เกี่ยวกับสิ่งที่เกิดขึ้น?