2016-06-09 119 views
2

我正在尝试使bash脚本在新的终端窗口中运行另一个bash脚本从bash脚本打开时隐藏窗口

我用命令:

sudo gnome-terminal -e "bash file_name.sh" 

这个工程,我想它。 但我想隐藏打开的第二个终端窗口。我曾尝试使用&在后台运行,但它不像我想要的那样工作。我想让终端窗口隐藏起来。

有什么办法可以设置终端窗口不显示吗?

+0

你能解释一下你为什么需要另一个窗口,但应该被隐藏?这看起来非常直观,可能会有更简单的解决方案来解决您的问题。另外,你的隐藏意思是什么?最小化? – Aaron

+0

我想向您指出X资源的方向,它可能允许您为新的gnome-terminal窗口指定一个类(或称为它的名称),并指定它被最小化,或指定一个位置/大小使其“看不见“ - 不能发表确切的答案,并且说出为什么要做这件事的原因可能更有效率 - 嗯,我只是看到你可以用'--geometry = GEOMETRY指定gnome-terminal的几何图形(请参阅X手册页)'这将允许您远离用户的方式来定位/调整窗口的大小 –

+0

@Aaron我有第二个代码将我连接到服务器,它实际上是一个期望脚本(用于用户名和密码),但是我在bash的情况下问,原因那么这个问题会更普遍。期望的脚本将被打开到新的终端,因为我不能在我的原始终端执行进一步的命令,因为我必须保持连接到服务器,而我在我的原始shell中执行其他命令。 – Anubhabchak

回答

1

你可以使用的nohup在后台运行的进程:

$ sudo nohup ./file_name.sh & 

将会有一个新的进程来执行file_name.sh,输出将被写入nohup.out

1

那么对于我所了解的Linux和“&”可选命令,它已经是你隐藏的内容了。您可能会错过“disown”命令,以便您可以在后台运行代码,同时能够关闭shell。

在后台启动:

command & 

然后运行:

disown 

和关闭终端。

您可以使用Ctrl + z停止前台应用程序,然后使用bg(fg)命令在 背景(前景)中启动它。

你可以在这里阅读来源Ubuntu的论坛:"How to hide terminal window?"