web-dev-qa-db-ja.com

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

Ubuntu 18.04のGNOMEクラシックを使用して、Vanilla-gnome-desktopで実行しています。

押すとき Super KeePass plusと入力します Enter~/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ファイルを作成しましたが、システムを混乱させないようにmonoExec行に追加しました。特定のアプリケーションでWineとCrossoverも使用しているためです。

2
0xC0000022L

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

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

2
vanadium