Lỗi tệp mục nhập trên máy tính để bàn không hợp lệ - midi2input

Jul 21 2020

Tôi đã quyết định sử dụng bộ điều khiển midi cho một số tác vụ nhất định, vì vậy tôi đã sử dụng midi2input cho việc này.

Tuy nhiên, ứng dụng được biên dịch không có lỗi, khi tôi nhấp vào biểu tượng, tôi nhận được:

Invalid desktop entry file: '~/.local/share/applications/m2i.desktop

Đây là nội dung của mục nhập trên máy tính để bàn:

[Desktop Entry] 
Encoding=UTF-8 
Version=1.0 
Type=Application 
Terminal=true 
Exec=/usr/local/bin/ 
Name=Midi2Input 
Icon=/home/emm/midi2input/build/res/icons/hicolor/512x512/apps/m2i-light.png

Có ý kiến ​​gì không?

Png tồn tại. Tôi cũng vừa thay đổi dòng Exec như bạn đề xuất và tôi cũng đã xây dựng lại nó và nó vẫn cho lỗi tương tự.


Mục nhập máy tính để bàn hiện tại:

[Desktop Entry]  
Encoding=UTF-8  
Version=1.0  
Type=Application  
Terminal=false  
Exec=/usr/local/bin/m2i  
Name=midi2input  
DBusActivatable=false  
Icon=/home/emm/midi2input/build/res/icons/hicolor/512x512/apps/m2i-light.png  
StartupNotify=true  
emm@i3:~$ ls -al /usr/local/bin/m2i -rwxr-xr-x 1 root root 606864 Jul 21 12:28 /usr/local/bin/m2i emm@i3:~$ ls -al /home/emm/midi2input/build/res/icons/hicolor/512x512/apps/m2i-light.png
-rw-rw-r-- 1 emm emm 10010 Jul 22 08:05 /home/emm/midi2input/build/res/icons/hicolor/512x512/apps/m2i-light.png
emm@i3:~$

Trả lời

1 Geoff Jul 21 2020 at 20:18

Bạn chưa chỉ định đường dẫn đầy đủ của tệp thực thi.

Bạn chỉ đặt:

Exec=/usr/local/bin/

Xem tài liệu về Đặc tả mục nhập trên máy tính để bàn - Nhà phát triển GNOME

Exec

Chương trình thực thi, có thể có đối số. Xem Execkhóa để biết chi tiết về cách hoạt động của khóa này. Các Execchủ chốt là cần thiết nếu DBusActivatablekhông được thiết lập để true. Ngay cả khi DBusActivatabletrue, Execnên được chỉ định để tương thích với các triển khai không hiểu DBusActivatable.

Đừng nhầm lẫn với:

Name

Tên cụ thể của ứng dụng, ví dụ: "Mozilla".

sancho.sReinstateMonicaCellio Jul 22 2020 at 14:53

Hãy thử đảm bảo rằng bạn đang khởi chạy .desktoptệp bạn nghĩ. Sử dụng locate m2i.desktop(1) để xem liệu có nhiều hơn một tệp như vậy trong hệ thống của bạn hay không (tôi giả sử bạn có mlocatecơ sở dữ liệu được cập nhật ).

Sau đó, nếu bạn chắc chắn rằng Exectệp được trỏ đến là đúng, hãy nhận xét các dòng trong .desktoptệp và thử khởi chạy m2icho đến khi bạn xác định được thủ phạm. Bạn có thể sử dụng gtk-launch m2i(2), xem điều này . Bạn có thể nhận xét từng cái một, nhận xét chúng theo chùm (loại phương pháp chia đôi), hoặc nhận xét tất cả ngoại trừ Execvà chỉ một nữa. Hình thức cuối cùng này có lẽ là tốt nhất.

Vui lòng đăng phản hồi về các lệnh (1) và (2a), (2b), v.v. (một cho mỗi dòng không được chú thích) và kết quả của

ls -al /usr/local/bin/m2i
ls -al /home/emm/midi2input/build/res/icons/hicolor/512x512/apps/m2i-light.png
type m2i