我通过 Ubuntu 软件中心安装了一些应用程序。如何找到相应的终端命令?对于许多应用程序来说,这与显示的名称不同。例如,名为“文本编辑器”的应用程序也可以通过在终端中输入“gedit”来启动,但对于其他应用程序,如何找到它?
答案1
一般apropos
都会有帮助的。
例如,apropos 'text editor'
给我
ed (1) - line-oriented text editor
ex (1) - Vi IMproved, a programmer's text editor
gedit (1) - text editor for the GNOME Desktop
gnome-text-editor (1) - text editor for the GNOME Desktop
red (1) - line-oriented text editor
rview (1) - Vi IMproved, a programmer's text editor
rvim (1) - Vi IMproved, a programmer's text editor
vi (1) - Vi IMproved, a programmer's text editor
view (1) - Vi IMproved, a programmer's text editor
vim (1) - Vi IMproved, a programmer's text editor
xedit (1) - simple text editor for X
答案2
对于大多数桌面启动器图标(至少在 MATE、KDE Plasma/Neon 以及其他 DTE 中),您可以右键单击图标并在菜单中选择“属性”。出现的属性对话框中的条目之一将是启动器使用的命令行。
答案3
您可以浏览该目录/usr/share/applications/
,您会发现许多应用程序和文件的快捷方式appname.desktop
。
您可以cat
找到这些文件并搜索条目Exec
。例如:
ls -l /usr/share/applications | grep thunderbird
thunderbird.desktop
cat thunderbird.desktop | grep Exec
Exec=/usr/bin/thunderbird %u
在您的示例中,您可以输入
/usr/bin/thunderbird
命令也是如此。
您还可以尝试按照@pLumo 的建议搜索关键字:
grep -ri "GenericaName=*text*\|Name=*text*"
org.gnome.gedit.desktop:Name=Text Editor
vim.desktop:GenericName=Text Editor
但比较棘手,因为你必须猜测关键词是什么。
答案4
方法 1
如果您知道应用程序窗口或图标上显示的名称,则以下命令将显示“启动”该应用程序的可执行文件的路径:
grep -i "^ *Exec=" $(grep -ril "^ *Name=.*firefox" \
/usr/share/applications $HOME/.local/share/applications) /dev/null
这里火狐是(部分)应用程序名称。假设您正在搜索名为 (确切地)文本编辑器,然后使用这个:
grep -i "^ *Exec=" $(grep -ril "^ *Name=Text Editor" \
/usr/share/applications $HOME/.local/share/applications) /dev/null
如需了解更多详细信息,您可以检查输出.desktop
中显示的文件内容grep
。
方法 2
如果您已经启动该应用程序并且它在其自己的窗口上运行,请在终端中输入以下命令:
ps --no-headers -p $(xprop _NET_WM_PID | cut -f2 -d=) -o cmd
然后,单击您想要了解其启动命令的窗口。
这将显示显示该窗口的进程的命令行(连同任何命令行参数),它可能不一定与您最初单击图标以启动显示该窗口的应用程序时执行的命令相同。