如何为GNU screen会话设置自定义名称(别名)并通过别名重新连接?
如何为GNU screen会话设置自定义名称(别名)并通过别名重新连接?
嘿,这个问题我太熟了!你之前混淆了screen的两个参数功能——-t是用来设置会话内窗口的标题,而不是整个会话的名称,所以才会出现screen -r找不到自定义名称的情况。其实GNU Screen完全支持用自定义名称来管理会话,我给你一步步讲清楚:
创建带自定义名称的新会话
直接用-S参数就能给会话设置专属名称,这才是正确的打开方式:
screen -S customname
执行这条命令后,你就进入了一个名为customname的新会话,以后要找回它就靠这个名字。
查看所有会话的名称
不确定自己设置的名称有没有生效?用screen -ls就能列出所有正在运行的screen会话:
screen -ls
输出里会显示类似1234.customname的条目(前面的数字是会话的PID),但你完全不需要记这个PID,直接用后面的自定义名称就行。
通过自定义名称重新连接会话
现在你可以直接用名称来重新连接,不用再管[pid.]tty.host那串东西了:
screen -r customname
如果不小心创建了多个同名的会话(这种情况很少见),可以加上PID前缀来指定,比如screen -r 1234.customname,不过只要你给每个会话起独特的名字,直接用名称就足够了。
给已运行的会话重命名
要是你已经有一个正在运行的会话,想给它改个自定义名称也没问题:
- 先连接到这个会话(比如用
screen -r 1234,这里的1234是原会话的PID) - 按下
Ctrl+a(这是screen的默认前缀键),然后输入:sessionname newcustomname,回车确认 - 现在用
screen -ls就能看到新名称了,下次连接直接用screen -r newcustomname就行
备注:内容来源于stack exchange,提问作者Richie Bendall




