我有一個屏幕會話運行幾個窗口。我想附加它,在其中創建一個新的屏幕窗口並在該新窗口中啓動一個shell。附加到「屏幕」會話與創建一個新的屏幕窗口
問題:如何從屏幕會話之外的命令行執行此操作?
我已經嘗試了很多, G。 screen -x
(但它附加到現有屏幕窗口中的一個;它不會創建新窗口,也不會啓動新的外殼)。任何提示都是值得歡迎的。
環境是Linux(Ubuntu 12.04)。
我有一個屏幕會話運行幾個窗口。我想附加它,在其中創建一個新的屏幕窗口並在該新窗口中啓動一個shell。附加到「屏幕」會話與創建一個新的屏幕窗口
問題:如何從屏幕會話之外的命令行執行此操作?
我已經嘗試了很多, G。 screen -x
(但它附加到現有屏幕窗口中的一個;它不會創建新窗口,也不會啓動新的外殼)。任何提示都是值得歡迎的。
環境是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
不會堅持很長時間(並且因此不妨礙對該腳本的進一步調用)。
我從郵件列表中獲得的訣竅是'screen -X other'。 – Alfe
看看這個[博客條目](https://rohieb.wordpress.com/2010/07/30/gnu-screen-start-with-multiple-windows-and-commands/)。它建議使用一個會話命令文件(只是一個包含'screen','select'和'other'的所有命令的文件)並運行'screen -X source sessionfile'而不是多次調用'screen -X'。好方法 – KurzedMetal
我打電話給'screen -X'只是兩次......但是如果那個腳本增長的話,會話命令文件的方法值得看一看:) – Alfe
添加新的分開的窗口,以sesion_name
和運行command
screen -S sesion_name -x -X screen bash -c 'command; exec bash'
要選擇一個窗口加入,使用-p
選項。給予+
將創造一個新的,所以你的命令很簡單:
screen -x session_name -p +
這是記錄在手冊頁:
-pn ̲ü̲米̲ b ̲Ë̲ [R ̲ _o ̲ r ̲ _n ̲ a ̲ m ̲ e ̲ | ̲ - ̲ | ̲ = ̲ | ̲ + ̲
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.
我再次查看了我的手冊頁(版本4.00.03jw4),發現只有'-p number_or_name'(不是'| - | = | +')。然後我看了一個稍微更新的版本(4.01.00devel)並找到了你的劇情簡介。令人困惑的是,你粘貼的文本來自舊手冊頁(沒有描述「+」),而我的測試中的新手冊頁有這個額外的文本描述了「+」:「...而」+「將創建一個新的窗口。如果找不到指定的窗口,命令將不會被執行。所以這是一個新選項!感謝您指出這一點,我認爲它解決了我的問題。 – Alfe
好像有這樣做的標準方式。您可以在[郵件列表](http://lists.gnu.org/archive/html/screen-users/) – tuxuday
中搜索,我會接受這個答案,因爲我在那裏找到了一些東西,謝謝! :) – Alfe
@Alfe如果你找到了正確的答案,請自行發佈。如果這是一個正確的答案,你可以在一段時間後接受你自己的答案。除了我很好奇:P – KurzedMetal