ฉันมีโปรแกรมจาวาที่ทำงานได้อย่างถูกต้องเมื่อฉันเรียกใช้ จาวา -jar "lizzie.jar"
จากเทอร์มินัล แต่เมื่อฉันดับเบิลคลิกใน Nautilus มันจะทำงาน (เช่น UI แสดง) แต่ส่งคืนข้อผิดพลาด "ไม่มีไฟล์หรือไดเร็กทอรีดังกล่าว" สำหรับไฟล์ใดไฟล์หนึ่ง (./leelaz) ขึ้นอยู่กับการทำงานอย่างถูกต้อง
ฉันได้สร้างไฟล์ .desktop ใน /home/username/.local/share/applications
โดยมีเนื้อหาดังนี้
#!/usr/bin/env xdg-เปิด
[รายการเดสก์ท็อป]
ชื่อ=ลิซซี่
Type=ใบสมัคร
Exec=java -jar "/home/username/opt/Lizzie/lizzie.jar"
ไอคอน=/home/ชื่อผู้ใช้/opt/Lizzie/lizzie_custom_logo.png
ความคิดเห็น = ลิซซี่
เทอร์มินัล = เท็จ
การเรียกใช้สิ่งนี้ทำให้เกิดข้อผิดพลาดเช่นเดียวกับการดับเบิลคลิก
ฉันพบและอ่าน นี้ โพสต์และฉันได้ลองใช้ทั้งสองอย่างแล้ว เทอร์มินัล=จริง
และ เทอร์มินัล = เท็จ
. ไฟล์ lizzie.jar ถูกตั้งค่าให้อนุญาตให้ดำเนินการเป็นโปรแกรม และทั้งเมื่อเรียกใช้จาก Nautilus และเทอร์มินัล ฉันไม่ได้รูท แน่นอนว่านี่อาจเป็นปัญหาสำหรับ Lizzie และไม่ใช่ Ubuntu แต่ฉันคิดว่าฉันควรจะสร้างพฤติกรรมแบบเดียวกันได้เหมือนกับที่เรียกใช้จากเทอร์มินัล
Dist: อูบุนตู 18.04.6 LTS;
เคอร์เนล: 5.4.0-99-ทั่วไป
จาวา - เวอร์ชัน
ผลตอบแทน:
openjdk เวอร์ชัน "11.0.13" 2021-10-19
สภาพแวดล้อมรันไทม์ OpenJDK (รุ่น 11.0.13+8-Ubuntu-0ubuntu1.18.04)
OpenJDK 64-Bit Server VM (รุ่น 11.0.13+8-Ubuntu-0ubuntu1.18.04, โหมดผสม, การแชร์)
คำถาม: อะไรคือสาเหตุที่น่าจะเป็นไปได้ที่ลักษณะการทำงานจากการดับเบิลคลิกและการเรียกใช้ .desktop แตกต่างจากเทอร์มินัล และฉันจะกำหนดค่าไฟล์ .desktop ที่ให้ลักษณะการทำงานเหมือนกับที่ฉันเรียกใช้ทุกประการได้อย่างไร java -jar lizzie.jar
จากสถานี?
NB โปรแกรมทำงานในทั้งสองกรณี แต่ไม่สามารถเข้าถึงการพึ่งพาได้ ./เลลาซ
ในกรณีดับเบิลคลิกหรือใช้ .desktop ลิซซี่รายงาน: ไม่สามารถเรียกใช้โปรแกรม "./leelaz": error=2, ไม่มีไฟล์หรือไดเร็กทอรีดังกล่าว
แต่ไฟล์ ./เลลาซ
อยู่ที่นั่น และอีกครั้ง ทุกอย่างทำงานได้เมื่อรันจากเทอร์มินัล
(กรณีสนใจสมัครเป็น ลิซซี่ซึ่งเป็นอินเทอร์เฟซสำหรับ Go AI Leela Zero)