Я создал файл .desktop.
[Desktop Entry]
Exec=cd /opt/sqldeveloper/sqldeveloper/bin && bash sqldeveloper $*
Terminal=false
StartupNotify=true
Categories=GNOME;Oracle;Utility;Development;
Type=Application
Icon=/opt/sqldeveloper/icon.png
Name=Oracle SQL Developer
Comment=what to say
Version=s.0.m.t.h.i.n.g
GenericName=ORACLE SQL DEVELOPER
Он присутствует в /usr/share/applications
. Он даже показывает значок, если просматривать его в Nautilus, но когда я нажимаю alt (клавишу тире или Windows) и ищу его, он не отображается.
Также я попробовал:
sudo update-desktop-database
решение1
Какая критическая проблема в вашем файле .desktop?
Я попробовал ваш файл .desktop, заменив Exec=
команду на другую (простую и работающую), и файл, похоже, работает и не отклоняется Dash.
Распространенное заблуждение, что можно использовать Exec=
строку файла .desktop, как если бы это было окно терминала. Это не так; расширение типа ~/
или $HOME
не работает, например. Хорошей (то есть простой) практикой является размещение более сложных команд в отдельном файле скрипта, который будет выполняться из файла запуска (вашего .desktop
файла)
Выполнение сложных команд из файла .desktop
Если вы хотите сохранить свою командувнутриваш .desktop
файл, вы должны сделать его следующим образом:
Exec=sh -c "your_complicated_command_here && the_rest_of_it"
(command inside quotes)
Запуск скрипта из файла .desktop для выполнения задания
Предполагая, что ваша команда
cd /opt/sqldeveloper/sqldeveloper/bin && bash sqldeveloper $*
работает из окна терминала, однако я бы просто создал небольшой скрипт:
#!/bin/bash
cd /opt/sqldeveloper/sqldeveloper/bin && bash sqldeveloper $*
Сохраните его как scriptname.sh
и измените Exec=
строку вашего файла .desktop на:
Exec=sh /path/to/scriptname.sh
После этого ваш .desktop
файл появится в Dash.
Примечание
Что есть еще проблемы с вашим файлом .desktop, как отметили @Braiam и @MrVaykadji. Несколько примеров:
- Вам не следует использовать только выдуманные значения в
Categories=
строке, как вы можете прочитатьздесь - Поле версии не обязательно, но если вы его используете, используйте 1.0
Больше можно найтиздесь. Хорошие инструменты, которые вы можете найтиздесь(также спасибо @Braiam и @MrVaykadji).
Однако критически важным моментом, из-за которого ваш файл .desktop не отображается в Dash, является строка Exec=
.