如何在图形会话上的 shell 之间切换 tty

如何在图形会话上的 shell 之间切换 tty

我想知道是否可以创建一个别名(在我的 .zsh_aliases 上)以从图形会话启动命令到 tty(1 或 6 无关紧要...)?

我尝试使用例如 cmatrix:

    alias matrix='sudo chvt 1 && cmatrix -B'

它将打开 tty 1 但在当前 shell 上(在 Xsession 上)启动 cmatrix。

(我在 Debian 10 上有一个 zsh shell)

答案1

chvt 1导致 vt 1 变得可见,但不影响后续命令的运行位置。cmatrix -B在运行原始 shell 的同一终端上运行。如果你想cmatrix在另一个终端上运行,你必须让系统知道这就是你想要做的。

使用openvt在不同的虚拟控制台上运行程序。-s如果您还想让该控制台可见,请传递该选项。openvt需要以 root 身份运行。如果您不想cmatrix以 root 身份运行,则需要使用su来降低权限。

sudo openvt -c 1 -s su "$USER" -c 'cmatrix -B'

相关内容