如何在 Ubuntu 中直接打印到 LPT 端口?

xyz*_*man 7 printer parallel-port ubuntu ubuntu-10.04

在我的车库里闲逛时,我发现了一台古老的矩阵打印机,Epson LX-1050。Ubuntu 毫无问题地识别了它,我能够通过 CUPS 使用它打印几页。

现在,出于某种原因,我想按照 1994 年设计的方式使用这台打印机:直接写入并行端口。我尝试了最简单的方法来操作我的 USB 3G 调制解调器:

echo "Y helo thar" > /dev/lp0
Run Code Online (Sandbox Code Playgroud)

我有一个错误:

bash: /dev/lp0: Access denied
Run Code Online (Sandbox Code Playgroud)

我试过 sudo'ing 这个命令没有成功。还尝试镜像复制文件到 LPT1 的 DOS 方法:

cp /etc/hosts /dev/lp0
Run Code Online (Sandbox Code Playgroud)

再次没有成功。

我可以尝试使这种方法发挥作用的任何建议吗?

xyz*_*man 7

我好像想通了。傻我。在谷歌搜索 lpadmin 使用示例时,我偶然发现了这个链接:http ://ubuntuforums.org/showthread.php?t=1437325

dev/lp0 上的权限是:

c---rw---- 1 root lp 6, 0 2011-06-26 22:47 /dev/lp0
Run Code Online (Sandbox Code Playgroud)

据我所知,组 lp 只有 lp 用户。我表演后

sudo chmod 666 /dev/lp0
Run Code Online (Sandbox Code Playgroud)

以下命令开始按预期工作,使打印机将符号输出到纸上:

echo "Y helo thar" > /dev/lp0
Run Code Online (Sandbox Code Playgroud)

好吧,我想这是一个很好的万无一失的方法,可以防止有人意外地写入 LPT 端口而不是打印守护程序,但对我来说仍然没有意义,为什么它被禁用了 root?