如何关闭 tty

dan*_*iel 17 arch-linux tty systemd

我打开了几个 tty,但我不知道用于关闭 tty 的组合键。我正在使用 Arch Linux。

cin*_*lli 11

“关闭”TTY

  • 如果systemd不是init正在使用,那么这对您没有帮助。
  • sysvinit不再受支持的Arch Linux

systemd'ssystemctl用于控制service units系统上的所有内容。要了解有关它的更多信息,请参考man systemd.unit。停止getty所需的服务tty将执行相关任务。下面是执行此操作的命令,我还添加了一个测试,以便您确认结果。

# systemctl stop getty@ttyX.service

  • 替换X要关闭 的tty号码
    • 如果使用[F4]切换到 ,tty则该服务名为getty@tty4.service
  • 此过程还将关闭从指定的tty.

测试

  1. 切换到tty4并输入您的usernamepassword
    • <CTRL>+<ALT>+[F4]
  2. 启动最喜欢的文本编辑器
    • vim foo.bar
  3. 切换回tty1tty您最初所在的任何一个
    • <CTRL>+<ALT>+[F1]
  4. 打开终端窗口并检查是否vim正在运行
    • pgrep vim
      • pgrep返回指定应用程序的信号进程号。如果同一个应用程序有多个实例,将返回多个数字
        • (如果有四个终端窗口打开则pgrep输出四个进程号)
  5. 作为根停止getty服务tty4
    • # systemctl stop getty@tty4.service
  6. 重新检查在打开和编辑的位置vim是否仍处于活动状态tty4foo.bar
    • pgrep vim (如果没有输出/比第4步少输出,则没有过程)
  7. 仔细检查getty@.servicefor的状态tty4
    • systemctl status getty@tty4.service | grep -i "Active"
      • 管道输出grep -i "Active"将仅输出所需的行,您需要观察以确认getty禁用
        • Active: inactive (dead)


Sté*_*las 6

我相信这是deallocvt您正在寻找的命令。

首先确保不再使用 VT。举例来说,如果有一个getty开始与重生init该控制台上,没有一点想释放它,你需要从删除TTYinittab第一,告诉init重新加载其配置。如果有壳,退出壳等。