.desktop ファイルを作成しました。
[Desktop Entry]
Exec=cd /opt/sqldeveloper/sqldeveloper/bin && bash sqldeveloper $*
Terminal=false
StartupNotify=true
Categories=GNOME;Oracle;Utility;Development;
Type=Application
Icon=/opt/sqldeveloper/icon.png
Name=Oracle SQL Developer
Comment=what to say
Version=s.0.m.t.h.i.n.g
GenericName=ORACLE SQL DEVELOPER
に存在します/usr/share/applications
。Nautilus で表示するとアイコンも表示されますが、Alt (ダッシュまたは Windows キー) を押して検索しても表示されません。
また、私は次のことを試しました:
sudo update-desktop-database
答え1
.desktopファイルの重大な問題は何ですか
.desktop ファイルを別のコマンド (シンプルで動作する) に置き換えて試してみましたExec=
が、ファイルは機能しているようで、Dash によって拒否されません。
Exec=
.desktop ファイルの行をターミナル ウィンドウのように使用できるというのはよくある誤解です。これは正しくありません。たとえば、~/
または のように展開して$HOME
も機能しません。より複雑なコマンドを別のスクリプト ファイルに配置し、ランチャー ファイル (自分の.desktop
ファイル)から実行するのがよい (つまり簡単な) 方法です。
.desktop ファイルから複雑なコマンドを実行する
特にコマンドを保持したい場合は内部ファイル.desktop
を次のように作成する必要があります。
Exec=sh -c "your_complicated_command_here && the_rest_of_it"
(command inside quotes)
.desktopファイルからスクリプトを実行してジョブを実行します
あなたのコマンドが
cd /opt/sqldeveloper/sqldeveloper/bin && bash sqldeveloper $*
ターミナル ウィンドウから動作しますが、私は単に小さなスクリプトを作成します:
#!/bin/bash
cd /opt/sqldeveloper/sqldeveloper/bin && bash sqldeveloper $*
として保存しscriptname.sh
、Exec=
.desktop ファイルの行を次のように変更します。
Exec=sh /path/to/scriptname.sh
すると、.desktop
ファイルがDashに表示されます
注記
@Braiam と @MrVaykadji が言及しているように、.desktop ファイルには他にも問題があります。いくつか例を挙げます。
Categories=
次のように、行に架空の値をそのまま使用しないでください。ここ- バージョンフィールドは必須ではありませんが、使用する場合は1.0を使用してください。
詳細はここ見つけられる良いツールここ(@Braiam と @MrVaykadji にも感謝します)。
ただし、.desktop ファイルが Dash に表示されない原因となる重要なのは次のExec=
行です。