我的 Linux 机器没有 GUI。我使用它作为跳转箱,通过它在我的路由器上进行 telnet/ssh 配置
在 Unix 中将进程发送到后台的快捷方式是Ctrl+Z 同时,退出 Cisco 路由器配置模式的快捷方式也是Ctrl+Z
因此,如果您从 Linux 中的命令提示符配置 Cisco 路由器,则没有办法(或者至少我不知道)将 telnet/ssh 会话发送到后台,以便您可以打开一个新的会话。
我该如何修复它?
我正在考虑更改快捷方式或使用可以在文本模式下运行的 telnet/ssh 管理器。有什么建议吗?
答案1
您可以使用以下方式更改挂起字符stty
。例如,对于你的情况,你可以使用以下命令禁用“暂停”功能
stty susp undef
或者将其更改为例如ctrl
-E
stty susp '^E'
你可以检查一下:
[romano:~/Downloads/mps] % sleep 1000
^E
[1] + 2681 suspended sleep 1000
1z [romano:~/Downloads/mps] 20 % fg
[1] + 2681 continued sleep 1000
^Z
stty -a
为您提供所有特殊字符:
[romano:~/Downloads/mps] % stty -a
speed 38400 baud; rows 24; columns 114; line = 0;
intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = M-^?; eol2 = M-^?; swtch = M-^?; start = ^Q;
stop = ^S; susp = ^E; rprnt = ^R; werase = ^W; lnext = ^V; flush = ^O; min = 1; time = 0;
-parenb -parodd cs8 hupcl -cstopb cread -clocal -crtscts
-ignbrk brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr icrnl ixon -ixoff -iuclc ixany imaxbel iutf8
opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0
isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt echoctl echoke
...虽然在重新阅读问题之后,你可能会从终端多路复用器中受益匪浅,因为@Shaun 建议我个人最喜欢的是老式的screen
,有很多教程,即使是书面形式,我也比视频更喜欢……
答案2
我认为对于你的情况,我会调查 byobu/screen/tmux(我相信 byobu 是 ubuntu 上的首选,screen 在其他 Linux 上更流行,而 tmux 在 BSD 上更流行)。
一张图片胜过千言万语,因此将“byobu”粘贴到 youtube 上将比我用文字更快地解释这个概念。但它们是终端多路复用器,允许您从 byobu 内部启动并发 shell,并允许您在它们之间“切换”。仅此一项就可以解决您的问题,但深入了解它们的其他功能也可能对您的工作流程有益 - 例如,拆分窗格允许您并排检查两个路由器上的运行配置,而不是在它们之间切换。