TTY是什么,我如何访问TTY?

我一直听说过这些被称为 "tty" 的东西。
- 它们是什么? - 我如何访问它们? - 它们有什么作用?

1这是一个链接,应该能回答你的问题:http://askubuntu.com/questions/27339/what-is-tty7-in-the-commandline - Wojciech
5个回答

tty是Unix中的一个奇特命令,用于打印与标准输入连接的终端的名称。

TTY是文本终端,通常用作修复计算机问题的一种方式,而无需实际登录可能损坏的桌面。

相关链接:什么是命令行中的tty7?

默认情况下,Ubuntu有7个TTY。

  • 在Ubuntu 17.10及更高版本中:GUI登录屏幕位于1,GUI桌面位于2,命令行位于3-7
  • 在Ubuntu 17.10之前1-6只能用于命令行,7用于运行X会话(常规桌面)。

要访问它们,请使用以下键盘快捷键:

Ctrl + Alt + F3(或F1直到17.10)。

将F3更改为F3-F6以访问所需的终端。

要返回到您的GUI会话(正常的桌面): Ctrl + Alt + F2(或者F7直到17.10)。

8先生,您提到“按F1-F6键可访问所需的终端”,它们有什么区别,如何根据需要使用它们,支持哪种类型的终端需求。我不知道这是否是正确的地方,但您的问题和答案为我指明了方向。 - Sukupa91
4实际上,如果您没有处于X会话中,您只需要按Alt+F7,无需按Ctrl键。 - fonini
从17.10版本开始,不只有6个tty吗?请运行命令grep ACTIVE_CONSOLES /etc/default/console-setup - Pablo Bianchi
1我在这里提供了答案,我的目标是以更清晰的方式解释这个可能会令人困惑的话题: https://askubuntu.com/a/1329549/1157519 - Levente

一个 tty,简称为 teletype,也许更常被称为终端,是一种设备,它允许您通过发送和接收数据与系统进行交互,例如命令和它们产生的输出。
有许多种类型的 tty,但现在大多数 tty 都是以软件形式实现的,比如您可以使用 Ctrl+Alt+Fn 访问的图形控制台,或者在 X 会话中运行的终端仿真器,比如 Gnome 终端。
还有一个 tty 命令,它显示它所在的终端的设备节点(如果它不在终端内运行,则打印“not a tty”;是的,可以在终端外运行命令)。例如:
firas@itsuki ~ % tty
/dev/pts/0
firas@itsuki ~ % ssh localhost tty
not a tty

当我登录并在机器上运行shell时,shell通常在终端内运行,即此处为/dev/pts/0。然而,当我运行ssh host command在远程主机上运行命令时,该命令不在终端中运行。

终端仿真器是TTY还是PTS? - Motivated

你可以通过命令行使用chvt(需要sudo权限)来更改显示的TTY,例如通过SSH。以下是manpage的相关部分(man chvt):

CHVT(1)

名称

chvt - 更改前台虚拟终端

概要

chvt N

描述

命令chvt N将/dev/ttyN设置为前台终端。 (如果尚不存在,则创建相应的屏幕。 要摆脱未使用的VT,请使用deallocvt) 通常,组合键(Ctrl-)LeftAlt-FN(其中N在1-12范围内)具有类似的效果。


切换到tty1,例如chvt 1。 - carefulnow1

它改变了你的工作空间:例如,你可以打开一个文本文件,然后切换到tty2,然后你可能会有一个/ls命令作为参考。这对于像Ubuntu Server这样的环境非常有帮助。
这相当于在GUI环境中打开两个标签页。
在Ubuntu Server(对我来说是16.04.3 LTS)中,我可以使用ALT + F1-F6或使用ALT + LeftArrow向后移动一个数字,或使用ALT + RightArrow向前移动一个数字。
您可以通过从Ubuntu Server注销(运行logout)并在顶部查看“Ubuntu 16.04.3 LTS ubuntu tty#”来查看您的tty,这是标准的,但可能因版本而异。
如果您的登录屏幕上没有显示tty,则可以运行sudo nano /etc/issue,并在顶部插入任何您喜欢的内容,但要添加tty,您需要放置\l。将\n放置为主机名。
示例:
/etc/issue
Ubuntu 16.04.3 LTS \n \l

会显示
Ubuntu 16.04.3 LTS ubuntu tty#

注意事项:

#代表一个数字


我觉得你在回答“他们做什么”这个问题上已经有了一个不错的开端,虽然对于我来说还有点超出理解范围。在你的第一句话中有些地方我没有明白。你能否进一步解释一下,比如说,如果我在常规图形界面中打开了一个文本文件,那么通过访问tty我能实现什么,而在图形界面中不能实现呢? - Puffin

据我所知,在一台正常运行的机器上,没有什么区别(除了桌面终端有颜色,你可以最小化它们和其他一些更容易的原因)。
然而,如果你试图使用一台内存小于4GB的旧笔记本电脑,或者你搞砸了你的Debian安装(还不确定,Dell Inspiron 11-3162上的稳定性如何?);那么当桌面出现延迟、故障或者由于某种原因忘记如何输入字母"d"时,tty会在桌面无法正常工作时工作:tty只是工作,并且响应迅速。没有按下一个按钮然后等待30秒才能看到它显示出来(如果桌面终端决定要表现的话),它只是工作。
另外刚刚测试了一下,nano在tty中仍然有颜色代码,我相信vim或者你们喜欢的其他编辑器也会有。
其他帖子已经向你展示了如何使用它们,似乎你对为什么要使用它们感到困惑。这就是我回答的原因,希望对你有所帮助。
此外,从tty中启动网页似乎比在图形界面中打开终端的简单一行两个字符串命令要困难得多。
简而言之,图形用户界面(GUI)终端具有更多功能,在某些方面更易于操作。但当GUI出现故障时,TTY终端的工作速度和效率更高。