Linux服务器上没有安装GUI时如何切换到虚拟终端?

Linux服务器上没有安装GUI时如何切换到虚拟终端?

我试图理解终端、控制台、tty、虚拟终端、终端模拟器和这类东西。以下是我的环境的拓扑。有一台Linux服务器和一台Windows 10 PC。我putty在PC上使用并连接到Linux服务器。在这种情况下,它似乎ctrl + alt + f1~6无法带我到其他虚拟终端。我知道如果Linux服务器安装了GUI,ctrl + alt + f1~6当我直接连接到服务器时我可以按(例如,我插入了键盘和显示器)。我的问题是:

  • 我可以在拓扑中使用多个虚拟终端吗?
  • 如果Linux服务器安装了GUI(如Gnome),我可以在同一拓扑中使用多个虚拟终端(通过SSH连接)吗?
  • 在这个拓扑中,是putty终端吗?控制台?或者终端模拟器?

我实际上已经阅读了不同书籍中的几篇文章和相关部分。似乎不同的人介绍这些概念有点不同,我仍然很困惑。 IMO,这是我的 Linux 学习之旅中最困难的部分。

+---------------------+
|                     |
|                     |
|     Linux Server    |
| (No GUI installed)  |
|                     |
+-----------+---------+
            ^
            |
            | SSH
            |
 +----------+--------+
 |          |        |
 |      +---+---+    |
 |      | Putty |    |
 |      +-------+    |
 |                   |
 |    Windows 10 PC  |
 |                   |
 +-------------------+

答案1

每台运行 linux 的计算机(noGui 服务器、带 Gui 的笔记本电脑等)都有 tty(如果你插入键盘并使用 ctrl+alt+fX 你就会看到)。

当您使用 putty 进行 ssh 时,您使用的是 ssh 客户端(如 Linux 和其他类 UNIX 系统上的 openssh-client)。

当您使用 ssh 连接到服务器时,您正在远程连接,并且 ssh 服务器向您的客户端提供命令行界面。

当你连接时由服务器查看,通过 ssh 你不是在 tty 上/dev/ttyX而是在 pty 上/dev/pts/X

然后,如果您想切换到服务器上的另一个命令行界面,您只需启动一个新的 ssh 连接,或者如果您在服务器上安装了 screen 或 tmux,则可以将当前命令行界面拆分为两个终端。

答案2

您可以使用tty-命令查看您当前所在的终端。如果您尝试一下,您会发现所有终端模拟器和 ssh 访问都会导致例如,/dev/pts/X而当“直接”访问机器(即插入显示器+键盘)时,您将得到/dev/ttyX. (旁注:不使用CRTL+ALT+FXchvt X也适用于后一种情况)

pts意味着伪终端,我不知道有什么方法可以从终端本身更改它 - 但是它向我们表明您的ssh-session (即putty)实际上与终端模拟器的行为方式相同。 (关于这个主题的更多信息可以找到这里

您的选择是:

  • 您可以从 Windowsputty切换多个会话ALT+TAB
  • screen类似或的终端多路复用器tmux可以启动多个伪终端并在它们之间切换(甚至可以分割屏幕以在一个视图中包含两个或多个终端)

在 GUI 情况下,您受到与 CLI 情况相同的限制。

相关内容