管道 qrencode 到 eog 以避免创建文件

piping qrencode to eog to avoid creating a file

终端中的以下行将为网络链接保存 .png 图像文件:

qrencode -o qrcode.png 'https://en.wikipedia.org/wiki/Main_Page'

然后您可以使用

查看二维码
eog qrcode.png

如何将第一个命令传递给第二个命令并避免创建文件?

试过例如:

qrencode 'https://en.wikipedia.org/wiki/Main_Page' | eog

..但是没有用。

问题是您需要一个能够乐于从管道中读取图像的图像查看器。这里有两个可以使用。

首先,feh

qrencode -o - 'www.thesetchells.com' | feh -

其次,使用 ImageMagick:

qrencode -o - 'www.thesetchells.com' | magick display -

如果您使用旧版 v6 ImageMagick,请省略上例中的单词 magick

如何在 Linux 中最好地创建二维码,包括 Ubuntu:

总结

这样做:

# 1. 1-line cmd to make a QR code from a URL
qrencode -m 4 -o /tmp/qr.png "www.google.com" \
&& ((eog /tmp/qr.png &); sleep 1; rm /tmp/qr.png)

# 2. 1-line cmd to make a QR code from an entire file
cat "path/to/file.txt" | qrencode -m 4 -o /tmp/qr.png \
&& ((eog /tmp/qr.png &); sleep 1; rm /tmp/qr.png)

详情

我想指出 没有真正的优势,所以我建议使用 eog 和您手动创建的临时文件。 feh 是一个原始的图像查看器,没有放大和缩小我能看到的功能。此外,它无论如何都会使用临时文件,因此您仍然在使用它创建临时文件。如果你这样做,你会看到:

qrencode -o - 'www.google.com' | feh -

这是输出。我在图像中突出显示了临时文件路径。在这种情况下,它是 /tmp/feh_stdin_8WKtoo:

您现在甚至可以在 eog 中打开此图片!:

eog /tmp/feh_stdin_8WKtoo

eog 是一个 好得多的 查看器,带有缩放控件。您可以使用鼠标滚轮放大和缩小。

使用eog

因此,您不妨创建 您自己的 临时文件并使用 eog 作为开头,如下所示:

qrencode -o /tmp/qr.png "www.google.com" && ((eog /tmp/qr.png &); sleep 1; \
rm /tmp/qr.png)

qrencode -o /tmp/qr.png部分将图像存入/tmp/qr.png。如果成功(因此 && 部分),eog 在后台打开该文件 (&),然后我们等待一秒钟以确保 eog 已完成打开文件 (sleep 1;),然后我们会自动删除它 (rm /tmp/qr.png)。完成。

将整个文本文件转换为二维码:

# Option 1: multiple lines

filename_to_encode="hello_world.sh"
cat "$filename_to_encode" | qrencode -m 4 -o "/tmp/qrcode.png"
# Use `&` to run in background so that the `rm` cmd next runs **immediately!**
eog "/tmp/qrcode.png" &
sleep 1
rm "/tmp/qrcode.png"

# Option 2: same thing as above, but in a 1-line script
cat "hello_world.sh" | qrencode -m 4 -o /tmp/qr.png \
&& ((eog /tmp/qr.png &); sleep 1; rm /tmp/qr.png)

Full-text 这样的二维码 在 Kaspersky QR Scanner 等应用程序中打开效果最好(见下文)。

确保 eog 在放大时不会模糊图像

打开 eog,单击主屏幕 top-left 中的“图像查看器” --> 首选项 --> 取消选中“缩小时平滑图像”和“缩放时平滑图像”在":

现在,使用 phone 扫描 QR 码时,您将获得漂亮、清晰的边缘。制作“图像查看器”full-screen,然后放大,然后使用 phone.

从计算机屏幕轻松扫描它

二维码reader应用程序

打开二维码,我推荐Kaspersky QR Scanner为Android或iPhone。它有几个我非常喜欢的功能:

  1. 它会在打开链接之前检查链接是否存在不良内容。
  2. 如果您的 QR 码包含整个文件的内容,它会根据 QR 码中的确切文本将其很好地显示为 properly-formatted 文本文件。

但是,这是一个巨大的骗局:

  1. 似乎仅限于包含 < 1000 个字符左右的 QR 码,所以 I'm looking for something better

参考资料

  1. Ask Ubuntu: Zoom in on small photos without losing pixel crispness

另请参阅:

  1. 我第一次了解到 qrencode 的地方:https://www.linux-magazine.com/Online/Features/Generating-QR-Codes-in-Linux
  2. Software Recommendations: Secure QR code reader app for Android which can read very large QR codes (thousands of chars, ideally up to the max limit of 8000 chars or so)
  3. [我的回答]Ask Ubuntu: Create QR code in Ubuntu 16.04

关键字:Linux

中的二维码生成器