如何在 tty 和 xorg 会话之间切换

如何在 tty 和 xorg 会话之间切换

我的 xorg 会话位于 tty1 上,如果我想从 tty 发出命令(因为由于某些原因我无法从 xorg 会话执行此操作),我可以按Ctrl+ Alt+ F2,然后键入命令。但我无法从除第一个之外的任何 tty 启动图形应用程序,因为其中没有 xorg 会话。然后我很好奇如何切换到 xorg 会话正在运行的 tty1 并返回到该会话?

答案1

您可以按照您所描述的方式切换 tty,方法是按:

  • Ctrl+ Alt+ F1: (tty1,X 现已在 Ubuntu 17.10+ 上发布
  • Ctrl+ Alt+ F2: (tty2)
  • Ctrl+ Alt+ F3: (tty3)
  • Ctrl+ Alt+ F4: (tty4)
  • Ctrl+ Alt+ F5: (tty5)
  • Ctrl+ Alt+ F6: (tty6)
  • Ctrl+ Alt+ F7: (tty7, 使用 Ubuntu 17.04 及以下版本时此处为 X)

您也许还可以使用Alt+Left/Right

请注意,不同的发行版对它们的分配不同。例如,RHEL 6 将 X 服务器分配给 tty1,将“哑终端”/“控制台”分配给 tty2-7,而 RHEL 5 将控制台分配给 tty1-6,将 x.org 分配给 tty7。一些 x.org 设置也会使切换到任何随机控制台变得更加困难;例如,RHEL 5.5 有一个专用的 x.org 键可以切换到 tty1,从那里您可以更轻松地访问 tty2-6。

有关的: shell、控制台和终端有什么区别?

答案2

或者,您可以使用该chvt命令 - 例如,sudo chvt 1切换到 TTY1,然后sudo chvt 7再次切换回 X 会话。看这里更多细节。

答案3

如何切换到 xorg 会话正在运行的 tty1 并返回到该会话?

因为 X 在 tty1 上运行,但不在 tty2 上运行。 tty 是一种“虚拟终端”,这意味着它应该代表实际的物理屏幕和键盘等。所有终端都是同时打开的,但由于您一次只有足够的硬件来与一个终端进行交互,所以这就是您所得到的。

事实上,您可以在不同的 tty 上运行多个 X 会话并在它们之间切换。您需要一个有效的~/.xinit~/.Xclients第一个。如果你不这样做,为了说明:

echo -e "#!/bin/sh\n mwm" > ~/.xinit
chmod u+x ~/.xinit

mwm首先通过从命令行尝试来检查是否存在。只要它不说“未找到命令”就可以了。现在从 tty2 尝试一下startx

如果没有显示管理器做极权主义的事情,你应该得到一个纯黑色的窗口,上面有一个大的X鼠标光标。左键单击应该会出现一个看起来很粗糙的菜单,您现在可以从中“退出”;但在此之前CtrlAltF1将带您前往其他tty1 上的 X 会话(F2 让您返回,等等)。

答案4

您必须将 DISPLAY 环境变量设置为:0这意味着 tty1 是您的显示提供程序。您可以将其设置:1为 tty2 等。

只需在 tty2 上运行以下命令:

export DISPLAY=:0

相关内容