在文件上运行“cat”会打开打印对话框吗?

在文件上运行“cat”会打开打印对话框吗?

今天一时兴起,我在 VirtualBox 虚拟磁盘映像 (VDI) 文件上运行了“cat”命令。正如预期的那样,控制台上的 stdout 输出了各种乱码。然而,运行命令大约 15 秒后,打印对话框打开了!它显示了一个只有更多机器代码的页面,可以打印了。当我关闭对话框时,文件继续照常打印。

我对此感到很困惑。我正在运行 macOS Sierra 10.12.6。有人知道这种行为是怎么发生的吗?

答案1

MacOS 的终端应用程序似乎没有这样做,但是iTerm2响应 xterm 支持的打印机控制序列。

在命令行中,你可以使用

tput mc0

打印屏幕内容,或者

tput mc5

这会打开打印机。后者会更烦人,所以你的二进制文件可能具有与以下内容相对应的字符串mc0

Escape[i

(的序列mc5有一个5之前i)。

以供参考:

    CSI Pm i 媒体复制 (MC)。
                Ps = 0 -> 打印屏幕(默认)。
                Ps = 4 -> 关闭打印机控制器模式。
                Ps = 5 -> 打开打印机控制器模式。

相关内容