ランチャーから.desktopファイルを呼び出すと、説明されているプログラムを開くのではなく、エディターで開きます。

Oct 29 2019

vanilla-gnome-desktopUbuntu18.04でGNOMEClassicを使用して、で実行しています。

plusを押しSuperて入力するKeePassEnter~/Desktop/KeePass.desktopファイルがエディターで開かれます(gedit私の場合)。不思議なことに、デスクトップシンボルの表示を有効にした後(gsettings set org.gnome.desktop.background show-desktop-icons true)、デスクトップ上のまったく同じアイテムをダブルクリックすると、アプリケーションが期待どおりに開きます。ランチャーに表示されている間、.desktopファイルは適切なアプリアイコンで表示され~/Desktop(デスクトップ自体と同じように)、へのパスとともに表示されます(ただし展開されています)。

何が得られますか?そして、ランチャーに.desktopファイルで記述されたプログラムを呼び出すようにするにはどうすればよいですか?


おそらく関連情報:

$ cat ~/Desktop/KeePass.desktop |sed 's|'$(whoami)'|username|g'
#!/usr/bin/env xdg-open

[Desktop Entry]
Version=1.0
Type=Application
Terminal=false
Icon[en_US]=/home/username/bin/KeePass/KeePass_icon.png
Exec=mono /home/username/bin/KeePass/KeePass.exe
Name[en_US]=KeePass
Name=KeePass
Icon=/home/username/bin/KeePass/KeePass_icon.png
X-Desktop-File-Install-Version=0.23

...そして:

$ ls -l bin/KeePass/KeePass.exe Desktop/KeePass.desktop |sed 's|'$(whoami)'|username|g'
-rwxr-xr-x 1 username username 3315280 2019-09-22 21:27 bin/KeePass/KeePass.exe
-rwxr-xr-x 1 username username     302 2019-09-22 21:27 Desktop/KeePass.desktop

さらにdesktop-file-validate Desktop/KeePass.desktop、0の終了コードで空に戻ります。私が覚えている限り、私desktop-file-editは最初.desktopにそのファイルを作成していましたmonoが、Exec特定のアプリケーションにもWineとCrossoverを使用しているため、システムを混乱させないように行に追加しました。

回答

3 vanadium Oct 30 2019 at 09:28

.desktopファイルはGnomeシェルの概要で見つかったファイルとして表示される可能性が高いため、それに応じて処理されます。

.desktopファイルがにあることを確認してください~/.local/share/applications。そうして初めて、アプリケーションとして正しくピックアップされます。デスクトップから直接起動できることに感謝する場合は、コピーをデスクトップに残しておくことができます。または、そのワークフローに従う場合は、コピーを削除してダッシュに固定します(概要を右クリックして実行します)。 Gnome開発者は念頭に置いています。