【Linux终端工具-tmux】再也不怕ssh连接忽然断开了!

    科技2026-04-23  2

    Terminal Multiplexer(终端复用器),正常来说,当你打开窗口时,会话开始;关闭窗口,会话结束。

    tmux的作用正是如此,它解绑了会话和窗口,当你关闭窗口并重新打开时,会话并不会终止,做到了将会话和终端窗口分离。

    因此,那个困恼我多时的问题「ssh链接老是断开」也得到了解决。

    我只需要在tmux里,使用ssh远程连接到服务器,这样就算窗口关闭,会话也不会终止,再次进入那个“虚拟窗口”(tmux的那个伪窗口,其实是会话),这是ssh进程还被保留,就不会断开链接了。

    想起来是这么回事,实操一波试试吧。

    安装

    <Tips: 在客户端安装,而非服务端,望君知>

    项目地址:https://github.com/tmux/tmux

    This release runs on OpenBSD, FreeBSD, NetBSD, Linux, OS X and Solaris.

    git clone https://github.com/tmux/tmux.git cd tmux sh autogen.sh ./configure && make

    OR

    sudo install tmux # 然后疯狂按Tab键,让它自己补全就完了

    新建会话 new

    # 直接 tmux 即可进入“tmux伪窗口” tmux # 或者也可使用new -s(session)创建一个带名字的 # 因为如果不指定名字,就默认是0,依次递增 tmux new -s xm

    分离会话 detach

    # 第一种,tmux伪窗口中输入tumx detach # 第二种,先按 Ctrl+b,再按d # Ctrl+b 相当于是它快捷键前缀,通过它和其他键的组合,实现快捷键功能

    接入会话 attach

    # 在本机的终端,想进入tmux时 # 列出所有会话 tmux ls 0: 1 windows (created Thu Oct 8 15:17:31 2020) # 接入会话 tmux atach -t 0

    转化会话 switch

    # 已经在一个tmux伪窗口中,想进入另一个伪窗口 tmux switch -t <id>

    退出会话 kill-session

    # 在会话窗口中直接输入exit exit # 使用 tmux kill-session -t <id>的方式 tmux kill-session -t 0

    实操 - 在tmux中使用ssh连接树莓派

    直接 tmux 进入 伪窗口(这个伪窗口是我自己乱叫的)

    这就是伪窗口,可以看底部。左侧是你的id和名字,我的都是0;右侧是啥一目了然。

    在这个伪窗口中,就和正常窗口中一样,直接使用命令链接树莓派就OK了

    就像在终端中一样

    接下来你可以Ctrl+b,再按d,离开这个伪窗口,这个ssh连接不会断。相比之下,如果直接在终端中,连接就会断开。

    另外,所谓「伪窗口」的本质是tmux这个会话,因此,如果你使用了kill-session或者exit关闭了这个会话的话,那么在伪窗口中运行的会话也会关闭。

    如果你不太理解窗口和会话,建议找大佬的文章,我通俗的讲:窗口就是我们打开的终端窗口,会话就是运行的进程、服务。

    OK,我是续命,喜欢我欢迎balabala,白白~

    直接公众-号复制过来的,喜欢可以关注一手,不强求哈哈,因为我个人也觉得电脑上读博客更方便些。手机代码看不全,图片看不清,烦得很。

    Processed: 0.009, SQL: 12