Command-Line
如何判斷打開應用程序的命令是什麼?
它時不時地發生在我的系統中安裝了一個應用程序,我不知道如何從命令行執行。
為了找出答案,我通常
lsof
在從 GUI 執行應用程序後Google或搜尋(並不總是成功)的輸出。必須有一個更簡單的方法。它是什麼?
您可以從桌面環境啟動的應用程序由
.desktop
文件描述,這些文件儲存在/usr/share/applications
和~/.local/share/applications
(嚴格來說,相應的 XDG 目錄,但這些是預設設置)。給定一個應用程序名稱,如您的桌面環境所示,您可以在這些文件中查找它並找到相應的Exec
行。為此,您可以使用 GUI 菜單編輯器,例如 GNOME 的 Alacarte 或MenuLibre,或在命令行上搜尋。
Alacarte(GNOME 中的“主菜單”)顯示所有可用的應用程序,每個條目的屬性顯示相應的命令:
在終端視窗中,可以使用以下命令找到此“使用者”應用程序
grep -l Name.\*=Users {/usr,~/.local}/share/applications/*.desktop | xargs -r grep Exec=
由此可見
Exec=gnome-control-center user-accounts
並且足夠真實,
gnome-control-center user-accounts
在命令行上打開相應的面板。
對於 DB Browser,您將執行
grep -l "Name.*=DB Browser" {/usr,~/.local}/share/applications/*.desktop | xargs -r grep Exec=
在某些情況下,該
Exec
行會有額外的參數,例如%f
; 這些是文件等參數的佔位符。