web-dev-qa-db-ja.com

.desktopファイルを所有しているにもかかわらず、Sublime Text 3はDashから利用できません

Sublime Text 3 .debファイルをインストールした後、パッケージの説明は「これは端末で実行する」という行に沿って何かを言いました。だから私は自分に言いました、「問題ありません。あなたのために.desktopファイルを作成します...え?」

表示されているように、Sublime Textには既に/usr/share/applicationsに.desktopファイルがありますが、検索時にDashが表示できない理由がわかりません。

[Desktop Entry]
Version=1.0
Type=Application
Name=Sublime Text
GenericName=Text Editor
Comment=Sophisticated text editor for code, markup and prose
Exec=/opt/sublime_text/sublime_text %F
Terminal=false
MimeType=text/plain;
Icon=sublime-text
Categories=TextEditor;Development;
StartupNotify=true
Actions=Window;Document;

[Desktop Action Window]
Name=New Window
Exec=/opt/sublime_text/sublime_text -n
OnlyShowIn=Unity;

[Desktop Action Document]
Name=New File
Exec=/opt/sublime_text/sublime_text --command new_file
OnlyShowIn=Unity;

私はLinux初心者だと言いましたか?

3
cnic

アプリケーションがDashに表示されない場合、またはインストール後にDashから起動できない場合はどうすればよいですか?

アプリケーションをインストールしたときに、アプリケーションが.desktop/usr/share/applicationsファイルで表されていることは確かですが、ランチャーのアイコンが表示されないか、アイコンが何もしませんすることになっています。

  1. ログアウトして再度ログインする
    アプリケーションshouldはインストール直後に表示されますが、偶然、新しい.desktopファイルはすぐには見つかりません。ログアウトしてから再度ログインすると、有効なランチャーのディレクトリ~/.local/share/applicationsおよび/usr/share/applicationsがUnityによって強制的に再読み込みされます。
  2. テスト-グローバルdesktopファイルをチェックします
    それでも問題が解決しない場合は、/usr/share/applicationsを参照し、対応する.desktopファイルをランチャーにドラッグしてクリックします。
    アプリケーションが正常に起動した場合、.desktopにアプリケーションを表すローカル~/.local/share/applicationsファイルがあることを確認できます。ローカル.desktopファイルはグローバルバージョンを無効にするため、ローカルファイルはおそらく不正確または古いものです。
    それを見つけるには、ターミナルを開いて実行します:

    grep -iR <application> ~/.local/share/applications/
    

    ここで、<application>は(もちろん)アプリケーションの名前です。

    考えられるローカルバージョンを削除し、ログアウトして再度ログインします。

    アプリケーションがnotを正しく起動しない場合、グローバル.desktopファイルは正しくありません。原因。

説明

同じアプリケーションを表すランチャー(.desktopファイル)が重複している場合、Unityはログイン時にローカルのランチャーを選択します。セッション中、これは通常変更されませんunlessUnityランチャーにドラッグして特定のランチャーを使用するようUnityに強制します。

これは通常、グローバル.desktopファイルの有効性をチェックする、およびローカルバージョンの存在を検出する、最も高速で信頼性の高い方法です。 ~/.local/share/applicationsを掘り下げるのではなく。

5
Jacob Vlijm