У меня следующая ситуация: мне нужно изменить файл .desktop, который находится в пакете приложения, над которым я работаю.
У меня странная проблема, которая возникает, когда я пытаюсь открыть содержимое файла. Если я нажму на него, а затем попытаюсь нажать "Открыть", появится сообщение об ошибке, которое на английском языке означает: "НЕНАДЕЖНЫЙ ПУНКТ ЗАПУСКА ПРИЛОЖЕНИЙ"
Единственный способ открыть файл .desktop для меня — запустить следующую команду оболочки:
sudo gedit myApplication.desktop
Почему это так? Почему появляется сообщение об ошибке, когда я пытаюсь нормально открыть файл .desktop?
Содержимое файла .desktop:
[Desktop Entry]
Icon=myApplication
Categories=Utility;
Type=Application
Exec=/usr/share/MyApplication/appl/launcher.sh
Name[en_US]=Connect Data Space
Name=My Application Name
Comment[en_US]=
Comment=
StartupNotify=true
Terminal=false
OnlyShowIn=GNOME;Unity;
StartupWMClass=MyApplication
Actions=CheckUpgrade
[Desktop Action CheckUpgrade]
Name=Verifica Aggiornamenti
Exec=java -jar /usr/share/MyApplication/appl/lib/shellExtBridge.jar -checkupgrade
OnlyShowIn=GNOME;Unity;
И теперь у меня есть некоторые сомнения по этому поводу:
1) Иконка: читая некоторую документацию, мне кажется, что если я помещу иконку с именем myApplication.png в папку /usr/share/pixmaps моего пакета, она будет использовать этот значок, это правильно?
2) Exec: читая некоторую документацию, мне кажется, что это поле указывает путь к файлу, который выполняется при клике на мою иконку, верно? Но в этом случае какой файл выполняется? /usr/share/MyApplication/appl/launcher.sh или /usr/share/MyApplication/appl/lib/shellExtBridge.jar -checkupgrade.
Я думаю, что первый файл выполняется, но тогда какова функциональность файла во втором операторе Exec?
В общем, каков функционал файла .desktop? Мне кажется, что он только добавляет значок моего приложения на панель инструментов Unity, чтобы запустить мое приложение, нажав на него. Это так, или у файла .desktop есть дополнительная функциональность?