关于在Screen中创建新后台窗口且不切换当前活动窗口的技术咨询
关于在Screen中创建新后台窗口且不切换当前活动窗口的技术咨询
嗨,我来帮你解决这个Screen窗口切换的困扰!你的核心需求很明确:想在Screen会话里启动一个新窗口执行任务,但完全不想让当前的活动窗口被切换,既不想看到闪屏,也不想被强制冻结当前操作对吧?
我给你推荐一个完美的解决方案,直接使用Screen的-dm参数组合来创建后台窗口:
screen -dm sleep 5
参数解释:
-d:让新创建的窗口处于**分离(detach)**状态,意味着它会在后台默默运行,绝对不会自动切换到当前的活动区域-m:强制创建一个新的独立窗口,即使你已经处于一个Screen会话内部,也不会和现有窗口产生切换冲突
对比你之前的尝试:
- 你之前用
screen sleep 0.01 ; screen sleep 5的闪屏问题,本质是第一个短任务的窗口还是会短暂抢占当前区域,而-dm的方式完全不会出现这种情况 - 你尝试的
screen -Q number方案,问题出在-Q是Screen的查询命令,它会把结果输出到当前窗口,后续的sleep还会阻塞会话;而-dm的方式完全不会干扰你当前的操作流程
如果之后你想切换到这个后台运行的窗口,只需要在Screen会话里按下Ctrl+a "(先按Ctrl+a,再按双引号),就能列出所有窗口并选择它,或者用screen -r命令重新连接这个窗口(如果它是唯一的分离窗口的话)。
备注:内容来源于stack exchange,提问作者David G.
相关产品推荐
相关产品推荐

