我读过其他帖子,在答案中提出了同样的问题,运行你的脚本并像这样:
#!/bin/bash
xterm -e command
问题是我没有在该服务器上安装 X,所以我既不能做gnome-terminal -e command
也不xterm -e command
能做konsole -e command
我已经明确了我想要的目的和我的限制(没有 X11)有谁知道如何得到这个先?
答案1
您不需要服务器上的 X 即可运行xterm
(或gnome-terminal
)。
如果DISPLAY
ssh
进入服务器后未设置,则可能是问题所在(使用 进行检查echo $DISPLAY
)。
如果您的本地计算机没有安装 X,那么您应该查看tmux
或screen
“增加”您的终端。
答案2
目前我见过的最有用的解决方案是这个:
screen -S CMD1 -d -m command1 ;
screen -S CMD2 -d -m command2 ;
您可以通过以下方式连接到屏幕:screen -r <pid>.<cmd>
并使用注销control+a d
这很有趣,但是...有点笨拙,因为您没有可视化您的界面,并且必须以一种不太直观的方式从一个界面移动到另一个界面,另外,您有记住关闭它们,否则你可能会在不注意的情况下让服务器继续运行。
如果有人认为有更好且简单的解决方案,请告诉我。 ;)PD:我在这里找到了解决方案:https://stackoverflow.com/questions/18197395/have-bash-script-execute-multiple-programs-as-separate-processes