Как вернуть иконку Launcher для emacs в 16.04?

После установки 16.04 значок Emacs в Launcher превратился в знак вопроса:

enter image description here

В 15.10 значок выглядел больше как this:

enter image description here

Я думаю, проблема может быть в том, что я установил Emacs из исходного кода (а не с помощью sudo apt-get install emacs24). Бинарей теперь установлен в /opt/emacs-24.5/bin/emacs.

Я нашел этот урок UnityLaunchersAndDesktopFiles , как создавать .desktop файлы.

Если я запускаю find /opt/emacs-24.5/ -name '*.desktop', я получаю

/opt/emacs-24.5/share/emacs/24.5/etc/emacs.desktop
/opt/emacs-24.5/share/applications/emacs.desktop

, а запуск find /opt/emacs-24.5/share/icons -name '*.png' дает

/opt/emacs-24.5/share/icons/hicolor/48x48/apps/emacs.png
/opt/emacs-24.5/share/icons/hicolor/32x32/apps/emacs.png
/opt/emacs-24.5/share/icons/hicolor/24x24/apps/emacs.png
/opt/emacs-24.5/share/icons/hicolor/128x128/apps/emacs.png
/opt/emacs-24.5/share/icons/hicolor/16x16/apps/emacs.png

Как мне теперь поступить, чтобы создать рабочий файл .desktop?

Обновление :

Я сейчас попробовал следующее:

  • Скопировал прилагаемый файл desktop, который поставляется с emacs в локальную папку:

      cp /opt/emacs-24.5/share/applications/emacs.desktop ~/.local/share/applications/emacs.desktop
    
  • Затем изменили имя файла значка этого файла:

    [Desktop Entry]
    Name=Emacs
    GenericName=Text Editor
    Comment=Edit text
    MimeType=text/english;text/plain;text/x-makefile;text/x-c++hdr;text/x-c++src;text/x-chdr;text/x-csrc;text/x-java;text/x-moc;text/x-pascal;text/x-tcl;text/x-tex;application/x-shellscript;text/x-c;text/x-c++;
    Exec=emacs %F
    Icon=/opt/emacs-24.5/share/icons/hicolor/48x48/apps/emacs.png
    Type=Application
    Terminal=false
    Categories=Development;TextEditor;
    StartupWMClass=Emacs
    Keywords=Text;Editor;
    
  • Выполнить desktop-file-validate:

     $ desktop-file-validate ~/.local/share/applications/emacs.desktop 
     /home/hakon/.local/share/applications/emacs.desktop: hint: value item "TextEditor" in key "Categories" in group "Desktop Entry" can be extended with another category among the following categories: Utility
    
  • Выполнить desktop-file-install:

     sudo desktop-file-install --dir=/usr/share/applications/ ~/.local/share/applications/emacs.desktop
    

Тем не менее значок не изменился. Чего мне не хватает?

1
задан 26 April 2016 в 14:09

2 ответа

Существует две опции:

  1. /opt каталог не находится в $PATH, который делает .desktop файл недопустимый, если Вы не добавили каталог вручную. Обычно приложения в /opt имеют полный путь в их Exec= строка. Измените его на полный путь к исполняемому файлу.
  2. мог бы быть другой .desktop файл в ~/.local/share/applications, заняв место Вашего пользовательского .desktop файл. Также:

    • перетаскивают Ваше самодельное .desktop файл на средстве запуска и видят, работает ли это (с корректным значком).
    • В противном случае или альтернативно, выполняет команду:

      grep -rl emacs ~/.local/share/applications
      

    для нахождения возможным устаревший или неправильный .desktop файлы, запускаясь emacs

0
ответ дан 27 April 2016 в 00:09

Кажется, что проблема не использовала абсолютный путь для Exec ключ. Вот измененный /usr/share/applications/emacs.desktop файл:

[Desktop Entry]
Name=Emacs
GenericName=Text Editor
Comment=Edit text
MimeType=text/english;text/plain;text/x-makefile;text/x-c++hdr;text/x-c++src;text/x-chdr;text/x-csrc;text/x-java;text/x-moc;text/x-pascal;text/x-tcl;text/x-tex;application/x-shellscript;text/x-c;text/x-c++;
Exec=/opt/emacs-24.5/bin/emacs %F
Icon=/opt/emacs-24.5/share/icons/hicolor/scalable/apps/emacs.svg
Type=Application
Terminal=false
Categories=Development;TextEditor;
StartupWMClass=Emacs
Keywords=Text;Editor;
X-Desktop-File-Install-Version=0.22

Это, кажется, хорошо работает теперь.

0
ответ дан 27 April 2016 в 00:09
  • 1
    не работают. это расстраивает меня, есть ли какой-либо другой путь? – Alson 22 September 2017 в 21:38

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

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