2018年3月

KVM 中测试 IPv6 网络:第 1 部分 一文中,我们学习了关于 唯一本地地址 unique local addresses (ULA)的相关内容。在本文中,我们将学习如何为 ULA 自动配置 IP 地址。

何时使用唯一本地地址

唯一本地地址 unique local addresses (ULA)使用 fd00::/8 地址块,它类似于我们常用的 IPv4 的私有地址:10.0.0.0/8172.16.0.0/12、以及 192.168.0.0/16。但它们并不能直接替换。IPv4 的私有地址分类和网络地址转换(NAT)功能是为了缓解 IPv4 地址短缺的问题,这是个明智的解决方案,它延缓了本该被替换的 IPv4 的生命周期。IPv6 也支持 NAT,但是我想不出使用它的理由。IPv6 的地址数量远远大于 IPv4;它是不一样的,因此需要做不一样的事情。

那么,ULA 存在的意义是什么呢?尤其是在我们已经有了 本地链路地址 link-local addresses fe80::/10)时,到底需不需要我们去配置它们呢?它们之间(LCTT 译注:指的是唯一本地地址和本地链路地址)有两个重要的区别。一是,本地链路地址是不可路由的,因此,你不能跨子网使用它。二是,ULA 是你自己管理的;你可以自己选择它用于子网的地址范围,并且它们是可路由的。

使用 ULA 的另一个好处是,如果你只是在局域网中“混日子”的话,你不需要为它们分配全局单播 IPv6 地址。当然了,如果你的 ISP 已经为你分配了 IPv6 的 全局单播地址 global unicast addresses ,就不需要使用 ULA 了。你也可以在同一个网络中混合使用全局单播地址和 ULA,但是,我想不出这样使用的一个好理由,并且要一定确保你不使用网络地址转换(NAT)以使 ULA 可公共访问。在我看来,这是很愚蠢的行为。

ULA 是仅为私有网络使用的,并且应该阻止其流出你的网络,不允许进入因特网。这很简单,在你的边界设备上只要阻止整个 fd00::/8 范围的 IPv6 地址即可实现。

地址自动配置

ULA 不像本地链路地址那样自动配置的,但是使用 radvd 设置自动配置是非常容易的,radva 是路由器公告守护程序。在你开始之前,运行 ifconfig 或者 ip addr show 去查看你现有的 IP 地址。

在生产系统上使用时,你应该将 radvd 安装在一台单独的路由器上,如果只是测试使用,你可以将它安装在你的网络中的任意 Linux PC 上。在我的小型 KVM 测试实验室中,我使用 apt-get install radvd 命令把它安装在 Ubuntu 上。安装完成之后,我先不启动它,因为它还没有配置文件:

$ sudo systemctl status radvd
● radvd.service - LSB: Router Advertising Daemon
   Loaded: loaded (/etc/init.d/radvd; bad; vendor preset: enabled)
   Active: active (exited) since Mon 2017-12-11 20:08:25 PST; 4min 59s ago
     Docs: man:systemd-sysv-generator(8)

Dec 11 20:08:25 ubunut1 systemd[1]: Starting LSB: Router Advertising Daemon...
Dec 11 20:08:25 ubunut1 radvd[3541]: Starting radvd:
Dec 11 20:08:25 ubunut1 radvd[3541]: * /etc/radvd.conf does not exist or is empty.
Dec 11 20:08:25 ubunut1 radvd[3541]: * See /usr/share/doc/radvd/README.Debian
Dec 11 20:08:25 ubunut1 radvd[3541]: * radvd will *not* be started.
Dec 11 20:08:25 ubunut1 systemd[1]: Started LSB: Router Advertising Daemon.

这些所有的消息有点让人困惑,实际上 radvd 并没有运行,你可以使用经典命令 ps | grep radvd 来验证这一点。因此,我们现在需要去创建 /etc/radvd.conf 文件。拷贝这个示例,将第一行的网络接口名替换成你自己的接口名字:

interface ens7 {
  AdvSendAdvert on;
  MinRtrAdvInterval 3;
  MaxRtrAdvInterval 10;
  prefix fd7d:844d:3e17:f3ae::/64
        {
                AdvOnLink on;
                AdvAutonomous on;
        };

};

前缀(prefix)定义了你的网络地址,它是地址的前 64 位。前两个字符必须是 fd,前缀接下来的剩余部分你自己定义它,最后的 64 位留空,因为 radvd 将去分配最后的 64 位。前缀后面的 16 位用来定义子网,剩余的地址定义为主机地址。你的子网必须总是 /64。RFC 4193 要求地址必须随机生成;查看 在 KVM 中测试 IPv6 Networking:第 1 部分 学习创建和管理 ULAs 的更多知识。

IPv6 转发

IPv6 转发必须要启用。下面的命令去启用它,重启后生效:

$ sudo sysctl -w net.ipv6.conf.all.forwarding=1

取消注释或者添加如下的行到 /etc/sysctl.conf 文件中,以使它永久生效:

net.ipv6.conf.all.forwarding = 1

启动 radvd 守护程序:

$ sudo systemctl stop radvd
$ sudo systemctl start radvd

这个示例在我的 Ubuntu 测试系统中遇到了一个怪事;radvd 总是停止,我查看它的状态却没有任何问题,做任何改变之后都需要重新启动 radvd。

启动成功后没有任何输出,并且失败也是如此,因此,需要运行 sudo systemctl status radvd 去查看它的运行状态。如果有错误,systemctl 会告诉你。一般常见的错误都是 /etc/radvd.conf 中的语法错误。

在 Twitter 上抱怨了上述问题之后,我学到了一件很酷的技巧:当你运行 journalctl -xe --no-pager 去调试 systemctl 错误时,你的输出会被换行,然后,你就可以看到错误信息。

现在检查你的主机,查看它们自动分配的新地址:

$ ifconfig
ens7      Link encap:Ethernet  HWaddr 52:54:00:57:71:50  
          [...]
          inet6 addr: fd7d:844d:3e17:f3ae:9808:98d5:bea9:14d9/64 Scope:Global
          [...]

本文到此为止,下周继续学习如何为 ULA 管理 DNS,这样你就可以使用一个合适的主机名来代替这些长长的 IPv6 地址。

通过来自 Linux 基金会和 edX 的 “Linux 入门” 免费课程学习更多 Linux 的知识。


via: https://www.linux.com/learn/intro-to-linux/2017/12/ipv6-auto-configuration-linux

作者:Carla Schroder 译者:qhwdw 校对:wxy

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

你可以使用几乎所有的屏幕录制程序轻松录制终端会话。但是,你很可能会得到超大的视频文件。Linux 中有几种终端录制程序,每种录制程序都有自己的优点和缺点。Showterm 是一个可以非常容易地记录终端会话、上传、分享,并将它们嵌入到任何网页中的工具。一个优点是,你不会有巨大的文件来处理。

Showterm 是开源的,该项目可以在这个 GitHub 页面上找到。

相关2 个简单的将你的终端会话录制为视频的 Linux 程序

在 Linux 中安装 Showterm

Showterm 要求你在计算机上安装了 Ruby。以下是如何安装该程序。

gem install showterm

如果你没有在 Linux 上安装 Ruby,可以这样:

sudo curl showterm.io/showterm > ~/bin/showterm
sudo chmod +x ~/bin/showterm

如果你只是想运行程序而不是安装:

bash <(curl record.showterm.io)

你可以在终端输入 showterm --help 得到帮助页面。如果没有出现帮助页面,那么可能是未安装 showterm。现在你已安装了 Showterm(或正在运行独立版本),让我们开始使用该工具进行录制。

相关如何在 Ubuntu 中录制终端会话

录制终端会话

 title=

录制终端会话非常简单。从命令行运行 showterm。这会在后台启动终端录制。所有从命令行输入的命令都由 Showterm 记录。完成录制后,请按 Ctrl + D 或在命令行中输入exit 停止录制。

Showterm 会上传你的视频并输出一个看起来像 http://showterm.io/<一长串字符> 的链接的视频。不幸的是,终端会话会立即上传,而没有任何提示。请不要惊慌!你可以通过输入 showterm --delete <recording URL> 删除任何已上传的视频。在上传视频之前,你可以通过在 showterm 命令中添加 -e 选项来改变计时。如果视频无法上传,你可以使用 showterm --retry <script> <times> 强制重试。

在查看录制内容时,还可以通过在 URL 中添加 #slow#fast#stop 来控制视频的计时。#slow 让视频以正常速度播放、#fast 是速度加倍、#stop,如名称所示,停止播放视频。

Showterm 终端录制视频可以通过 iframe 轻松嵌入到网页中。这可以通过将 iframe 源添加到 showterm 视频地址来实现,如下所示。

 title=

作为开源工具,Showterm 允许进一步定制。例如,要运行你自己的 Showterm 服务器,你需要运行以下命令:

export SHOWTERM_SERVER=https://showterm.myorg.local/

这样你的客户端可以和它通信。还有额外的功能只需很少的编程知识就可添加。Showterm 服务器项目可在此 GitHub 页面获得。

结论

如果你想与同事分享一些命令行教程,请务必记得 Showterm。Showterm 是基于文本的。因此,与其他屏幕录制机相比,它将产生相对较小的视频。该工具本身尺寸相当小 —— 只有几千字节。


via: https://www.maketecheasier.com/record-terminal-session-showterm/

作者:Bruno Edoh 译者:geekpi 校对:wxy

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

如果您的工作涉及到 Linux 中的可执行文件和共享库的知识,则需要了解几种命令行工具。其中之一是 ldd ,您可以使用它来访问共享对象依赖关系。在本教程中,我们将使用一些易于理解的示例来讨论此实用程序的基础知识。

请注意,这里提到的所有示例都已在 Ubuntu 16.04 LTS 上进行了测试。

Linux ldd 命令

正如开头已经提到的,ldd 命令打印共享对象依赖关系。以下是该命令的语法:

ldd [option]... file...

下面是该工具的手册页对它作出的解释:

ldd 会输出命令行指定的每个程序或共享对象所需的共享对象(共享库)。

以下使用问答的方式让您更好地了解ldd的工作原理。

问题一、 如何使用 ldd 命令?

ldd 的基本用法非常简单,只需运行 ldd 命令以及可执行文件或共享对象的文件名称作为输入。

ldd [object-name]

例如:

ldd test

How to use ldd

所以你可以看到所有的共享库依赖已经在输出中产生了。

Q2、 如何使 ldd 在输出中生成详细的信息?

如果您想要 ldd 生成详细信息,包括符号版本控制数据,则可以使用 -v 命令行选项。例如,该命令

ldd -v test

当使用 -v 命令行选项时,在输出中产生以下内容:

How to make ldd produce detailed information in output

Q3、 如何使 ldd 产生未使用的直接依赖关系?

对于这个信息,使用 -u 命令行选项。这是一个例子:

ldd -u test

How to make ldd produce unused direct dependencies

Q4、 如何让 ldd 执行重定位?

您可以在这里使用几个命令行选项:-d-r。 前者告诉 ldd 执行数据重定位,后者则使 ldd 为数据对象和函数执行重定位。在这两种情况下,该工具都会报告丢失的 ELF 对象(如果有的话)。

ldd -d
ldd -r

Q5、 如何获得关于ldd的帮助?

--help 命令行选项使 ldd 为该工具生成有用的用法相关信息。

ldd --help

How get help on ldd

总结

ldd 不像 cdrmmkdir 这样的工具类别。这是因为它是为特定目的而构建的。该实用程序提供了有限的命令行选项,我们在这里介绍了其中的大部分。要了解更多信息,请前往 ldd手册页


via: https://www.howtoforge.com/linux-ldd-command/

作者: Himanshu Arora 选题: lujun9972 译者: MonkeyDEcho 校对: wxy

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

IBM 工程师 Phil Estes 分享了他的 Linux 爱好如何使他成为了一位开源领袖、贡献者和维护者。

从很早很早以前起,我就一直使用开源软件。那个时候,没有所谓的社交媒体。没有火狐,没有谷歌浏览器(甚至连谷歌也没有),没有亚马逊,甚至几乎没有互联网。事实上,那个时候最热门的是最新的 Linux 2.0 内核。当时的技术挑战是什么?嗯,是 Linux 发行版本中旧的 a.out 格式被 ELF 格式代替,导致升级一些 Linux 的安装可能有些棘手。

我如何将我自己对这个初出茅庐的年轻操作系统的兴趣转变为开源事业是一个有趣的故事。

Linux 为乐趣为生,而非利益

1994 年我大学毕业时,计算机实验室是 UNIX 系统的小型网络;如果你幸运的话,它们会连接到这个叫做互联网的新东西上。我知道这难以置信!(那时,)“Web”(就是所知道的那个)大多是手写的 HTML,cgi-bin 目录是启用动态 Web 交互的一个新平台。我们许多人对这些新技术感到兴奋,我们还自学了 shell 脚本、Perl、HTML,以及所有我们在父母的 Windows 3.1 PC 上从没有见过的简短的 UNIX 命令。

毕业后,我加入 IBM,工作在一个不能访问 UNIX 系统的 PC 操作系统上,不久,我的大学切断了我通往工程实验室的远程通道。我该如何继续通过 Pine 使用 vils 读我的电子邮件的呢?我一直听说开源 Linux,但我还没有时间去研究它。

1996 年,我在德克萨斯大学奥斯丁分校开始读硕士学位。我知道这将涉及编程和写论文,不知道还有什么,但我不想使用专有的编辑器,编译器或者文字处理器。我想要的是我的 UNIX 体验!

所以我拿了一个旧电脑,找到了一个 Linux 发行版本 Slackware 3.0,在我的 IBM 办公室下载了一张又一张的软盘。可以说我在第一次安装 Linux 后就没有回过头了。在最初的那些日子里,我学习了很多关于 Makefile 和 make 系统、构建软件、补丁还有源码控制的知识。虽然我开始使用 Linux 只是为了兴趣和个人知识,但它最终改变了我的职业生涯。

虽然我是一个愉快的 Linux 用户,但我认为开源开发仍然是其他人的工作;我觉得在线邮件列表都是神秘的 UNIX 极客的。我很感激像 Linux HOWTO 这样的项目,它们在我尝试添加软件包、升级 Linux 版本,或者安装新硬件和新 PC 的设备驱动程序撞得鼻青脸肿时帮助了我。但是要处理源代码并进行修改或提交到上游……那是别人的事,不是我。

Linux 如何成为我的工作

1999 年,我终于有理由把我对 Linux 的个人兴趣与我在 IBM 的日常工作结合起来了。我接了一个研究项目,将 IBM 的 Java 虚拟机(JVM)移植到 Linux 上。为了确保我们在法律上是安全的,IBM 购买了一个塑封的盒装的 Red Hat Linux 6.1 副本来完成这项工作。在 IBM 东京研究实验室工作时,为了编写我们的 JVM 即时编译器(JIT),参考了 AIX JVM 源代码和 Windows 及 OS/2 的 JVM 源代码,我们在几周内就有了一个可以工作在 Linux 上的 JVM,击败了 SUN 公司官方宣告花了几个月才把 Java 移植到 Linux。既然我在 Linux 平台上做得了开发,我就更喜欢它了。

到 2000 年,IBM 使用 Linux 的频率迅速增加。由于 Dan Frye 的远见和坚持,IBM 在 Linux 上下了“一亿美元的赌注”,在 1999 年创建了 Linux 技术中心(LTC)。在 LTC 里面有内核开发者、开源贡献者、IBM 硬件设备的驱动程序编写者,以及各种各样的针对 Linux 的开源工作。比起留在与 LTC 联系不大的部门,我更想要成为这个令人兴奋的 IBM 新天地的一份子。

从 2003 年到 2013 年我深度参与了 IBM 的 Linux 战略和 Linux 发行版(在 IBM 内部)的使用,最终组成了一个团队成为大约 60 个产品的信息交换所,Linux 的使用涉及了 IBM 每个部门。我参与了收购,期望每个设备、管理系统和虚拟机或者基于物理设备的中间件都能运行 Linux。我开始熟悉 Linux 发行版的构建,包括打包、选择上游来源、开发发行版维护的补丁集、做定制,并通过我们的发行版合作伙伴提供支持。

由于我们的下游供应商,我很少提交补丁到上游,但我通过配合 Ulrich Drepper (将一个小补丁提交到 glibc)和改变时区数据库的工作贡献了自己的力量(Arthur David Olson 在 NIH 的 FTP 站点维护它的时候接受了这个改变)。但我仍然没有把开源项目的正式贡献者的工作来当做我的工作的一部分。是该改变这种情况的时候了。

在 2013 年末,我加入了 IBM 在开源社区的云组织,并正在寻找一个上游社区参与进来。我会在 Cloud Foundry 工作,还是会加入 IBM 为 OpenStack 贡献的大组中呢?都不是,因为在 2014 年 Docker 席卷了全球,IBM 要我们几个参与到这个热门的新技术。我在接下来的几个月里,经历了许多的第一次:使用 GitHub,比起只是 git clone 学习了关于 Git 的更多知识,做过 Pull Request 的审查,用 Go 语言写代码,等等。在接下来的一年中,我在 Docker 引擎项目上成为一个维护者,为 Dockr 创造下一版的镜像规范(支持多个架构),并在一个关于容器技术的会议上出席和讲话。

如今的我

一晃几年过去,我已经成为了包括 CNCF 的 containerd 项目在内的开源项目的维护者。我还创建了项目(如 manifest-toolbucketbench)。我也通过 OCI 参与了开源治理,我现在是技术监督委员会的成员;而在Moby 项目,我是技术指导委员会的成员。我乐于在世界各地的会议、沙龙、IBM 内部发表关于开源的演讲。

开源现在是我在 IBM 职业生涯的一部分。我与工程师、开发人员和行业领袖的联系可能比我在 IBM 内认识的人的联系还要多。虽然开源与专有开发团队和供应商合作伙伴有许多相同的挑战,但据我的经验,开源与全球各地的人们的关系和联系远远超过困难。随着不同的意见、观点和经验的不断优化,可以对软件和涉及的在其中的人产生一种不断学习和改进的文化。

这个旅程 —— 从我第一次使用 Linux 到今天成为一个领袖、贡献者,和现在云原生开源世界的维护者 —— 我获得了极大的收获。我期待着与全球各地的人们长久的进行开源协作和互动。


via: https://opensource.com/article/18/2/my-open-source-story-phil-estes

作者:Phil Estes 译者:ranchong 校对:wxy

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

现如今,我在终端上花的时间更多,尝试在命令行完成比在图形界面更多的工作。随着时间推移,我学了许多 BASH 的技巧。这是一份每个 Linux 用户都应该知道的 BASH 快捷键,这样在终端做事就会快很多。我不会说这是一份完全的 BASH 快捷键清单,但是这足够让你的 BASH shell 操作比以前更快了。学习更快地使用 BASH 不仅节省了更多时间,也让你因为学到了有用的知识而感到自豪。那么,让我们开始吧。

ALT 快捷键

  1. ALT+A – 光标移动到行首。
  2. ALT+B – 光标移动到所在单词词首。
  3. ALT+C – 终止正在运行的命令/进程。与 CTRL+C 相同。
  4. ALT+D – 关闭空的终端(也就是它会关闭没有输入的终端)。也删除光标后的全部字符。
  5. ALT+F – 移动到光标所在单词词末。
  6. ALT+T – 交换最后两个单词。
  7. ALT+U – 将单词内光标后的字母转为大写。
  8. ALT+L – 将单词内光标后的字母转为小写。
  9. ALT+R – 撤销对从历史记录中带来的命令的修改。
    正如你在上面输出所见,我使用反向搜索拉取了一个指令,并更改了那个指令的最后一个字母,并使用 ALT+R 撤销了更改。
  10. ALT+. (注意末尾的点号) – 使用上一条命令的最后一个单词。

如果你想要对多个命令进行相同的操作的话,你可以使用这个快捷键来获取前几个指令的最后一个单词。例如,我需要使用 ls -r 命令输出以文件名逆序排列的目录内容。同时,我也想使用 uname -r 命令来查看我的内核版本。在这两个命令中,相同的单词是 -r 。这就是需要 ALT+. 的地方。快捷键很顺手。首先运行 ls -r 来按文件名逆序输出,然后在其他命令,比如 uname 中使用最后一个单词 -r

CTRL 快捷键

  1. CTRL+A – 快速移动到行首。
    我们假设你输入了像下面这样的命令。当你在第 N 行时,你发现在行首字符有一个输入错误
$ gind . -mtime -1 -type

注意到了吗?上面的命令中我输入了 gind 而不是 find 。你可以通过一直按着左箭头键定位到第一个字母然后用 g 替换 f 。或者,仅通过 CTRL+AHOME 键来立刻定位到行首,并替换拼错的单词。这将节省你几秒钟的时间。

  1. CTRL+B – 光标向前移动一个字符。
    这个快捷键可以使光标向前移动一个字符,即光标前的一个字符。或者,你可以使用左箭头键来向前移动一个字符。
  2. CTRL+C – 停止当前运行的命令。
    如果一个命令运行时间过久,或者你误运行了,你可以通过使用 CTRL+C 来强制停止或退出。
  3. CTRL+D – 删除光标后的一个字符。
    如果你的系统退格键无法工作的话,你可以使用 CTRL+D 来删除光标后的一个字符。这个快捷键也可以让你退出当前会话,和 exit 类似。
  4. CTRL+E – 移动到行末。
    当你修正了行首拼写错误的单词,按下 CTRL+E 来快速移动到行末。或者,你也可以使用你键盘上的 END 键。
  5. CTRL+F – 光标向后移动一个字符。
    如果你想将光标向后移动一个字符的话,按 CTRL+F 来替代右箭头键。
  6. CTRL+G – 退出历史搜索模式,不运行命令。
    正如你在上面的截图看到的,我进行了反向搜索,但是我执行命令,并退出了历史搜索模式。
  7. CTRL+H – 删除光标前的一个字符,和退格键相同。
  8. CTRL+J – 和 ENTER/RETURN 键相同。
    回车键不工作?没问题! CTRL+JCTRL+M 可以用来替换回车键。
  9. CTRL+K – 删除光标后的所有字符。
    你不必一直按着删除键来删除光标后的字符。只要按 CTRL+K 就能删除光标后的所有字符。
  10. CTRL+L – 清空屏幕并重新显示当前行。
    别输入 clear 来清空屏幕了。只需按 CTRL+L 即可清空并重新显示当前行。
  11. CTRL+M – 和 CTRL+J 或 RETURN键相同。
  12. CTRL+N – 在命令历史中显示下一行。
    你也可以使用下箭头键。
  13. CTRL+O – 运行你使用反向搜索时发现的命令,即 CTRL+R。
  14. CTRL+P – 显示命令历史的上一条命令。
    你也可以使用上箭头键。
  15. CTRL+R – 向后搜索历史记录(反向搜索)。
  16. CTRL+S – 向前搜索历史记录。
  17. CTRL+T – 交换最后两个字符。
    这是我最喜欢的一个快捷键。假设你输入了 sl 而不是 ls 。没问题!这个快捷键会像下面这张截图一样交换字符。

  1. CTRL+U – 删除光标前的所有字符(从光标后的点删除到行首)。
    这个快捷键立刻删除前面的所有字符。
  2. CTRL+V – 逐字显示输入的下一个字符。
  3. CTRL+W – 删除光标前的一个单词。
    不要和 CTRL+U 弄混了。CTRL+W 不会删除光标前的所有东西,而是只删除一个单词。

  1. CTRL+X – 列出当前单词可能的文件名补全。
  2. CTRL+XX – 移动到行首位置(再移动回来)。
  3. CTRL+Y – 恢复你上一个删除或剪切的条目。
    记得吗,我们在第 21 个命令用 CTRL+W 删除了单词“-al”。你可以使用 CTRL+Y 立刻恢复。

看见了吧?我没有输入“-al”。取而代之,我按了 CTRL+Y 来恢复它。

  1. CTRL+Z – 停止当前的命令。
    你也许很了解这个快捷键。它终止了当前运行的命令。你可以在前台使用 fg 或在后台使用 bg 来恢复它。
  2. CTRL+[ – 和 ESC 键等同。

杂项

  1. !! – 重复上一个命令。
  2. ESC+t – 交换最后两个单词。

这就是我所能想到的了。将来我遇到 Bash 快捷键时我会持续添加的。如果你觉得文章有错的话,请在下方的评论区留言。我会尽快更新。

Cheers!


via: https://www.ostechnix.com/list-useful-bash-keyboard-shortcuts/

作者:SK 译者:heart4lor 校对:wxy

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

人们在电脑上选择黑暗主题有几个原因。有些人觉得对于眼睛轻松,而另一些人因为他们的医学条件选择黑色。特别地,程序员喜欢黑暗的主题,因为可以减少眼睛的眩光。

如果你是一位 Linux 用户和黑暗主题爱好者,那么你很幸运。这里有五个最好的 Linux 黑暗主题。去看一下!

1. OSX-Arc-Shadow

 title=

顾名思义,这个主题受 OS X 的启发,它是基于 Arc 的平面主题。该主题支持 GTK 3 和 GTK 2 桌面环境,因此 Gnome、Cinnamon、Unity、Manjaro、Mate 和 XFCE 用户可以安装和使用该主题。OSX-Arc-Shadow 是 OSX-Arc 主题集合的一部分。该集合还包括其他几个主题(黑暗和明亮)。你可以下载整个系列并使用黑色主题。

基于 Debian 和 Ubuntu 的发行版用户可以选择使用此页面中找到的 .deb 文件来安装稳定版本。压缩的源文件也位于同一页面上。Arch Linux 用户,请查看此 AUR 链接。最后,要手动安装主题,请将 zip 解压到 ~/.themes ,并将其设置为当前主题、控件和窗口边框。

2. Kiss-Kool-Red version 2

 title=

该主题发布不久。与 OSX-Arc-Shadow 相比它有更黑的外观和红色选择框。对于那些希望电脑屏幕上有更强对比度和更少眩光的人尤其有吸引力。因此,它可以减少在夜间使用或在光线较暗的地方使用时的注意力分散。它支持 GTK 3 和 GTK2。

前往 gnome-looks,在“文件”菜单下下载主题。安装过程很简单:将主题解压到 ~/.themes 中,并将其设置为当前主题、控件和窗口边框。

3. Equilux

 title=

Equilux 是另一个基于 Materia 主题的简单的黑暗主题。它有一个中性的深色调,并不过分花哨。选择框之间的对比度也很小,并且没有 Kiss-Kool-Red 中红色的锐利。这个主题的确是为减轻眼睛疲劳而做的。

下载压缩文件并将其解压缩到你的 ~/.themes 中。然后,你可以将其设置为你的主题。你可以查看它的 GitHub 页面了解最新的增加内容。

4. Deepin Dark

 title=

Deepin Dark 是一个完全黑暗的主题。对于那些喜欢更黑暗的人来说,这个主题绝对是值得考虑的。此外,它还可以减少电脑屏幕的眩光量。另外,它支持 Unity。在这里下载 Deepin Dark

5. Ambiance DS BlueSB12

 title=

Ambiance DS BlueSB12 是一个简单的黑暗主题,它使得重要细节突出。它有助于专注,不花哨。它与 Deepin Dark 非常相似。特别是对于 Ubuntu 用户,它与 Ubuntu 17.04 兼容。你可以从这里下载并尝试。

总结

如果你长时间使用电脑,黑暗主题是减轻眼睛疲劳的好方法。即使你不这样做,黑暗主题也可以在其他方面帮助你,例如提高专注。让我们知道你最喜欢哪一个。


via: https://www.maketecheasier.com/best-linux-dark-themes/

作者:Bruno Edoh 译者:geekpi 校对:wxy

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