2021年12月

在“我的世界”中构建的 8 位 CPU 可以运行自己的游戏

玩家花了七个月的时间在 “我的世界” 建造了一个名为 Chungus 2 的极其复杂的计算机 CPU。这并不是第一个在 “我的世界” 内虚拟构建的 CPU,但它很可能是最大和最复杂的,它模拟了一个 8 位 CPU,时钟速度为 1 Hz,内存为 256 字节。它使用 “我的世界” 游戏的物理引擎,在宏观上重现了真实处理器的结构,材料包括红石粉、火炬、中继器、活塞、杠杆和其他简单机器。如果将游戏内的每个 “块” 视作一米,那么在现实世界中重现这个 CPU 将大约有一个摩天大楼大小。当连接到其 32×32 “屏幕” 和 “控制器” 时,它可以玩俄罗斯方块、贪吃蛇等游戏,甚至还可以运行一个图形计算器。它的每个程序也都是在 “我的世界” 中虚拟构建的,可以像一个货运列车一样大小的卡带插入这台电脑。

老王点评:要是再继续发展到可以在这个计算机上玩“我的世界”,不知道会不会递归到爆?

TikTok 新推出的 Live Studio 直播软件被指抄袭 OBS

上周,TikTok 推出了名为 Live Studio 的 Windows 直播软件,它旨在帮助人们实现高质量的直播推流,同时方便地整合游戏视频流、以及图像和文本等叠加图层。但著名的开源直播软件 OBS 指出 TikTok 的这个软件实质上是 OBS 项目的一个复刻。OBS 项目团队主动联系了 TikTok,但没有得到回应。OBS 软件采用 GPLv2 许可证开源,按许可证要求,使用了该软件代码的项目也必须以相同的许可来公开任何经过修改的源码。

老王点评:让我们看看 TikTok 如何说,是抵赖到底还是去买商业授权。

开发者创建了一种开源的“相当不错的图像格式”

一位开发者认为 PNG、JPEG、MPEG、MOV 和 MP4 这些图形格式过于复杂,因而创建了一种新的文件格式,并给它起了一个响亮的名字:“Quite OK Image Format”(QOI)。他已经将其发布到 GitHub 上。虽然作者承认 QOI 对图片的压缩效果不如优化后的 PNG 编码器,但他声称“无损压缩图片的大小与 PNG 相近,同时提供 20-50 倍的编码速度和 3-4 倍的解码速度”。最重要的是,他的编解码器的参考实现大约只有 300 行的 C 代码,而文件格式规范只有一页而已。

老王点评:看起来不错,或许在某些场景是个很好的选择。

现在,是时候回顾一下今年影响 Linux 和 Linux 用户的一些大事了。

2021 年即将结束。Linux 今年屡有大事,虽然并不全是好消息。

让我来分享一些来自 Linux 世界的大事,这些事件对普通的 Linux 用户,特别是桌面 Linux 用户有一定的影响。

1、RMS 重返自由软件基金会

自由软件基金会 Free Software Foundation (FSF)的创始主席 Richard Stallman(RMS)在 2019 年因媒体的抨击而被迫辞职。然而,这位标志性的嬉皮士技术人在今年 3 月份的 LibrePlanet 活动中出人意料地 宣布复出

虽然自由软件运动是 Stallman 在 80 年代发起的,并创立了自由软件基金会(FSF),但这次他是以董事会成员之一的身份回归的,而不是以主席的身份。

这段插曲使开源世界再次分裂。许多组织和开发者反对他的回归。但与此同时,Stallman 也得到了 来自非美国开发者的压倒性支持

尽管 Stallman 已经道歉,但许多来自 GNOME 和 开源推进计划 Open Source Initiative 的人 主张撤换整个 FSF 董事会

许多主要的赞助商因此断绝了与 FSF 的关系,但 FSF 在财政困难的情况下仍在坚持。2021 年即将结束,Stallman 仍然活跃在他 30 多年前创立的组织的董事会中。

2、Arch Linux 引入了一个安装程序

不过不是图形化的。

你可能已经知道,安装 Arch Linux 并不像安装 Ubuntu 或 Fedora 那样简单。没有图形化的安装程序。一切都必须通过命令行来完成,但即使是这样,你也必须参考一些文档。

Arch Linux 试图通过提供一个用来指导你的安装脚本来改善这种情况。

当然,它不像图形化的安装那么舒服,但至少有指导的 Arch Linux 安装总比没有好。

这个 archinstall 脚本可以在较新的 Arch Linux ISO 中找到,你可以在安装 Arch Linux 时在 TTY 中输入 archinstall 来使用它。

3、微软 Edge 浏览器登陆 Linux

它已经测试一年多了,但在 2021 年我们终于看到了 微软基于 Chromium 的 Linux 版 Edge 浏览器的最终稳定版

我知道一些 Linux 用户彻底反对接触任何微软的东西,这当然很好。它只是为 Linux 上长长的可用网页浏览器列表增加了一个选择。在 Windows 系统上使用 Edge 的人现在有能力在 Linux 上使用和同步他们的浏览器活动。

一些 在 Linux 上安装了 Edge 浏览器 的用户发现它出乎意料地好。就个人而言,比起其他浏览器,我还是更喜欢 Firefox,但如果 Edge 能把超高清或全高清的 Netflix 流媒体带到 Linux 上,它可能会成为我的辅助浏览器。

4、CentOS 替代品的崛起

红帽公司去年震惊了 Linux 世界,它决定 干掉稳定的 CentOS,转而支持滚动发布的 CentOS Stream

这催生了 几个 CentOS 替代发行版。其中获得了最多人气和 CentOS 市场份额的两个发行版是 Rocky Linux 和 Alma Linux。

Rocky Linux 是由 Gregory M. Kurtzer 创建的,他是 CentOS 的最初的创建者。

Alma Linux 是由 CloudLinux 创建的,它是一家提供了基于 CentOS 的服务器和内核补丁服务的企业。

这两个发行版已经占领了 CentOS 留下的市场。红帽公司向小型企业免费提供 RHEL 许可证的计划 并没有那么成功。

5、Steam Deck

Valve 发布了一款名为 Steam Deck 的掌上游戏设备。它产生了相当大的反响,预购即售罄。

它与 Linux 有什么关系?有两个:

首先,Steam Deck 运行在基于 Arch Linux 的定制 Steam OS 上。考虑到这些游戏将在基于 Linux 的操作系统上运行,这给桌面 Linux 上的游戏也带来了希望。

第二,Steam 声称所有的游戏(无论它们是否只在 Windows 上运行)都将可以在 Steam Deck 上运行。这个口号太大了,但是 Steam 已经开始验证能在 Deck 上运行的游戏。这可能意味着经过 Deck 验证的游戏在桌面 Linux 上应该也能正常运行。

6、反作弊引擎正式支持 Linux

对 Linux 玩家来说这是又一个 2021 年的大新闻。Epic Games 为其 Easy-Anti Cheat 服务增加了完整的 Linux 支持,以及官方 SteamPlay(或 Proton)和 Wine 兼容性

Easy-Anti-Cheat 是 Epic 提供的业界领先的反作弊服务,可以防止多人 PC 游戏中的黑客攻击和作弊。

这是一个重大举措,因为 Linux 游戏玩家经常被禁止参与许多流行的多人游戏,如《堡垒之夜》、《战地》。随着反作弊支持的加入,在 Linux 上玩主流多人游戏变得更加容易。

7、GNOME 40

GNOME 40 是一个激进的版本。几乎和 GNOME 3 一样激进。

不,将版本号从 3.38 跳到 40 并不是关键因素。

GNOME 40 换成了三指轻扫的水平布局。这种水平方式使得第 40 版在用户界面和用户体验上与之前的版本有很大不同。

8、内核 5.15 中支持 NTFS

这可能看起来没什么,但 Linux 内核中对 NTFS 文件系统的适当驱动支持对许多人来说是件大事,特别是对于共享分区来说。

之前,NTFS 文件系统是在用户空间(FUSE)中借助 ntfs-3g 软件包使用的。这意味着数据的读取和写入速度很慢。

原生的驱动程序改善了 Linux 中 NTFS 文件系统的性能。

9、Linux 已经 30 岁了

Linux 内核比许多 Linux 用户都要老。它诞生于 1991 年 9 月,当时芬兰计算机科学专业的学生 Linus Torvalds 宣布了这个 “爱好项目”,它本应不是 “大而专业” 的。

Torvalds 以 Linux 项目作为他的毕业论文取得了他的硕士学位。Torvalds 不可能知道他的 “爱好” 将成为今天 IT 世界的支柱和一个成功的开源项目的代表。

10、Linus Tech Tips 对 Linux 桌面的实验

这是另一位将 Linux 推上风口浪尖的 Linus。

Linus Sebastian 是顶级的技术 YouTuber 之一,他开始挑战日常使用 Linux 30 天的目标。

一个拥有数百万订阅者的流行 YouTuber 使用了 Linux。这是一个前所未有的机会,是桌面 Linux 被数百万 Windows 用户看到的一次大公关。

但是它出了问题。实际上,是可怕的错误。

Linus Sebastian 在 Linux 上遇到了困难。他遇到了各种困难,最后在试图安装 Steam 的时候毁掉了他的 Pop!\_OS 系统

我不知道 Torvalds 是否看到了那些视频,这个与他同名的人在他的造物中苦苦挣扎。

11、苹果的 M1 Mac 上的 Linux

一个苹果让世界认识了重力(尽管它已经存在)。一个苹果让世界认识了 ARM 处理器(尽管它也已经存在)。

苹果公司基于 ARM 的 M1 系列因其性能提升而在用户中大受欢迎。有一个专门的项目 Asahi 正在努力使 Linux 可以在苹果 M1 设备上运行。

2021 年,Asahi Linux 取得了一些良好的进展。他们的工作也将使其他发行版受益。

Arch Linux 与 KDE Plasma 在 M1 Pro MacBook 上运行

12、Windows 11 发布

为什么 Windows 11 的发布与 Linux 有关呢?因为不是所有的现有系统都有资格运行 Windows 11。这意味着当 Windows 10 支持结束时,将有一大批设备运行一个过时的操作系统。他们中的一些人会转移到 Linux。

不要认为我过于乐观。当 Windows XP 支持结束时,我已经看到了这种流亡。一些 Linux Mint 和 Zorin OS 用户曾经是 Windows XP 的移民。

让我们希望 2022 年对我们所有人都好一些

2020 年开始的 COVID-19 流行病在今年继续困扰着世界。看看 Omicron 变种的传播情况,2022 年的情况看起来也不太乐观。

但是,让我们不要太悲观,庆祝新的一年,希望明年对桌面 Linux 用户和其他所有人会更好。


via: https://news.itsfoss.com/biggest-linux-stories-2021/

作者:Abhishek 选题:lujun9972 译者:wxy 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

使用本文中的这些 Ansible 剧本可以帮你获得更优的 Mycroft AI 体验。

 title=

Mycroft AI 是一款虚拟助手应用程序,可以响应语音请求并完成相应的任务,比如在互联网上搜索你需要的某些信息,或者下载你喜欢的博客等等。这是一款优秀的开源软件,不同于那些收集个人数据业务的公司的同款软件,Mycroft AI 注重于保护隐私以及提供平台灵活性。

Mycroft AI 使用 python 开发,可以安装于不同的硬件平台上。家喻户晓的树莓派便是一个非常热门的运行语音助手的硬件方案(不过不是唯一的方案)。方便的是,Mycroft 为树莓派提供了 Picroft 镜像,虽然目前 Picroft 还有一些限制,比如不支持 64 位系统,不过不能阻止它成为一种优秀的解决方案。

树莓派 4,我选择的目标平台

树莓派在 Mycroft 社区中非常受欢迎,因为其性价比高,在教育行业中有着巨大的优势,并且由于 Mycroft 提供的便捷功能以及树莓派本身易于访问的输入/输出(GPIO)引脚等,为树莓派提供了有趣的扩展可能(比如,提供 唤醒词 LED GPIO 能力)。

树莓派 4B 具有足够的 CPU 算力以及内存来平稳运行 Mycroft。我使用的是 8G 内存的树莓派4B,运行 Raspberry Pi OS Bullseye 64-bit 系统,你可以从 RaspberryPi.org 网站下载该系统镜像文件。

自动化这件事

构建你自己的 Mycroft AI 系统,必须要注意一些细节问题。根据我(一年以来)的初步经验,以下罗列了一些重要的技术细节点:

  • 音频输出(扬声器配置)
  • 音频输入(麦克风配置)
  • 麦克风质量(以购买的实际硬件为准)
  • 唤醒词响应(比如打招呼 “嘿,Mycroft”)
  • 响应延迟(比如提问 “天气怎么样”)

这些并不是 Mycroft AI 的问题(LCTT 译注:难道软件平台就没有处理延时问题?),它们只能是你在选择硬件和配置操作时必须牢记关心的事情。树莓派本身能够运行 Mycroft AI,但有一些配置需要额外的注意下:

  • CPU 调度器
  • SD 卡性能
  • PulseAudio 配置
  • 网络延迟

我做了大量的研究和实践来解决上面列出这些令人头疼的注意点,最终我实现了我的“终极”目标 —— 最流畅的体验!

Ansible 雪中送炭

我已经摸索出了最流畅的体验配置,但是如何确保在任何树莓派 4 板子上都能不遗漏每一个设置细节,然后达到重新部署这种流畅性体验的目标呢?

Ansible 能帮助你实现。Ansible 在设计上是幂等设计,这意味着它仅在需要时响应更改的请求。如果一切配置正确,Ansible 不会改变任何事情。这便是幂等设计的优美之处。

为了达到这一目的,我使用了两种 Ansible 场景角色工具:

  • 一个用于配置和调整树莓派
  • 一个用于安装和配置 Mycroft AI

Ansible prepi 角色

Ansible prepi role 应用了一些配置,以便让树莓派 4B 发挥更佳的性能以及为安装 Mycroft 做前提准备。

  • 更新 Raspberry Pi OS 至最新版本
  • 添加 Debian backports 仓库
  • 使用 next 分支更新固件,该分支支持 5.15 版本内核以及边缘固件
  • 使用测试版本更新 EEPROM,该版本支持边缘功能
  • 设置 initial_turbo 用来加速启动过程
  • 将树莓派超频至 2GHz
  • 在 RAMDisck 上挂载 /tmp
  • 优化 / 分区挂载选项,提升 SD 卡读/写性能
  • 管理 I2C、SPI、UART 接口
  • 设置 CPU 控制器至避免在空间内核函数之间发生上下文切换的模式,以便提升性能
  • 安装和配置 PulseAduio(非系统范围)
  • 新固件或者 EEPROM 安装后重启树莓派

Ansible mycroft 角色

Ansible mycroft role 基于脚本 dev_setup.sh 从 Github 仓库获取并安装和配置 Mycroft AI,该脚本是 Mycroft 核心团队提供。

  • 需要准备 Python3 环境
  • 系统集成环境
  • 额外的安装技能
  • 安装 Boto3、py\_mplayer、pyopenssl 库
  • 支持 IPC 的 RAMDisck
  • 支持文件配置
  • PulseAudio 优化
  • 安全的 Mycroft 消息总线 websocket

我利用 Ansible 剧本 来协调上面两个角色的使用。

个人配置需求

下面列举了一些个人配置的需求:

  • 能上网的树莓派 4B 板子(或者更新的板子)
  • Raspberry Pi OS 64-bit
  • Ansible 2.9(或者更新版本)
  • 可正常工作的 SSH

推荐使用 Etcher 来烧录 Raspberry Pi OS 镜像至 SD 卡,你也可以使用你选择的镜像烧录工具。

我将树莓派超频来提升性能,不过这可能对你的硬件是一种潜在危险。在使用我的 Ansible 剧本配置之前,请先仔细阅读。你需要为你的每个配置选择负责。你将决定使用哪个固件、哪个 EEPROM。超频的话需要记得提供相应的冷却系统。

执行 Ansible 剧本

第一步,使用命令从 Github 获取 Ansible 剧本:

$ git clone https://github.com/smartgic/ansible-playbooks-mycroft.git

源码中,requirements.yml 文件中提供了该剧本的依赖角色列表,必须从 Ansible Galaxy 中检索这些依赖。

$ cd ansible-playbooks-mycroft
$ ansible-galaxy install -r requirements.yml
Starting galaxy role install process
- downloading role 'mycroft', owned by smartgic
- downloading role from https://github.com/smartgic/ansible-role-mycroft/archive/main.tar.gz
- extracting smartgic.mycroft to /home/goldyfruit/.ansible/roles/smartgic.mycroft
- smartgic.mycroft (main) was installed successfully
- downloading role 'prepi', owned by smartgic
- downloading role from https://github.com/smartgic/ansible-role-prepi/archive/main.tar.gz
- extracting smartgic.prepi to /home/goldyfruit/.ansible/roles/smartgic.prepi
- smartgic.prepi (main) was installed successfully

第二步,编辑仓库中的 Ansible 清单,设置需要管理的主机。

[rpi]
rpi4b01 ansible_host=192.168.1.97 ansible_user=pi

[rpi] 代表组,无需更改。该组有一个主机 rpi4b01,其 IP 地址为 192.168.1.97, 并创建 pi 作为 Linux(Raspberry Pi OS)上的默认用户。

现在比较棘手的部分到了:你希望每个选项怎么配置?这取决于你自己,下面是我的首选配置,供你参考:

# file: install-custom.yml
- hosts: rpi
  gather_facts: yes
  become: yes

  pre_tasks:
    - name: Install Python 3.x Ansible requirement
      raw: apt-get install -y python3
      changed_when: no
      tags:
        - always

  vars:
    # PREPI
    prepi_pi_user: pi
    prepi_hostname: mylovelypi
    prepi_firmware_update: yes
    prepi_overclock: yes
    prepi_force_turbo: yes
    prepi_cpu_freq: 2000
    prepi_pulseaudio_daemon: yes

    # MYCROFT
    mycroft_branch: dev
    mycroft_user: "{{ prepi_pi_user }}"
    mycroft_skills_update_interval: 2.0
    mycroft_recording_timeout_with_silence: 3.0
    mycroft_enclosure_name: picroft
    mycroft_extra_skills:
      - https://github.com/smartgic/mycroft-finished-booting-skill.git

  tasks:
    - import_role:
        name: smartgic.prepi

    - import_role:
        name: smartgic.mycroft

上面的配置内容需要保存在文件里(比如,install-custom.yml)。

现在关键步骤:运行你新创建的剧本。

$ ansible-playbook -i inventory install-custom.yml -k

-k 选项只有在不需要 SSH 密钥的时候才使用。在命令执行期间,树莓派可能会重启若干次。Ansible 剧本会自动处理这个问题,不必担心。

Ansible 配置完成后,你可以看到一条祝贺消息,提示你下一步需要做什么。

 title=

Ansible 让定制 Mycroft 变得更容易

这些 Ansible 剧本是我开始使用 Mycroft AI 后学到的经验教训。它们帮助我在任何一个地方都能构建、重构、定制、拷贝我的安装,并保持一致,这让我很省心!

读完此文,你有何意见、问题或疑虑?欢迎在 Twitter上 @goldyfruit上和我交流,或者访问 Mycroft 频道 搜寻答案。


via: https://opensource.com/article/21/12/mycroft-raspberry-pi-ansible

作者:Gaëtan Trellu 选题:lujun9972 译者:jrglinux 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

Ruby on Rails 作者称其新版本是“一个人的框架”

Ruby on Rails 上周三发布了 7.0 版本,作者称这是他“一直渴望的版本,……是多年来在五个不同方面取得进展的高潮。”不过,作者最兴奋的是,7.0 更接近“一个人的框架”的理想,“可以让一个人创建现代应用程序,并在此基础上建立一个有竞争力的业务”。Ruby on Rails 在官网宣传其可以让你边学边提高,“从入门到上市”。

老王点评:Ruby 和 Rails 相得益彰,虽然现在不是很流行了,但是 Ruby 的一些理念非常有趣,这个版本的理念也很有趣。

2021 年至少有六起超过 1 亿美元的加密货币盗窃案

据报道,在过去 12 个月中,至少有 20 次超过 1000 万美元从加密货币交易所或项目中被盗的案件,其中 6 起超过了 1 亿美元。这些窃案大多数没有抓住窃贼。有的交易所提前计划好了应急基金,如果被黑客攻击,它可以对客户进行赔偿,而有的干脆就倒闭跑路了。作为对比的是,根据美国联邦调查局的年度犯罪统计,去年银行抢劫案平均每次抢劫不到 5000 美元。

老王点评:以后的惊天大劫案就不再是抢银行了,而是在线抢劫了。

云计算使互联网更脆弱

在过去的三周里,亚马逊的云计算服务出现了两次重大故障,这导致了其他在线服务的广泛中断,比如视频流瘫痪、与互联网连接的吸尘器停止工作,甚至连宠物喂食器都关闭了。这些事情打破几十年来稳步提高的互联网速度和可靠性所强化的幻想。专家认为,“‘云’从来就不是可持续的,它只是一个由集中式实体控制的集中式网络资源的委婉说法。”在短时间内出现多次故障,这是一个值得警惕的事情。企业在“云服务是有弹性的”假设前提上投入了很多,而一些公司现在正在考虑使用多云解决方案。

老王点评:确实,现在的云,其实更多是一个集中计算中心,其弹性并没有得到足够的保证。

使用 lpr 命令在终端中打印文件。

 title=

在 Linux 上打印很容易,但有时感觉要做很多工作,比如启动应用程序、打开文件、在菜单中找到打印选项,单击确认按钮等等。当你是一个终端用户时,通常希望使用简单的触发器执行复杂的操作。打印很复杂,但没有什么比 lpr 命令更简单了。

使用 lpr 命令打印

使用 lpr 命令在终端打印文件:

$ lpr myfile.odt

如果失败的话,你需要设置默认打印机或手动指定打印机。

设置默认打印机

根据我在 1984 年印刷的 Berkeley 4.2 手册的旧版本中找到的资料,lpr 命令会分页并将文件发送到打印机池,后者将数据传输到称为 行式打印机 line printer 的东西。

显示 LPR 命令信息的页面

现在,最初的 lpr 命令已经无法满足,因为现代计算机可以访问多台打印机,而且是那些比点阵行式打印机复杂得多的打印机。现在有一个称为 通用 Unix 打印系统 Common Unix Printing System (CUPS)子系统,可以跟踪你的计算机可以访问的所有打印机,计算机应该使用哪个驱动程序与每台打印机通信,默认使用哪台打印机等等。 CUPS 捆绑提供的 lpr.cupslpr-cups 命令通常以符号链接到 lpr,允许你首先借助 CUPS 配置从终端打印。

使用 lpr 打印文件,你应该首先设置默认打印机。你可以在系统的打印机设置中设置:

设置默认打印机对话框

或者,你也可以使用 lpadmin 命令设置:

$ sudo lpadmin -d HP_LaserJet_P2015_Series
$ lpstat -v
device for HP_LaserJet_P2015_Series: ipp://10.0.1.222:631/printers/HP_LaserJet_P2015_Series

使用环境变量设置

你不能在没有管理员账户的系统上设置默认打印机,因为更改打印机默认设置是一项特权任务。在 lpr 借助 CUPS 找到目标打印机前,它会在系统中查询 PRINTER 环境变量

在本例中,HP_LaserJet_P2015_Series 是打印机的名称。将 PRINTER 设置为该值:

$ PRINTER=HP_LaserJet_P2015_Series
$ export PRINTER

一旦设置了 PRINTER 变量,你就可以打印了:

$ lpr myfile.pdf

获取连接的打印机列表

你可以使用 lpstat 命令查看所有连接到系统接受打印任务的打印机:

$ lpstat -a
HP_LaserJet_P2015_Series accepting requests since Sun 1 Aug 2021 10:11:02 PM NZST
r1060 accepting requests since Wed 18 Aug 2021 04:43:57 PM NZST

打印到任意一台打印机

将打印机添加到系统后,并且现在你知道如何识别它们了,你可以打印到其中任何一台,无论你是否设置了默认打印机:

$ lpr -P HP_LaserJet_P2015_Series myfile.txt

如何定义打印机

CUPS 有一个友好的前端页面,可通过 Web 浏览器如 Firefox 访问。虽然它使用 Web 浏览器作为用户界面,但它实际上是在本机(一个称为 localhost 的位置)的 631 端口上提供服务。CUPS 管理连接到计算机的打印机,并将其配置存储在 /etc/cups/priters.conf 中。

printers.conf 文件包含详细描述计算机可以访问的打印设备的定义。不要直接编辑它,但如果你想这样做,你必须先停止 cupsd 守护进程。

一个典型的文件定义如下所示:

<Printer r1060>
  Info Ricoh 1060
  Location Downstairs
  MakeModel Ricoh Aficio 1060 - CUPS+Gutenprint v5.2.6
  DeviceURI lpd://192.168.4.8
  State Idle
  StateTime 1316011347
  Type 12308
  Filter application/vnd.cups-raw 0 -
  Filter application/vnd.cups-raster 100 rastertogutenprint.5.2
  Accepting Yes
  Shared No
  JobSheets none none
  QuotaPeriod 0
  PageLimit 0
  KLimit 0
  OpPolicy default
  ErrorPolicy stop-printer
</Printer>

在本例中,打印机的名称是 r1060,即 “Ricoh Aficio 1060”。

MakeModel 属性是从 lpinfo 命令中提取的,该命令列出了系统上所有可用的打印机驱动程序。假设你知道要打印到 Ricoh Aficio 1060,那么你会发出以下命令:

$ lpinfo -m | grep 1060
gutenprint.5.2://brother-hl-1060/expert Brother HL-1060 - CUPS+Gutenprint v5.2.11
gutenprint.5.2://ricoh-afc_1060/expert Ricoh Aficio 1060 - CUPS+Gutenprint v5.2.11

它会列出已安装的相关驱动程序。

MakeModel 属性是结果的后半部分。在本例中为 Ricoh Aficio 1060 - CUPS+Gutenprint v5.2.11

DeviceURI 属性标识打印机在网络上的位置(或物理位置,例如 USB 端口)。在本例中,它是 lpd://192.168.4.8,因为我使用 lpd 协议将数据发送到一台网络打印机。在我的另一个系统上,我有一个通过 USB 连接的 HP LaserJect 打印机,因此 DeviceURIhp:/usb/HP_LaserJet_P2015_Series?serial=00CNCJM26429

在终端中打印

将作业发送到打印机是一个简单的过程,只要你了解连接到系统的设备以及如何识别它们。在终端打印非常快速、高效,并且易于编写脚本或作为批处理作业完成。试试看!


via: https://opensource.com/article/21/9/print-files-linux

作者:Seth Kenlon 选题:lujun9972 译者:MjSeven 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

使用 Goxel 构建模型很有趣,就像没有锋利边缘的乐高、没有“爬行者”的 Minecraft 一样。

 title=

我喜欢乐高,这不是什么秘密,但我的乐高收藏现在离我很远,而且把满满一柜子的经典乐高套装在世界各地搬来搬去看起来也不太可行。为了解决这个问题,从 在乐高 CAD 中建立模型在 Blender 中用乐高纹理对模型进行造型,我做了很多虚拟化的工作。最近我发现了 Goxel。这个简单得令人震惊的 3D 建模应用并没有自称是基于乐高的,也没提和乐高有什么关系。然而,用 3D 像素建立模型的感觉与用乐高积木建立模型的满足感惊人地相似。你可以把 Goxel 看作是一个像素绘画程序,但却是 3D 的。

Goxel 采取了一种独特的 3D 建模方法,它专门针对 低模 low polygon 建模。如果你想雕刻出栩栩如生的模型,就不应该使用这个程序。但是,如果你喜欢 Minecraft 和其他低模艺术的美感,那么你应该试试 Goxel。

在 Linux 上安装 Goxel

你可以从 Flathub 将 Goxel 作为 Flatpak 安装在 Linux 上。

对于 Android、Windows macOS 和 iOS,请到 Goxel 网站 下载安装程序。

Goxel 是开源的,在 GPLv3 许可下发布。

使用体素绘画

当你第一次启动 Goxel 时,在 Goxel 窗口的中间会有一个空的“空间”或容器。这就是你的画布。

 title=

正是在这个容器中,且只有在这个容器中,你才能建立你的模型。在大多数三维建模应用中, 深度感知 depth perception 是一种努力才能得到的技能,所以 Goxel 限制了你工作的空间,以防止你最终出现模型和模型部件彼此相距甚远的情况。Goxel 还限制你在一个严格的网格中移动。你可以沿 Y 轴上下移动,沿 X 轴左右移动,沿 Z 轴前后移动,但只能在一个三维像素(或称为 体素 voxel )的片段中移动。不管用于什么意图和目的,Goxel 的体素就是用来建立模型的虚拟乐高砖块。

Goxel 中没有太多工具,这对一个三维建模应用来说是一个真正的特点。默认情况下,你已经激活了铅笔工具,所以你可以通过点击鼠标在体素容器内的任何地方立即开始建造。

 title=

试着点击容器周围,以查看添加体素的位置。Goxel 让你比较容易地看到你的铅笔即将添加体素的地方,可以把体素当作砖块,它假设当你靠近一个现有的体素时是准备把你的下一个体素连接到它。即便如此,在二维屏幕上实现三维也很困难。有时,体素会被添加到一个你没有意识到的地方。确保你的体素被添加到你想添加的地方的最好方法是经常旋转容器。你可以用键盘上的方向键来旋转容器,或者你可以点击并拖动鼠标中键。右击并拖动容器可在 Goxel 工作区中移动,而鼠标的滚轮可以放大和缩小。

平面标记

Goxel 还提供了另一个对齐体素的技巧,那就是以半透明和临时平面的形式提供指导。当你在你的容器中添加一个平面时,它会创建一种力场,使你的铅笔无法通过。

 title=

其结果是,你只能沿着两个轴线安全地作画,而不能沿着第三个轴线作画。你可以沿着网格轻推平面,这样你就可以分片添加体素,就像 3D 打印机向物理模型添加一样。

禁用平面控制中的 “ 可见 Visible ” 选项可以移除平面。

 title=

Goxel 工具栏

顶部的工具栏包含七个按钮。从左到右:

  • 撤销 Undo
  • 重做 Redo
  • 删除所有的东西,且无需确认 Delete everything without confirmation
  • 添加一个体素 Add a voxel
  • 减去(删除)一个体素 Subtract (remove) a voxel
  • 画一个体素 Paint a voxel
  • 设置油漆颜色 Set the paint color

你可以在单个体素上作画,也可以使用铅笔左边的形状工具,一次性添加体素区域。

除了用铅笔删除体素外,你还可以使用激光工具在体素出现在作为计算机显示器的 2D 屏幕上时对其进行调整。在形状工具的右边,把你的光标变成一个十字准线。把它指向你看到的体素,然后点击它来擦除。

极简主义的宁静

Goxel 追求简单,不仅在于它生产的内容,还在于它的生产方式。我在本文中只讨论了 Goxel 的绘图工具。虽然还有其他功能,例如控制光线的俯仰角和偏航角的能力、阴影的强度以及虚拟摄像机的位置,但该应用力求以最佳方式使事情变得简单自然。使用 Goxel 构建模型非常有趣,就像没有锋利边缘的乐高玩具,或者没有“爬行者”的 Minecraft。去使用 Goxel,并构建一些模型吧!


via: https://opensource.com/article/21/12/3d-pixel-art-goxel

作者:Seth Kenlon 选题:lujun9972 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出