どのコマンドがアプリケーションを開いたかどうかはどうすればわかりますか?

どのコマンドがアプリケーションを開いたかどうかはどうすればわかりますか?

時々私のシステムにアプリケーションがインストールされていますが、コマンドラインから実行する方法がわかりません。

lsof答えを見つけるために、私は通常GUIでアプリケーションを実行し、出力をGoogleで検索または検索します(常に成功しません)。

より簡単な方法が必要です。それは何ですか?

答え1

デスクトップ環境で実行できるアプリケーションは次のとおりです。.desktop文書、彼ら/usr/share/applications~/.local/share/applications(厳密に言えば、対応するXDGディレクトリしかし、これはデフォルト設定です)。デスクトップ環境に示されているようにアプリケーション名が与えられたら、これらのファイルでその名前を見つけてその行をExec見つけることができます。

これを行うには、GNOME用AlacarteなどのGUIメニューエディタを使用するか、無料メニュー、またはコマンドラインで検索してください。

Alacarte(GNOMEの「メインメニュー」)は利用可能なすべてのアプリケーションを表示し、各項目のプロパティには対応するコマンドが表示されます。

ユーザーランチャーのプロパティを示すAlacarteスクリーンショット

ターミナルウィンドウで、次のコマンドを使用してこの「ユーザー」アプリケーションを見つけることができます。

grep -l Name.\*=Users {/usr,~/.local}/share/applications/*.desktop |
xargs -r grep Exec=

と見ることができる

Exec=gnome-control-center user-accounts

もちろん、

gnome-control-center user-accounts

コマンドラインで適切なパネルを開きます。

データベースブラウザの場合は、次を実行できます。

grep -l "Name.*=DB Browser" {/usr,~/.local}/share/applications/*.desktop |
xargs -r grep Exec=

場合によっては、Exec行に追加のパラメータがある可能性があります。例えば %f;これはパラメータ(ファイルなど)のプレースホルダです。

関連情報