如何在ssh中指定不同的屏幕会话名称

我有一个服务器上运行多个屏幕会话(如session_readsession_prod ..)

目前我指定了屏幕会话后,我已经进入我的服务器。

有没有办法指定屏幕会话,而我正在尝试SSH?

就像是

 ssh user@servername screen_session_name 

你需要分配一个TTY,否则SSH会抱怨:

 $ ssh host screen Must be connected to a terminal. 

假设会话已经断开:

 $ ssh -t user@host screen -r session 

否则每个手册页都有一个合适的-d,-r,-D,-R,-x的组合。

我在~/.screenrc使用自定义的hardstatus行:

 hardstatus alwayslastline "%{wk}%-w%{Gk}[%n %t]%{wk}%+w%=%{Ck}%d %M %Y %c:%s" 

结合一点shell脚本:

 #!/usr/bin/env bash show_help() { printf "Usage: con hostname\n" exit 0 } [[ "$#" -eq 1 ]] || show_help uppercase="${1^^}" lowercase="${1,,}" screen -t "${uppercase}" -T screen-256color ssh "${lowercase}" exit 0 

把它放在PATH的某个地方,你只需要调用它:

 $ my_script hostname 

一个新的屏幕会话将被分配标题设置为您要连接到的主机名。

您可以通过~/.ssh/config设置进一步定制。