如何在 Ubuntu 和其他 Linux 发行版上安装 Putty
Putty 不是限定于 Windows 的。你也可以在 Linux 和 macOS 上使用此开源软件。Media
via https://linux.cn/article-10373-1.html
Putty 不是限定于 Windows 的。你也可以在 Linux 和 macOS 上使用此开源软件。Media
via https://linux.cn/article-10373-1.html
如何在 Ubuntu 和其他 Linux 发行版上安装 Putty
如果我没弄错,<a href="https://www.putty.org/">Putty</a> 可能是 Windows 最受欢迎的 SSH 客户端。在 IT 公司中,开发环境通常在远程 Linux 系统上,而开发人员则使用 Windows 作为本地系统。Putty 用于从 Windows 机器连接到远程 Linux 系统。Putty 不是限定于 Windows 的。你也可以在 Linux 和 macOS 上使用此开源软件。但是等等!当你已经拥有“真正的” Linux 终端时,为什么要在 Linux 上使用单独的 SSH 客户端?这有几个想在 Linux 上使用 Putty 的原因。你在 Windows 上使用 Putty 已经很久了,你觉得它更舒服。你发现很难手动编辑 SSH 配置文件以保存各种 SSH 会话。你更喜欢 Putty 图形化保存 SSH 连接的方式。你想通过连接到原始套接字和串口进行调试。无论是什么原因,如果你想在 Ubuntu 或任何其他 Linux 上使用 Putty,你当然可以这样做。让我告诉你如何做到。在 Ubuntu Linux 上安装 Putty<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201812/22/181610el1fv5kt7lzee3bd.png">Installing Putty on Linux</a>对于 Ubuntu 用户来说,好消息是 Putty 可以在 Ubuntu 的 universe 仓库中找到。要在 Ubuntu上安装 Putty,首先应确保已启用 universe 仓库。<pre class="prettyprint linenums">sudo add-apt-repository universe</pre>启用 universe 仓库后,应使用以下命令更新 Ubuntu:<pre class="prettyprint linenums">sudo apt update</pre>之后,你可以使用以下命令安装 Putty:<pre class="prettyprint linenums">sudo apt install putty</pre>安装后,你可以在菜单中找到它来启动 Putty。正如你在下面的截图中看到的,Putty 的 Linux 版本看起来与 Windows 版本相同。这让你松了一口气, 因为你不必再尝试新的设置。<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201812/22/181611vsvq4p4e49ev11dg.jpg">Putty in Linux</a>ঈ…
如果我没弄错,<a href="https://www.putty.org/">Putty</a> 可能是 Windows 最受欢迎的 SSH 客户端。在 IT 公司中,开发环境通常在远程 Linux 系统上,而开发人员则使用 Windows 作为本地系统。Putty 用于从 Windows 机器连接到远程 Linux 系统。Putty 不是限定于 Windows 的。你也可以在 Linux 和 macOS 上使用此开源软件。但是等等!当你已经拥有“真正的” Linux 终端时,为什么要在 Linux 上使用单独的 SSH 客户端?这有几个想在 Linux 上使用 Putty 的原因。你在 Windows 上使用 Putty 已经很久了,你觉得它更舒服。你发现很难手动编辑 SSH 配置文件以保存各种 SSH 会话。你更喜欢 Putty 图形化保存 SSH 连接的方式。你想通过连接到原始套接字和串口进行调试。无论是什么原因,如果你想在 Ubuntu 或任何其他 Linux 上使用 Putty,你当然可以这样做。让我告诉你如何做到。在 Ubuntu Linux 上安装 Putty<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201812/22/181610el1fv5kt7lzee3bd.png">Installing Putty on Linux</a>对于 Ubuntu 用户来说,好消息是 Putty 可以在 Ubuntu 的 universe 仓库中找到。要在 Ubuntu上安装 Putty,首先应确保已启用 universe 仓库。<pre class="prettyprint linenums">sudo add-apt-repository universe</pre>启用 universe 仓库后,应使用以下命令更新 Ubuntu:<pre class="prettyprint linenums">sudo apt update</pre>之后,你可以使用以下命令安装 Putty:<pre class="prettyprint linenums">sudo apt install putty</pre>安装后,你可以在菜单中找到它来启动 Putty。正如你在下面的截图中看到的,Putty 的 Linux 版本看起来与 Windows 版本相同。这让你松了一口气, 因为你不必再尝试新的设置。<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201812/22/181611vsvq4p4e49ev11dg.jpg">Putty in Linux</a>ঈ…
Bash 环境变量的那些事
初学者可以在此教程中了解环境变量。<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201812/23/151252vyyprdr6bdrioqgy.jpg">Media</a>bash 变量,尤其是讨厌的<em>环境变量</em>,已经是一个老生常谈的话题了。我们也更应该对它有一个详细的了解,让它为我们所用。下面就打开终端,开始吧。环境变量HOME (LCTT 译注:双关语)除了是你脱下帽子惬意休息的地方,同时也是 Linux 中的一个变量,它是当前用户主目录的路径:<pre class="prettyprint linenums">echo $HOME</pre>以上这个命令会显示当前用户的主目录路径,通常都在 /home/<your username> 下。顾名思义,变量的值是可以根据上下文变化的。实际上,Linux 系统中每一个用户的 HOME 变量都是不一样的,当然你也可以这样自行更改 HOME 变量的值:<pre class="prettyprint linenums">HOME=/home/<your username>/Documents</pre>以上这个命令将会把 HOME 变量设置为你的 Documents 目录。其中有三点需要留意:= 符号和其两侧的内容之间不加空格。空格在 shell 中有专门的意义,不能随意地在任何地方添加空格。如果你需要对变量进行赋值,只需要使用变量名称就可以了。但如果需要读取或者使用变量的值,需要在变量前面加上一个 $ 号。更改 HOME 变量具有一定的风险。有很多程序是依赖于 HOME 变量的,更改 HOME 变量可能会导致一些不可预见的结果。例如,如果按照上面的方式更改了 HOME 变量,然后执行不带有任何参数的 cd 命令,在通常情况下,会跳转到用户的主目录下,但在这&…
初学者可以在此教程中了解环境变量。<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201812/23/151252vyyprdr6bdrioqgy.jpg">Media</a>bash 变量,尤其是讨厌的<em>环境变量</em>,已经是一个老生常谈的话题了。我们也更应该对它有一个详细的了解,让它为我们所用。下面就打开终端,开始吧。环境变量HOME (LCTT 译注:双关语)除了是你脱下帽子惬意休息的地方,同时也是 Linux 中的一个变量,它是当前用户主目录的路径:<pre class="prettyprint linenums">echo $HOME</pre>以上这个命令会显示当前用户的主目录路径,通常都在 /home/<your username> 下。顾名思义,变量的值是可以根据上下文变化的。实际上,Linux 系统中每一个用户的 HOME 变量都是不一样的,当然你也可以这样自行更改 HOME 变量的值:<pre class="prettyprint linenums">HOME=/home/<your username>/Documents</pre>以上这个命令将会把 HOME 变量设置为你的 Documents 目录。其中有三点需要留意:= 符号和其两侧的内容之间不加空格。空格在 shell 中有专门的意义,不能随意地在任何地方添加空格。如果你需要对变量进行赋值,只需要使用变量名称就可以了。但如果需要读取或者使用变量的值,需要在变量前面加上一个 $ 号。更改 HOME 变量具有一定的风险。有很多程序是依赖于 HOME 变量的,更改 HOME 变量可能会导致一些不可预见的结果。例如,如果按照上面的方式更改了 HOME 变量,然后执行不带有任何参数的 cd 命令,在通常情况下,会跳转到用户的主目录下,但在这&…
树莓派在办公室的 11 种用法
它电路板便宜、功耗很小、小到几乎适合任何地方、无限灵活 —— 这实际上是处理办公室一些基本任务的好方法。Media
via https://linux.cn/article-10375-1.html
它电路板便宜、功耗很小、小到几乎适合任何地方、无限灵活 —— 这实际上是处理办公室一些基本任务的好方法。Media
via https://linux.cn/article-10375-1.html
树莓派在办公室的 11 种用法
<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201812/23/153615u7gylclg77ospl3s.jpg">Media</a>我知道你在想什么:树莓派只能用在修修补补、原型设计和个人爱好中。它实际不能用在业务中。毫无疑问,这台电脑的处理能力相对较低、易损坏的 SD 卡、缺乏电池备份以及支持的 DIY 性质,这意味着它不会是一个能在任何时候执行最关键的操作的<a href="https://dxmtechsupport.com.au/server-configuration">专业的、已安装好、配置好的商业服务器</a>的可行替代品。但是它电路板便宜、功耗很小、小到几乎适合任何地方、无限灵活 —— 这实际上是处理办公室一些基本任务的好方法。而且,更好的是,已经有一些人完成了这些项目并很乐意分享他们是如何做到的。DNS 服务器每次在浏览器中输入网站地址或者点击链接时,都需要将域名转换为数字 IP 地址,然后才能显示内容。通常这意味着向互联网上某处 DNS 服务器发出请求 —— 但你可以通过本地处理来加快浏览速度。你还可以分配自己的子域,以便本地访问办公室中的计算机。<a href="https://www.1and1.com/digitalguide/server/configuration/how-to-make-your-raspberry-pi-into-a-dns-server/">这里了解它是如何工作的。</a>厕所占用标志在厕所排过队吗?这对于那些等待的人来说很烦人,花在处理它上面的时间会耗费你在办公室的工作效率。我想你希望在办公室里也悬挂飞机上那个厕所有人的标志。<a href="https://blog.usejournal.com/occu-pi-the-bathroom-of-the-future-ed69b84e21d5">Occu-pi</a> 是一个非常简单的解决方案,使用&…
<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201812/23/153615u7gylclg77ospl3s.jpg">Media</a>我知道你在想什么:树莓派只能用在修修补补、原型设计和个人爱好中。它实际不能用在业务中。毫无疑问,这台电脑的处理能力相对较低、易损坏的 SD 卡、缺乏电池备份以及支持的 DIY 性质,这意味着它不会是一个能在任何时候执行最关键的操作的<a href="https://dxmtechsupport.com.au/server-configuration">专业的、已安装好、配置好的商业服务器</a>的可行替代品。但是它电路板便宜、功耗很小、小到几乎适合任何地方、无限灵活 —— 这实际上是处理办公室一些基本任务的好方法。而且,更好的是,已经有一些人完成了这些项目并很乐意分享他们是如何做到的。DNS 服务器每次在浏览器中输入网站地址或者点击链接时,都需要将域名转换为数字 IP 地址,然后才能显示内容。通常这意味着向互联网上某处 DNS 服务器发出请求 —— 但你可以通过本地处理来加快浏览速度。你还可以分配自己的子域,以便本地访问办公室中的计算机。<a href="https://www.1and1.com/digitalguide/server/configuration/how-to-make-your-raspberry-pi-into-a-dns-server/">这里了解它是如何工作的。</a>厕所占用标志在厕所排过队吗?这对于那些等待的人来说很烦人,花在处理它上面的时间会耗费你在办公室的工作效率。我想你希望在办公室里也悬挂飞机上那个厕所有人的标志。<a href="https://blog.usejournal.com/occu-pi-the-bathroom-of-the-future-ed69b84e21d5">Occu-pi</a> 是一个非常简单的解决方案,使用&…
量子计算的开源框架 Cirq 介绍
本文通过使用 Cirq 的一个开源视角,尝试去了解我们已经在量子计算领域取得多大的成就,和该领域的发展方向,以加快科学和技术研究。Media
via https://linux.cn/article-10376-1.html
本文通过使用 Cirq 的一个开源视角,尝试去了解我们已经在量子计算领域取得多大的成就,和该领域的发展方向,以加快科学和技术研究。Media
via https://linux.cn/article-10376-1.html
量子计算的开源框架 Cirq 介绍
<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201812/24/123112eddhzdhpuedhwvhz.jpg">Media</a>我们即将讨论的内容正如标题所示,本文通过使用 Cirq 的一个开源视角,尝试去了解我们已经在量子计算领域取得多大的成就,和该领域的发展方向,以加快科学和技术研究。首先,我们将引领你进入量子计算的世界。在我们深入了解 Cirq 在未来的量子计算中扮演什么样的重要角色之前,我们将尽量向你解释其背后的基本概念。你最近可能听说过,在这个领域中有件重大新闻,就是 Cirq。在这篇开放科学栏目的文章中,我们将去尝试找出答案。在我们开始了解量子计算之前,必须先去了解“量子”这个术语,量子是已知的 <a href="https://en.wikipedia.org/wiki/Subatomic_particle">亚原子粒子</a> 中最小的物质。<a href="https://en.wikipedia.org/wiki/Quantum">量子</a>Quantum 这个词来自拉丁语 Quantus,意思是 “有多小”,在下面的短视频链接中有描述:为了易于我们理解量子计算,我们将量子计算Quantum Computing与经典计算Classical Computing(LCTT 译注:也有译做“传统计算”)进行比较。经典计算是指今天的传统计算机如何设计工作的,正如你现在用于阅读本文的设备,就是我们所谓的经典计算设备。经典计算经典计算只是描述计算机如何工作的另一种方式。它们通过一个二进制系统工作,即信息使用 1 或 0 来存储。经典计算机不会理解除 1 或 0 之外的任何其它东西。直白来说,在计算机内部一个晶体管只能是开(1)或关(0)。我们输入的任何信息都被转换为无数个 1 和 0,以便计算机能理解和存储。所有的东西都只能用无数个 1 和 0 的组合来表示。量子计算然而,量子计算不再像经典计算那样遵循 “开或关” 的模式。而是,借助量子的名为 <a href="https://www.clerro.com/guide/491/quantum-superposition-and-entanglement-explained">叠加和纠缠</a> 的两个现象,能同时处理信息的多个状态,因此能以更快的速率加速计算,并且在信息存储方面效率更高。请注意,叠加和纠缠 <a href="https://physics.stackexchange.com/questions/148131/can-quantum-entanglement-and-quantum-superposition-be-considered-the-same-phenom">不是同一个现象</a>。<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201812/24/123435papw6vpw06fv76e8.jpg">Media</a>就像在经典计算中,我们有比特bit,在量子计算中,我们相应也有量子比特qubit(即 Quantum bit)。想了解它们二者之间的巨大差异之处,请查看这个 <a href="http://www.rfwireless-world.com/Terminology/Difference-between-Bit-and-Qubit.html">页面</a>,从那里的图片中可以得到答案。量子计算机并不是来替代我们的经典计算机的。但是,有一些非常巨大的任务用我们的经典计算机是无法完成的,而那些正是量子计算机大显身手的好机会。下面链接的视频详细描述了上述情况,同时也描述了量子计算机的原理。下面的视频全面描述了量子计算领域到目前为止的最新进展:嘈杂中型量子根据最新更新的(2018 年 7 月 31 日)研究论文,术语 “嘈杂Noisy” 是指由于对量子比特未能完全控制所产生的不准确性。正是这种不准确性在短期内严重制约了量子设备实现其目标。“中型” 指的是在接下来的几年中,量子计算机将要实现的量子规模大小,届时,量子比特的数目将可能从 50 到几百个不等。50 个量子比特是一个重大的量程碑,因为它将超越现有的最强大的 <a href="https://www.explainthatstuff.com/how-supercomputers-work.html">超级计算机</a> 的 <a href="https://en.wikipedia.org/wiki/Proof_by_exhaustion">暴力破解</a> 所能比拟的计算能力。更多信息请阅读 <a href="https://arxiv.org/abs/1801.00862">这里的</a> 论文。随着 Cirq 出现,许多事情将会发生变化。Cirq 是什么?Cirq 是一个 Python 框架,它用于创建、编辑和调用我们前面讨论的嘈杂中型量子(NISQ)。换句话说,Cirq 能够解决挑战,去改善精确度和降低量子计算中的噪声。Cirq 并不需要必须有一台真实的量子计算机。Cirq 能够使用一个类似模拟器的界面去执行量子电路模拟。Cirq 的前进步伐越来越快了,<a href="https://www.xconomy.com/san-francisco/2018/07/19/google-partners-with-zapata-on-open-source-quantum-computing-effort/">Zapata</a> 是使用它的首批用户之一,Zapata 是由来自哈佛大学的专注于量子计算的<a href="https://www.zapatacomputing.com/about/">一群科学家</a>在去年成立的。Linux 上使用 Cirq 入门开源的 <a href="https://github.com/quantumlib/Cirq">Cirq 库</a> 开发者建议将它安装在像 <a href="https://virtualenv.pypa.io">virtualenv</a> 这样的一个 <a href="https://itsfoss.com/python-setup-linux/">虚拟 Python 环境</a> 中。在 Linux 上的开发者安装指南可以在 <a href="https://cirq.readthedocs.io/en/latest/install.html#installing-on-linux">这里</a> 找到。但我们在 Ubuntu 16.04 的系统上成功地安装和测试了 Python3 的 Cirq 库,安装步骤如下:在 Ubuntu 上安装 Cirq<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201812/24/123436fmlz0w5l595m9mw9.jpg">Cirq Framework for Quantum Computing in Linux</a>首先,我们需要 pip 或 pip3 去安装 Cirq。<a href="https://pypi.org/project/pip/">Pip</a> 是推荐用于安装和管理 Python 包的工具。对于 Python 3.x 版本,Pip 能够用如下的命令来安装:<pre class="prettyprint linenums">sudo apt-get install python3-pip</pre>Python3 包能够通过如下的命令来安装:<pre class="prettyprint linenums">pip3 install <package-name></pre>我们继续去使用 Pip3 为 Python3 安装 Cirq 库:<pre class="prettyprint linenums">pip3 install cirq</pre>启用 Plot 和 PDF 生成(可选)可选系统的依赖没有被 Pip 安装的,可以使用如下命令去安装它:<pre class="prettyprint linenums">sudo apt-get install python3-tk texlive-latex-base latexmk</pre>python3-tk 是 Python 自有的启用了绘图功能的图形库texlive-latex-base 和 latexmk 启动了 PDF 输出功能。最后,我们使用如下的命令和代码成功测试了 Cirq:<pre class="prettyprint linenums">python3 -c 'import cirq; print(cirq.google.Foxtail)'</pre>我们得到的输出如下图:<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201812/24/123437odjd7ddwwqdzi2zw.jpg">Media</a>为 Cirq 配置 Pycharm IDE我们也配置了一个 Python IDE <a href="https://itsfoss.com/install-pycharm-ubuntu/">PyCharm</a> 去测试同样的结果:因为在我们的 Linux 系统上为…
<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201812/24/123112eddhzdhpuedhwvhz.jpg">Media</a>我们即将讨论的内容正如标题所示,本文通过使用 Cirq 的一个开源视角,尝试去了解我们已经在量子计算领域取得多大的成就,和该领域的发展方向,以加快科学和技术研究。首先,我们将引领你进入量子计算的世界。在我们深入了解 Cirq 在未来的量子计算中扮演什么样的重要角色之前,我们将尽量向你解释其背后的基本概念。你最近可能听说过,在这个领域中有件重大新闻,就是 Cirq。在这篇开放科学栏目的文章中,我们将去尝试找出答案。在我们开始了解量子计算之前,必须先去了解“量子”这个术语,量子是已知的 <a href="https://en.wikipedia.org/wiki/Subatomic_particle">亚原子粒子</a> 中最小的物质。<a href="https://en.wikipedia.org/wiki/Quantum">量子</a>Quantum 这个词来自拉丁语 Quantus,意思是 “有多小”,在下面的短视频链接中有描述:为了易于我们理解量子计算,我们将量子计算Quantum Computing与经典计算Classical Computing(LCTT 译注:也有译做“传统计算”)进行比较。经典计算是指今天的传统计算机如何设计工作的,正如你现在用于阅读本文的设备,就是我们所谓的经典计算设备。经典计算经典计算只是描述计算机如何工作的另一种方式。它们通过一个二进制系统工作,即信息使用 1 或 0 来存储。经典计算机不会理解除 1 或 0 之外的任何其它东西。直白来说,在计算机内部一个晶体管只能是开(1)或关(0)。我们输入的任何信息都被转换为无数个 1 和 0,以便计算机能理解和存储。所有的东西都只能用无数个 1 和 0 的组合来表示。量子计算然而,量子计算不再像经典计算那样遵循 “开或关” 的模式。而是,借助量子的名为 <a href="https://www.clerro.com/guide/491/quantum-superposition-and-entanglement-explained">叠加和纠缠</a> 的两个现象,能同时处理信息的多个状态,因此能以更快的速率加速计算,并且在信息存储方面效率更高。请注意,叠加和纠缠 <a href="https://physics.stackexchange.com/questions/148131/can-quantum-entanglement-and-quantum-superposition-be-considered-the-same-phenom">不是同一个现象</a>。<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201812/24/123435papw6vpw06fv76e8.jpg">Media</a>就像在经典计算中,我们有比特bit,在量子计算中,我们相应也有量子比特qubit(即 Quantum bit)。想了解它们二者之间的巨大差异之处,请查看这个 <a href="http://www.rfwireless-world.com/Terminology/Difference-between-Bit-and-Qubit.html">页面</a>,从那里的图片中可以得到答案。量子计算机并不是来替代我们的经典计算机的。但是,有一些非常巨大的任务用我们的经典计算机是无法完成的,而那些正是量子计算机大显身手的好机会。下面链接的视频详细描述了上述情况,同时也描述了量子计算机的原理。下面的视频全面描述了量子计算领域到目前为止的最新进展:嘈杂中型量子根据最新更新的(2018 年 7 月 31 日)研究论文,术语 “嘈杂Noisy” 是指由于对量子比特未能完全控制所产生的不准确性。正是这种不准确性在短期内严重制约了量子设备实现其目标。“中型” 指的是在接下来的几年中,量子计算机将要实现的量子规模大小,届时,量子比特的数目将可能从 50 到几百个不等。50 个量子比特是一个重大的量程碑,因为它将超越现有的最强大的 <a href="https://www.explainthatstuff.com/how-supercomputers-work.html">超级计算机</a> 的 <a href="https://en.wikipedia.org/wiki/Proof_by_exhaustion">暴力破解</a> 所能比拟的计算能力。更多信息请阅读 <a href="https://arxiv.org/abs/1801.00862">这里的</a> 论文。随着 Cirq 出现,许多事情将会发生变化。Cirq 是什么?Cirq 是一个 Python 框架,它用于创建、编辑和调用我们前面讨论的嘈杂中型量子(NISQ)。换句话说,Cirq 能够解决挑战,去改善精确度和降低量子计算中的噪声。Cirq 并不需要必须有一台真实的量子计算机。Cirq 能够使用一个类似模拟器的界面去执行量子电路模拟。Cirq 的前进步伐越来越快了,<a href="https://www.xconomy.com/san-francisco/2018/07/19/google-partners-with-zapata-on-open-source-quantum-computing-effort/">Zapata</a> 是使用它的首批用户之一,Zapata 是由来自哈佛大学的专注于量子计算的<a href="https://www.zapatacomputing.com/about/">一群科学家</a>在去年成立的。Linux 上使用 Cirq 入门开源的 <a href="https://github.com/quantumlib/Cirq">Cirq 库</a> 开发者建议将它安装在像 <a href="https://virtualenv.pypa.io">virtualenv</a> 这样的一个 <a href="https://itsfoss.com/python-setup-linux/">虚拟 Python 环境</a> 中。在 Linux 上的开发者安装指南可以在 <a href="https://cirq.readthedocs.io/en/latest/install.html#installing-on-linux">这里</a> 找到。但我们在 Ubuntu 16.04 的系统上成功地安装和测试了 Python3 的 Cirq 库,安装步骤如下:在 Ubuntu 上安装 Cirq<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201812/24/123436fmlz0w5l595m9mw9.jpg">Cirq Framework for Quantum Computing in Linux</a>首先,我们需要 pip 或 pip3 去安装 Cirq。<a href="https://pypi.org/project/pip/">Pip</a> 是推荐用于安装和管理 Python 包的工具。对于 Python 3.x 版本,Pip 能够用如下的命令来安装:<pre class="prettyprint linenums">sudo apt-get install python3-pip</pre>Python3 包能够通过如下的命令来安装:<pre class="prettyprint linenums">pip3 install <package-name></pre>我们继续去使用 Pip3 为 Python3 安装 Cirq 库:<pre class="prettyprint linenums">pip3 install cirq</pre>启用 Plot 和 PDF 生成(可选)可选系统的依赖没有被 Pip 安装的,可以使用如下命令去安装它:<pre class="prettyprint linenums">sudo apt-get install python3-tk texlive-latex-base latexmk</pre>python3-tk 是 Python 自有的启用了绘图功能的图形库texlive-latex-base 和 latexmk 启动了 PDF 输出功能。最后,我们使用如下的命令和代码成功测试了 Cirq:<pre class="prettyprint linenums">python3 -c 'import cirq; print(cirq.google.Foxtail)'</pre>我们得到的输出如下图:<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201812/24/123437odjd7ddwwqdzi2zw.jpg">Media</a>为 Cirq 配置 Pycharm IDE我们也配置了一个 Python IDE <a href="https://itsfoss.com/install-pycharm-ubuntu/">PyCharm</a> 去测试同样的结果:因为在我们的 Linux 系统上为…
命令别名:定义自己的命令
学习如何创建别名:你可以将太长或难以记忆的命令打包成你自己构建的命令。<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201812/24/125355ud71kkwkk54w4oe5.jpg">Media</a>命令别名Alias在 Linux shell 中指的是将一些太长或者太难记的多个命令组合起来,成为一个由用户自己构建的命令。可以通过 alias 命令来创建命令别名。在 alias 后面跟上想要创建的别名名称、一个等号(=),以及希望使用这个别名来执行的命令,这样一个命令别名就创建好了。举个例子,ls 命令在默认情况下是不会对输出的内容进行着色的,这样就不能让用户一眼分辨出目录、文件和连接了。对此,可以创建这样一个命令别名,在输出目录内容的时候为输出内容着色:<pre class="prettyprint linenums">alias lc='ls --color=auto'</pre>其中 lc 是自定义的命令别名,代表 “list with color” 的意思。在创建命令别名的时候,需要先确认使用的别名是不是已经有对应的命令了,如果有的话,原本的命令就会被覆盖掉了。注意,定义命令别名的时候,= 两端是没有空格的。当运行 lc 的时候,就相当于执行了 ls --color 命令。此后,执行 lc 列出目录内容的时候,就会输出带有着色的内容了。你可能会发现你在执行 ls 的时候,本来就是输出带有着色的内容。那是因为大部分 Linux 发行版都已经将 ls 设定为带有着色的命令别名了。可以直接使用的命令别名实际上,执行不带任何内容的 alias 命令就可…
学习如何创建别名:你可以将太长或难以记忆的命令打包成你自己构建的命令。<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201812/24/125355ud71kkwkk54w4oe5.jpg">Media</a>命令别名Alias在 Linux shell 中指的是将一些太长或者太难记的多个命令组合起来,成为一个由用户自己构建的命令。可以通过 alias 命令来创建命令别名。在 alias 后面跟上想要创建的别名名称、一个等号(=),以及希望使用这个别名来执行的命令,这样一个命令别名就创建好了。举个例子,ls 命令在默认情况下是不会对输出的内容进行着色的,这样就不能让用户一眼分辨出目录、文件和连接了。对此,可以创建这样一个命令别名,在输出目录内容的时候为输出内容着色:<pre class="prettyprint linenums">alias lc='ls --color=auto'</pre>其中 lc 是自定义的命令别名,代表 “list with color” 的意思。在创建命令别名的时候,需要先确认使用的别名是不是已经有对应的命令了,如果有的话,原本的命令就会被覆盖掉了。注意,定义命令别名的时候,= 两端是没有空格的。当运行 lc 的时候,就相当于执行了 ls --color 命令。此后,执行 lc 列出目录内容的时候,就会输出带有着色的内容了。你可能会发现你在执行 ls 的时候,本来就是输出带有着色的内容。那是因为大部分 Linux 发行版都已经将 ls 设定为带有着色的命令别名了。可以直接使用的命令别名实际上,执行不带任何内容的 alias 命令就可…
通过询问-响应身份认证提高桌面登录安全
有时候,生产环境会采用通过 Yubikey 使用一次性密码(OTP)的设置,然而,在家庭或个人的系统上,你可能更喜欢询问-响应设置。一切都是本地的,这种方法不需要通过远程网络调用。Media
via https://linux.cn/article-10378-1.html
有时候,生产环境会采用通过 Yubikey 使用一次性密码(OTP)的设置,然而,在家庭或个人的系统上,你可能更喜欢询问-响应设置。一切都是本地的,这种方法不需要通过远程网络调用。Media
via https://linux.cn/article-10378-1.html
通过询问-响应身份认证提高桌面登录安全
<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201812/24/134303a0p8zidc8lar81pn.png">Media</a>介绍今天,Fedora 提供了多种方式来提高我们账户的身份认证的安全性。当然,它有我们熟悉的用户名密码登录方式,它也同样提供了其他的身份认证选项,比如生物识别、指纹、智能卡、一次性密码,甚至是询问-响应challenge-response身份认证。每种认证方式都有明确的优缺点。这点本身就可以成为一篇相当冗长的文章的主题。Fedora 杂志之前就已经介绍过了这其中的一些选项:<a href="https://fedoramagazine.org/using-the-yubikey4-with-fedora/">在 Fedora 中使用 YubiKey4</a><a href="https://fedoramagazine.org/fedora-28-better-smart-card-support-openssh/">Fedora 28:在 OpenSSH 中更好的支持智能卡</a>在现在的 Fedora 版本中,最安全的方法之一就是离线硬件询问-响应。它也同样是最容易部署的方法之一。下面是具体方法。询问-响应认证从技术上来讲,当你输入密码的时候,你就正在响应用户名询问。离线的询问、响应包含了这些部分:首先是需要你的用户名,接下来,Fedora 会要你提供一个加密的物理硬件的令牌。令牌会把另一个其存储的加密密钥通过可插入式身份认证Pluggable Authentication Module模块(PAM)框架来响应询问。最后,Fedora 才会提示你输入密码。这可以防止其他人仅仅使用了找到的硬件令牌,或是只使用了账户名密码而没有正确的加密密钥。这意味着除了你的账户名密码之外,你必须事先在你的操作系统中注册了一个或…
<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201812/24/134303a0p8zidc8lar81pn.png">Media</a>介绍今天,Fedora 提供了多种方式来提高我们账户的身份认证的安全性。当然,它有我们熟悉的用户名密码登录方式,它也同样提供了其他的身份认证选项,比如生物识别、指纹、智能卡、一次性密码,甚至是询问-响应challenge-response身份认证。每种认证方式都有明确的优缺点。这点本身就可以成为一篇相当冗长的文章的主题。Fedora 杂志之前就已经介绍过了这其中的一些选项:<a href="https://fedoramagazine.org/using-the-yubikey4-with-fedora/">在 Fedora 中使用 YubiKey4</a><a href="https://fedoramagazine.org/fedora-28-better-smart-card-support-openssh/">Fedora 28:在 OpenSSH 中更好的支持智能卡</a>在现在的 Fedora 版本中,最安全的方法之一就是离线硬件询问-响应。它也同样是最容易部署的方法之一。下面是具体方法。询问-响应认证从技术上来讲,当你输入密码的时候,你就正在响应用户名询问。离线的询问、响应包含了这些部分:首先是需要你的用户名,接下来,Fedora 会要你提供一个加密的物理硬件的令牌。令牌会把另一个其存储的加密密钥通过可插入式身份认证Pluggable Authentication Module模块(PAM)框架来响应询问。最后,Fedora 才会提示你输入密码。这可以防止其他人仅仅使用了找到的硬件令牌,或是只使用了账户名密码而没有正确的加密密钥。这意味着除了你的账户名密码之外,你必须事先在你的操作系统中注册了一个或…
如何构建一台网络引导服务器(一)
网络引导 服务器能够被配置为基于网络去提供一个完整的操作系统,以便于客户端计算机从一个中央位置获取配置。Media
via https://linux.cn/article-10379-1.html
网络引导 服务器能够被配置为基于网络去提供一个完整的操作系统,以便于客户端计算机从一个中央位置获取配置。Media
via https://linux.cn/article-10379-1.html
如何构建一台网络引导服务器(一)
<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201812/24/234952f3k3rr8zpw6873p3.jpg">Media</a>有些计算机网络需要在各个物理机器上维护相同的软件和配置。学校的计算机实验室就是这样的一个环境。 <a href="https://en.wikipedia.org/wiki/Network_booting">网络引导</a> 服务器能够被配置为基于网络去提供一个完整的操作系统,以便于客户端计算机从一个中央位置获取配置。本教程将向你展示构建一台网络引导服务器的一种方法。本教程的第一部分将包括创建一台网络引导服务器和镜像。第二部分将展示如何去添加 Kerberos 验证的家目录到网络引导配置中。初始化配置首先去下载 Fedora 服务器的 <a href="https://dl.fedoraproject.org/pub/fedora/linux/releases/28/Server/x86_64/iso/">netinst</a> 镜像,将它刻录到一张光盘上,然后用它引导服务器来重新格式化。我们只需要一个典型的 Fedora Server 的“最小化安装”来作为我们的开端,安装完成后,我们可以使用命令行去添加我们需要的任何额外的包。<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201812/24/234954ec6socvjz8l6js6g.png">Media</a>注意:本教程中我们将使用 Fedora 28。其它版本在“最小化安装”中包含的包可能略有不同。如果你使用的是不同的 Fedora 版本,如果一个预期的文件或命令不可用,你可能需要做一些调试。最小化安装的 Fedora Server 运行起来之后,以 root 用户登入:<pre class="prettyprint linenums">$ sudo -i</pre>并设置主机名字:<pre class="prettyprint linenums">$ MY_HOSTNAME=server-01.example.edu$ hostnamectl set-hostname $MY_HOSTNAME</pre>注意:Red Hat 建议静态和临时名字应都要与这个机器在 DNS 中的完全合格域ࡧ…
<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201812/24/234952f3k3rr8zpw6873p3.jpg">Media</a>有些计算机网络需要在各个物理机器上维护相同的软件和配置。学校的计算机实验室就是这样的一个环境。 <a href="https://en.wikipedia.org/wiki/Network_booting">网络引导</a> 服务器能够被配置为基于网络去提供一个完整的操作系统,以便于客户端计算机从一个中央位置获取配置。本教程将向你展示构建一台网络引导服务器的一种方法。本教程的第一部分将包括创建一台网络引导服务器和镜像。第二部分将展示如何去添加 Kerberos 验证的家目录到网络引导配置中。初始化配置首先去下载 Fedora 服务器的 <a href="https://dl.fedoraproject.org/pub/fedora/linux/releases/28/Server/x86_64/iso/">netinst</a> 镜像,将它刻录到一张光盘上,然后用它引导服务器来重新格式化。我们只需要一个典型的 Fedora Server 的“最小化安装”来作为我们的开端,安装完成后,我们可以使用命令行去添加我们需要的任何额外的包。<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201812/24/234954ec6socvjz8l6js6g.png">Media</a>注意:本教程中我们将使用 Fedora 28。其它版本在“最小化安装”中包含的包可能略有不同。如果你使用的是不同的 Fedora 版本,如果一个预期的文件或命令不可用,你可能需要做一些调试。最小化安装的 Fedora Server 运行起来之后,以 root 用户登入:<pre class="prettyprint linenums">$ sudo -i</pre>并设置主机名字:<pre class="prettyprint linenums">$ MY_HOSTNAME=server-01.example.edu$ hostnamectl set-hostname $MY_HOSTNAME</pre>注意:Red Hat 建议静态和临时名字应都要与这个机器在 DNS 中的完全合格域ࡧ…
如何使用 Fedora IoT 点亮 LED 灯
如果你喜欢 Fedora、容器,而且有一块树莓派,那么这三者结合操控 LED 会怎么样?本文介绍的是 Fedora IoT,将展示如何在树莓派上安装预览镜像。还将学习如何与 GPIO 交互以点亮 LED。Media
via https://linux.cn/article-10380-1.html
如果你喜欢 Fedora、容器,而且有一块树莓派,那么这三者结合操控 LED 会怎么样?本文介绍的是 Fedora IoT,将展示如何在树莓派上安装预览镜像。还将学习如何与 GPIO 交互以点亮 LED。Media
via https://linux.cn/article-10380-1.html
如何使用 Fedora IoT 点亮 LED 灯
<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201812/25/002456eqq5cypt46lqayhs.jpg">Media</a>如果你喜欢 Fedora、容器,而且有一块树莓派,那么这三者结合操控 LED 会怎么样?本文介绍的是 Fedora IoT,将展示如何在树莓派上安装预览镜像。还将学习如何与 GPIO 交互以点亮 LED。什么是 Fedora IoT?Fedora IoT 是当前 Fedora 项目的目标之一,计划成为一个完整的 Fedora 版本。Fedora IoT 将是一个在 ARM(目前仅限 aarch64)设备上(例如树莓派),以及 x86_64 架构上运行的系统。<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201812/25/002429tsmzqg7ssf1qqsgj.jpg">Media</a>Fedora IoT 基于 OSTree 开发,就像 <a href="https://teamsilverblue.org/">Fedora Silverblue</a> 和以往的 <a href="https://www.projectatomic.io/">Atomic Host</a>。下载和安装 Fedora IoT官方 Fedora IoT 镜像将和 Fedora 29 一起发布。但是在此期间你可以下载 <a href="https://kojipkgs.fedoraproject.org/compose/iot/latest-Fedora-IoT-28/compose/IoT/">基于 Fedora 28 的镜像</a> 来进行这个实验。(LCTT 译注:截止至本译文发布,<a href="https://fedoramagazine.org/announcing-fedora-29/">Fedora 29 已经发布了</a>,但是 IoT 版本并未随同发布,或许会在 Fedora 30 一同发布?)你有两种方法来安装这个系统:要么使用 dd 命令烧录 SD 卡,或者使用 fedora-arm-installer 工具。Fedora 的 Wiki 里面提供了为 IoT <a href="https://fedoraproject.org/wiki/InternetOfThings/GettingStarted#Setting_up_a_Physical_Device">设置物理设备</a> 的更多信息。另外,你可能需要调整第三个分区的大小。把 SD 卡插入到设备后,你需要创建一个用户来完成安装。这个步骤需要串行连接或一个 HDMI 显示器和键盘来与设备进行交互。当系统安装完成后,下一步就是要设置网络连接。使用你刚才创建的用户登录系统,可以使用下列…
<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201812/25/002456eqq5cypt46lqayhs.jpg">Media</a>如果你喜欢 Fedora、容器,而且有一块树莓派,那么这三者结合操控 LED 会怎么样?本文介绍的是 Fedora IoT,将展示如何在树莓派上安装预览镜像。还将学习如何与 GPIO 交互以点亮 LED。什么是 Fedora IoT?Fedora IoT 是当前 Fedora 项目的目标之一,计划成为一个完整的 Fedora 版本。Fedora IoT 将是一个在 ARM(目前仅限 aarch64)设备上(例如树莓派),以及 x86_64 架构上运行的系统。<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201812/25/002429tsmzqg7ssf1qqsgj.jpg">Media</a>Fedora IoT 基于 OSTree 开发,就像 <a href="https://teamsilverblue.org/">Fedora Silverblue</a> 和以往的 <a href="https://www.projectatomic.io/">Atomic Host</a>。下载和安装 Fedora IoT官方 Fedora IoT 镜像将和 Fedora 29 一起发布。但是在此期间你可以下载 <a href="https://kojipkgs.fedoraproject.org/compose/iot/latest-Fedora-IoT-28/compose/IoT/">基于 Fedora 28 的镜像</a> 来进行这个实验。(LCTT 译注:截止至本译文发布,<a href="https://fedoramagazine.org/announcing-fedora-29/">Fedora 29 已经发布了</a>,但是 IoT 版本并未随同发布,或许会在 Fedora 30 一同发布?)你有两种方法来安装这个系统:要么使用 dd 命令烧录 SD 卡,或者使用 fedora-arm-installer 工具。Fedora 的 Wiki 里面提供了为 IoT <a href="https://fedoraproject.org/wiki/InternetOfThings/GettingStarted#Setting_up_a_Physical_Device">设置物理设备</a> 的更多信息。另外,你可能需要调整第三个分区的大小。把 SD 卡插入到设备后,你需要创建一个用户来完成安装。这个步骤需要串行连接或一个 HDMI 显示器和键盘来与设备进行交互。当系统安装完成后,下一步就是要设置网络连接。使用你刚才创建的用户登录系统,可以使用下列…
以 Linux 的方式庆祝圣诞节
为了延续节日氛围,我将向你展示一些非常棒的圣诞主题的 Linux 壁纸。在呈现这些壁纸之前,先来看一棵 Linux 终端下的圣诞树。Media
via https://linux.cn/article-10381-1.html
为了延续节日氛围,我将向你展示一些非常棒的圣诞主题的 Linux 壁纸。在呈现这些壁纸之前,先来看一棵 Linux 终端下的圣诞树。Media
via https://linux.cn/article-10381-1.html
以 Linux 的方式庆祝圣诞节
<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201812/25/011422uz6z1iy36wy6nmcn.jpg">Media当前正是假日季,很多人可能已经在庆祝圣诞节了。祝你圣诞快乐,新年快乐。为了延续节日氛围,我将向你展示一些非常棒的圣诞主题的 <a href="https://itsfoss.com/beautiful-linux-wallpapers/">Linux 壁纸。在呈现这些壁纸之前,先来看一棵 Linux 终端下的圣诞树。让你的桌面飘雪(针对 GNOME 用户)如果您在 Ubuntu 18.04 或任何其他 Linux 发行版中使用 GNOME 桌面,您可以使用一个小的 <a href="https://itsfoss.com/gnome-shell-extensions/">GNOME 扩展并在桌面上飘雪。您可以从软件中心或 GNOME 扩展网站获取此 gsnow 扩展。我建议您阅读一些关于<a href="https://itsfoss.com/gnome-shell-extensions/">使用 GNOME 扩展的内容。安装此扩展程序后,您会在顶部面板上看到一个小雪花图标。 如果您单击一次,您会看到桌面屏幕上的小絮状物掉落。<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201812/25/012642ddkh5ze13e1sweez.gif">Media你可以再次点击该图标来禁止雪花落下。在 Linux 终端下显示圣诞树<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201812/25/083753hb45bqq55kqb4b4b.gif">Media如果你想要在终端里显示一个动画的圣诞树,你可以使用如下命令:<pre class="prettyprint linenums">curl https://raw.githubusercontent.com/sergiolepore/ChristBASHTree/master/tree-EN.sh | bash</pre>要是不想一直从互联网上获取这棵圣诞树,也可以从它的 <a href="https://github.com/sergiolepore/ChristBASHTree">GitHub 仓库 中获取对应的 shell 脚本,更改权限之后按照运行普通 shell 脚本的方式运行它。使用 Perl 在 Linux 终端下显示圣诞树<a href="https://itsfoss.com/christmas-linux-wallpaper/perl-tree/">Christmas Tree in Linux terminal by NixCraft这个技巧最初由 <a href="https://www.cyberciti.biz/open-source/command-line-hacks/linux-unix-desktop-fun-christmas-tree-for-your-terminal/">NixCraft 分享,你需要为此安装 Perl 模块。说实话,我不喜欢使用 Perl 模块,因为卸载它们真的很痛苦。所以使用这个 Perl 模块时需谨记,你必须手动移除它。<pre class="prettyprint linenums">perl -MCPAN -e 'install Acme:MediaOE::Tree'</pre>你可以阅读 <a href="https://www.cyberciti.biz/open-source/command-line-hacks/linux-unix-desktop-fun-christmas-tree-for-your-terminal/">原文 来了解更多信息。下载 Linux 圣诞主题壁纸所有这些 Linux 圣诞主题壁纸都是由 Mark Riedesel 制作的,你可以在 <a href="http://www.klowner.com/">他的网站 上找到很多其他艺术品。自 2002 年以来,他几乎每年都在制作这样的壁纸。可以理解的是,最早的一些壁纸不具有现代的宽高比。我把它们按时间倒序排列。注意一个小地方,这里显示的图片都是高度压缩的,因此你要通过图片下方提供的链接进行下载。<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201812/25/012645u9pqo24vq49pzg7z.jpg">Christmas Linux Wallpaper<em>下载此壁纸</em><a href="https://dn-linuxcn.qbox.me/data/attachment/album/201812/25/011455hp3tz2ydj3hjwtat.jpg">Christmas Linux Wallpaper<em>下载此壁纸</em><a href="https://itsfoss.com/christmas-linux-wallpaper/christmastux2016_3840x2160_result/">Christmas Linux Wallpapers<em>下载此壁纸</em><a href="https://itsfoss.com/christmas-linux-wallpaper/christmastux2015_2560x1920_result/">Christmas Linux Wallpapers<em>下载此壁纸</em><a href="https://itsfoss.com/christmas-linux-wallpaper/christmastux2014_2560x1440_result/">Christmas Linux Wallpapers<em>下载此壁纸</em><a href="https://itsfoss.com/christmas-linux-wallpaper/christmastux2013_result/">Christmas Linux Wallpapers<em>下载此壁纸</em><a href="https://itsfoss.com/christmas-linux-wallpaper/christmastux2012_2560x1440_result/">Christmas Linux Wallpapers<em>下载此壁纸</em><a href="https://itsfoss.com/christmas-linux-wallpaper/christmastux2011_2560x1440_result/">Christmas Linux Wallpapers<em>下载此壁纸</em><a href="https://itsfoss.com/christmas-linux-wallpaper/christmastux2010_5120x2880_result/">Christmas Linux Wallpapers<em>下载此壁纸</em><a href="https://itsfoss.com/christmas-linux-wallpaper/christmastux2009_1600x1200_result/">Christmas Linux Wallpapers<em>下载此壁纸</em><a href="https://itsfoss.com/christmas-linux-wallpaper/christmastux2008_2560x1600_result/">Christmas Linux Wallpapers<em>下载此壁纸</em><a href="https://itsfoss.com/christmas-linux-wallpaper/christmastux2007_2560x1600_result/">Christmas Linux Wallpapers<em>下载此壁纸</em><a href="https://itsfoss.com/christmas-linux-wallpaper/christmastux2006_1024x768_result/">Christmas Linux Wallpapers<em>下载此壁纸</em><a href="https://itsfoss.com/christmas-linux-wallpaper/christmastux2005_1600x1200_result/">Christmas Linux Wallpapers<em>下载此壁纸</em><a href="https://itsfoss.com/christmas-linux-wallpaper/christmastux2004_1600x1200_result/">Christmas Linux Wallpapers<em>下载此壁纸</em><a href="https://itsfoss.com/christmas-linux-wallpaper/christmastux2002_1600x1200_result/">Christmas Linux Wallpapers<em>下载…
<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201812/25/011422uz6z1iy36wy6nmcn.jpg">Media当前正是假日季,很多人可能已经在庆祝圣诞节了。祝你圣诞快乐,新年快乐。为了延续节日氛围,我将向你展示一些非常棒的圣诞主题的 <a href="https://itsfoss.com/beautiful-linux-wallpapers/">Linux 壁纸。在呈现这些壁纸之前,先来看一棵 Linux 终端下的圣诞树。让你的桌面飘雪(针对 GNOME 用户)如果您在 Ubuntu 18.04 或任何其他 Linux 发行版中使用 GNOME 桌面,您可以使用一个小的 <a href="https://itsfoss.com/gnome-shell-extensions/">GNOME 扩展并在桌面上飘雪。您可以从软件中心或 GNOME 扩展网站获取此 gsnow 扩展。我建议您阅读一些关于<a href="https://itsfoss.com/gnome-shell-extensions/">使用 GNOME 扩展的内容。安装此扩展程序后,您会在顶部面板上看到一个小雪花图标。 如果您单击一次,您会看到桌面屏幕上的小絮状物掉落。<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201812/25/012642ddkh5ze13e1sweez.gif">Media你可以再次点击该图标来禁止雪花落下。在 Linux 终端下显示圣诞树<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201812/25/083753hb45bqq55kqb4b4b.gif">Media如果你想要在终端里显示一个动画的圣诞树,你可以使用如下命令:<pre class="prettyprint linenums">curl https://raw.githubusercontent.com/sergiolepore/ChristBASHTree/master/tree-EN.sh | bash</pre>要是不想一直从互联网上获取这棵圣诞树,也可以从它的 <a href="https://github.com/sergiolepore/ChristBASHTree">GitHub 仓库 中获取对应的 shell 脚本,更改权限之后按照运行普通 shell 脚本的方式运行它。使用 Perl 在 Linux 终端下显示圣诞树<a href="https://itsfoss.com/christmas-linux-wallpaper/perl-tree/">Christmas Tree in Linux terminal by NixCraft这个技巧最初由 <a href="https://www.cyberciti.biz/open-source/command-line-hacks/linux-unix-desktop-fun-christmas-tree-for-your-terminal/">NixCraft 分享,你需要为此安装 Perl 模块。说实话,我不喜欢使用 Perl 模块,因为卸载它们真的很痛苦。所以使用这个 Perl 模块时需谨记,你必须手动移除它。<pre class="prettyprint linenums">perl -MCPAN -e 'install Acme:MediaOE::Tree'</pre>你可以阅读 <a href="https://www.cyberciti.biz/open-source/command-line-hacks/linux-unix-desktop-fun-christmas-tree-for-your-terminal/">原文 来了解更多信息。下载 Linux 圣诞主题壁纸所有这些 Linux 圣诞主题壁纸都是由 Mark Riedesel 制作的,你可以在 <a href="http://www.klowner.com/">他的网站 上找到很多其他艺术品。自 2002 年以来,他几乎每年都在制作这样的壁纸。可以理解的是,最早的一些壁纸不具有现代的宽高比。我把它们按时间倒序排列。注意一个小地方,这里显示的图片都是高度压缩的,因此你要通过图片下方提供的链接进行下载。<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201812/25/012645u9pqo24vq49pzg7z.jpg">Christmas Linux Wallpaper<em>下载此壁纸</em><a href="https://dn-linuxcn.qbox.me/data/attachment/album/201812/25/011455hp3tz2ydj3hjwtat.jpg">Christmas Linux Wallpaper<em>下载此壁纸</em><a href="https://itsfoss.com/christmas-linux-wallpaper/christmastux2016_3840x2160_result/">Christmas Linux Wallpapers<em>下载此壁纸</em><a href="https://itsfoss.com/christmas-linux-wallpaper/christmastux2015_2560x1920_result/">Christmas Linux Wallpapers<em>下载此壁纸</em><a href="https://itsfoss.com/christmas-linux-wallpaper/christmastux2014_2560x1440_result/">Christmas Linux Wallpapers<em>下载此壁纸</em><a href="https://itsfoss.com/christmas-linux-wallpaper/christmastux2013_result/">Christmas Linux Wallpapers<em>下载此壁纸</em><a href="https://itsfoss.com/christmas-linux-wallpaper/christmastux2012_2560x1440_result/">Christmas Linux Wallpapers<em>下载此壁纸</em><a href="https://itsfoss.com/christmas-linux-wallpaper/christmastux2011_2560x1440_result/">Christmas Linux Wallpapers<em>下载此壁纸</em><a href="https://itsfoss.com/christmas-linux-wallpaper/christmastux2010_5120x2880_result/">Christmas Linux Wallpapers<em>下载此壁纸</em><a href="https://itsfoss.com/christmas-linux-wallpaper/christmastux2009_1600x1200_result/">Christmas Linux Wallpapers<em>下载此壁纸</em><a href="https://itsfoss.com/christmas-linux-wallpaper/christmastux2008_2560x1600_result/">Christmas Linux Wallpapers<em>下载此壁纸</em><a href="https://itsfoss.com/christmas-linux-wallpaper/christmastux2007_2560x1600_result/">Christmas Linux Wallpapers<em>下载此壁纸</em><a href="https://itsfoss.com/christmas-linux-wallpaper/christmastux2006_1024x768_result/">Christmas Linux Wallpapers<em>下载此壁纸</em><a href="https://itsfoss.com/christmas-linux-wallpaper/christmastux2005_1600x1200_result/">Christmas Linux Wallpapers<em>下载此壁纸</em><a href="https://itsfoss.com/christmas-linux-wallpaper/christmastux2004_1600x1200_result/">Christmas Linux Wallpapers<em>下载此壁纸</em><a href="https://itsfoss.com/christmas-linux-wallpaper/christmastux2002_1600x1200_result/">Christmas Linux Wallpapers<em>下载…
IBM 029 型打孔机
我知道这很学院派,可一行超过 80 个字符的代码还是让我抓狂。我也在网上见过不少人认为即使在现代的视网膜屏幕下也应当采用行长度为 80 个字符的标准,可他们都不理解我对破坏这一标准的怒火,就算多 1 个字符也不行。Media
via https://linux.cn/article-10382-1.html
我知道这很学院派,可一行超过 80 个字符的代码还是让我抓狂。我也在网上见过不少人认为即使在现代的视网膜屏幕下也应当采用行长度为 80 个字符的标准,可他们都不理解我对破坏这一标准的怒火,就算多 1 个字符也不行。Media
via https://linux.cn/article-10382-1.html
IBM 029 型打孔机
我知道这很学院派,可一行超过 80 个字符的代码还是让我抓狂。我也在网上见过不少人认为即使在现代的视网膜屏幕下也应当采用行长度为 80 个字符的标准,可他们都不理解我对破坏这一标准的怒火,就算多 1 个字符也不行。在这一标准的黄金时期,一行代码的长度几乎不会超过 80 个字符的限制。在那时,这一限制是物理的,没有第 81 列用于存放第 81 个字符。每一个试图把函数名起的又长又臭的程序员都会在短暂的愉悦后迎来更多的麻烦,而这仅仅是因为没有足够的空间放下整个函数的声明。这一黄金时期也是打孔卡punch card编程时期。在 20 世纪 60 年代,IBM 打孔卡设立了标准,这个标准就是打孔卡的宽度为 80 列。这个 80 列标准在后来的电传打字机和哑终端时期得以延续,并逐渐成为操作系统中隐藏的细节。时至今日,即使我们用上了更大、更好的屏幕,偏向于使用更长的标识符而不是类似 <code>iswcntrl()</code> 这样令人难以猜测的函数名,可当你打开新的终端模拟器窗口时,默认的宽度依然是 80 个字符。从 Quora 上的很多问题中可以发现,很多人并不能想象如何使用打孔卡给计算机编程。我承认,在很长的一段时间里我也不能理解打孔卡编程是如何工作的,因为这让我想到就像劳工一样不停的给这些打孔卡打孔。当然,这是一个误解,程序员不需要亲自给打孔卡打孔,就像是火车调度员不用亲自扳道岔。程序员们有打孔机card punch machines(也被称为键控打孔机key punches),这让他们可以使用打字机式的键盘给打孔卡打孔。这样的设备在 19 世纪 90 年代时就已经不是什么新技术了。那时,最为广泛使用的打孔机之一便是 IBM 029 型打孔机。就算在今天,它也许是最棒的打孔机。<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201812/25/144551dtit8dpgprga5p3n.jpg">Media</a>IBM 029 型打孔机在 1964 年作为 IBM 的 System/360 大型电脑的配件发售的。System/360 是计算系统与外设所组成的一个系列,在 20 世纪 60 年代晚期,它几乎垄断了整个大型计算机市场。就像其它 System/360 外设一样,029 型打孔机也是个大块头。那时,计算机和家具的界限还很模糊,但 029 型打孔机可不是那种会占领你的整张桌子的机器。它改进自 026 型打孔机,增加了新的字符支持,如括号,总体上也更加安静。与前辈 026 型所展出 20 世纪 40 年代的圆形按钮与工业化的样貌相比,029 型的按键方正扁平、功能按键还有酷炫的蓝色高亮提示。它的另一个重要买点是它能够在数字区numeric field左侧自动的填充 0 ,这证明了 JavaScript 程序员不是第一批懒得自己做左填充left-padding的程序员。(LCTT 译注:这项功能需要额外的 4 张 <a href="https://en.wikipedia.org/wiki/IBM_Standard_Modular_System">标准模块系统卡</a>SMS card才能使用。例如设置数字区域长度为 6 列时,操作员只需要输入 73 ,打孔机会自动填充起始位置上的 4 个 0 ,故最终输出 000073。<a href="https://en.wikipedia.org/wiki/Keypunch#IBM_029_Card_Punch">更多信息</a>)等等!你说的是 IBM 在 1964 年发布了全新的打孔机?你知道那张在贝尔实验室拍摄的 Unix 之父正在使用电传打字机的照片吗?那是哪一年的来着?1970?打孔机不是应该在 20 世纪 60 年代中期到晚期时就过时了吗?是的,你也许会奇怪,为什么直到 1984 年,IBM 的产品目录中还会出现 029 型打孔机的身影 <a href="#fn1">1</a>。事实上,直到 20 世纪 70 年代,大多数程序员仍然在使用打孔卡编程。其实二战期间就已经有人在用电传打字机了,可那时并没能普及。客观的讲,电传打字机几乎和打孔卡一样古老。也许和你想象的恰恰相反,并不是电传打字机本身限制了它的普及,而是计算时间。人们拒绝使用电传打字机的原因是,它是可交互的,它和计算机使用“在线”的传输方式online mode of communication。在以 Unix 为代表的分时操作系统被发明前,你和电脑的交互会被任何人的使用而打断,而这一点延迟通常意味着几千美元的损失。所以程序员们普遍选择离线地使用打孔机编程,再将打孔卡放入大型计算机中,作为批任务batch job执行。在那时,还没有即廉价又可靠的存储设备,可打孔卡的廉价优势已经足够让它成为那时最流行的数据存储方式了。那时的程序是书架上一摞打孔卡而不是硬盘里的一堆文件。那么实际使用 IBM 029 型打孔机是个什么样子呢?这很难向没有实际看过打孔卡的人解释。一张打孔卡通常有 12 行 80 列。打孔卡下面是从 1 到 9 的数字行digit rows,打孔卡上的每一列都有这些行所对应的数字。最上面的三行是空间行zone rows,通常由两行空白行和一行 0 行组成。第 12 行是打孔卡最顶部的行,接下来是 11 行,随后是从数字 0 到 9 所在的行。这个有点让人感到困惑的顺序的原因是打孔卡的上边缘被称为12 边12 edge、下边缘被称为 9 边9 edge。那时,为了让打孔卡便于整理,常常会剪去打孔卡的一个角。<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201812/25/144552j4ce2ze22qc8cdc5.png">Media</a>(LCTT 译注:可参考<a href="https://zh.wikipedia.org/wiki/EBCDIC">EBCDIC 编码</a>)在打孔卡发明之初,孔洞的形状是圆形的,但是 IBM 最终意识到如果使用窄长方形作为孔洞,一张卡就可以放下更多的列了。每一列中孔洞的不同组合就可以表达不同的字符。像 029 型这样的拥有人性化设计的打孔机除了完成本质的打孔任务外,还会在打孔卡最上方打印出每一列所对应的字符。输入是数字就在对应的数字行上打孔。输入的是字母或符号就用一个在空间列的孔和一或俩个在数字列的孔的组合表示,例如字母 A 就用一个在第 12 空间行的空和一个数字 1 所在行的孔表示。这是一种顺序编码,在第一台打孔机被发明后,也叫 Hollerith 编码。这种编码只能表示相对较小的一套字符集,小写字母就没有包含在这套字符集中。如今一些聪明的工程师可能想知道为什么打卡不干脆使用二进制编码 —— 毕竟,有 12 行,你可以编码超过 4000 个字符。 使用 Hollerith 编码是因为它确保在单个列中出现不超过三个孔。这保留了卡的结构强度。二进制编码会带来太多的孔,会因为孔洞过于密集而断裂。打孔卡也有不同。在 20 世纪 60 年代,80 列虽然是标准,但表达的方式不一定相同。基础打孔卡是无标注的,但用于 COBOL 编程的打孔卡会把最后的 8 列保留,供标识数保存使用。这一标识数可以在打孔卡被打乱 (例如一叠打孔卡掉在地上了) 后用于自动排序。此外,第 7 列被用于表示本张打孔卡上的是否与上一张打孔卡一起构成一条语句。也就是说当你真的对 80 字符的限制感到绝望的时候,还可以用两张卡甚至更多的卡拼接成一条长语句。用于 FORTRAN 编程的打孔卡和 COBOL 打孔卡类似,但是定义的列不同。大学里使用的打孔卡通常会由其计算机中心加上水印,其它的设计则会在如 <a href="http://www.jkmscott.net/data/Punched%20card%20013.jpg">1976 年美国独立 200 周年</a> 的特殊场合才会加入。最终,这些打孔卡都要被计算机读取和计算。IBM 出售的 System/360 大型计算机的外设 IBM 2540 可以以每分钟 1000 张打孔卡的速度读取这些卡片<a href="#fn2">2</a> 。IBM 2540 使用电刷扫过每张打孔卡,电刷通过孔洞就可以接触到卡片后面的金属板完成一次读取。一旦读取完毕,System/360 大型计算机就会把每张打孔卡上的数据使用一种定长的 8 位编码保存,这种编码是扩增二进式十进交换码Extended Binary Coded Decimal Interchange Code,简写为 EBCDIC 编码。它是一种二进制编码,可以追溯自早期打孔卡所使用的 BCDIDC 编码 —— 其 6 位编码使用低 4 位表示数字行,高 2 位表示空间行。程序员们在打孔卡上编写完程序后,会把卡片们交给计算机操作员,操作员们会把这些卡片放入 IBM 2540 ,再把打印结果交给程序员。那时的程序员大多都没有见过计算机长什么样。程序员们真正能见到的是很多打孔机。029 型打孔机虽然不是计算机,但这并不意味着它不是一台复杂的机器。看看这个由密歇根大学University of Michigan计算机中心在 1967 年制作的<a href="https://www.youtube.com/watch?v=kaQmAybWn-w">教学视频</a>,你就能更好的理解使用一台 029 型打孔机是什么情形了。我会尽可能在这里总结这段视频,但如果你不去亲自看…
我知道这很学院派,可一行超过 80 个字符的代码还是让我抓狂。我也在网上见过不少人认为即使在现代的视网膜屏幕下也应当采用行长度为 80 个字符的标准,可他们都不理解我对破坏这一标准的怒火,就算多 1 个字符也不行。在这一标准的黄金时期,一行代码的长度几乎不会超过 80 个字符的限制。在那时,这一限制是物理的,没有第 81 列用于存放第 81 个字符。每一个试图把函数名起的又长又臭的程序员都会在短暂的愉悦后迎来更多的麻烦,而这仅仅是因为没有足够的空间放下整个函数的声明。这一黄金时期也是打孔卡punch card编程时期。在 20 世纪 60 年代,IBM 打孔卡设立了标准,这个标准就是打孔卡的宽度为 80 列。这个 80 列标准在后来的电传打字机和哑终端时期得以延续,并逐渐成为操作系统中隐藏的细节。时至今日,即使我们用上了更大、更好的屏幕,偏向于使用更长的标识符而不是类似 <code>iswcntrl()</code> 这样令人难以猜测的函数名,可当你打开新的终端模拟器窗口时,默认的宽度依然是 80 个字符。从 Quora 上的很多问题中可以发现,很多人并不能想象如何使用打孔卡给计算机编程。我承认,在很长的一段时间里我也不能理解打孔卡编程是如何工作的,因为这让我想到就像劳工一样不停的给这些打孔卡打孔。当然,这是一个误解,程序员不需要亲自给打孔卡打孔,就像是火车调度员不用亲自扳道岔。程序员们有打孔机card punch machines(也被称为键控打孔机key punches),这让他们可以使用打字机式的键盘给打孔卡打孔。这样的设备在 19 世纪 90 年代时就已经不是什么新技术了。那时,最为广泛使用的打孔机之一便是 IBM 029 型打孔机。就算在今天,它也许是最棒的打孔机。<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201812/25/144551dtit8dpgprga5p3n.jpg">Media</a>IBM 029 型打孔机在 1964 年作为 IBM 的 System/360 大型电脑的配件发售的。System/360 是计算系统与外设所组成的一个系列,在 20 世纪 60 年代晚期,它几乎垄断了整个大型计算机市场。就像其它 System/360 外设一样,029 型打孔机也是个大块头。那时,计算机和家具的界限还很模糊,但 029 型打孔机可不是那种会占领你的整张桌子的机器。它改进自 026 型打孔机,增加了新的字符支持,如括号,总体上也更加安静。与前辈 026 型所展出 20 世纪 40 年代的圆形按钮与工业化的样貌相比,029 型的按键方正扁平、功能按键还有酷炫的蓝色高亮提示。它的另一个重要买点是它能够在数字区numeric field左侧自动的填充 0 ,这证明了 JavaScript 程序员不是第一批懒得自己做左填充left-padding的程序员。(LCTT 译注:这项功能需要额外的 4 张 <a href="https://en.wikipedia.org/wiki/IBM_Standard_Modular_System">标准模块系统卡</a>SMS card才能使用。例如设置数字区域长度为 6 列时,操作员只需要输入 73 ,打孔机会自动填充起始位置上的 4 个 0 ,故最终输出 000073。<a href="https://en.wikipedia.org/wiki/Keypunch#IBM_029_Card_Punch">更多信息</a>)等等!你说的是 IBM 在 1964 年发布了全新的打孔机?你知道那张在贝尔实验室拍摄的 Unix 之父正在使用电传打字机的照片吗?那是哪一年的来着?1970?打孔机不是应该在 20 世纪 60 年代中期到晚期时就过时了吗?是的,你也许会奇怪,为什么直到 1984 年,IBM 的产品目录中还会出现 029 型打孔机的身影 <a href="#fn1">1</a>。事实上,直到 20 世纪 70 年代,大多数程序员仍然在使用打孔卡编程。其实二战期间就已经有人在用电传打字机了,可那时并没能普及。客观的讲,电传打字机几乎和打孔卡一样古老。也许和你想象的恰恰相反,并不是电传打字机本身限制了它的普及,而是计算时间。人们拒绝使用电传打字机的原因是,它是可交互的,它和计算机使用“在线”的传输方式online mode of communication。在以 Unix 为代表的分时操作系统被发明前,你和电脑的交互会被任何人的使用而打断,而这一点延迟通常意味着几千美元的损失。所以程序员们普遍选择离线地使用打孔机编程,再将打孔卡放入大型计算机中,作为批任务batch job执行。在那时,还没有即廉价又可靠的存储设备,可打孔卡的廉价优势已经足够让它成为那时最流行的数据存储方式了。那时的程序是书架上一摞打孔卡而不是硬盘里的一堆文件。那么实际使用 IBM 029 型打孔机是个什么样子呢?这很难向没有实际看过打孔卡的人解释。一张打孔卡通常有 12 行 80 列。打孔卡下面是从 1 到 9 的数字行digit rows,打孔卡上的每一列都有这些行所对应的数字。最上面的三行是空间行zone rows,通常由两行空白行和一行 0 行组成。第 12 行是打孔卡最顶部的行,接下来是 11 行,随后是从数字 0 到 9 所在的行。这个有点让人感到困惑的顺序的原因是打孔卡的上边缘被称为12 边12 edge、下边缘被称为 9 边9 edge。那时,为了让打孔卡便于整理,常常会剪去打孔卡的一个角。<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201812/25/144552j4ce2ze22qc8cdc5.png">Media</a>(LCTT 译注:可参考<a href="https://zh.wikipedia.org/wiki/EBCDIC">EBCDIC 编码</a>)在打孔卡发明之初,孔洞的形状是圆形的,但是 IBM 最终意识到如果使用窄长方形作为孔洞,一张卡就可以放下更多的列了。每一列中孔洞的不同组合就可以表达不同的字符。像 029 型这样的拥有人性化设计的打孔机除了完成本质的打孔任务外,还会在打孔卡最上方打印出每一列所对应的字符。输入是数字就在对应的数字行上打孔。输入的是字母或符号就用一个在空间列的孔和一或俩个在数字列的孔的组合表示,例如字母 A 就用一个在第 12 空间行的空和一个数字 1 所在行的孔表示。这是一种顺序编码,在第一台打孔机被发明后,也叫 Hollerith 编码。这种编码只能表示相对较小的一套字符集,小写字母就没有包含在这套字符集中。如今一些聪明的工程师可能想知道为什么打卡不干脆使用二进制编码 —— 毕竟,有 12 行,你可以编码超过 4000 个字符。 使用 Hollerith 编码是因为它确保在单个列中出现不超过三个孔。这保留了卡的结构强度。二进制编码会带来太多的孔,会因为孔洞过于密集而断裂。打孔卡也有不同。在 20 世纪 60 年代,80 列虽然是标准,但表达的方式不一定相同。基础打孔卡是无标注的,但用于 COBOL 编程的打孔卡会把最后的 8 列保留,供标识数保存使用。这一标识数可以在打孔卡被打乱 (例如一叠打孔卡掉在地上了) 后用于自动排序。此外,第 7 列被用于表示本张打孔卡上的是否与上一张打孔卡一起构成一条语句。也就是说当你真的对 80 字符的限制感到绝望的时候,还可以用两张卡甚至更多的卡拼接成一条长语句。用于 FORTRAN 编程的打孔卡和 COBOL 打孔卡类似,但是定义的列不同。大学里使用的打孔卡通常会由其计算机中心加上水印,其它的设计则会在如 <a href="http://www.jkmscott.net/data/Punched%20card%20013.jpg">1976 年美国独立 200 周年</a> 的特殊场合才会加入。最终,这些打孔卡都要被计算机读取和计算。IBM 出售的 System/360 大型计算机的外设 IBM 2540 可以以每分钟 1000 张打孔卡的速度读取这些卡片<a href="#fn2">2</a> 。IBM 2540 使用电刷扫过每张打孔卡,电刷通过孔洞就可以接触到卡片后面的金属板完成一次读取。一旦读取完毕,System/360 大型计算机就会把每张打孔卡上的数据使用一种定长的 8 位编码保存,这种编码是扩增二进式十进交换码Extended Binary Coded Decimal Interchange Code,简写为 EBCDIC 编码。它是一种二进制编码,可以追溯自早期打孔卡所使用的 BCDIDC 编码 —— 其 6 位编码使用低 4 位表示数字行,高 2 位表示空间行。程序员们在打孔卡上编写完程序后,会把卡片们交给计算机操作员,操作员们会把这些卡片放入 IBM 2540 ,再把打印结果交给程序员。那时的程序员大多都没有见过计算机长什么样。程序员们真正能见到的是很多打孔机。029 型打孔机虽然不是计算机,但这并不意味着它不是一台复杂的机器。看看这个由密歇根大学University of Michigan计算机中心在 1967 年制作的<a href="https://www.youtube.com/watch?v=kaQmAybWn-w">教学视频</a>,你就能更好的理解使用一台 029 型打孔机是什么情形了。我会尽可能在这里总结这段视频,但如果你不去亲自看…
7 个最佳 Linux 电子书阅读器
本文中我们涉及一些 Linux 最佳电子书阅读器。这些应用提供更佳的阅读体验甚至可以管理你的电子书。Media
via https://linux.cn/article-10383-1.html
本文中我们涉及一些 Linux 最佳电子书阅读器。这些应用提供更佳的阅读体验甚至可以管理你的电子书。Media
via https://linux.cn/article-10383-1.html