Пользовательский файл .desktop - имя не отображается в Unity Dash на Ubuntu 13.04


10

У меня есть несколько файлов .desktop, которые я перенес из 12.10 Ubuntu. Приложения, на которые они указывают, запускаются просто отлично, и изображение отображается в тире, когда я их ищу ... но под изображениями нет текста, когда они появляются в тире, это просто изображение. Все остальные приложения, которые были установлены по умолчанию или установлены через центр программного обеспечения, отображаются нормально.

Вот пример .desktop, который я создал:

[Desktop Entry]
Version=1.0
Name=Sublime Text 2
GenericName=Text Editor
Comment=Awesome Text Editor
Exec=/home/wes/Sublime\ Text\ 2/sublime_text
Icon=/home/wes/Sublime Text 2/Icon/128x128/sublime_text.png
Terminal=false
Type=Application

Вот что я имею в виду:

Нет текста для пользовательских .desktop Launcher

Редактировать: это только один пример 2 или 3 файлов .desktop, которые я создал в прошлом, которые работали, как и ожидалось в 12.10, но все, кажется, пропускают имя приложения в 13.04 (только в тире). Я не думаю, что это размер значка, так как я пробовал разные размеры (32x32, 64x64, 128x128 и т. Д.).


Попробуйте уменьшить размер изображения до 64x64, а также включить Categories=запись. Я предполагаю Categories=GTK;Development;IDE;? Выйти-Войти, чтобы увидеть изменения.
NickTux

@NikTh Да, я пробовал все это, и по любой причине это просто не хочет работать. Кроме того, важно отметить, что это только один из них ... У меня есть еще 2 или 3 пользовательских файла .desktop, которые все отображаются в виде черты, некоторые имеют большие значки, некоторые меньше, чем 64x64. Я думаю, что это гораздо более неясная проблема.
Уэс

Ответы:


9

Я просто столкнулся с той же проблемой, что и ты. Я испортил кучу настроек в моих файлах .desktop, чтобы попытаться получить имя, отображаемое в панели запуска Unity, поскольку я создал файлы .desktop в ~ / Desktop, а затем переместил их в ~ / .local / share / Приложения

Все, что мне нужно было сделать, чтобы программа запуска приложений Unity показывала имена, - это выйти из Ubuntu и снова войти в нее. Довольно хромая, я знаю, но это сработало.

По крайней мере, это показывает, что в моем случае (и, вероятно, у вас тоже) файлы .desktop были как-то не так. В конце концов, в моем случае программа desktop-file-validate не выявила никаких ошибок. Возможно, в Unity был какой-то кэш имен, который нужно было очистить. Было бы более приятно узнать, как это сделать без выхода из системы, но этот обходной путь для меня достаточно хорош на данный момент. Надеюсь, что это наблюдение поможет кому-то еще!


1
Да, это был и мой опыт. Я мог поклясться, что сделал повторную регистрацию во время исследования этой проблемы, и это не сработало. И вот однажды, после того как я отказался от этой проблемы, у меня дома отключилось электричество, и при перезагрузке записи рабочего стола в Unity выглядели совершенно нормально.
Уэс

У меня работает и в XFCE.
Николай Прокопьев

3

Искать в Dash для alacarteоткрытия главного меню :

Alacarte

В главном меню найдите приложение, которое не имеет названия в Dash . Когда вы найдете его, нажмите « Свойства» и дайте ему имя (в вашем случае приложение Sublime Text 2, в моем случае веб-приложение Ask Ubuntu):

введите описание изображения здесь


1
Спасибо за вклад, но это не отвечает на мой вопрос вообще. Я хорошо знаю, что есть интерфейсы для создания пользовательских модулей запуска, но мой вопрос: «Почему мой файл .desktop не отображает имя приложения?».
Уэс

1
@ Мы из-за этого. Просто найдите ваше приложение в главном меню, и вы увидите, что у него нет названия. Я экспериментировал с той же ситуацией.
Раду Рэдяну

В частности, проблема заключается в пустом значении в строке ( Nameили Name[your-locale]). Я только что столкнулся с этим в GNOME, где Application Finder включает процедуру редактирования, аналогичную описанной выше.
underscore_d

3

Вы можете проверить ваши .desktopфайлы с помощью, desktop-file-validate *.desktopа затем, если ошибок нет (он сообщит вам, что нужно исправить), запустить, sudo update-desktop-databaseчтобы фактически обновить базу данных системы.


1
У меня не работает в XFCE.
Николай Прокопьев

0

Что мне помогло, так это перезапустить Cinnamon (если у вас Linux Mint), нажав ALT+F2и написав «r». Там, безусловно, аналогичная процедура для перезапуска Unity.

Это обновит кэш меню без выхода и повторного входа.


0

Я решил эту проблему довольно простым способом, который, вероятно, не применим к большинству других здесь - по какой-то причине мой файл .desktop содержал строку NoDisplay=trueс довольно предсказуемым результатом. После того, как я удалил эту строку и сделал перезагрузку, приложение появилось в поиске тире, как и ожидалось.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.