附加到“屏幕”会话与创build一个新的屏幕窗口

我有一个屏幕会话与几个窗口运行。 我想附加到它,在其中创build一个新的屏幕窗口,并在该新窗口中启动一个shell

问题:如何从屏幕会话之外的命令行执行此操作?

我已经尝试了很多,例如screen -x (但它附加到现有的屏幕窗口之一,它不会创build一个新的,也不会启动一个新的shell)。 任何提示,欢迎。

环境是Linux(Ubuntu 12.04)。

    我在邮件列表上找到了一些东西,谢谢tuxuday 🙂

    我现在这样做:

     #!/bin/bash screen -X screen -t NEWWINDOW # create new window (switches existing attached terminal) sleep 0.1 screen -X other # switch existing attached terminal back to its old window sleep 0.1 gnome-terminal -e 'screen -x -p NEWWINDOW' # connect to new window 

    我不确定那些睡觉,也许在所有的环境中都没有必要,但是我可以轻松地等待那些0.2秒。

    我的.bash_aliases正在改变屏幕窗口的标题,所以尴尬的NEWWINDOW不会长时间的粘住(因此不会妨碍对这个脚本的进一步调用)。

    将新的分离窗口添加到sesion_name并运行command

     screen -S sesion_name -x -X screen bash -c 'command; exec bash' 

    要选择要加入的窗口,请使用-p选项。 给+会创建一个新的,所以你的命令很简单:

     screen -x session_name -p + 

    这是在手册页上记录:

    -p number_or_name | – | = | +

     Preselect a window. This is useful when you want to reattach to a specific windor or you want to send a command via the "-X" option to a specific window. As with screen's select commant, "-" selects the blank window. As a special case for reattach, "=" brings up the windowlist on the blank window.