问题描述
当我们想从终端打开一个应用程序或文件时,我们输入,比如,
okular file.dvi
这将打开应用程序,但也会显示应用程序的状态。我们无法关闭终端,因为它会终止进程。不幸的是,例如,如果您尝试创建一个 LaTeX 文件,您将需要一个用于文本编辑器的选项卡,一个用于 dvi 文件的选项卡,等等。如果您试图从终端打开所有窗口,您可以忘记它。我正在尝试尽可能多地使用终端,虽然我有 Yakuake,但拥有这么多标签并查看其中哪些有我杀死的应用程序等仍然很麻烦。
那么,有没有办法从终端打开应用程序/文件,以便不显示状态并立即给出提示,以便我们可以使用它来打开更多应用程序?
最佳方法
xdg-open file.dvi
xdg-open
将使用其默认应用程序打开任何文件。作为奖励,您可以在不终止应用程序的情况下关闭终端。
由于 xdg-open
是一个很长的名字,我在 .bashrc
中为它添加了一个别名:
alias open='xdg-open'
次佳方法
okular file.dvi &
只需附加一个 &
即可使您的命令作为单独的进程运行。
第三种方法
okular file.dvi &> /dev/null &
会好一点。这样,程序就不会写入终端。
如果你只使用 okular file.dvi &
程序仍然会在终端上报告事情,通常是在你工作的中间
第四种方法
比如说, evince file.pdf &
,关闭终端仍然会关闭进程,因此它仍然是终端的子进程,没有独立性; nohup evince file.pdf &
将允许您在不关闭程序的情况下关闭终端,因为 nohup 意味着关闭(挂断)进程的任何信号都将被忽略。您也可以以类似的方式否认进程,请参阅此讨论 here 。