web-dev-qa-db-ja.com

16.04でemacsのランチャーアイコンを取得する方法

16.04をインストールすると、ランチャーのEmacsアイコンが疑問符に変わりました。

enter image description here

15.10では、アイコンは次のようになりました。

enter image description here

問題は、ソースからEmacsをインストールしたこと(およびSudo apt-get install emacs24を使用していないこと)であると思われます。これで、binarayが/opt/emacs-24.5/bin/emacsにインストールされました。

私はこのチュートリアルを見つけました nityLaunchersAndDesktopFiles.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
Håkon Hægland

次の2つのオプションがあります。

  1. /optディレクトリは$PATHにないため、手動でディレクトリを追加しない限り、.desktopファイルは無効になります。通常、/optのアプリケーションは、Exec=行に絶対パスがあります。実行可能ファイルへの絶対パスに変更します。
  2. カスタム.desktopファイルの代わりに、~/.local/share/applicationsに別の.desktopファイルがある場合があります。どちらか:

    • 自家製.desktopファイルをランチャーにドラッグし、それが機能するかどうかを確認します(正しいアイコンで)。
    • そうでない場合、または別の方法として、次のコマンドを実行します。

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

    .desktopファイルが古くなったり間違っている可能性を見つけ、emacsを起動します

1
Jacob Vlijm

問題は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

これは今ではうまく機能しているようです。

1
Håkon Hægland