我想知道是否可以创建一个别名(在我的 .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'