Мой пользовательский файл .desktop отображается в Dash как текстовый файл

Я недавно установил MATLAB на свой компьютер. Я обнаружил, что, хотя я мог легко запустить MATLAB из терминала, не было никакого исполняемого файла, на котором я мог бы дважды щелкнуть, чтобы запустить его. Поэтому я создал скрипт Bash для запуска MATLAB, а затем создал файл .desktop и сохранил его в /usr/share/applications/. Вот содержимое этого файла .desktop:

[Desktop Entry]
Type=Application
Name=MATLAB
Hidden=false
Exec=Desktop/Programs/scripts/runMatlab.sh
Icon=/usr/share/icons/matlabIcon.jpg
Categories=Application;

Если я загляну внутрь /usr/share/applications/, я действительно увижу исполняемый файл с именем MATLAB и соответствующим значком, и если я дважды нажму на него, MATLAB будет беги просто отлично. Однако, если я наберу MATLAB в Dash, matlab.desktop появится в виде текстового файла. У него нет правильного имени (MATLAB) или правильного значка, и если я нажму на него, Gedit откроется вместо исполняемого файла.

Как я могу это исправить?

Кстати, я использую Ubuntu 14.04.

1
задан 27 January 2015 в 18:27

2 ответа

Если Вы бросите хороший взгляд в Тире, то Вы узнаете это matlab.desktop не появляется как приложение, но файл matlab.desktop появляется в поиске, или недавно используемый, так как Вы, очевидно, отредактировали его.

Ошибка

Причина состоит в том, что Тире не рассматривает его как допустимое .desktop файл (по крайней мере), по следующей причине:

  • Вы не должны использовать относительные пути в a .desktop файл (Desktop/Programs/scripts/runMatlab.sh относительно), но полные пути.

Другие возможные причины могли быть недопустимым путем значков или тем, что Вы называете сценарий без предыдущего sh (если сценарий не является исполняемым файлом, но, учитывая другую информацию в Вашем вопросе, который, кажется, не имеет место).

Примечания

  • Другая вещь, состоит в том, что, если Вы храните сценарий, на том, какой, кажется, локальный каталог, Вы не должны хранить .desktop файл в /usr/share/applications, но в ~/.local/share/applications.

  • Нет никакой потребности сделать a .desktop исполняемый файл файла, если Вы выполняете его от Тире или Средства запуска. Большинство средств запуска в также /usr/share/applications или ~/.local/share/applications не. Только если Вы определяете местоположение его на - и выполняете его от Вашего Рабочего стола.

1
ответ дан 27 January 2015 в 18:27

В первую очередь, переместите .desktop файл в /usr/share/applications/ (глобальные средства запуска, потребности корневое разрешение переместить файл) или к ~/.local/share/applications/ (только для текущего пользователя).*
РЕДАКТИРОВАНИЕ: при выполнении установки файла на рабочем столе это не необходимо, поскольку она автоматически копирует файл в/usr/share/applications /

Затем после проверения на наличие ошибок .desktop файла с desktop-file-install filename.desktop (никакой вывод не означает ошибок, но даже некоторые предупреждения не могут препятствовать тому, чтобы средство запуска работало),
Вы добавляете, что она к Единице подчеркивает штриховой линией путем выполнения sudo desktop-file-install filename.desktop ( РЕДАКТИРОВАНИЕ: полномочия пользователя root, требуемые к доступу/usr/share/applications/, где глобальные средства запуска хранятся ). Обратите внимание на то, что эта команда могла бы добавить некоторые строки к исходному .desktop файлу.

я надеюсь, что это решило Вашу проблему. Поздравления!
(Источник: https://help.ubuntu.com/community/UnityLaunchersAndDesktopFiles)

1
ответ дан 27 January 2015 в 18:27

Другие вопросы по тегам:

Похожие вопросы: