Tôi có một chương trình java hoạt động bình thường khi tôi chạy java -jar "lizzie.jar"
từ thiết bị đầu cuối, nhưng khi tôi nhấp đúp vào nó trong Nautilus, nó sẽ chạy (tức là giao diện người dùng hiển thị) nhưng trả về lỗi "Không có tệp hoặc thư mục như vậy" đối với một trong các tệp (./leelaz) mà nó phụ thuộc vào để hoạt động bình thường.
Tôi đã tạo một tệp .desktop trong /home/username/.local/share/applications
với các nội dung sau:
#!/usr/bin/env xdg-open
[Mục nhập máy tính để bàn]
Tên=Lizzie
Loại=Ứng dụng
Exec=java -jar "/home/username/opt/Lizzie/lizzie.jar"
Biểu tượng=/home/username/opt/Lizzie/lizzie_custom_logo.png
Bình luận=Lizzie
Thiết bị đầu cuối = sai
Chạy này dẫn đến lỗi tương tự như nhấp đúp.
tôi đã tìm và đọc cái này đăng và tôi đã thử sử dụng cả hai Thiết bị đầu cuối = đúng
và Thiết bị đầu cuối = sai
. Tệp lizzie.jar được đặt để cho phép thực thi dưới dạng chương trình và cả khi chạy từ Nautilus và thiết bị đầu cuối mà tôi chưa root. Tất nhiên, đây có thể là một vấn đề đối với Lizzie chứ không phải Ubuntu, nhưng tôi nghĩ rằng tôi sẽ có thể tạo ra hành vi tương tự như khi chạy từ thiết bị đầu cuối.
Quận: Ubuntu 18.04.6 LTS;
hạt nhân: 5.4.0-99-chung
phiên bản java
trả lại:
phiên bản openjdk "11.0.13" 2021-10-19
Môi trường thời gian chạy OpenJDK (bản dựng 11.0.13+8-Ubuntu-0ubuntu1.18.04)
OpenJDK 64-Bit Server VM (bản dựng 11.0.13+8-Ubuntu-0ubuntu1.18.04, chế độ hỗn hợp, chia sẻ)
Câu hỏi: Lý do có thể khiến hành vi nhấp đúp và chạy .desktop khác với thiết bị đầu cuối là gì và làm cách nào tôi có thể định cấu hình tệp .desktop cung cấp chính xác hành vi giống như khi tôi chạy java -jar lizzie.jar
từ thiết bị đầu cuối?
N.B. Chương trình chạy trong cả hai trường hợp, nhưng nó không thể truy cập phần phụ thuộc ./leelaz
trong trường hợp nhấp đúp hoặc sử dụng .desktop. Lizzie sau đó báo cáo: Không thể chạy chương trình "./leelaz": error=2, Không có tệp hoặc thư mục như vậy.
Nhưng, tập tin ./leelaz
ở đó và một lần nữa, mọi thứ đều hoạt động khi chạy từ thiết bị đầu cuối.
(Trong trường hợp quan tâm, ứng dụng là Lizzie, một giao diện cho Go AI Leela Zero.)