gtk-launchは、現在の作業ディレクトリがデスクトップの場合にのみ有効です。

gtk-launchは、現在の作業ディレクトリがデスクトップの場合にのみ有効です。

.desktop[program.desktop]コマンドを実行して、プログラムを起動できるファイルを手動で生成する方法を見つけました。gtk-launch問題は、現在の作業ディレクトリがユーザー名のデスクトップディレクトリである場合にのみ機能するようです。したがって、コマンドを入力するとgtk-launch program.desktop実行されます。

問題はgtk-launch /home/userName/Desktop/program.desktop。代わりに、端末から次のメッセージを受け取ります。gtk-launch: 該当するアプリケーションはありません。私はファイルがそこにあり、猫がそれをよく読むことができることを知っています。

gtk-launchがデスクトップ内でのみ動作するように見えるのはなぜですか?この問題を解決できますか?私は永久USB経由でGNOMEでKali Linuxを使用しています。

答え1

この機能を実装するには、次の2つの要件を満たす必要があります。

  1. ファイルmyapp.desktopは複数のディレクトリ(正確ではない)の1つになければなりません/usr/share/application。これはUbuntu用のLinuxディストリビューションによって異なります。

    1.1。/usr/share/application

    1.2./usr/local/share/applications

    1.3。~/.local/share/applications

  2. gtk-launch myapp(またはgtk-launch myapp.desktop)を実行する必要があります。いいえ道。

関連:

https://askubuntu.com/questions/471282/is-it-possible-to-execute-a-desktop-file-from-a-quicklist

https://askubuntu.com/questions/5172/running-a-desktop-file-in-the-terminal

答え2

マンページの説明は次のとおりです。

gtk-launchには、起動するアプリケーションの名前である少なくとも1つの引数が必要です。名前は、「.desktop」サフィックスが含まれていないか、/usr/share/applicationにあるアプリケーションデスクトップファイル名と一致する必要があります。

これは、デスクトップファイルが指定された場所にあることを示します。それ以外の場合は、アプリケーションの起動に使用できません。ソースファイルgtk/gtk-launch.cShow gtk-launchは、D-Busに必要なアプリケーションを実行するように指示する以外は何もしません。

関連情報