如何找到与GUI应用程序对应的命令行(例如,LibreOffice Writer)?

如何从命令行运行LibreOffice Writer? 基本上,它的命令是什么,我如何知道一般运行特定应用程序的命令是什么?

运行libreoffice --writer来启动LibreOffice Writer。

在这种情况下,我猜测它可能是libreoffice或类似的,所以我在终端输入libre并按两次tab。 libreoffice是其中一个选项,所以我跑了。 它起源于人们可以选择写作者,计算器,印象等等。因为你特别询问了Writer,我看了man libreoffice ,它提到 – -writer作为命令行选项之一。 运行libreoffice -writer工作但导致了

 $ libreoffice -writer Warning: -writer is deprecated. Use --writer instead. 

所以我得到了libreoffice --writer

一般来说,可以尝试以下内容:

  • 根据应用程序的名称猜测并尝试名称。 使用Tab-completion获取帮助。 阅读手册页以获取选项。
  • 运行程序(使用GUI菜单,或者运行它),猜测进程名称,并使用ps aux | grep guessed_name检查 ps aux | grep guessed_name
  • 如果您知道该程序属于已安装的软件包X ,请运行dpkg -LX 。 它将列出包X中安装的文件,在输出中查找/usr/bin/bin/sbin等。
  • 可以找到对应于窗口的过程,如下所示:

    运行xprop _NET_WM_PID ,导航到目标窗口(不单击!),然后单击它。 例如,这将打印对应于窗口的PID

     _NET_WM_PID(CARDINAL) = 7394 

    现在运行ps -p 7394 (将7394替换为您获得的PID)以找出给定PID的进程名称。

要查找命令,请尝试使用命令auto-complete:

输入’ libre ‘,然后按[‘ Tab ‘],给你:

 libreoffice 

然后添加’ –help ‘,最后给你:

 libreoffice --help 

这将为您提供所有可能需要的选项。

 (snip) LibreOffice 3.4 340m1(Build:402) Usage: soffice [options] [documents...] Options: --minimized keep startup bitmap minimized. --invisible no startup screen, no default document and no UI. --norestore suppress restart/restore after fatal errors. --quickstart starts the quickstart service --nologo don't show startup screen. : --writer create new text document. --calc create new spreadsheet document. --draw create new drawing. --impress create new presentation. --base create new database. : 

通常所有GUI应用程序都有一个启动器图标。 其中大多数存储在/usr/share/applications 。 这些.desktop文件包含有关应用程序名称及其相应命令的信息。

列出所有应用程序和命令的快速hacky方法是使用awk命令:

 awk '{FS = "=";if ($1=="Name") printf("%s => ",$2); if($1=="Exec") {printf("%s\n",$2);nextfile;}}' /usr/share/applications/*.desktop 

当我访问Writer时,我进入我的终端并输入:

lowriter

这似乎工作得很好,可以重复Calc(localc); 画(lodraw); 基地(lobase); 印象深刻(loimpress)。 你明白了。

我今晚学到的另一个很好的终端命令是这样的:

firefox google.com

这将调用Firefox,同时将您带到您选择的网站或Google。 我使用命令行界面(CLI)玩的越多,我就越喜欢所有的function。

一种非常简单的方法,根本不涉及任何猜测

  • 运行alacarte (Gnome菜单中的’Main Menu’)。
  • 请按照以下步骤查找应用程序的命令名称:

在Gnome的菜单编辑器中查找应用程序的命令名称

  1. 选择应用程序。
  2. 单击Properties
  3. 在字段Command找到应用程序的命令名称,在此示例中为file-roller

老实说,这很容易谷歌:p

 libreoffice --writer 

在Ubuntu 12.10和新的libreoffice 4.0上,手动安装后,命令是:

libreoffice4.0 – 写作者

所有其他命令,如之前的答案,在libreoffice之后包含4.0。

如果我不知道程序在哪里,或者它叫什么,只有“开始菜单”中的链接,我将创建一个桌面快捷方式,右键单击 – >添加到桌面。 然后我将在文本编辑器中打开快捷方式,并查找以“Exec”开头的行。 因此,对于LibreOffice Calc,我看到:

Exec = libreoffice –calc%U

这对应于bash命令“libreoffice –calc”。 百分号与exec的扩展隐式(?)选项有关,我不明白,但由于你没有使用Exec,因此可以忽略。

要在现有文档上启动LibreOffice,请使用xdg-open 。 这不仅适用于LibreOffice文档,也适用于任何文件或URL。 xdg-open将使用您首选的应用程序打开该文件。

 xdg-open file-or-url 

由于我通常在终端上工作,我的~/.bash_aliases有一个alias o=xdg-open ,所以它~/.bash_aliases为:

 o aDocument.odt o https://askubuntu.com