ฉันจะดีบักไฟล์ .desktop ได้อย่างไร


10

ฉันมี.desktopไฟล์สำหรับเริ่มโปรแกรมไพ ธ อนในสภาพแวดล้อมแบบ conda เฉพาะเช่นนี้:

[Desktop Entry]
Version=1.0
Name=Qutebrowser
GenericName=Web Browser
Comment=View and edit files
MimeType=text/html;
Exec=bash -c "source /vol/home/kaipingga/anaconda3/bin/activate qutebrowser; qutebrowser"
Icon=/vol/home/kaipingga/.config/qutebrowser.svg
Type=Application
Terminal=false
Categories=Network;Utility;X-Python;
StartupWMClass=Qutebrowser
X-Desktop-File-Install-Version=0.20

สิ่งนี้ใช้งานได้ แต่ฉันปรับสภาพแวดล้อมของหลามเมื่อเร็ว ๆ นี้

ตอนนี้ใน terminal คำสั่งเดียวกัน

$ bash -c "source /vol/home/kaipingga/anaconda3/bin/activate qutebrowser; qutebrowser"

เรียกใช้แอปพลิเคชัน แต่.desktopไฟล์ไม่ทำงาน ฉันจะทราบได้อย่างไรว่าเกิดข้อผิดพลาดอะไร

อื่น ๆ ของฉัน.desktopไฟล์ทำงานได้ดีผมถือว่าสิ่งที่ผิดพลาดกับสภาพแวดล้อมหลามของฉันซึ่งค่อนข้าง hackish สำหรับช่วงเวลา (ซึ่งเป็นเหตุผลหลักที่จะทำงานนี้โดยเฉพาะcondaสภาพแวดล้อมที่จะเริ่มต้นด้วย)

Zachary Brady แนะนำ แต่เดิม (แต่มีปัญหา ) xdg-openอาจเรียกใช้.desktopไฟล์ แต่ให้กล่องข้อความบอกฉัน

ความผิดพลาด

ไม่สามารถเพิ่มปลั๊กอินลงในพาเนล

ไม่พบอินสแตนซ์ที่ทำงานของ xfce4-panel

ทั้งนี้.desktopและอีกอันที่ใช้งานได้ (ฉันใช้งาน Ubuntu ธรรมดาไม่มี xfce)


ฉันลบคำตอบของฉันหลังจากที่ได้อ่านเป็นมันxdg-openได้รับการร้องมากในขณะที่และมีเพียงเปิดไอคอนบนเดสก์ทอปในการแก้ไขข้อความ ...
รีเบรดี้

ปรากฎว่าปัญหาคือ unsubstituted ~(ปรากฏเป็น“ ~”, ไม่เหมือน“ /home/anaphory”) ในเส้นทาง Python ซึ่งฉันพบโดยการเพิ่มenv > check;ตรงกลางของคำสั่ง แต่ฉันแน่ใจว่ามีวิธีที่ดีกว่าในการแก้ไขข้อบกพร่องนี้!
Anaphory

คำตอบ:


3

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

(โปรดดู: วิธีตรวจสอบ / ยืนยันไฟล์ .desktop )

# Result for your example
$ desktop-file-validate qutebrowser.desktop 
test.desktop: hint: value "Network;Utility;X-Python;" for key "Categories"
in group "Desktop Entry" contains more than one main category; application
might appear more than once in the application menu

1

บน Linux Mint บริการ File Manager ถูกตั้งชื่อnemonemo สามารถออกได้โดยการออก:

nemo -q

เมื่อตัวจัดการไฟล์หยุดคุณสามารถเปิดในเทอร์มินัล

nemo

ตอนนี้จะพิมพ์บันทึกไปที่เทอร์มินัลนี้เมื่อคุณไปเปิดไฟล์ * .desktop คุณควรเห็น stdout ของบรรทัด Exec ของ * .desktop


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

0

ฉันปกติเพิ่มต่อไปนี้เพื่อดูสิ่งที่ถูกดำเนินการ:

Terminal=true
TerminalOptions=\s--noclose

0

xdg-openและexo-openใช้สำหรับเปิดไฟล์ (ในโปรแกรมที่เกี่ยวข้องของพวกเขา) พวกเขาไม่เคยตั้งใจจะทำอะไรด้วยตัวเอง สำหรับการดำเนินการคำสั่งที่กำหนดโดยสก์ท็อป, คุณอาจจะใช้Dex

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.