我有一个服务器上运行多个屏幕会话(如session_read , session_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设置进一步定制。