我在 Konsole 中使用 (Open)ssh 客户端,但我不知道如何发送 ALT-Fx 键,这样我就可以在远程机器上的终端之间切换。我需要它,这样我就可以通过 和 来打开/关闭 GUI init 3
,init 5
因为远程机器确实动力不足。我到处寻找,寻找有关 putty、奇怪的 ssh 客户端、mac、手机的答案……但不仅仅是 Konsole 中标准的 OpenSSH。有人能至少给我指出正确的方向吗?
答案1
当您在本地与 Linux 计算机交互时,实际上是与连接到“Linux OS”(服务器)的终端仿真器(客户端)交互。您的特定客户端恰好与服务器有 7 个连接。当您“使用 ALT-Fx 键在终端之间切换”时,您会在那 7 个连接之间切换客户端。我要强调的是,这种切换发生在客户端(终端仿真器)上,服务器不知道客户端上哪个连接处于活动状态。它只处理来自 7 个连接中的每一个的输入。
当您使用 Konsole 通过 ssh 进行连接时,您使用另一个终端仿真器 (Konsole) 通过 ssh 建立到远程服务器的新连接(如果只有这 7 个连接,则为第 8 个)。此后,您的 Konsole 只能与远程服务器建立一次连接。
因此,“通过 ssh 发送 ALT+F1 到 ALT+F7”对于在单个连接之间切换是没有意义的;我可以想象,切换当前在本地连接到同一 Linux 服务器的家伙的连接的恶作剧并不是您想要的。
将本地终端从 GUI(ALT+F1)切换到非 GUI(ALT+F7)不会影响远程服务器性能,无论您是否查看,所有 7 个终端连接都存在。即使从墙上拔下显示器也无济于事。
GUI 运行成本太高而且您不需要它 - 终止 Xserver 和客户端。
对于那些因为问题标题而阅读本文的人来说
您可能想要在远程服务器上执行多任务。
为此,您可以启动另一个 Konsole 并通过 ssh 再次连接到同一台服务器(建立另一个连接)
最佳做法是使用终端多路复用器
在远程服务器上运行并代表您连接到本地计算机的程序。老派是screen
,新派和炒作是tmux
。两者都很好。
使用多路复用器时,您可以通过 ssh 与服务器建立单一连接,如果多路复用器尚未运行,请启动它,它会为您创建本地终端连接。如果您需要另一个 - 按下热键,它会创建另一个本地终端连接。您可以在虚拟窗口之间移动这些连接,垂直、水平拆分所述窗口。从一个窗格复制并粘贴到另一个窗格。
一个绝妙的功能是,如果您的 ssh 连接由于某种原因中断,您的终端多路复用器会话将继续在远程主机上运行。例如,如果您通过 ssh 连接并对cp
一些大文件运行命令,则连接中断意味着复制失败,如果您在多路复用器中运行相同的命令,它将继续运行。您可以再次连接到服务器,连接到正在运行的多路复用器会话,并且您的所有窗口和窗格都将回到您离开它们的位置。