Merge pull request #13 from LCTT/master

update 2017-04-02
This commit is contained in:
cinlen_0x05 2017-04-02 14:54:58 +08:00 committed by GitHub
commit c73bb58534
82 changed files with 438 additions and 352 deletions

View File

@ -1,10 +1,11 @@
# [Ubuntu 和 Fedora 上 10 个最好的 Linux 终端仿真器][12]
10 个常见的 Linux 终端仿真器
==========
[
![10 Best Linux Terminals](http://www.linuxandubuntu.com/uploads/2/1/1/5/21152474/10-best-linux-terminals_orig.jpg)
][3]
对于 Linux 用户来说,最重要的应用程序之一就是终端仿真器。它允许每个用户获得对 shell 的访问。Bash 是 Linux 和 UNIX 发行版中最常用的 shell它很强大对于新手和高级用户来说掌握 bash 都很有必要。因此,在这篇文章中,你可以了解 Linux 用户有哪些优秀的终端仿真器可以选择。
对于 Linux 用户来说,最重要的应用程序之一就是终端仿真器。它允许每个用户获得对 shell 的访问。Bash 是 Linux 和 UNIX 发行版中最常用的 shell它很强大对于新手和高级用户来说掌握 bash 都很有必要。因此,在这篇文章中,你可以了解 Linux 用户有哪些优秀的终端仿真器可以选择。
### 1、Terminator
@ -14,10 +15,10 @@
* 以网格形式排列终端
* Tab 设定
* 通过拖放重排终端
* 通过拖放重终端
* 大量的快捷键
* 通过 GUI 参数编辑器保存多个布局和配置文件
* 同时对不同分组的终端进行输入
* 同时对任意组合的终端进行输入
[
![terminator linux terminals](http://www.linuxandubuntu.com/uploads/2/1/1/5/21152474/published/terminator-linux-terminals.png?1487082905)
@ -29,9 +30,9 @@
sudo apt-get install terminator
```
### 2、Tilda 一个可以拖动的终端
### 2、Tilda 一个可以下拉的终端
**Tilda** 的独特之处在于它不像一个普通的窗口,相反,你可以使用一个特殊的热键从屏幕的顶部上下拖动它。
**Tilda** 的独特之处在于它不像一个普通的窗口,相反,你可以使用一个特殊的热键从屏幕的顶部拉下和收回它。
另外Tilda 是高度可配置的,可以自定义绑定热键,改变外观,以及其他许多能够影响 Tilda 特性的选项。
在 Ubuntu 和 Fedora 上都可以使用包管理器安装 Tilda当然你也可以查看它的 [GitHub 仓库][14]。
@ -42,25 +43,26 @@ sudo apt-get install terminator
### 3、Guake
Guake 是一个和 Tilda 或 yakuake 类似的可拖动终端仿真器。如果你知道一些关于 Python、Git 和 GTK 的知识的话,你可以给 Guake 添加一些新的特性。
Guake 是一个和 Tilda 或 yakuake 类似的下拉式终端仿真器。如果你知道一些关于 Python、Git 和 GTK 的知识的话,你可以给 Guake 添加一些新的特性。
Guake 在许多发行版上均可用,所以如果你想安装它,你可以查看你的版本仓库。
#### 特性浏览
* 轻量
* 简单、容易且优雅
* 从终端到 GUI 的流畅集成
* 简单易且优雅
* 将终端自然地集成到 GUI 之中
* 当你使用的时候出现,一旦按下预定义热键便消失(默认情况下是 F12
* Compiz 透明支持
* 支持Compiz 透明
* 多重 Tab
* 丰富的调色板
* 还有更多……
主页: [http://guake-project.org/][15]
### 4、ROXTerm
如果你正在寻找一个轻量型、高度可定制的终端仿真器,那么 ROXTerm 就是专门为你准备的。这是一个旨在提供和 gnome-terminal 相似特性的终端仿真器,它们都基于相同的 VTE 库。它的最初设计只占用很小的空间并且能够快速启动,它具有比 gnome-terminal 更强的可配置性,更加针对经常使用终端的 “Power” 用户。
如果你正在寻找一个轻量型、高度可定制的终端仿真器,那么 ROXTerm 就是专门为你准备的。这是一个旨在提供和 gnome-terminal 相似特性的终端仿真器,它们都基于相同的 VTE 库。它的最初设计是只占用很小的资源并且能够快速启动,它具有比 gnome-terminal 更强的可配置性,更加针对经常使用终端的 “Power” 用户。
[
![roxterm linux terminal](http://www.linuxandubuntu.com/uploads/2/1/1/5/21152474/roxterm-linux-terminal_orig.png)
@ -90,7 +92,7 @@ Xterm 是 Linux 和 UNIX 系统上最受欢迎的终端仿真器,因为它是
Gnome Terminal 是最受欢迎的终端仿真器之一,它被许多 Linux 用户使用,因为它默认安装在 Gnome 桌面环境中,而 Gnome 桌面很常用。它有许多特性并且支持大量主题。
在许多 Linux 发行版中都默认安装有 Gnome Terminal但你也可以使用你的包管理器来安装它。
在许多 Linux 发行版中都默认安装有 Gnome Terminal但你如果没有的话,也可以使用你的包管理器来安装它。
[
![gnome terminal](http://www.linuxandubuntu.com/uploads/2/1/1/5/21152474/gnome-terminal_orig.jpg)

View File

@ -1,24 +1,24 @@
wkhtmltopdf - 一个 Linux 中将网页转成 PDF 的智能工具
wkhtmltopdf一个 Linux 中将网页转成 PDF 的智能工具
============================================================
**wkhtmltopdf**是一个开源、简单而有效的命令行 shell 程序,它可以将任何 **HTML** **网页**)转换为 **PDF** 文档或图像(**jpg****png** 等)。
wkhtmltopdf 是一个开源、简单而有效的命令行 shell 程序,它可以将任何 HTML (网页)转换为 PDF 文档或图像jpg、png 等)。
wkhtmltopdf 是用 **C++** 编写的,并在 **GNU/GPL** **通用公共许可证**)下发布。它使用 **WebKit** 渲染引擎将 **HTML** 页面转换为 **PDF** 文档且不会丢失页面的质量。这是一个用于实时创建和存储网页快照的非常有用且可信赖的解决方案。
wkhtmltopdf 是用 C++ 编写的,并在 GNU/GPL (通用公共许可证)下发布。它使用 WebKit 渲染引擎将 HTML 页面转换为 PDF 文档且不会丢失页面的质量。这是一个用于实时创建和存储网页快照的非常有用且可信赖的解决方案。
### wkhtmltopdf 的功能
1. 开源并且跨平台。
2. 使用 **WebKit** 引擎将任意 **HTML** 网页转换为 **PDF** 文件。
2. 使用 WebKit 引擎将任意 HTML 网页转换为 PDF 文件。
3. 添加页眉和页脚的选项
4. 目录生成 **TOC** 选项。
4. 目录生成 TOC 选项。
5. 提供批量模式转换。
6. 通过绑定 libwkhtmltox 来支持 **PHP****Python**
6. 通过绑定 libwkhtmltox 来支持 PHP 或 Python。
在本文中,我们将介绍如何在 Linux 系统下使用 tar 包来安装 **wkhtmltopdf**
在本文中,我们将介绍如何在 Linux 系统下使用 tar 包来安装 wkhtmltopdf。
### 安装 Evince (PDF 浏览器)
让我们在 Linux 系统中安装 **evince** (一个 **PDF** 阅读器)来浏览 **PDF** 文件。
让我们在 Linux 系统中安装 evince (一个 PDF 阅读器)来浏览 PDF 文件。
```
$ sudo yum install evince [RHEL/CentOS and Fedora]
@ -28,15 +28,15 @@ $ sudo apt-get install evince [On Debian/Ubuntu systems]
### 下载 wkhtmltopdf 源码文件
使用[ wget 命令][1]根据你的 **Linux** 架构来下载 **wkhtmltopdf** 源码文件,或者你也可以在[wkhtmltopdf 下载页][2]下载最新的版本(目前最新的稳定版是 **0.12.4**
使用 [wget 命令][1]根据你的 Linux 架构来下载 wkhtmltopdf 源码文件,或者你也可以在 [wkhtmltopdf 下载页][2]下载最新的版本(目前最新的稳定版是 0.12.4
##### 在 64 位 Linux 系统中
在 64 位 Linux 系统中
```
$ wget http://download.gna.org/wkhtmltopdf/0.12/0.12.4/wkhtmltox-0.12.4_linux-generic-amd64.tar.xz
```
##### 在 32 位 Linux 系统中
在 32 位 Linux 系统中
```
$ wget http://download.gna.org/wkhtmltopdf/0.12/0.12.4/wkhtmltox-0.12.4_linux-generic-i386.tar.xz
@ -44,7 +44,7 @@ $ wget http://download.gna.org/wkhtmltopdf/0.12/0.12.4/wkhtmltox-0.12.4_linux-ge
### 在 Linux 中安装 wkhtmltopdf
使用[ tar 命令][3]解压文件到当前目录中。
使用 [tar 命令][3]解压文件到当前目录中。
```
------ On 64-bit Linux OS ------
@ -53,7 +53,7 @@ $ sudo tar -xvf wkhtmltox-0.12.4_linux-generic-amd64.tar.xz
$ sudo tar -xvzf wkhtmltox-0.12.4_linux-generic-i386.tar.xz
```
为了能从任意路径执行程序,将 **wkhtmltopdf** 安装到 **/usr/bin** 目录下。
为了能从任意路径执行程序,将 wkhtmltopdf 安装到 `/usr/bin` 目录下。
```
$ sudo cp wkhtmltox/bin/wkhtmltopdf /usr/bin/
@ -61,17 +61,17 @@ $ sudo cp wkhtmltox/bin/wkhtmltopdf /usr/bin/
### 如何使用 wkhtmltopdf
我们会看到如何将远程的 **HTML** 页面转换成 **PDF** 文件、验证信息、使用 **evince****GNOME** 桌面中浏览创建的文件。
我们会看到如何将远程的 HTML 页面转换成 PDF 文件、验证信息、使用 evince 在 GNOME 桌面中浏览创建的文件。
### 将 HTML 网页转成 PDF 文件
#### 将 HTML 网页转成 PDF 文件
要将任意 **HTML** 页面转换成 **PDF**,运行下面的命令。它会在当前目录下将页面转换成 [10-Sudo-Configurations.pdf][4]。
要将任意 HTML 页面转换成 PDF运行下面的命令。它会在当前目录下将页面转换成 [10-Sudo-Configurations.pdf][4]。
```
# wkhtmltopdf http://www.tecmint.com/sudoers-configurations-for-setting-sudo-in-linux/ 10-Sudo-Configurations.pdf
```
##### 示例输出:
示例输出:
```
Loading pages (1/6)
@ -90,13 +90,13 @@ Done
$ file 10-Sudo-Configurations.pdf
```
##### 示例输出:
示例输出:
```
10-Sudo-Configurations.pdf: PDF document, version 1.4
```
#### 浏览生成的 PDF 文件细
#### 浏览生成的 PDF 文件细
要浏览生成的文件信息,运行下面的命令。
@ -104,7 +104,7 @@ $ file 10-Sudo-Configurations.pdf
$ pdfinfo 10-Sudo-Configurations.pdf
```
##### 示例输出
示例输出
```
Title: 10 Useful Sudoers Configurations for Setting 'sudo' in Linux
@ -127,13 +127,13 @@ PDF version: 1.4
#### 浏览创建的文件
在桌面中使用 **evince**一眼最新生成的 **PDF** 文件。
在桌面中使用 evince 看最新生成的 PDF 文件。
```
$ evince 10-Sudo-Configurations.pdf
```
##### 示例截图:
示例截图:
在我的 Linux Mint 17 中看起来很棒。
@ -141,17 +141,17 @@ $ evince 10-Sudo-Configurations.pdf
![View Website Page in PDF](http://www.tecmint.com/wp-content/uploads/2012/10/View-Website-Page-in-PDF.png)
][5]
在 PDF 中浏览网页
*在 PDF 中浏览网页*
### 将页面的 TOC Table Of Content 即目录)创建为 PDF
### 给 PDF 创建页面的 TOC Table Of Content 即目录)
要创建一个 **PDF** 文件的目录,使用 **toc** 选项。
要创建一个 PDF 文件的目录,使用 toc 选项。
```
$ wkhtmltopdf toc http://www.tecmint.com/sudoers-configurations-for-setting-sudo-in-linux/ 10-Sudo-Configurations.pdf
```
##### 示例输出:
示例输出:
```
Loading pages (1/6)
@ -163,13 +163,13 @@ Printing pages (6/6)
Done
```
查已创建文件的 **TOC**,再次使用 evince。
要查已创建文件的 TOC再次使用 evince。
```
$ evince 10-Sudo-Configurations.pdf
```
##### 示例截图:
示例截图:
看一下下面的图。它上看去比上面的更好。
@ -177,11 +177,11 @@ $ evince 10-Sudo-Configurations.pdf
![Create Website Page to Table of Contents in PDF](http://www.tecmint.com/wp-content/uploads/2012/10/Create-Website-Page-Table-of-Contents-in-PDF.png)
][6]
在 PDF 中创建网页的目录
*在 PDF 中创建网页的目录*
#### wkhtmltopdf 选项及使用
更多关于 **wkhtmltopdf** 的使用及选项,使用下面的帮助命令。它会显示出所有可用的选项。
更多关于 wkhtmltopdf 的使用及选项,使用下面的帮助命令。它会显示出所有可用的选项。
```
$ wkhtmltopdf --help
@ -199,7 +199,7 @@ via: http://www.tecmint.com/wkhtmltopdf-convert-website-html-page-to-pdf-linux/
作者:[Ravi Saive][a]
译者:[geekpi](https://github.com/geekpi)
校对:[校对者ID](https://github.com/校对者ID)
校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出

View File

@ -1,119 +1,113 @@
在 Linux 上用火狐保护你的隐私
在 Linux 上用火狐浏览器保护你的隐私
=============================
## 介绍
### 介绍
隐私和安全正在逐渐成为一个重要的话题。虽然不可能做到 100% 安全,但是,还是能采取一些措施,特别是在 Linux 上,在你浏览网页的时候保护你的在线隐私安全。
基于这些目的选择浏览器的时候,火狐或许是你的最佳选择。谷歌 Chrome 不能信任。它是属于谷歌的,一个众所周知的数据收集公司,而且它是闭源的。 Chromium 或许还可以,但并不能保证。只有火狐保持了一定程度的用户权利承诺。
## 火狐设置
### 火狐设置
火狐里有几个你能设定的设置,能更好地保护你的隐私。这些设置唾手可得,能帮你控制那些在你浏览的时候分享的数据。
### 健康报告
#### 健康报告
你首先可以设置的是对火狐健康报告发送的限制,以限制数据发送量。当然,这些数据只是被发送到 Mozilla但这也是传输数据。
你首先可以设置的是对火狐健康报告发送的限制,以限制数据发送量。当然,这些数据只是被发送到 Mozilla但这也是传输数据。
打开火狐的菜单,点击<ruby>“选项”<rt>Preferences</rt></ruby>。来到侧边栏里的<ruby>“高级”<rt>Advanced</rt></ruby>选项卡,点击<ruby>“数据选项”<rt>Data Choices</rt></ruby>。这里你能禁用任意数据的报告。
### 搜索
#### 搜索
新版的火狐浏览器默认使用雅虎搜索引擎。一些发行版更改设置,替代使用的是谷歌。两个方法都不理想。火狐有默认使用 DuckDuckGo 的选项。
新版的火狐浏览器默认使用雅虎搜索引擎。一些发行版更改设置,替代使用的是谷歌。两个方法都不理想。火狐可以使用 DuckDuckGo 作为默认选项。
![在火狐中使用 DuckDuckGo ](https://linuxconfig.org/images/ff-ddg.jpg?58cf18fd)
为了启用 DuckDuckGo你得打开火狐菜单点击<ruby>“选项”<rt>Preferences</rt></ruby>。直接来到侧边栏的<ruby>“搜索”<rt>Search</rt></ruby>选项卡。然后,<ruby>“默认搜索引擎”<rt>Default Search Engine</rt></ruby>的下拉菜单选择 DuckDuckGo 。
为了启用 DuckDuckGo你得打开火狐菜单点击<ruby>“选项”<rt>Preferences</rt></ruby>。直接来到侧边栏的<ruby>“搜索”<rt>Search</rt></ruby>选项卡。然后,<ruby>“默认搜索引擎”<rt>Default Search Engine</rt></ruby>的下拉菜单选择 DuckDuckGo 。
### <ruby>请勿跟踪<rt>Do Not Track</rt></ruby>
#### <ruby>请勿跟踪<rt>Do Not Track</rt></ruby>
这个功能并不完美,但它确实向站点发送了一个信号,告诉它们不要使用分析工具来记录你的活动。这些网页或许会遵从,会许不会。但是,最好启用请勿跟踪,也许它们会遵从呢。
![启用火狐中的请勿跟踪](https://linuxconfig.org/images/ff-tracking.jpg?58cf18fc)
![启用火狐中的请勿跟踪](https://linuxconfig.org/images/ff-tracking.jpg?58cf18fc)
再次打开火狐的菜单,点击<ruby>“选项”<rt>Preferences</rt></ruby>,然后是<ruby>“隐私”<rt>Privacy</rt></ruby>。页面的最上面有一个<ruby>“跟踪”<rt>Tracking</rt></ruby>部分。点击那一行写着<ruby>“您还可以管理您的‘请勿跟踪’设置”<rt>You can also manage your Do Not Track settings</rt></ruby>的链接。会出现一个有复选框的弹出窗口,那里允许你启用“请勿跟踪”设置。
### 禁用 Pocket
#### 禁用 Pocket
没有任何证据显示 Pocket 正在做一些不好的事情,但是禁用它或许更好,因为它确实连接了一个专有的应用。
禁用 Pocket 不是太难,但是你得注意只改变 Pocket 相关设置。为了来到你所需的配置页面,在火狐的地址栏里输入`about:config`。
禁用 Pocket 不是太难,但是你得注意只改变 Pocket 相关设置。要访问你所需的配置页面,在火狐的地址栏里输入`about:config`。
页面会加载一个设置表格,在表格的最上面是搜索栏,在那儿搜索 Pocket 。
你将会看到一个包含结果的新表格。找一下名为 extensions.pocket.enabled 的设置。当你找到它的时候,双击使其转变为“否”。你也能在这儿编辑 Pocket 的其他相关设置。不过没什么必要。注意不要编辑那些跟 Pocket 扩展不直接相关的任何东西。
你将会看到一个包含结果的新表格。找一下名为 `extensions.pocket.enabled` 的设置。当你找到它的时候,双击使其转变为“否”。你也能在这儿编辑 Pocket 的其他相关设置。不过没什么必要。注意不要编辑那些跟 Pocket 扩展不直接相关的任何东西。
![禁用火狐的 Pocket](https://linuxconfig.org/images/ff-pocket.jpg?58cf18fd)
![禁用火狐的 Pocket](https://linuxconfig.org/images/ff-pocket.jpg?58cf18fd)
### <ruby>附加组件<rt>Add-ons</rt></ruby>
## <ruby>附加组件<rt>Add-ons</rt></ruby>
![安全化火狐的附加组件](https://linuxconfig.org/images/ff-addons.jpg?58cf18fd)
![安全化火狐的附加组件](https://linuxconfig.org/images/ff-addons.jpg?58cf18fd)
火狐最有效地保护你隐私和安全的方式来自附加组件。火狐有大量的附加组件库,其中很多是免费、开源的。在这篇指导中着重提到的附加组件,在使浏览器更安全方面是名列前茅的。
### HTTPS Everywhere
#### HTTPS Everywhere
针对大量没有使用 SSL 证书的网页、许多不使用 `https` 前缀的链接、指引用户前往不安全版本的网页等现状,<ruby>电子前线基金会<rt>Electronic Frontier Foundation</rt></ruby>开发了 HTTPS Everywhere。HTTPS Everywhere 确保了如果存在有一个加密版本的网页,用户将会使用它。
针对大量没有使用 SSL 证书的网页、许多不使用 `https` 协议的链接、指引用户前往不安全版本的网页等现状,<ruby>电子前线基金会<rt>Electronic Frontier Foundation</rt></ruby>开发了 HTTPS Everywhere。HTTPS Everywhere 确保了如果该链接存在有一个加密版本,用户将会使用它。
给火狐设计的 HTTPS Everywhere 已经可以使用,在火狐的附加组件搜索网页上。`https://addons.mozilla.org/en-us/firefox/addon/https-everywhere/`LCTT 译注:对应的中文页面是 `https://addons.mozilla.org/zh-CN/firefox/addon/https-everywhere/`
给火狐设计的 [HTTPS Everywhere](https://addons.mozilla.org/en-us/firefox/addon/https-everywhere/) 已经可以使用在火狐的附加组件搜索网页上。LCTT 译注:对应的[中文页面](https://addons.mozilla.org/zh-CN/firefox/addon/https-everywhere/)。
### Privacy Badger
#### Privacy Badger
电子前线基金会同样开发了 Privacy Badger。 Privacy Badger 旨在通过阻止不想要的网页跟踪,弥补“请勿跟踪”功能的不足之处。它同样能通过火狐附加组件仓库安装。`https://addons.mozilla.org/en-us/firefox/addon/privacy-badger17`。LCTT 译注:对应的中文页面是`https://addons.mozilla.org/zh-CN/firefox/addon/privacy-badger17/`
电子前线基金会同样开发了 Privacy Badger。 [Privacy Badger](https://addons.mozilla.org/en-us/firefox/addon/privacy-badger17) 旨在通过阻止不想要的网页跟踪弥补“请勿跟踪”功能的不足之处。它同样能通过火狐附加组件仓库安装。。LCTT 译注:对应的[中文页面](https://addons.mozilla.org/zh-CN/firefox/addon/privacy-badger17/)。
### Ublock Origin
#### uBlock Origin
现在有一类更通用的的隐私附加组件,屏蔽广告。这里的选择是 uBlock OriginuBlock Origin 是个更轻量级的广告屏蔽插件,几乎不遗漏所有它会屏蔽的广告。 uBlock Origin 将主要屏蔽所有广告,特别是侵略性的广告。你能在这儿找到它。`https://addons.mozilla.org/en-us/firefox/addon/ublock-origin/`。LCTT 译注:对应的中文页面是 `https://addons.mozilla.org/zh-CN/firefox/addon/ublock-origin/`
现在有一类更通用的的隐私附加组件,屏蔽广告。这里的选择是 uBlock OriginuBlock Origin 是个更轻量级的广告屏蔽插件,几乎不遗漏所有它会屏蔽的广告。 [uBlock Origin](https://addons.mozilla.org/en-us/firefox/addon/ublock-origin/) 将主要屏蔽各种广告特别是侵入性的广告。你能在这儿找到它。。LCTT 译注:对应的[中文页面](https://addons.mozilla.org/zh-CN/firefox/addon/ublock-origin/)。
#### NoScript
### NoScript
阻止 JavaScript 是有点争议, JavaScript 虽说驱动了那么多的网站,但还是臭名昭著,因为 JavaScript 成为侵略隐私和攻击的媒介。NoScript 是应对 JavaScript 的绝佳方案。
阻止 JavaScript 是有点争议, JavaScript 虽说支撑了那么多的网站,但还是臭名昭著,因为 JavaScript 成为侵略隐私和攻击的媒介。NoScript 是应对 JavaScript 的绝佳方案。
![向 NoScript 的白名单添加网页](https://linuxconfig.org/images/ff-noscript.jpg?58cf18fc)
NoScript 是一个 JavaScript 的白名单,它通常会屏蔽 JavaScript除非该站点被添加进白名单中。可以通过插件的“选项”菜单事先将一个站点加入白名单或者通过在页面上点击 NoScript 图标的方式添加。
NoScript 是一个 JavaScript 的白名单,它会屏蔽所有 JavaScript除非该站点被添加进白名单中。可以通过插件的“选项”菜单事先将一个站点加入白名单或者通过在页面上点击 NoScript 图标的方式添加。
![添加你所在的网页到 NoScript 的白名单中](https://linuxconfig.org/images/ff-noscript2.jpg?58cf18fd)
通过火狐附加组件仓库可以安装 NoScript `https://addons.mozilla.org/en-US/firefox/addon/noscript/`
通过火狐附加组件仓库可以安装 [NoScript](https://addons.mozilla.org/en-US/firefox/addon/noscript/)
如果网页提示不支持你使用的火狐版本,点<ruby>“无论如何下载”<rt>Download Anyway</rt></ruby>。这已经在 Firefox 51 上测试有效。
### Disconnect
#### Disconnect
Disconnect 做很多跟 Privacy Badger 一样的事情,它只是提供了另一个保护的方法。你能在附加组件仓库中找到它 `https://addons.mozilla.org/en-US/firefox/addon/disconnect/` LCTT 译注:对应的中文页面是`https://addons.mozilla.org/zh-CN/firefox/addon/disconnect/`)。如果网页提示不支持你使用的火狐版本,点<ruby>“无论如何下载”<rt>Download Anyway</rt></ruby>。这已经在 Firefox 51 上测试有效。
[Disconnect](https://addons.mozilla.org/en-US/firefox/addon/disconnect/) 做的事情很多跟 Privacy Badger 一样,它只是提供了另一个保护的方法。你能在附加组件仓库中找到它 LCTT 译注:对应的[中文页面](https://addons.mozilla.org/zh-CN/firefox/addon/disconnect/))。如果网页提示不支持你使用的火狐版本,点<ruby>“无论如何下载”<rt>Download Anyway</rt></ruby>。这已经在 Firefox 51 上测试有效。
### Random Agent Spoofer
#### Random Agent Spoofer
Random Agent Spoofer 能改变火狐浏览器的签名,让浏览器看起来像是在其他任意平台上的其他任意浏览器。虽然有许多其他的用,但是它也能预防浏览器指纹侦查。
Random Agent Spoofer 能改变火狐浏览器的签名,让浏览器看起来像是在其他任意平台上的其他任意浏览器。虽然有许多其他的用,但是它也能用于预防浏览器指纹侦查。
<ruby>浏览器指纹侦查<rt>Browser Fingerprinting</rt></ruby>是网站基于所使用的浏览器和操作系统来跟踪用户的另一个方式。相比于 Windows 用户,浏览器指纹侦查更多影响到 Linux 和其他替代性操作系统用户,因为他们的浏览器特征更独特。
你能通过火狐附加插件仓库添加 Random Agent Spoofer。`https://addons.mozilla.org/en-us/firefox/addon/random-agent-spoofer/`LCTT 译注:对应的中文页面是`https://addons.mozilla.org/zh-CN/firefox/addon/random-agent-spoofer/`)。像其他附加组件那样,页面或许会提示它不兼容最新版的火狐。再说一次,那并不是真的。
你能通过火狐附加插件仓库添加 [Random Agent Spoofer](https://addons.mozilla.org/en-us/firefox/addon/random-agent-spoofer/)。LCTT 译注:对应的[中文页面](https://addons.mozilla.org/zh-CN/firefox/addon/random-agent-spoofer/))。像其他附加组件那样,页面或许会提示它不兼容最新版的火狐。再说一次,那并不是真的。
![在火狐上使用Random Agent Spoofer ](https://linuxconfig.org/images/ff-random-agent.jpg?58cf18fc)
你可以通过点击火狐菜单栏上的图标来使用 Random Agent Spoofer。点开后将会出现一个下拉菜单有不同模拟的浏览器选项。最好的选项之一是选择"Random Desktop" 和任意的改变时间。这样,就不会有绝对的模式来跟踪,也保证了你只能获得网页的桌面版本。
你可以通过点击火狐菜单栏上的图标来使用 Random Agent Spoofer。点开后将会出现一个下拉菜单有不同模拟的浏览器选项。最好的选项之一是选择"Random Desktop" 和任意的切换时间。这样,就绝对没有办法来跟踪你了,也保证了你只能获得网页的桌面版本。
### 系统设置
## 系统设置
### 私人 DNS
#### 私人 DNS
请避免使用公共或者 ISP 的 DNS 服务器!即使你配置你的浏览器满足绝对的隐私标准,你向公共 DNS 服务器发出的 DNS 请求却暴露了所有你访问过的网页。诸如谷歌公共 DNSIP8.8.8.8 、8.8.4.4)这类的服务将会记录你的 IP 地址、你的 ISP 和地理位置信息。这些信息或许会被任何合法程序或者强制性的政府请求所分享。
> **当我在使用谷歌公共 DNS 服务时,谷歌会记录什么信息?**
>
> 谷歌公共 DNS 隐私页面有一个完整的收集信息列表。谷歌公共 DNS 遵循谷歌的主隐私政策,在<ruby>“隐私中心”<rt>Privacy Center</rt></ruby>可以看到。 用户的客户端 IP 地址是唯一会被临时记录的(一到两天后删除),但是为了让我们的服务更快、更好、更安全,关于 ISP 和城市/都市级别的信息将会被保存更长的时间。
> 参考资料: `https://developers.google.com/speed/public-dns/faq#privacy`
由于以上原因,如果可能的话,配置并使用你私人的非转发 DNS 服务器。现在,这项任务或许跟在本地部署一些预先配置好的 DNS 服务器 Docker 容器一样简单。例如,假设 docker 服务已经在你的系统安装完成,下列命令将会部署你的私人本地 DNS 服务器:
由于以上原因,如果可能的话,配置并使用你私人的非转发 DNS 服务器。现在,这项任务或许跟在本地部署一些预先配置好的 DNS 服务器的 Docker 容器一样简单。例如,假设 Docker 服务已经在你的系统安装完成,下列命令将会部署你的私人本地 DNS 服务器:
```
# docker run -d --name bind9 -p 53:53/udp -p 53:53 fike/bind9
@ -141,15 +135,13 @@ google.com. 242 IN A 216.58.199.46
现在,在 `/etc/resolv.conf` 里设置你的域名服务器:
```
nameserver 127.0.0.1
```
## 结束语
### 结束语
没有完美的安全隐私解决方案。虽然本篇指导里的步骤可以明显改进它们。如果你真的很在乎隐私,Tor 浏览器 `https://www.torproject.org/projects/torbrowser.html.en` 是最佳选择。Tor 对于日常使用有点过犹不及,但是它的确使用了这篇指导里列出的一些措施。
没有完美的安全隐私解决方案。虽然本篇指导里的步骤可以明显改进它们。如果你真的很在乎隐私,[Tor 浏览器](https://www.torproject.org/projects/torbrowser.html.en) 是最佳选择。Tor 对于日常使用有点过犹不及,但是它的确使用了这篇指导里列出的一些措施。
--------------------------------------------------------------------------------

View File

@ -0,0 +1,85 @@
3 个开源的链接缩短器
============================================================
> 想要构建你自己的 URL 缩短器?这些开源项目使这个变得简单。
![3 open source link shorteners](https://opensource.com/sites/default/files/styles/image-full-size/public/images/life/links.png?itok=AumNmse7 "3 open source link shorteners")
>图片提供: [Paul Lewin][2]。Opensource.com 修改。[CC BY-SA 2.0][3]
没有人喜欢一个非常长的 URL。
它们很难解析。但有时候,站点的深层目录结构还有最后加上的大量参数使得 URL 开始变得冗长。在 Twitter 添加自己的链接缩短服务之前的那些日子里,一个长的 URL 意味着不得不削减推文中珍贵的字符。
如今,因为很多原因,人们开始使用链接缩短器。这样人们可以更容易地输入或记住另一个冗长的网址。它们可以为社交媒体帐户带来一贯的品牌建设。它们使对一组网址进行分析变得更轻松。它们使得为频繁变化的网站 URL 提供统一的入口成为可能。
URL 缩短器确实有一些不足。在点击之前很难知道链接实际指向哪里,而且如果提供短网址服务消失,就会导致 [烂链linkrot][4]。但是尽管面临这些挑战URL 缩短器不会消失。
但是既然已经有这么多免费链接缩短服务为什么还要自己构建简而言之方便控制。虽然有些服务可以让你选择自己的域名来使用但得到的定制级别不同。使用自托管服务你可以自己决定服务的运行时间、URL 的格式以及决定谁可以访问你的分析。这是你自己拥有并且可以操作的。
幸运的是,如果你想建立下一个 bit.ly、goo.gl 或 ow.ly你可以有很多开源选项。你可以考虑下面几个。
### Lessn More
[Lessn More][5] 是一个个人 URL 缩短器,用 PHP 写成,并从一个名为 Buttered URL 的较旧项目 fork 而来,而 Buttered URL 又是从一个名为 Lessn 的项目的分支衍生而来。Lessn More 能提供你对 URL 缩短器所预期的大部分功能API 和书签支持、自定义 URL 等。还有一些有用的功能,比如可以让 Lessn More 使用单词黑名单来避免不小心创建不适当的 URL、避免“看着相似”的字符来使 URL 更易读、能够选择是否使用混合大小写的字符,以及一些其它有用的功能。
[Lessn More][6] 在 GitHub 上以三句版 [BSD][8] 许可证公布了[源代码][7]。
### Polr
[Polr][9] 将自己描述为“现代、强大、可靠的 URL 缩短器”。它具有相当直接但现代化的界面,像我们这里详细介绍的其他选择那样,还提供了一个 API 来允许你从其他程序中使用它。在这三个可选品中,它在功能上是最轻量级的,但如果你正在寻找一个简单但功能完整的选择,那么这可能是你不错的选择。下载之前你可以查看[在线演示][10]。
Polr 的[源代码][11] 在 GitHub 中以 [GPLv2][12] 许可证公布。
### YOURLS
[YOURLS][13],是 “Your Own URL Shortener”你自己的 URL 缩短器)的缩写,它是我最熟悉的选择。我在个人网站上已经运行了好几年,并且对其功能非常满意。
它是用 PHP 编写的YOURLS 功能非常丰富并且可以很好地开箱即用。你可以将其配置为任何人可公开使用,或只允许某些用户使用它。它支持自定义 URL拥有书签功能使得共享很容易它还具有非常强大的内置统计信息并支持可插拔的架构以允许其他人添加功能。它还有一个 API可以轻松地用它创建其他程序。
你可以在 Github 中找到 [MIT 许可证][15]下的 YOURLS [源代码][14]。
* * *
这些选择都不喜欢么?看下互联网,你会发现还有其他几个选择:[shuri][16]、[Nimbus][17]、[Lstu][18] 等等。除了这些选择外,构建链接缩短器可以作为帮助了解新语言或 Web 框架的第一次编程项目。毕竟,它的核心功能非常简单:以 URL 作为输入,并重定向到另一个 URL。除此之外它取决于你自己想要添加的功能。
你有喜欢但没有在这里列出的 URL 缩短器吗?请在评论栏中让我们知道你的想法。
--------------------------------------------------------------------------------
作者简介:
Jason Baker - Jason 热衷于使用技术使世界更加开放从软件开发到阳光政府行动。Linux 桌面爱好者、地图/地理空间爱好者、树莓派工匠、数据分析和可视化极客、偶尔的码农、云本土主义者。在 Twitter 上关注他 @jehb
------------
via: https://opensource.com/article/17/3/url-link-shortener
作者:[Jason Baker][a]
译者:[geekpi](https://github.com/geekpi)
校对:[jasminepeng](https://github.com/jasminepeng)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]:https://opensource.com/users/jason-baker
[1]:https://opensource.com/article/17/3/url-link-shortener?rate=5EGysFmjsUsxCc74bffDni4sFxxaIYiGRUG3UPznav8
[2]:https://www.flickr.com/photos/digypho/7905320090
[3]:https://creativecommons.org/licenses/by/2.0/
[4]:https://en.wikipedia.org/wiki/Linkrot
[5]:https://lessnmore.net/
[6]:https://lessnmore.net/
[7]:https://github.com/alanhogan/lessnmore
[8]:https://github.com/alanhogan/lessnmore/blob/master/LICENSE.txt
[9]:https://project.polr.me/
[10]:http://demo.polr.me/
[11]:https://github.com/cydrobolt/polr
[12]:https://github.com/cydrobolt/polr/blob/master/LICENSE
[13]:https://yourls.org/
[14]:https://github.com/YOURLS/YOURLS
[15]:https://github.com/YOURLS/YOURLS/blob/master/LICENSE.md
[16]:https://github.com/pips-/shuri
[17]:https://github.com/ethanal/nimbus
[18]:https://github.com/ldidry/lstu
[19]:https://opensource.com/user/19894/feed
[20]:https://opensource.com/article/17/3/url-link-shortener#comments
[21]:https://opensource.com/users/jason-baker

View File

@ -0,0 +1,66 @@
一个值得推荐的发行版Manjaro Linux
=========
这个系列的第七篇,我们来说一说什么是 Manjaro。[Manjaro](https://manjaro.org/) 是基于 Arch Linux 并且拥有一个漂亮的用户界面的操作系统。 Manjaro 并不像 Debian 或者 Arch 这些 Linux 发行版一样历史悠久但是它依然十分的稳定而可靠从而在各色发行版中显得鹤立鸡群。2011 年 Manjaro 才推出了第一个版本。从那以后它一直在不断的进步,今天最新的版本为 16.06.1,代号为 “Daniella”。LCTT 译注:本文写作于 2016 年当下最新版本是17.0
**为什么我认为 Manjaro 超越了其他的发行版?** 我并没有强求你使用 Manjaro 来替代其他发行版,但是我会尝试说服你来使用 Manjaro。那么让我开始吧
### 基于 Arch
就像许多人已经知道的那样,不开玩笑的说 Arch 绝对是一个优秀的发行版。但是它对于新手来说十分难以使用。许多新手根本就无法在非图形界面下完成 Arch 的安装。与之相反Manjaro 有着一个好用的图形安装界面。所以那些想要尝试 Arch 但是又被它的高难度操作所困扰的人们可以去试试 Manjaro。Manjaro 很容易安装并且有着一个友好的用户界面。
### 桌面环境
Manjaro 在桌面环境上有着许多选择,比如 Xfce、KDE、Deepin、BspWM、Budgie、i3、LXDE、Cinnamon、Enlightenment、Netbook、Fluxbox、Gnome、JWM、LXQT、MATE、Openbox 和 PekWM。所有这些桌面环境在 Manjaro 中都十分漂亮。Manjaro 官方的桌面环境是 Xfce 和 KDE而其他桌面环境则是社区支持的我现在就是在 Manjaro 16.06.1 中使用 KDE Plasma 桌面环境。
[
![Manjaro 16.06.1 with KDE plasma 5.6.5](https://4.bp.blogspot.com/-PvT_KN4_avM/V3_eMdhSAvI/AAAAAAAABLY/jjQDrV6dXOw9_vcS5XD3-kZy-chWsR1PQCLcB/s640/Desktop%2B1_001.png "Manjaro 16.06.1 with KDE plasma 5.6.5")
][7]
*运行着 KDE plasma 5.6.5 的 Manjaro 16.06.1*
如果你不喜欢 Manjaro 中的 KDE 或者 Xfce不用担心你可以从软件包管理器中随时安装其他桌面环境。
[
![Manjaro 16.06.1 with KDE plasma 5.6.5](https://1.bp.blogspot.com/-vxZ3bI1TTA4/V3_ePOiQG5I/AAAAAAAABLg/ANw2qSmRTVcxl0JZEsUxNGciBdkwuvt9wCKgB/s640/Screenshot_20160708_223023.png "Manjaro 16.06.1 with KDE plasma 5.6.5")
][8]
*从软件包管理器中下载 Budgie 桌面环境。*
### 稳定并且独特的包管理机制
虽然 Manjaro 很新但是它也很稳定。Manjaro 的最后一个版本装载的是Linux 内核 4.6.2。Manjaro 不仅仅稳定更新也比较快。软件更新不久后就会被它编译到它的库中。Manjaro 用 pacman 来管理它的软件包。Arch Linux 因 Pacman 而名震天下 (当然也饱受争议)。Manjaro 则使用 Octopi 来使其变得更加用户友好Octopi 是一个用 Qt 编写的 pacman 的图形前端。Manjaro 很好的维护了他自己的库,这也是它的一个优势。
[
![Manjaro 16.06.1 with KDE plasma 5.6.5](https://1.bp.blogspot.com/-vxZ3bI1TTA4/V3_ePOiQG5I/AAAAAAAABLg/ANw2qSmRTVcxl0JZEsUxNGciBdkwuvt9wCKgB/s640/Screenshot_20160708_223023.png "Manjaro 16.06.1 with KDE plasma 5.6.5")
][9]
*Octopi 软件包管理器*
### 社区支持
和其他发行版一样Manjaro 也是一个基于社区的 linux 发行版。当你需要的时候,社区里总是会有人来帮助你。除了 Xfce 和 KDE 是官方支持的以外,其他所有桌面的编译和维护都是由社区完成的。任何用户有了疑问都可以到社区来寻求帮助,这里总是会有真实的 Manjaro 用户来帮助你。
在这里,我仅仅只列出了这么几点原因,但是如果你开始使用它了,你会发现更多惊喜的。
**还在考虑是否安装它?** 如果你还在彷徨与是否使用 Manjaro 你可以先在 Virtualbox 中试试它,然后再考虑在实体机中安装它。如果你喜欢它,请在这个话题下评论吧,欢迎点赞,关注,丢香蕉给我们,么么哒。
--------------------------------------------------------------------------------
原文: http://www.techphylum.com/2016/07/manjaro-linux-explained.html
作者:[sumit rohankar][a]
译者:[Chao-zhi](https://github.com/Chao-zhi)
校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]:https://plus.google.com/112160169713374382262
[1]:http://www.techphylum.com/2014/08/linux-deepin-distro-with-unique-style.html
[2]:http://www.techphylum.com/2014/06/linux-mint-introduction.html
[3]:http://www.techphylum.com/2014/05/elementary-os-brief-introduction.html
[4]:http://www.techphylum.com/2014/05/Introduction-to-fedora.html
[5]:http://www.techphylum.com/2014/05/what-is-opensuse-introduction.html
[6]:http://www.techphylum.com/2014/05/what-is-debian-brief-introduction.html
[7]:https://4.bp.blogspot.com/-PvT_KN4_avM/V3_eMdhSAvI/AAAAAAAABLY/jjQDrV6dXOw9_vcS5XD3-kZy-chWsR1PQCLcB/s1600/Desktop%2B1_001.png
[8]:https://1.bp.blogspot.com/-vxZ3bI1TTA4/V3_ePOiQG5I/AAAAAAAABLg/ANw2qSmRTVcxl0JZEsUxNGciBdkwuvt9wCKgB/s1600/Screenshot_20160708_223023.png
[9]:https://1.bp.blogspot.com/-vxZ3bI1TTA4/V3_ePOiQG5I/AAAAAAAABLg/ANw2qSmRTVcxl0JZEsUxNGciBdkwuvt9wCKgB/s1600/Screenshot_20160708_223023.png

View File

@ -1,91 +0,0 @@
Using vi-mode in your shell
============================================================
> Get an introduction to using vi-mode for line editing at the command line.
![Using vi-mode at the command line](https://opensource.com/sites/default/files/styles/image-full-size/public/images/life/code_computer_development_programming.png?itok=wMspQJcO "Using vi-mode at the command line")
>Image by : opensource.com
As a participant in the greater open source community, and more specifically as a member of the [Fedora Project][2], I have the opportunity to meet with many people and talk about all kinds of interesting technical topics. One of my favorites is the "command line," or [shell][3], because learning about how people use the shell proficiently can give you an insight into how they think, what kind of workflows they favor, and to some extent what makes them tick. Many developers and systems operators share their "dot files" (a common slang term for their shell's configuration files) publicly out on the Internet, which leads to an interesting collaboration opportunity that allows everyone to learn tips and tricks from seasoned veterans of the command line as well as share common shortcuts and productivity boosters.
I'll introduce one for you here by showing the shell's vi-mode.
In the large ecosystem of computing and operating systems, there are [many shells][4]. However, in the Linux world, the de facto standard has become [bash][5] and it is the default shell installed on all major Linux distributions at of the time of this writing. As such, that is the shell I'll be talking about today. Something to note, though, is that bash is also a reasonably popular option on other UNIX-style operating systems, so it's likely not far from your reach (and for you Windows users out there, there's always [cygwin][6]).
While exploring the shell, the first thing you do is type commands into it and most often get output, like so:
```
$ echo "Hello World!"
Hello World!
```
This is common practice and is probably something everyone reading this has done. Something that newcomers and novices alike might not realize is that the default input mode for the [bash][7] shell is [Emacs][8], which means that all line-editing functions you will carry out on commands will use ["Emacs-style" keyboard combinations][9]. (For those interested in the nuts and bolts of things, the function of line-editing is actually carried out by [GNU Readline][10].)
For example, if you had typed **echo "Hello Wrld!"** and realized that you wanted to quickly jump back one word (space delimited) to fix that typo without having to hold down your left arrow key then you would hit the **Alt+b** keys together and the cursor would jump backward to the **W**.
```
$ echo "Hello Wrld!"
              ^
        Cursor is here.
```
This was done using only one of the many Emacs keyboard combinations that is offered to the user of the shell. There are many more available for all kinds of things, such as copying text, pasting text, removing text, and using shortcuts to edit text. Using complex keyboard combinations and committing them to memory may seem silly, but they can be extremely powerful when working with longer commands or recalling a command from your shell history yet wanting to edit a couple things before executing the command again.
While Emacs key bindings are all well and good if you're familiar with the Emacs text editor or otherwise find them convenient to use, there are those who are more comfortable using "vi-style" keyboard bindings because of their time spent in the vi text editor (normally via [vim][11] or [nvim][12] these days). The bash shell (again, via GNU Readline) is able to provide this functionality for us. In order to enable it, you run the command **$ ****set**** -o vi**.
Just like magic, you're now in vi-mode and can easily line-edit using vi-style key bindings in order to copy text, remove text, and jump around to different positions in the line of text. This isn't much different in terms of capabilities of Emacs-mode but it's  _how_  you interact with the shell to perform these actions that changes, which is a powerful option pending your specific preference.
Let's take a look at the same example as before, but with the context that as soon as you land in vi-mode in your shell you're in INSERT mode, which means you can type commands just you did before but you can now hit the **Esc** key on your keyboard and you'll be in NORMAL mode, which is where you can navigate around freely and make text modifications.
Looking at the same example as before, if you had typed **echo "Hello Wrld!"** and realized you wanted to jump back one word (again, space delimited) to fix up that typo, then you would hit **Esc** to change from INSERT to NORMAL mode. Then you can type **B** (**Shift+b** for those following along at home), which would move the cursor back much like it did before. (For more information on vi-modes, go [here][13].):
```
$ echo "Hello Wrld!"
              ^
        Cursor is here.
```
Now, for the vi/vim/nvim users out there this is hopefully a fun "ah ha!" moment when you realize the potential of keeping your tried and true keyboard shortcuts close by at all times and not just while your writing things like code or documentation in your editor. If this is all new to you and you want to learn more, then I might suggest taking a trip to this [interactive vim tutorial][14] and see if the vi style of editing text is something you find useful.
If you enjoy interacting with your shell in this mode, you can set that persistently by editing the **~/.bashrc** file in your home directory and adding the following line at the bottom.
**set -o vi**
For the emacs mode users, hopefully this was a quick and fun look into "the other side" of your shell. At the end of the day I think everyone should use whatever editor and shell line-editing mode that makes them most productive and if that's vi-mode and this article was news to you, then congratulations! Now go forth and be productive.
Happy hacking...
--------------------------------------------------------------------------------
作者简介:
Adam Miller is a member of the Fedora Engineering team focusing on Fedora Release Engineering tooling. His work includes next-generation build systems, automation, RPM package maintenance, and infrastructure deployment. Adam has completed his Bachelors of Science in Computer Science and Masters of Science in Information Assurance and Security, both from Sam Houston State University. He is a Red Hat Certified Engineer (Cert# 110-008-810), and an active member of the open source community with a running history of contributions to the Fedora Project (FAS account name: maxamillion).
------------------------
via: https://opensource.com/article/17/3/fun-vi-mode-your-shell
作者:[Adam Miller ][a]
译者:[译者ID](https://github.com/译者ID)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]:https://opensource.com/users/maxamillion
[1]:https://opensource.com/article/17/3/fun-vi-mode-your-shell?rate=5_eAB9UtByHOiZMysPcewU4Zz6hOrLwdcgIpu2Ub4vo
[2]:https://getfedora.org/
[3]:https://opensource.com/business/16/3/top-linux-shells
[4]:https://opensource.com/business/16/3/top-linux-shells
[5]:https://tiswww.case.edu/php/chet/bash/bashtop.html
[6]:http://cygwin.org/
[7]:https://tiswww.case.edu/php/chet/bash/bashtop.html
[8]:https://www.gnu.org/software/emacs/
[9]:https://en.wikipedia.org/wiki/GNU_Readline#Emacs_keyboard_shortcuts
[10]:http://cnswww.cns.cwru.edu/php/chet/readline/rltop.html
[11]:http://www.vim.org/
[12]:https://neovim.io/
[13]:https://en.wikibooks.org/wiki/Learning_the_vi_Editor/Vim/Modes
[14]:http://www.openvim.com/tutorial.html
[15]:https://opensource.com/user/10726/feed
[16]:https://opensource.com/article/17/3/fun-vi-mode-your-shell#comments
[17]:https://opensource.com/users/maxamillion

View File

@ -1,16 +1,15 @@
Setup SysVol Replication Across Two Samba4 AD DC with Rsync Part 6
Samba 系列(六):使用 Rsync 命令同步两个 Samba4 AD DC 之间的 SysVol 目录
============================================================
使用 Rsync 命令来同步两个 Samba4 AD DC 之间的 SysVol 目录——(六)
这篇文章讲的是在两个 Samba4 活动目录域控制器之间,通过一些强大的 Linux 工具来完成 SysVol 的复制操作,比如[Rsync 数据同步工具][2][Cron 任务调度进程][3]和[SSH 协议][4]。
这篇文章讲的是在两个 **Samba4 活动目录域控制器**之间,通过一些强大的 Linux 工具来完成 SysVol 的复制操作,比如 [Rsync 数据同步工具][2][Cron 任务调度进程][3]和 [SSH 协议][4]。
#### 要求::
#### 要求:
1、 [将 Ubuntu 16.04 服务器作为域控制器加入到 Samba4 AD DC 环境中——(五)][1]
- [Samba 系列(五):将另一台 Ubuntu DC 服务器加入到 Samba4 AD DC 实现双域控主机模][1]
### 第一步:配置 DC 服务器时间同步
1、在两个域控制器之间复制 sysvol 目录的内容之前,你得保证这两个服务器时间设置准确且一致。
1、在两个域控制器之间复制 **sysvol** 目录的内容之前,你得保证这两个服务器时间设置准确且一致。
如果这两个服务器的时间延迟大于 5 分钟,并且时钟也不同步,你将会遇到 AD 账号和域复制的各种问题。
@ -20,13 +19,13 @@ Setup SysVol Replication Across Two Samba4 AD DC with Rsync Part 6
# apt-get install ntp
```
2、在 NTP 服务安装完成之后,打开主配置文件,把默认的 pool 值注释(在第一行 pool 参数前添加 # ),并且添加新的 pool 值指向已安装了 NTP 服务端的主 Samba4 AD DC FQDN ,如下所示。
2、在 NTP 服务安装完成之后,打开主配置文件,把默认的 pool 值注释(在每行 pool 参数前添加 # ),并且添加新的 pool 值,指向已安装了 **NTP** 服务端的主 **Samba4 AD DC FQDN**,如下所示。
```
# nano /etc/ntp.conf
```
把下面几行添加到 ntp.conf 配置文件。
把下面几行添加到 **ntp.conf** 配置文件。
```
pool 0.ubuntu.pool.ntp.org iburst
@ -41,7 +40,7 @@ pool ntp.ubuntu.com
![Configure NTP for Samba4](http://www.tecmint.com/wp-content/uploads/2017/01/Configure-NTP-for-Samba4.png)
][6]
Samba4 配置 NTP 服务
*Samba4 配置 NTP 服务*
3、先不要关闭该文件在文件末尾添加如下内容这是为了让其它客户端能够查询并[与这个 NTP 服务器同步时间][7],并发出 NTP 签署请求,以防主 DC 离线:
@ -50,7 +49,7 @@ restrict source notrap nomodify noquery mssntp
ntpsigndsocket /var/lib/samba/ntp_signd/
```
4、最后关闭并保存该配置文件然后重启 NTP 服务以应用更改。等待几分钟后时间同步完成,执行 ntpq 命令来查看时间同步情况。
4、最后关闭并保存该配置文件然后重启 NTP 服务以应用更改。等待几分钟后时间同步完成,执行 **ntpq** 命令打印出 **adc1** 时间同步情况。
```
# systemctl restart ntp
@ -60,23 +59,23 @@ ntpsigndsocket /var/lib/samba/ntp_signd/
![Synchronize NTP Time with Samba4 AD](http://www.tecmint.com/wp-content/uploads/2017/01/Synchronize-Time.png)
][8]
与 Samba4 AD 同步 NTP 时间
*与 Samba4 AD 同步 NTP 时间*
### 第二步:通过 Rsync 命令来复制第一个 DC 服务器上的 SysVol 目录
默认情况下Samba4 AD DC 不会通过 DFS-R分布式文件系统复制或者 FRS文件复制服务来复制 SysVol 目录。
默认情况下,**Samba4 AD DC** 不会通过 **DFS-R**<ruby>分布式文件系统复制<rt>Distributed File System Replication</rt></ruby>)或者 **FRS**<ruby>文件复制服务<rt>File Replication Service</rt></ruby>)来复制 SysVol 目录。
这意味着只有在第一个域控制器联机时,组策略对象才可用。否则组策略设置和登录脚本不会应用到已加入域的 Windosws 机器上。
这意味着只有在第一个域控制器联机时,<ruby>**组策略对象**<rt>Group Policy objects </rt></ruby>才可用。否则组策略设置和登录脚本不会应用到已加入域的 Windosws 机器上。
为了解决这个问题及实现 SysVol 目录的犁,我们通过执行一个[基于 SSH 的身份认证][10]并使用 SSH 加密通道的[Linux 同步命令][9]来从第一个域控制器安全地传输 GPO 对象到第二个域控制器。
为了克服这个障碍,以及基本实现 SysVol 目录复制的目的,我们通过执行一个[基于 SSH 的身份认证][10]并使用 SSH 加密通道的[Linux 同步命令][9]来从第一个域控制器安全地传输 **GPO** 对象到第二个域控制器。
这种方式能够确保 GPO 对象在域控制器之间的一致性,但是也有一个很大的缺点。它只能进行单向同步,因为在同步 GPO 目录的时候, rsync 命令会从源 DC 服务器传输所有的更改到目标 DC 服务器,
这种方式能够确保 **GPO** 对象在域控制器之间的一致性,但是也有一个很大的缺点。它只能进行单向同步,因为在同步 GPO 目录的时候, **rsync** 命令会从源 DC 服务器传输所有的更改到目标 DC 服务器,
源 DC 服务器上不存在的组策略对象也会从目标 DC 服务器上删除,为了限制并避免任何冲突,所有的 GPO 编辑操作只能在第一个 DC 服务器上执行。
5、要进行 SysVol 复制,先到[第一个 AD DC 服务器上生成 SSH 密钥][11],然后使用下面的命令把该密钥传输到第二个 DC 服务器。
5、要进行 **SysVol** 复制,先到[第一个 AD DC 服务器上生成 SSH 密钥][11],然后使用下面的命令把该密钥传输到第二个 DC 服务器。
在生成密钥的过程中不要设置密码,以便在无用户干预的情况下进行传输。
在生成密钥的过程中不要设置密码 **passphrase**,以便在无用户干预的情况下进行传输。
```
# ssh-keygen -t RSA
@ -88,15 +87,16 @@ ntpsigndsocket /var/lib/samba/ntp_signd/
![Generate SSH Key on Samba4 DC](http://www.tecmint.com/wp-content/uploads/2017/01/Generate-SSH-Key.png)
][12]
在 Samba4 DC 服务器上生成 SSH 密钥
*在 Samba4 DC 服务器上生成 SSH 密钥*
6、 当你确认 root 用户可以从第一个 DC 服务器以免密码方式登录到第二个 DC 服务器时,执行下面的 Rsync 命令,加上 `--dry-run` 参数来模拟 SysVol 复制过程。注意把对应的参数值替换成你自己的数据。
6、 当你确认 root 用户可以从第一个 **DC** 服务器以免密码方式登录到第二个 **DC** 服务器时,执行下面的 **Rsync** 命令,加上 `--dry-run` 参数来模拟 SysVol 复制过程。注意把对应的参数值替换成你自己的数据。
```
# rsync --dry-run -XAavz --chmod=775 --delete-after --progress --stats /var/lib/samba/sysvol/ root@adc2:/var/lib/samba/sysvol/
```
7、如果模拟复制过程正常那么再次执行 rsync 命令,去掉 `--dry-run` 参数来真实的在域控制器之间复制 GPO 对象。
7、如果模拟复制过程正常那么再次执行去掉 `--dry-run` 参数的 rsync 命令,来真实的在域控制器之间复制 GPO 对象。
```
# rsync -XAavz --chmod=775 --delete-after --progress --stats /var/lib/samba/sysvol/ root@adc2:/var/lib/samba/sysvol/
```
@ -104,7 +104,7 @@ ntpsigndsocket /var/lib/samba/ntp_signd/
![Samba4 AD DC SysVol Replication](http://www.tecmint.com/wp-content/uploads/2017/01/SysVol-Replication-for-Samba4-DC.png)
][13]
Samba4 AD DC SysVol 复制
*Samba4 AD DC SysVol 复制*
8、在 SysVol 复制完成之后,登录到目标域控制器,然后执行下面的命令来列出其中一个 GPO 对象目录的内容。
@ -117,9 +117,9 @@ Samba4 AD DC SysVol 复制
![Verify Samba4 DC SysVol Replication](http://www.tecmint.com/wp-content/uploads/2017/01/Verify-Samba4-DC-SysVol-Replication.png)
][14]
验证 Samba4 DC SysVol 复制结果是否正常
*验证 Samba4 DC SysVol 复制结果是否正常*
9、为了自动完成组策略复制的过程(从网络来传输 sysvol 目录),你可以使用 root 账号设置一个任务来执行同步命令,如下所示,设置为每隔 5 分钟执行一次该命令。
9、为了自动完成**组策略**复制的过程(通过网络传输 sysvol 目录),你可以使用 root 账号设置一个任务来执行同步命令,如下所示,设置为每隔 5 分钟执行一次该命令。
```
# crontab -e
@ -131,7 +131,7 @@ Samba4 AD DC SysVol 复制
*/5 * * * * rsync -XAavz --chmod=775 --delete-after --progress --stats /var/lib/samba/sysvol/ root@adc2:/var/lib/samba/sysvol/ > /var/log/sysvol-replication.log 2>&1
```
10、如果以后 SysVol ACL 权限有问题,你可以通过下面的命令来检测和修复这些异常。
10、如果以后 **SysVol ACL** 权限有问题,你可以通过下面的命令来检测和修复这些异常。
```
# samba-tool ntacl sysvolcheck
@ -141,24 +141,24 @@ Samba4 AD DC SysVol 复制
![Fix SysVol ACL Permissions](http://www.tecmint.com/wp-content/uploads/2017/01/Fix-SysVol-ACL-Permissions.png)
][15]
修复 SysVol ACL 权限问题
*修复 SysVol ACL 权限问题*
11、如果第一个 Samba4 AD DC 的 FSMO 角色,即“ PDC 模拟器”不可用,你可以强制 Microsoft Windows 系统上的组策略管理控制台只连接到第二个域控制器,通过选择更改域控制器选项和手动选择目标机器,如下图所示。
11、如果第一个 **Samba4 AD DC****FSMO** 角色即“PDC 模拟器”不可用,你可以强制 **Microsoft Windows** 系统上的**组策略管理控制台**只连接到第二个域控制器,通过选择更改域控制器选项和手动选择目标机器,如下图所示。
[
![Change Samba4 Domain Controller](http://www.tecmint.com/wp-content/uploads/2017/01/Change-Samba4-Domain-Controller.png)
][16]
更改 Samba4 域控制器
*更改 Samba4 域控制器*
[
![Select Samba4 Domain Controller](http://www.tecmint.com/wp-content/uploads/2017/01/Select-Samba4-Domain-Controller.png)
][17]
选择 Samba4 域控制器
*选择 Samba4 域控制器*
当你从组策略管理控制台连接到第二个 DC 服务器时,你应该避免对组策略做任何更改。否则,当第一个 DC 服务器恢复正常后, rsync 命令将会删除在第二个 DC 服务器上所做的更改。
当你从**组策略管理控制台**连接到第二个 **DC** 服务器时,你应该避免对**组策略**做任何更改。否则,当第一个 **DC** 服务器恢复正常后, **rsync 命令**将会删除在第二个 DC 服务器上所做的更改。
--------------------------------------------------------------------------------
@ -166,7 +166,7 @@ Samba4 AD DC SysVol 复制
![](http://2.gravatar.com/avatar/be16e54026c7429d28490cce41b1e157?s=128&d=blank&r=g)
我是一个电脑迷,开源软件和 Linux 系统爱好者,有超过 4 年的 Linux 桌面、服务器版本系统和 bash 编程经验。
Matei Cezar -- 我是一个电脑迷,开源软件和 Linux 系统爱好者,有超过 4 年的 Linux 桌面、服务器版本系统和 bash 编程经验。
--------------------------------------------------------------------------------
@ -174,12 +174,12 @@ via: http://www.tecmint.com/samba4-ad-dc-sysvol-replication/
作者:[Matei Cezar][a]
译者:[rusking](https://github.com/rusking)
校对:[校对者ID](https://github.com/校对者ID)
校对:[jasminepeng](https://github.com/jasminepeng)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]:http://www.tecmint.com/author/cezarmatei/
[1]:http://www.tecmint.com/join-additional-ubuntu-dc-to-samba4-ad-dc-failover-replication/
[1]:https://linux.cn/article-8358-1.html
[2]:http://www.tecmint.com/rsync-local-remote-file-synchronization-commands/
[3]:http://www.tecmint.com/11-cron-scheduling-task-examples-in-linux/
[4]:http://www.tecmint.com/5-best-practices-to-secure-and-protect-ssh-server/

View File

@ -0,0 +1,81 @@
Yoo-4x translating
# [CentOS Vs. Ubuntu][5]
[
![centos vs. ubuntu](http://www.linuxandubuntu.com/uploads/2/1/1/5/21152474/centos-vs-ubuntu_orig.jpg)
][4]Linux 可以用的选项几乎是"没有限制"的。因为你可以构建它,也可以通过修改已经存在的发行版本或者一个新的 [Linux From Scratch][7] (LFS)。我们的选择选择 Linux 发行版本包括它的用户界面,文件系统,软件包发行版本,新的可选特性甚至包括升级时间和版本支持。​
这篇文章我们将会它讨论 Linux 的两个大的发现哦每个那么呢没,事实上它将在各自相较更好的特性上对两个发行版本进行区分。
### CentOS 是什么?
CentOS ( _企业社区开源系统_ ) 从 Red Hat Enterprise Linux (RHEL) 派生出社区支持的 Linux 派生版本, 与 RHEL 兼容,所以我们也可以说是免费版本的 RHEL。每个版本技术支持长达10年并且每两年发行一个版本。在一月十四日 Centos 官方宣布加入 Red Hat同时将会在一个 CentOS 板块与 RHEL 保持独立。
请阅读 - [如何安装 CentOS][1]
### CentOS 的历史和第一个版本
[CentOS][8] 的第一个版本作为 cAOs 在2004年发行作为一个基于 RPM红帽软件包管理系统并且由社区维护和管理的发行版本。
它结合 Debian, Red Hat Linux/Fedora and FreeBSD 的多个方面使它足够稳定以便运行在服务器上和周期为三到五年的集群。它是一个更大的组织CAOS 基金)的一部分,这个组织有一群开源开发者[1]。
在2016年四月 TAO Linux —— 被 David Parsley 开发的另一个 RHEL 克隆版本宣布 TAO Linux 将停止开发并加入 CentOS 开发。他迁移到 CentOS 并没有影响他之前的用户TAO 用户),即它们可以通过 yum update 升级他们的系统而迁移到 CentOS 中来。
在2014年二月 Red Hat 开始赞助 CentOS 项目, 将所有权和商标转让给了它。
[[1\.开源软件][9]]
### CentOS 设计
CentOS 克隆的是 Red Hat 付费版本(Red Had Enterprise Edition)。RHEL 为其提供源代码, CentOS 将去掉品牌和商标并修改为最终的成品。
### Ubuntu
Ubuntu 是一个基于 Debian 的 Linux 系统,目前用在桌面、服务器、智能手机和平板上。 Ubuntu 由 Canonical Ltd 公司开展,该公司在英国成立并由 South African Mark Shuttleworth 资助。
拓展 - [10 Things To Do After Installing Ubuntu 16.10][2]
### Ubuntu 设计
Ubuntu 是一个依靠全世界的开发者贡献的开源发行版本。近年来它的界面越发直观和现代,整个系统已经变得反应快速,更加安全并拥有海量的可供下载的软件资源。
因为基于[Debian][10],它支持 .deb 格式的软件包,发布最近了一个更加发安全的软件包系统[snap package format (snappy)][11]。
​这个新的软件包系统允许应用程序交付而不需担心依赖。
拓展 - [LinuxAndUbuntu Review Of Unity 8 In Ubuntu 16.10][3]
### CentOS 和 Ubuntu 之间的不同
* ubuntu基于 Debian 而 CentOS 基于 RHEL;
* Ubuntu 使用 .deb 和 .snap 软件包,而 centOS 使用 .rpm 和 flatpak;
* Ubuntu 使用 apt 指令来升级 而 centOS 使用同 YUM;
* 因为不需要定期升级软件包,所以 CentOS 显得更加稳定。但是这并不意味着 ubuntu 相对不安全;
* Ubuntu 有着更丰富的文档并且提供免费技术支持;
* Ubuntu 服务器版本对云部署和勇气部署有着更好的支持。
### 结论
不管你的选择是什么,**Ubuntu or CentOS** 这两个发行版本都非常棒并且稳定。如果你想拥有短的版本周期你将忠于 ubuntu 如果你不希望发行版本改变它的软件包太快你将经常使用 CentOS。请在下部留言来告诉我你更喜欢哪个发行版本。|
--------------------------------------------------------------------------------
via: http://www.linuxandubuntu.com/home/centos-vs-ubuntu
作者:[linuxandubuntu.com][a]
译者:[Yoo-4x]
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]:http://www.linuxandubuntu.com/home/centos-vs-ubuntu
[1]:http://www.linuxandubuntu.com/home/how-to-install-centos
[2]:http://www.linuxandubuntu.com/home/10-things-to-do-after-installing-ubuntu-16-04-xenial-xerus
[3]:http://www.linuxandubuntu.com/home/linuxandubuntu-review-of-unity-8-preview-in-ubuntu-1610
[4]:http://www.linuxandubuntu.com/home/centos-vs-ubuntu
[5]:http://www.linuxandubuntu.com/home/centos-vs-ubuntu
[6]:http://www.linuxandubuntu.com/home/centos-vs-ubuntu#comments
[7]:http://www.linuxandubuntu.com/home/how-to-create-a-linux-distro
[8]:http://www.linuxandubuntu.com/home/10-things-to-do-after-installing-centos
[9]:https://en.wikipedia.org/wiki/Open-source_software
[10]:https://www.debian.org/
[11]:https://en.wikipedia.org/wiki/Snappy_(package_manager)

View File

@ -1,84 +0,0 @@
3 个开源链接缩短器
============================================================
> 想要构建你自己的 URL 缩短器?这些开源项目使这个变得简单。
![3 open source link shorteners](https://opensource.com/sites/default/files/styles/image-full-size/public/images/life/links.png?itok=AumNmse7 "3 open source link shorteners")
>图片提供: [Paul Lewin][2]. Modified by Opensource.com. [CC BY-SA 2.0][3]
没有人喜欢一个非常长的URL。
他们很难解析。但有时候,站点的深层目录结构还有最后加上的大量参数使得 URL 开始变得冗长。在 Twitter 添加自己的链接缩短服务之前的那些日子里,一个长的 URL 意味着从推文中消减珍贵的字符。
如今,因为很多原因,人们开始使用链接缩短器。这样人们可以更容易地输入或记住另一个冗长的网址。它们可以为社交媒体帐户带来一贯的品牌建设。它们可以更轻松地在一组网址中进行分析。它们使得为其他网站频繁变化的 URL 提供统一的入口成为可能。
URL 缩短器确实有一些挑战。应该为你提供短网址服务也会消失,这使得在点击之前知道链接实际指向哪里也是一个挑战,并且容易受到 [linkrot][4] 的影响。但是尽管面临这些挑战URL 缩短器不会消失。
但是既然已经有这么多免费链接缩短服务为什么还要自己构建简而言之方便控制。虽然有些服务可以让你选择自己的域名来使用有时候这有关于你会得到定制级别。使用自助式服务你可以自己决定服务的运行时间、URL 的格式以及决定谁可以访问你的分析。这是你自己拥有并且可以操作的。
幸运的是,如果你想建立下一个 bit.ly、goo.gl或 ow.ly你可以有很多开源选项。你可以考虑下面几个。
### Lessn More
[Lessn More][5]是一个个人 URL 缩短器,用 PHP 写成,并从一个名为 Buttered URL 的较旧项目 fork 而来,而它又是一个名为 Lessn 的项目的分支衍生而来。Lessn More 能提供你对 URL 缩短器预期的大部分功能API 和书签支持、自定义 URL 等。还有一些有用的功能比如可以让 Lessn More 使用单词黑名单来避免创建意外不适当的 URL、避免“看着相似”的字符来使 URL 更易读、能够选择是否使用混合大小写的字符等。
[Lessn More][6] 在 GitHub 上以 3 句版 [BSD][8]许可证公布了 [源代码][7]。
### Polr
[Polr][9] 将自己描述为“现代、强大、可靠的URL缩短器”。它具有相当直接但现代化的界面像我们这里详细介绍的其他选择那样还提供了一个 API 来允许你从其他程序中使用它。在这三个选择中,它在功能上是最轻的,但如果你正在寻找一个简单但功能完整的选择,那么这可能是你不错的选择。下载之前你可以查看[在线演示][10]。
Polr 的[源代码][11] 在 GitHub 中以 [GPLv2][12] 许可证公布。
### YOURLS
[YOURLS][13]“Your Own URL Shortener”你自己的 URL 缩短器)的缩写,它是我最熟悉的选择。我在个人网站上已经运行了好几年,并且对其功能非常满意。
它是用 PHP 编写的YOURLS 是一个有非常丰富功能的选择并且可以很好地开箱即用。你可以将其配置为任何人可公开使用,或只允许某些用户使用它。它支持自定义 URL拥有书签功能使得很容易共享它还具有非常强大的内置统计信息并支持可插拔的架构以允许其他人添加功能。它还有一个API可以轻松地用它创建其他程序。
你可以在 Github 中找到 [MIT许可证][15]下的 YOURLS 的[源代码][14]。
* * *
不喜欢这些选择么?看下互联网,你会发现还有其他几个选择:[shuri][16]、[Nimbus][17]、[Lstu][18] 等等。除了这些选择外,构建链接缩短器也是一个很好的第一个编程项目,它可以帮助了解新的语言或 Web 框架。毕竟,它的核心功能非常简单:以 URL 作为输入,并重定向到另一个 URL。除此之外它取决于你自己想要添加的功能。
你有我们没有在这里列出的最爱吗?在评论栏中让我们知道你的想法。
--------------------------------------------------------------------------------
作者简介:
Jason Baker - Jason 热衷于使用技术使世界更加开放从软件开发到阳光政府行动。Linux 桌面爱好者、地图/地理空间爱好者、树莓派工匠、数据分析和可视化极客、偶尔的码农、云本土主义者。在 Twitter 上关注他。
------------
via: https://opensource.com/article/17/3/url-link-shortener
作者:[Jason Baker ][a]
译者:[geekpi](https://github.com/geekpi)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]:https://opensource.com/users/jason-baker
[1]:https://opensource.com/article/17/3/url-link-shortener?rate=5EGysFmjsUsxCc74bffDni4sFxxaIYiGRUG3UPznav8
[2]:https://www.flickr.com/photos/digypho/7905320090
[3]:https://creativecommons.org/licenses/by/2.0/
[4]:https://en.wikipedia.org/wiki/Linkrot
[5]:https://lessnmore.net/
[6]:https://lessnmore.net/
[7]:https://github.com/alanhogan/lessnmore
[8]:https://github.com/alanhogan/lessnmore/blob/master/LICENSE.txt
[9]:https://project.polr.me/
[10]:http://demo.polr.me/
[11]:https://github.com/cydrobolt/polr
[12]:https://github.com/cydrobolt/polr/blob/master/LICENSE
[13]:https://yourls.org/
[14]:https://github.com/YOURLS/YOURLS
[15]:https://github.com/YOURLS/YOURLS/blob/master/LICENSE.md
[16]:https://github.com/pips-/shuri
[17]:https://github.com/ethanal/nimbus
[18]:https://github.com/ldidry/lstu
[19]:https://opensource.com/user/19894/feed
[20]:https://opensource.com/article/17/3/url-link-shortener#comments
[21]:https://opensource.com/users/jason-baker

View File

@ -0,0 +1,91 @@
在 shell 中使用 vi 模式
============================================================
> 介绍在命令行编辑中使用 vi 模式。
![Using vi-mode at the command line](https://opensource.com/sites/default/files/styles/image-full-size/public/images/life/code_computer_development_programming.png?itok=wMspQJcO "Using vi-mode at the command line")
>图片提供 opensource.com
作为一名更大的开源社区的参与者,更确切地说,作为[ Fedora 项目][2]的成员,我有机会与许多人会面并讨论各种有趣的技术主题。我最喜欢的主题是“命令行”或者 [shell][3],因为了解人们如何熟练使用 shell 可以让你深入地了解他们的想法,他们喜欢什么样的工作流程,以及某种程度上什么激发了他们的灵感。许多开发人员和运维在互联网上公开分享他们的“ dot 文件”(他们的 shell 配置文件的常见俚语),这将是一个有趣的协作机会,让每个人都能从对命令行有丰富经验的人中学习提示和技巧并分享快捷方式以及有效率的技巧。
我在这里会为你介绍 shell 中的 vi 模式。
在计算和操作系统的庞大生态系统中有[很多 shell][4]。然而,在 Linux 世界中,[bash][5] 已经成为事实上标准,并在在撰写本文时,它是所有主要 Linux 发行版上的默认 shell。因此它就是我所说的 shell。需要注意的是bash 在其他类 UNIX 操作系统上也是一个相当受欢迎的选项,所以它可能跟你用的差别不大(对于 Windows 用户,可以用 [cygwin][6])。
在探索 shell 时,首先要做的是在其中输入命令并得到输出,如下所示:
```
$ echo "Hello World!"
Hello World!
```
这是常见的练习,可能每个人都做过。没接触过的人和新手可能没有意识到 [bash][7] shell 的默认输入模式是 [Emacs][8],这意味着命令行中所用的行编辑功能都将使用[ Emacs 风格的“键盘组合][9]。(对这个感兴趣的人,行编辑功能实际上是由[GNU Readline][10]进行的。)
例如,如果你输入了 **echo "Hello Wrld!"**,并意识到你想要快速跳回一个单词(空格分隔)来修改打字错误,而无需按住左箭头键,那么你可以同时按下 **Alt+b**,光标会将向后跳到 **W**
```
$ echo "Hello Wrld!"
              ^
        Cursor is here.
```
这只是使用提供给 shell 用户的许多 Emacs 组合键之一完成的。还有其他更多东西,如复制文本、粘贴文本、删除文本以及使用快捷方式来编辑文本。使用复杂的组合键并记住可能看起来很愚蠢,但是在使用较长的命令或从 shell 历史记录中调用一个命令并想再次编辑执行时,它们可能会非常强大。
尽管 Emacs 的键盘绑定都不错,如果你对 Emacs 编辑器熟悉或者发现它们很容易使用也不错,但是仍有一些人对“ vi 风格”的键盘绑定更舒服,因为他们经常使用 vi 编辑器(通常是 [vim][11] 或 [nvim][12]。bash shell再说一次通过 GNU Readline可以为我们提供这个功能。要启用它需要执行命令 **$ ****set**** -o vi**。
就像魔术一样,你现在处于 vi 模式了,现在可以使用 vi 风格的键绑定轻松地进行编辑,以便复制文本、删除文本、并跳转到文本行中的不同位置。这与 Emacs 模式在功能方面没有太大的不同但是它在你_如何_与 shell 进行交互执行操作上有一些差别,根据你的喜好这是一个强大的选择。
我们来看看先前的例子,但是在上下文中一旦你在 shell 中进入 vi 模式,你就处于 INSERT 模式中,这意味着你可以和以前一样输入命令,但是现在点击 **Esc** 键,你将处于 NORMAL 模式,你可以自由浏览并进行文字修改。
看看先前的例子,如果你输入了 **echo "Hello Wrld!"**,并意识到你想跳回一个单词(再说一次用空格分隔)来修复那个打字错误,那么你可以点击 **Esc** 从 INSERT 变为 NORMAL 模式。然后,您可以输入 **B****Shift+b**),光标就能像以前那样回到前面了。(有关 vi 模式的更多信息,请参阅[这里][13]。):
```
$ echo "Hello Wrld!"
              ^
        Cursor is here.
```
现在,对于 vi/vim/nvim 用户来说,当你发现你一直可以使用相同的快捷键,而不仅仅是在编辑器中编写代码或文档的时候我希望这是一个惊喜时刻。如果这对你是全新的,并且你想要了解更多,那么我可能会建议你参加这个[交互式 vim 教程][14],看看 vi 风格的编辑是否还有有用的。
如果你喜欢在此风格下与 shell 交互,那么你可以在主目录中的 **~/.bashrc** 文件底部添加下面的行来持久设置它。
**set -o vi**
对于 emacs 模式的用户,希望这可以让你快速并愉快地看到 shell 的“另一面”。在结束之前,我认为每个人都应该使用任意一个让他们更有效率的编辑器和 shell 行编辑模式,如果你使用 vi 模式并且这篇对你是新的,那么恭喜你!现在就变得更有效率吧。
玩得愉快!
--------------------------------------------------------------------------------
作者简介:
Adam Miller 是 Fedora 工程团队成员,专注于 Fedora 发布工程。他的工作包括下一代构建系统、自动化、RPM 包维护和基础架构部署。Adam 在山姆休斯顿州立大学完成了计算机科学学士学位与信息保障与安全科学硕士学位。他是一名红帽认证工程师Cert110-008-810也是开源社区的活跃成员并对 Fedora 项目FAS 帐户名称maxamillion贡献有着悠久的历史。
------------------------
via: https://opensource.com/article/17/3/fun-vi-mode-your-shell
作者:[Adam Miller ][a]
译者:[geekpi](https://github.com/geekpi)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]:https://opensource.com/users/maxamillion
[1]:https://opensource.com/article/17/3/fun-vi-mode-your-shell?rate=5_eAB9UtByHOiZMysPcewU4Zz6hOrLwdcgIpu2Ub4vo
[2]:https://getfedora.org/
[3]:https://opensource.com/business/16/3/top-linux-shells
[4]:https://opensource.com/business/16/3/top-linux-shells
[5]:https://tiswww.case.edu/php/chet/bash/bashtop.html
[6]:http://cygwin.org/
[7]:https://tiswww.case.edu/php/chet/bash/bashtop.html
[8]:https://www.gnu.org/software/emacs/
[9]:https://en.wikipedia.org/wiki/GNU_Readline#Emacs_keyboard_shortcuts
[10]:http://cnswww.cns.cwru.edu/php/chet/readline/rltop.html
[11]:http://www.vim.org/
[12]:https://neovim.io/
[13]:https://en.wikibooks.org/wiki/Learning_the_vi_Editor/Vim/Modes
[14]:http://www.openvim.com/tutorial.html
[15]:https://opensource.com/user/10726/feed
[16]:https://opensource.com/article/17/3/fun-vi-mode-your-shell#comments
[17]:https://opensource.com/users/maxamillion

View File

@ -1,56 +0,0 @@
# 什么是 Manjaro Linux 操作系统?
这个系列的第七篇,我们来说一说什么是 Manjaro。Manjaro 是基于 Arch Linux 并且拥有一个漂亮的用户界面的操作系统。 Manjaro 并不像 Debian 或者 Arch 这些 Linux 发行版一样古老但是他依然十分的稳定而可靠从而在各色发行版中显得鹤立鸡群。2011 年 Manjaro 才推出了第一个版本。从那以后它一直在不断的进步,今天最新的版本为 16.06.1,代号为 “Daniella”。
**为什么我认为 Manjaro 超越了其他的发行版?** 我并没有强求你使用 Manjaro 来替代其他发行版,但是我会尝试说服你来使用 Manjaro。那么让我开始吧
*   **基于 Arch**就像许多人已经知道的那样,不开玩笑的说 Arch 绝对是一个优秀的发行版。但是它对于新手来说十分难以使用。许多新手根本就无法在非图形界面下完成 Arch 的安装。与之相反Manjaro 有着一个好用的图形安装界面。所以那些想要尝试 Arch 但是又被它的高难度操作所困扰的人们可以去试试 Manjaro。Manjaro 很容易安装并且有着一个友好的用户界面。
*   **桌面环境:**Manjaro 在桌面环境上有着许多选择,比如 Xfce、KDE、Deepin、BspWM、Budgie、i3、LXDE、Cinnamon、Enlightenment、Netbook、Fluxbox、Gnome、JWM、LXQT、MATE、Openbox 和 PekWM。所有这些桌面环境在 Manjaro 中都十分漂亮。Manjaro 官方的桌面环境是 Xfce 和 KDE而其他桌面环境则是社区支持的我现在就是在 Manjaro 16.06.1中使用 KDE Plasma 桌面环境。
[
![Manjaro 16.06.1 with KDE plasma 5.6.5](https://4.bp.blogspot.com/-PvT_KN4_avM/V3_eMdhSAvI/AAAAAAAABLY/jjQDrV6dXOw9_vcS5XD3-kZy-chWsR1PQCLcB/s640/Desktop%2B1_001.png "Manjaro 16.06.1 with KDE plasma 5.6.5")
][7]
> 运行着 KDE plasma 5.6.5 的 Manjaro 16.06.1
> 如果你不喜欢 Manjaro 中的 KDE 或者 Xfce不用担心你可以从软件包管理器中随时安装其他桌面环境。
[
![Manjaro 16.06.1 with KDE plasma 5.6.5](https://1.bp.blogspot.com/-vxZ3bI1TTA4/V3_ePOiQG5I/AAAAAAAABLg/ANw2qSmRTVcxl0JZEsUxNGciBdkwuvt9wCKgB/s640/Screenshot_20160708_223023.png "Manjaro 16.06.1 with KDE plasma 5.6.5")
][8]
> 从软件包管理器中下载 Budgie 桌面环境。
* **稳定并且独特的包管理机制:**虽然 Manjaro 很新但是它也很稳定。Manjaro 的最后一个版本装载的是Linux 内核 4.6.2。Manjaro 不仅仅稳定更新也比较快。软件更新不久后就会被它编译到它的库中。Manjaro 用 pacman 来管理它的软件包。Arch Linux 因 Pacman 而名震天下 (当然也饱受争议)。Manjaro 则使用 Octopi 来使其变得更加用户友好Octopi 是一个用 Qt 编写的 pacman 的图形前端。Manjaro 很好的维护了他自己的库,这也是它的一个优势。
[
![Manjaro 16.06.1 with KDE plasma 5.6.5](https://1.bp.blogspot.com/-vxZ3bI1TTA4/V3_ePOiQG5I/AAAAAAAABLg/ANw2qSmRTVcxl0JZEsUxNGciBdkwuvt9wCKgB/s640/Screenshot_20160708_223023.png "Manjaro 16.06.1 with KDE plasma 5.6.5")
][9]
>Octopi 软件包管理器
* **社区支持:** 和其他发行版一样Manjaro 也是一个基于社区的 linux 发行版。当你需要的时候,社区里总是会有人来帮助你。除了 Xfce 和 KDE 是官方支持的以外,其他所有桌面的编译和维护都是由社区完成的。任何用户有了疑问都可以到社区来寻求帮助,这里总是会有真实的 Manjaro 用户来帮助你。
在这里,我仅仅只列出了这么几点原因,但是如果你开始使用它了,你会发现更多惊喜的。
**还在考虑是否安装它?** 如果你还在彷徨与是否使用 Manjaro 你可以先在 Virtualbox 中试试它,然后再考虑在实体机中安装它。如果你喜欢它,请在这个话题下评论吧,欢迎点赞,关注,丢香蕉给我们,么么哒。
--------------------------------------------------------------------------------
原文: http://www.techphylum.com/2016/07/manjaro-linux-explained.html
作者:[sumit rohankar ][a]
译者:[Chao-zhi](https://github.com/Chao-zhi)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]:https://plus.google.com/112160169713374382262
[1]:http://www.techphylum.com/2014/08/linux-deepin-distro-with-unique-style.html
[2]:http://www.techphylum.com/2014/06/linux-mint-introduction.html
[3]:http://www.techphylum.com/2014/05/elementary-os-brief-introduction.html
[4]:http://www.techphylum.com/2014/05/Introduction-to-fedora.html
[5]:http://www.techphylum.com/2014/05/what-is-opensuse-introduction.html
[6]:http://www.techphylum.com/2014/05/what-is-debian-brief-introduction.html
[7]:https://4.bp.blogspot.com/-PvT_KN4_avM/V3_eMdhSAvI/AAAAAAAABLY/jjQDrV6dXOw9_vcS5XD3-kZy-chWsR1PQCLcB/s1600/Desktop%2B1_001.png
[8]:https://1.bp.blogspot.com/-vxZ3bI1TTA4/V3_ePOiQG5I/AAAAAAAABLg/ANw2qSmRTVcxl0JZEsUxNGciBdkwuvt9wCKgB/s1600/Screenshot_20160708_223023.png
[9]:https://1.bp.blogspot.com/-vxZ3bI1TTA4/V3_ePOiQG5I/AAAAAAAABLg/ANw2qSmRTVcxl0JZEsUxNGciBdkwuvt9wCKgB/s1600/Screenshot_20160708_223023.png