从命令行执行gui应用程序并将其发送到后台

时间:2012-10-22 21:27:27

标签: linux shell ubuntu

是否有一个命令行实用程序可用于执行基于X的应用程序,这些应用程序将从终端分离我的应用程序,以便在终端关闭时它们不会关闭?

我猜这样的应用程序可能会被称为gnome-run,如果存在的话。

我试过dtach,但似乎你必须提供一个插入文件,这个文件有点笨拙。我也尝试了nohup,但发现在std out和err重定向到/dev/null时输入也有点笨拙。

我想我正在寻找一个类似于此的简单程序:

#!/bin/bash

nohup $1 > /dev/null 2>&1 &

3 个答案:

答案 0 :(得分:1)

你已经编写了你的​​程序,它被称为shell脚本,你给它你喜欢的名字并把它放在某个地方。然后,您将该目录添加到$ PATH或您设置的bashrc中:

alias gnome-run=<path>/my-awesome-script.sh

为什么要浪费地球上的资源?

答案 1 :(得分:1)

是的,有一种方法可以做到:首先你需要运行你的GUI应用程序并将其发送到后台,然后你(可能)想要将它从Bash任务管理中分离出来。例如,如果我想以这种方式运行gedit:

gedit &
disown %1

之后你可以关闭你的终端窗口,gedit不会被杀死。享受!

答案 2 :(得分:0)

如果您想运行一个应用程序(比如gedit)就好像它是从GUI运行,请使用:

xdg-open /usr/share/applications/gedit.desktop

请参阅超级用户的this回答。