2012-04-30 97 views
1

我需要把我的.screenrc放到什麼位置才能創建嵌套會話(即:屏幕內的屏幕)?現在,如果我在打開的屏幕選項卡中再次運行screen,而不是在該選項卡內打開新的屏幕會話,它只會打開一個新選項卡(即:與按-C時相同的效果)如何創建嵌套屏幕會話?

我想獲得一個外屏會話和一個內屏會話 - 請問我該怎麼做?

我.screenrc是除了下面一行空,顯示打開的標籤列表:

hardstatus alwayslastline "%{=w}%{G} %{b}%w" 
+0

你能詳細說明你爲什麼要這樣做嗎?屏幕是一個「窗口」管理器。我無法想象一個理由在另一個之內運行。也許你可以保存會話,開始另一個會話,並根據需要在兩個會話之間切換。 – nicerobot

+0

因此,我可以將常用窗口分組 - 例如:外屏有3個選項卡,project1,project2和project3,project1的內部屏幕有一些打開的選項卡,全部與project1相關,project2的內部屏幕具有該項目的選項卡等。只是一個簡單的方法來管理相關的標籤 –

+0

我使用支持標籤的GUI終端應用程序做同樣的事情。每個GUI選項卡包含一個單獨的屏幕會話。當我啓動終端時,每個選項卡會自動連接到其屏幕會話。 – nicerobot

回答

2

我不知道編輯screenrc文件,但什麼工作對我來說是ssh方式連接到同一臺電腦然後開始一個新的屏幕實例。 hackish的解決辦法,但它的工作...

screen 
ssh 127.0.0.1 
screen 
3

不知道你的意思是從你開始screenrc一些嵌套的會議,或設置一些在你screenrc這樣你就可以開始從結腸嵌套會議提示。

對於第一個,我使用一個單獨的文件screenrc,.screenrc.main,其中包含

source ~/.screenrc 
screen -t <window name> screen -S <nested session name> -e^jj <command> 

我認爲「新的會話名稱」部分必須得到一個新的會話。我爲嵌套會話使用了不同的命令字符。另外我正在使用一個單獨的文件,因爲我不希望爲嵌套會話執行該命令。然後從命令行我做

DISPLAY= screen -S <top session name> -c .screenrc.main 

啓動外部會話。

第二,我只需在冒號提示中鍵入上面的屏幕-t行。

4

這是一個非常古老的問題,但以供參考:

啓動主屏幕會話:

screen -S main 

啓動第二屆(分離):

screen -dmS SomeName 

從標籤你想要嵌套會話:

screen -r SomeName 

使用和額外a命令嵌套屏幕,即^a-a-c在嵌套屏幕中創建一個選項卡。

0

從我在你的問題中看到的,似乎你可能會困惑如何操作嵌套會話?

CTRL+a c will create a new 'tab' in the outer screen session. 
CTRL+a a c will create a new 'tab' in the session 1 deeper than the previous 
CTRL+a a a c creates a new tab in the session 1 deeper than the previous 

我有情況有3層,在那裏我SSH到我的工作中,然後從那裏進入代理,並從那裏到我要工作在服務器上,每次打開一個屏幕會話能夠稍後恢復。

如果沒有顯示完整主機名的hardstatus,它很容易迷路,確實很容易!