如何创建一个包含多个 windows 的 GNU 屏幕会话?

how to create a GNU screen session with multi windows in it?

我总是在屏幕会话中与一些 windows、一个用于 shell、一个用于 mysql、一个用于音乐播放器、一个用于 irc,等等。 .

问题是,当您创建一个屏幕会话时,它默认只创建一个 window。所以我必须执行 Ctrl-a c 然后发出命令,一次又一次。

所以我写了一个 bash 函数来做到这一点。

d(){
        local i=workspace
        screen -qls $i
        if [ "$?" -ne 11 ];then
                screen -dmS $i
                screen -S $i -X screen mysql -uroot -p
                screen -S $i -X screen irssi
                screen -S $i -X screen nvlc $music -Z
                screen -r $i -p0
        else
                screen -r $i
        fi
}

我的问题是,有没有办法与 some windows 开始新的屏幕会话?对于这个问题,我的意思是 new session,不适用于使用“-X”的现有会话。而且,屏幕内置功能,我的意思是,不涉及 shell 脚本。

一开始我没有考虑.screenrc文件,因为每次调用screen都会调用里面的命令,但有时我需要用不同的东西创建一个新的screen会话。

我忘了一件事,我可以选择配置文件。 所以我认为答案是:

d(){ 
    screen -d -R -S workspace -c ~/.workspace
}

~/.workspace 的内容应该是:

screen
screen mysql -uroot -p
screen irssi
screen nvlc
select 0