From fb19cd43f5d35668b17216dc86dd2a1935c93286 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Sat, 29 Jun 2019 11:17:38 +0800 Subject: [PATCH 01/61] PRF:20180629 100 Best Ubuntu Apps.md --- .../tech/20180629 100 Best Ubuntu Apps.md | 256 +++++++++--------- 1 file changed, 126 insertions(+), 130 deletions(-) diff --git a/translated/tech/20180629 100 Best Ubuntu Apps.md b/translated/tech/20180629 100 Best Ubuntu Apps.md index c82f5cc099..fdacde6fb3 100644 --- a/translated/tech/20180629 100 Best Ubuntu Apps.md +++ b/translated/tech/20180629 100 Best Ubuntu Apps.md @@ -1,55 +1,51 @@ -warmfrog translating - -100 Best Ubuntu Apps +100 个最佳 Ubuntu 应用 ====== -今年早些时候我们发布了一个 [2018 年最好的 20 个 Ubuntu 应用][1]列表,可能对很多用户来说都很有用。现在我们几乎到 2018 年下半年了,所以今天我们打算看一下 Ubuntu 上最好的 100 个应用,你可能会觉得有帮助。 +今年早些时候我们发布了一个 [2018 年最好的 20 个 Ubuntu 应用][1]列表,可能对很多用户来说都很有用。现在我们几乎到 2018 年下半年了(LCTT 译注:好吧,我们翻译的有些晚了,顺便打个广告,[LCTT 欢迎你,有志于通过翻译为开源做些贡献的同学!][111]),所以今天我们打算看一下 Ubuntu 上最好的 100 个应用,你可能会觉得有帮助。 ![100 Best Ubuntu Apps][2] -很多用户最近从 Microsoft Windows 转换到了 Ubuntu,可能面临着这样一个困境:寻找它们之前使用了数年的操作系统上的应用软件的最好替代应用。Ubuntu 拥有上千个免费使用和开源应用软件比 Windows 和其它 OS 上的付费软件运行的更好。 +很多用户最近从 Microsoft Windows 转换到了 Ubuntu,可能面临着这样一个困境:寻找它们之前使用了数年的操作系统上的应用软件的最好替代应用。Ubuntu 拥有上千个免费使用和开源应用软件,比 Windows 和其它 OS 上的付费软件运行的更好。 下列列表归纳了各种分类下很多应用软件的功能特点,因此,你可以找到匹配你的需求的最好的应用。 -### **1\. Google Chrome 浏览器** +### 1、Google Chrome 浏览器 -几乎所有 Linux 发行版默认安装了 Mozilla Firefox 网络浏览器,并且它是 Google Chrome 的强力竞争对手。但是 Chrome 相对 Firefox 有它自己的优点,给了你 Google 账户的入口,你可以通过它来同步你的书签,浏览历史,扩展。例如从其它操作系统和手机的 Chrome 浏览器同步。 +几乎所有 Linux 发行版都默认安装了 Mozilla Firefox 网络浏览器,并且它是 Google Chrome 的强力竞争对手。但是 Chrome 相对 Firefox 而言有它自己的优点,比如它可以让你直接访问你的 Google 账户,你可以通过它来同步你在其它操作系统和手机上的 Chrome 浏览器的书签、浏览历史、扩展等等。 ![Chrome][3] Google Chrome 为 Linux 集成了最新的 Flash 播放器,其它 Linux 上的浏览器像 Mozilla Firefox 和 Opera 网络浏览器则不是这样。如果你在 Windows 上经常使用 Chrome,那么在 Linux 上也用它是最好的选择。 -### 2\. **Steam** +### 2、Steam 现在在 Linux 上玩游戏已经不是问题了,这在很多年前还是一个遥不可及的梦。在 2013 年,Valve 发布了 Linux 上的 Steam 游戏客户端,此后一切都变了。早期用户犹豫着从 Windows 转到 Linux,只是因为它们不能在 Ubuntu 上玩它们最喜欢的游戏,但是现在已经不是这样了。 ![Steam][4] -一些用户可能发现在 Linux 上安装 Steam 有点棘手,但如果能在 Linux 上玩上千的 Steam 游戏时这么做就是值得的。一些流行的像 Counter Strike 这样的高端游戏:Global Offensive, Hitman, Dota 2 在 Linux 上都能获取,你只需要确保你满足玩这些游戏的最小硬件需求。 +一些用户可能发现在 Linux 上安装 Steam 有点棘手,但如果能在 Linux 上玩上千的 Steam 游戏时这么做就是值得的。一些流行的高端游戏,如《反恐精英:全球攻势》、《Hitman》、《Dota 2》在 Linux 上都能获取,你只需要确保你满足玩这些游戏的最小硬件需求。 ``` $ sudo add-apt-repository multiverse - $ sudo apt-get update - $ sudo apt-get install steam ``` -### **3\. WordPress 桌面客户端** +### 3、WordPress 桌面客户端 -是的,没错,WordPress 有它专有的 Ubuntu 平台的客户端,你可以用来管理你的 WordPress 站点。你同样可以在桌面客户端上单独写和设计桌面客户端而不用转到浏览器。 +是的,没错,WordPress 有它专有的 Ubuntu 平台的客户端,你可以用来管理你的 WordPress 站点。你可以只在桌面客户端上撰写和设计你的站点而不用转到浏览器。 ![][5] -如果你有 WordPress 支持的站点,那么这个桌面客户端能够让你在单个窗口内追踪所有的 WordPress 通知。你同样可以检查站点的博客性能状态。桌面客户端可以在 Ubuntu 软件中心中获取,你可以在那里下载和安装。 +如果你拥有 WordPress 建立的站点,那么这个桌面客户端就是你必备的应用,它能够让你在单个窗口内追踪所有的 WordPress 通知。你也可以查看站点博客的数据。桌面客户端可以在 Ubuntu 软件中心中获取,你可以在那里下载和安装。 -### **4\. VLC 媒体播放器** +### 4、VLC 媒体播放器 -VLC 是一个非常流行的跨平台的开源媒体播放器,同样在 Ubuntu 中可以获取。使得 VLC 成为一个最好的媒体播放器的原因是它能够播放地球上能够获得的任何音频视频格式,而且不会出现任何问题。 +VLC 是一个非常流行的跨平台的开源媒体播放器,同样在 Ubuntu 中可以获取。使得 VLC 成为一个最好的媒体播放器的原因是它能够毫无问题地播放世界上任何音频视频格式。 ![][6] -VLC 有一个平滑的用户界面,易于使用,除此之外,它提供了很多特点包括在线视频流,音频和视频自定义,等。 +VLC 有一个平滑的用户界面,易于使用,除此之外,它提供了很多功能,包括在线视频流、音频和视频自定义等。 ``` $ sudo add-apt-repository ppa:videolan/master-daily @@ -57,13 +53,13 @@ $ sudo apt update $ sudo apt-get install vlc qtwayland5 ``` -### **5\. Atom 文本编辑器** +### 5、Atom 文本编辑器 -由 Github 开发,Atom 是一个免费和开源的文本编辑器,它同样能够被用做集成开发环境(IDE)来进行主流编程语言的编码和编辑。Atom 开发者声称它是 21 世纪的完全可控制的文本编辑器。 +由 GitHub 开发,Atom 是一个自由开源的文本编辑器,它同样能够被用做集成开发环境(IDE)来进行主流编程语言的编码和编辑。Atom 开发者声称它是完全可魔改的 21 世纪文本编辑器。 ![][7] -Atom 文本编辑器属于最好的用户界面之一,它是一个富文本编辑器提供了自动补全,语法高亮、扩展与插件支持。 +Atom 文本编辑器属于最好的用户界面之一,它是一个富文本编辑器,提供了自动补全、语法高亮,支持扩展与插件。 ``` $ sudo add-apt-repository ppa:webupd8team/atom @@ -71,9 +67,9 @@ $ sudo apt-get update $ sudo apt-get install atom ``` -### **6\. GIMP 图像编辑器** +### 6、GIMP 图像编辑器 -GIMP (GNU 图形操作程序)是 Ubuntu 上免费和开源的图像编辑器。有争议说它是 Windows 上 Adobe Photoshop 的最好替代品。如果你过去经常用 Adobe Photoshop,会觉得很难习惯 GIMP,但是你可以自定义 GIMP 使它看起来与 Photoshop 非常相似。 +GIMP(GNU 图形操作程序)是 Ubuntu 上自由开源的图像编辑器。无疑它是 Windows 上 Adobe Photoshop 的最好替代品。如果你过去经常用 Adobe Photoshop,会觉得很难习惯 GIMP,但是你可以自定义 GIMP 使它看起来与 Photoshop 非常相似。 ![][8] @@ -83,23 +79,23 @@ GIMP 是一个功能丰富的图片编辑器,你可以随时通过安装扩展 $ sudo apt-get install gimp ``` -### **7\. Google Play 音乐桌面播放器** +### 7、Google Play 音乐桌面播放器 -Google Play 音乐桌面播放器是一个开源的音乐播放器,它是 Google Play Music 的一个替代品,或者说更好。Google 总是缺少桌面的音乐客户端,但第三方的应用完美的填充了空白。 +Google Play 音乐桌面播放器是一个开源的音乐播放器,它是 Google Play 音乐的一个替代品,或者说比它更好。Google 一直少个桌面的音乐客户端,但第三方的应用完美的填充了空白。 ![][9] -就像你在截屏里看到的,它的界面在外观和感觉上都是首屈一指的。你仅仅需要登录 Google 账户,之后会导入所有你的音乐和你的最爱到桌面客户端里。你可以从它的官方 [站点][10]下载安装文件并使用软件中心安装它。 +就像你在上述截屏里看到的,它的界面在外观和感觉上都是首屈一指的。你只需要登录 Google 账户,之后就会导入所有你的音乐和你的最爱到桌面客户端里。你可以从它的官方[站点][10]下载安装文件并使用软件中心安装它。 -### **8\. Franz** +### 8、Franz -Franz 是一个即时消息客户端,结合了聊天和信息服务到一个应用中。它是现代化的即时消息平台之一,在单个应用中支持 Facebook Messenger, WhatsApp, Telegram, 微信,Google Hangouts, Skype。 +Franz 是一个即时消息客户端,它将聊天和信息服务结合到了一个应用中。它是现代化的即时消息平台之一,在单个应用中支持 Facebook Messenger、WhatsApp、Telegram、微信、Google Hangouts、 Skype。 ![][11] -Franz 是一个完整的消息平台,你同样可以在商业中用它来管理大量的客户服务。为了安装 Franz,你需要从它的[网站][12]下载安装包,在软件中心中打开。 +Franz 是一个完备的消息平台,你可以用于商业中管理大量的客户服务。要安装 Franz,你需要从它的[网站][12]下载安装包,在软件中心中打开。 -### **9\. Synaptic 包管理器** +### 9、Synaptic 包管理器 Synaptic 包管理器是 Ubuntu 上必有工具之一,因为它为我们通常在命令行界面安装软件的 ‘apt-get’ 命令提供了用户图形界面。它是各种 Linux 发行版中默认的应用的强力对手。 @@ -111,7 +107,7 @@ Synaptic 拥有非常简单的用户图形界面,相比其它的应用商店 $ sudo apt-get install synaptic ``` -### **10\. Skype** +### 10、Skype Skype 是一个非常流行的跨平台视频电话应用,如今在 Linux 系统的 Snap 应用中可以获取了。Skype 是一个即时通信应用,它提供了视频和音频通话,桌面共享等特点。 @@ -123,7 +119,7 @@ Skype 有一个优秀的用户图形界面,与 Windows 上的桌面客户端 $ sudo snap install skype ``` -### **13\. VirtualBox** +### 13、VirtualBox VirtualBox 是由 Oracle 公司开发的跨平台的虚拟化软件应用。如果你喜欢尝试新的操作系统,那么 VirtualBox 是为你准备的必备的 Ubuntu 应用。你可以尝试 Windows 内的 Linux,Mac 或者 Linux 系统中的 Windows 和 Mac。 @@ -131,7 +127,7 @@ VirtualBox 是由 Oracle 公司开发的跨平台的虚拟化软件应用。如 VB 实际做的是让你在宿机操作系统里可视化的运行顾客操作系统。它创建虚拟硬盘并在上面安装顾客操作系统。你可以在 Ubuntu 软件中心直接下载和安装。 -### **12\. Unity Tweak 工具** +### 12、Unity Tweak 工具 Unity Tweak 工具(Gnome Tweak 工具)对于每个 Linux 用户都是必须有的,因为它给了用户根据需要自定义桌面的能力。你可以尝试新的 GTK 主题,设置桌面角落,自定义图标集,改变 unity 启动器,等。 @@ -143,7 +139,7 @@ Unity Tweak 工具对于用户来说可能非常有用,因为它包含了从 $ sudo apt-get install unity-tweak-tool ``` -### **13\. Ubuntu Cleaner** +### 13、Ubuntu Cleaner Ubuntu Cleaner是一个系统管理工具,尤其被设计为移除不再使用的包,移除不必要的应用和清理浏览器缓存的。Ubuntu Cleaner 有易于使用的简易用户界面。 @@ -157,7 +153,7 @@ $ sudo apt-get update $ sudo apt-get install ubuntu-cleaner ``` -### 14\. Visual Studio Code +### 14、Visual Studio Code Visual Studio Code 是一个代码编辑器,你会发现它与 Atom 文本编辑器和 Sublime Text 非常相似,如果你曾用过的话。Visual Studio Code 证明是非常好的教育工具,因为它解释了所有东西,从 HTML 标签到编程中的语法。 @@ -165,7 +161,7 @@ Visual Studio Code 是一个代码编辑器,你会发现它与 Atom 文本编 Visual Studio 自身集成了 Git,它有优秀的用户界面,你会发现它与 Atom Text Editor 和 Sublime Text 非常相似。你可以从 Ubuntu 软件中心下载和安装它。 -### **15\. Corebird** +### 15、Corebird 如果你在找你可以用 Twitter 的桌面客户端,那 Corebird Twitter 客户端就是你在找的。它被争议是 Linux 发行版下可获得的最好的 Twitter 客户端,它提供了与你手机上的 Twitter 应用非常相似的功能。 @@ -177,7 +173,7 @@ Visual Studio 自身集成了 Git,它有优秀的用户界面,你会发现 $ sudo snap install corebird ``` -### **16\. Pixbuf** +### 16、Pixbuf Pixbuf 是来自 Pixbuf 图片社区中心的一个桌面客户端,让你上传,分享和出售你的相片。它支持图片共享到社交媒体像 Facebook,Pinterest,Instagram,Twitter,等等,也包括照相服务像 Flickr,500px and Youpic。 @@ -185,7 +181,7 @@ Pixbuf 是来自 Pixbuf 图片社区中心的一个桌面客户端,让你上 Pixbuf提供了分析等功能,可以让你统计点击量、转发量、照片的回复、预定的帖子、专用的iOS 扩展。它同样有移动应用,因此你可以在任何地方连接到你的 Pixbuf 账户。 Pixbuf 在 Ubuntu 软件中心以 Snap 包的形式获得。 -### **17\. Clementine 音乐播放器** +### 17、Clementine 音乐播放器 Clementine 是一个跨平台的音乐播放器,并且是 Ubuntu 上默认音乐播放器 Rhythmbox 的良好竞争者。多亏它的友好的界面,它很快速并易于使用。它支持所有音频文件格式的声音回放。 @@ -199,15 +195,15 @@ $ sudo apt-get update $ sudo apt-get install clementine ``` -### **18\. Blender** +### 18、Blender -Blender 是一个免费和开源的 3D 创建应用软件,你可以用来创建 3D 打印模型,动画电影,视频游戏,等。它自身集成了游戏引擎,你可以用来开发和测试视频游戏。 +Blender 是一个自由开源的 3D 创建应用软件,你可以用来创建 3D 打印模型,动画电影,视频游戏,等。它自身集成了游戏引擎,你可以用来开发和测试视频游戏。 ![blender][22] Blender 拥有赏心悦目的用户界面,易于使用,它包括了内置的渲染引擎,数字雕刻,仿真工具,动画工具,还有很多。考虑到它免费和它的特点,你甚至会认为它可能是 Ubuntu 上最好的应用之一。 -### **19\. Audacity** +### 19、Audacity Audacity 是一个开源的音频编辑应用,你可以用来记录、编辑音频文件。你可以从各种输入中录入音频,包括麦克风,电子吉它,等等。根据你的需要,它提供了编辑和裁剪音频的能力。 @@ -221,7 +217,7 @@ $ sudo apt-get update $ sudo apt-get install audacity ``` -### **20\. Vim** +### 20、Vim Vim 是一个集成开发环境,你可以用作一个独立的应用或各种像 Python 等主流编程语言的命令行接口。 @@ -233,7 +229,7 @@ Vim 是一个集成开发环境,你可以用作一个独立的应用或各种 $ sudo apt-get install vim ``` -### **21\. Inkscape** +### 21、Inkscape Inkscape 是一个开源和跨平台的矢量图形编辑器,你会觉得它和 Corel Draw 和 Adobe Illustrator 很相似。用它可以创建和编辑矢量图形例如柱形图、logo、图表、插图等。 @@ -247,7 +243,7 @@ $ sudo apt-get update $ sudo apt-get install inkscape ``` -### **22\. Shotcut** +### 22、Shotcut Shotcut 是一个免费、开源的跨平台的 Meltytech,LLC 在 MLT 多媒体框架下开发的视频编辑应用。你会发现它是 Linux 发行版上最强大的视频编辑器之一,因为它支持所有主要的音频,视频,图片格式。 @@ -259,7 +255,7 @@ Shotcut 是一个免费、开源的跨平台的 Meltytech,LLC 在 MLT 多媒 snap install shotcut -- classic ``` -### **23\. SimpleScreenRecorder** +### 23、SimpleScreenRecorder SimpleScreenRecorder 是 Ubuntu 上的一个免费和轻量级的屏幕录制工具。屏幕录制非常有用,如果你是 YouTube 创作者或应用开发者。 @@ -273,7 +269,7 @@ $ sudo apt-get update $ sudo apt-get install simplescreenrecorder ``` -### **24\. Telegram** +### 24、Telegram Telegram 是一个基于云的即时通信和网络电话平台,近年来非常流行。它是开源和跨平台的,用户可以用来发送消息,共享视频,图片,音频和其它文件。 @@ -291,7 +287,7 @@ $ sudo snap install telegram-desktop ClamTk 是一个轻量级的病毒扫描器,可以扫描系统中的文件和文件夹并清理发现的有害文件。ClamTk 可以 Snap 包的形式获得,可以从 Ubuntu 软件中心下载。 -### **26\. MailSpring** +### 26、MailSpring 早期的 MailSpring 以 Nylas Mail 或 Nylas N1 而著名,是开源的邮件客户端。它保存所有的邮件在电脑本地,因此你可以在任何需要的时候访问它。它提供了高级搜索的功能,使用与或操作,因此你可以基于不同的参数搜索邮件。 @@ -299,15 +295,15 @@ ClamTk 是一个轻量级的病毒扫描器,可以扫描系统中的文件和 MailSpring 有着和其它易于上手的邮件客户端同样优秀的用户界面。MailSpring 同样提供了私密性、安全性、规划期、通讯录管理、日历等功能特点。 -### **27\. PyCharm** +### 27、PyCharm -PyCharm 是我最喜欢的继 Vim 之后的 Python IDE 之一,因为它有优雅的用户界面,有很多扩展和插件支持。基本上,它有两个版本,一个是免费和开源的社区版,另一个是付费的专业版。 +PyCharm 是我最喜欢的继 Vim 之后的 Python IDE 之一,因为它有优雅的用户界面,有很多扩展和插件支持。基本上,它有两个版本,一个是自由开源的社区版,另一个是付费的专业版。 ![][31] PyCharm 是高度自定义的 IDE 并且有很多功能像错误高亮、代码分析、集成单元测试和 Python 调试器等。PyCharm 对于大多数 Python 程序员和开发者来说是首选的。 -### **28\. Caffeine** +### 28、Caffeine 想象一下你在 Youtube 上看视频或阅读一篇新文章,突然你的 Ubuntu 锁屏了,我知道它很烦人。我们很多人都会遇到这种情况,所以 Caffeine 是一个阻止 Ubuntu 锁屏或屏幕保护程序的工具。 @@ -321,7 +317,7 @@ $ sudo apt-get update $ sudo apt-get install caffeine -y ``` -### **29\. Etcher USB 镜像写入器** +### 29、Etcher USB 镜像写入器 Etcher 是一个有 resin.io 开发的 USB 镜像写入器。它是一个跨平台的应用,帮助你将 ZIP、ISO、IMG 格式的镜像文件写入到 USB 存储中。如果你总是尝试新的操作系统,那么 Ethcher 是你必有的简单可靠的系统。 @@ -329,7 +325,7 @@ Etcher 是一个有 resin.io 开发的 USB 镜像写入器。它是一个跨平 Etcher 有干净的用户界面指导你在三步内烧录镜像到 USB 驱动或 SD 卡的过程。步骤包括选择镜像文件,选择 USB 驱动 和最终的 flash(写文件到 USB 驱动)。你可以从它的[官网][34]下载和安装 Etcher。 -### **30\. Neofetch** +### 30、Neofetch Neofetch 是一个酷炫的系统信息工具,通过在终端中运行 “neofetch” 命令,它会给你关于你的系统的所有信息。它酷是因为它给你关于桌面环境,内核版本,bash 版本和你正在运行的 GTK 主题信息。 @@ -343,9 +339,9 @@ $ sudo apt-get update $ sudo apt-get update install neofetch ``` -### 31\. Liferea +### 31、Liferea -Liferea(Linux 热点阅读器)是一个免费和开源的新闻聚集工具,用于在线新闻订阅。使用新的聚集工具非常快捷和简单,支持各种格式例如 RSS/RDF,Atom 等。 +Liferea(Linux 热点阅读器)是一个自由开源的新闻聚集工具,用于在线新闻订阅。使用新的聚集工具非常快捷和简单,支持各种格式例如 RSS/RDF,Atom 等。 ![][36] Liferea 自带与 TinyTinyRSS 的同步支持,它给了你离线阅读的能力。你会发现,就可靠性和灵活性而言,它是 Linux 上最好的订阅工具之一。 @@ -357,7 +353,7 @@ $ sudo apt-get update $ sudo apt-get install liferea ``` -### 32\. Shutter +### 32、Shutter 在 Ubuntu 中很容易截屏,但当编辑截屏时 Shutter 是你必不可少的应用。它帮助你捕获,编辑和轻松的共享截屏。使用 Shutter 的选择工具,你可以选择屏幕的特定区域来截屏。 @@ -365,7 +361,7 @@ $ sudo apt-get install liferea Shutter 是一个功能强大的截图工具,提供了添加截图效果,画线等功能。它同样给你上传截屏到各种图像保存站点的选项。你可以直接在 Ubuntu 软件中心中下载和安装。 -### 33\. Weather +### 33、Weather Weather 是一个小的应用,给你关于你的城市或世界上其它位置的实时天气信息。它简单而且轻量级,给你超过 7 天的详细天气预报和今明两天的每个小时的细节信息。 @@ -373,7 +369,7 @@ Weather 是一个小的应用,给你关于你的城市或世界上其它位置 它集成在 GNOME shell 中,给你关于最近搜索位置的当前天气状态。它有最小的用户界面,在最小硬件需求下运行很顺畅。 -### 34\. Ramme +### 34、Ramme Ramme 是一个很酷的非官方的 Instagram 桌面客户端,给你带来 Instagram 移动端的感觉。它是基于 Electron 的客户端,所以它替代了 Instagram 应用提供了主题自定义的功能。 @@ -381,7 +377,7 @@ Ramme 是一个很酷的非官方的 Instagram 桌面客户端,给你带来 In 但是由于 Instagram 的 API 限制,你不能使用 Ramme 客户端上传图像,但你总是可以通过订阅 Instagram,喜欢和评论,给好友发消息。你可以从 [Github]][40] 下载 Ramme 安装文件。 -### **35\. Thunderbird** +### 35、Thunderbird Thunderbird 是一个开源的邮件客户端,是很多 Linux 发行版的默认邮件客户端。尽管在 2017 年与 Mozilla 分离,Thunderbird 仍然是 Linux 平台非常流行的最好的邮件客户端。它自带特点像垃圾短信过滤,IMAP 和 POP 邮件同步,日历支持,通讯录集成和很多其它特定。 @@ -389,7 +385,7 @@ Thunderbird 是一个开源的邮件客户端,是很多 Linux 发行版的默 它是一个跨平台的邮件客户端,在所有支持的平台上完全由社区提供支持。多亏它的高度自定义特点,你总是可以改变它的外观和观感。 -### **36\. Pidgin** +### 36、Pidgin Pidgin 是一个即时信息客户端,你能够在单个窗口下登录不同的即时网络。你可以登录到像 Google Talk,XMPP,AIM,Bonjour 等。 @@ -401,15 +397,15 @@ Pidgin 拥有所有你期待的即时通信的特点,你总是可以通过安 $ sudo apt-get install pidgin ``` -### **37\. Krita** +### 37、Krita -Krita 是由 KDE 开发的免费和开源的数字打印,编辑和动画应用。它有优秀的用户界面,每个组件都放的很完美,因此你可以找到你需要的。 +Krita 是由 KDE 开发的自由开源的数字打印,编辑和动画应用。它有优秀的用户界面,每个组件都放的很完美,因此你可以找到你需要的。 ![][43] 它使用 OpenGL 画布,这提升了 Krita 的性能,并且提供了很多特点相不同的绘画工具、动画工具、矢量工具、层、罩等很多。可在 Ubuntu 软件中心获取 Krita 并下载。 -### **38\. Dropbox** +### 38、Dropbox Dropbox 是一个出色的云存储播放器,一旦安装,它在 Ubuntu 中运行得非常好。即使 Google Drive 在 Ubuntu 16.04 LTS 和以后的版本中运行得不错,就 Dropbox 提供的特点而言,Dropbox 仍然是 Linux 上的首选云存储工具。 @@ -420,7 +416,7 @@ Dropbox 是一个出色的云存储播放器,一旦安装,它在 Ubuntu 中 $ sudo apt-get install nautilus-dropbox ``` -### 39\. Kodi +### 39、Kodi Kodi 的前身是人们熟知的 Xbox 媒体中心(XBMC),是一个开源的媒体播放器。你可以在线或离线播放音乐、视频、播客、视频游戏等。这个软件最初是为第一代的 Xbox 游戏控制台开发的,之后慢慢地面向了个人电脑。 @@ -428,7 +424,7 @@ Kodi 的前身是人们熟知的 Xbox 媒体中心(XBMC),是一个开源 Kodi 有令人印象深刻的视频接口,快速而强大。它是可高度定制的媒体播放器,你可以通过安装插件,来获取在线流服务像 Pandora、 Spotify、Amazon Prime Video、Netflix and YouTube。 -### **40\. Spotify** +### 40、Spotify Spotify 是最好的在线媒体流站点之一。它提供免费和付费音乐、播客、视频流服务。早期的 Spotify 不支持 Linux,但现在它有全功能的 Ubuntu 客户端。 @@ -436,7 +432,7 @@ Spotify 是最好的在线媒体流站点之一。它提供免费和付费音乐 与 Google Play 音乐播放器一样,Spotify 是必不可少的媒体播放器。你只需要登录你的 Spotify 账户,就能在任何地方获取你最爱的在线内容。 -### 41\. Brackets +### 41、Brackets Brackets 是一个有 Adobe 开发的开源的文本编辑器。它可被用来进行 web 开发和设计,例如 HTML,CSS 和 JavaScript。它随改变实时预览是一个很棒的特点,当你在脚本中修改时,你可以获得实时预览效果。 @@ -444,7 +440,7 @@ Brackets 是一个有 Adobe 开发的开源的文本编辑器。它可被用来 它是 Ubuntu 上的现代文本编辑器之一,拥有平滑的用户界面,这将 web 开发任务带到新的水平。它同样提供行内编辑器的特点,支持流行的扩展像 Emmet、Beautify、Git、File Icons 等等。 -### 42\. Bitwarden +### 42、Bitwarden 现今,安全问题事件增加,用户密码被盗后,重要的数据受到连累,因此,账户安全性必须严肃对待。推荐你使用 Bitwarden,将你的所有账户和登录密码安全的存在一个地方。 @@ -452,7 +448,7 @@ Brackets 是一个有 Adobe 开发的开源的文本编辑器。它可被用来 Bitwarden 使用 AES-256 加密技术来存储所有的登录细节,只有用户可以访问这些数据。它同样帮你创建健壮的密码,因为弱密码容易被黑。 -### 43\. Terminator +### 43、Terminator Terminator 是一个开源终端模拟器,用 Java 语言开发的。它是一个跨平台的模拟器,允许你在单个窗口有多个终端,在 Linux 默认的终端模拟器中不是这样。 @@ -464,7 +460,7 @@ Terminator 其它杰出的特点包括自动日志、拖、丢、智能垂直和 $ sudo apt-get install terminator ``` -### 44\. Yak Yak +### 44、Yak Yak Yak Yak 是一个开源的非官方的 Google Hangouts 消息的桌面客户端。它可能是一个不错的 Microsort 的 Skype 的替代品,自身拥有很多让人吃惊的特点。你可以允许桌面通知,语言偏好,工作在最小内存或电源需求等。 @@ -472,7 +468,7 @@ Yak Yak 是一个开源的非官方的 Google Hangouts 消息的桌面客户端 Yak Yak 拥有你期待的所有任何即时消息应用的所有特点,例如类型指示、拖、拽媒体文件,音/视频电话。 -### 45\. **Thonny** +### 45、Thonny Thonny 是一个简单和轻量级的 IDE,尤其是为编程的初学者设计的。如果你是编程初学者,这是你必备的 IDE,因为当用 Python 编程的时候它会帮你学习。 @@ -484,7 +480,7 @@ Thonny 同样是一个很棒的调试工具,它支持调试过程中的活变 $ sudo apt-get install thonny ``` -### **46\. Font Manager** +### 46、Font Manager Font Manager 是一个轻量级的工具,用于管理、添加、移除你的 Ubuntu 系统上的字体。尤其是为 Gnome 桌面环境构建的,当用户不知道如何在命令行管理字体的会发现这个工具非常有用。 @@ -496,7 +492,7 @@ $ sudo add-apt-repository ppa:font-manager/staging $ sudo apt-get update $ sudo apt-get install font-manager -### **47\. Atril Document Viewer** +### 47、Atril Document Viewer Atril 是一个简单的文件查看器,支持便携文件格式(PDF)、PostScript(PS)、Encapsulated PostScript(EPS)、DJVU 和 DVI。Atril 绑定在 MATE 桌面环境中,它比大多数 Linux 发行版中默认的文件查看器 Evince 更理想。 @@ -508,7 +504,7 @@ Atril 用简单和轻量级的用户界面,可高度自定义,提供了搜 $ sudo apt-get install atril ``` -### **48\. Notepadqq** +### 48、Notepadqq 如果你曾在 Windows 上用过 Notepad++,并且在 Linux 上寻找相似的程序,别担心,开发者们已经将它移植到 Linux,叫 Notepadqq。它是一个简单且强大的文本编辑器,你可以在日常生活中用它完成各种语言的任务。 @@ -522,7 +518,7 @@ $ sudo apt-get update $ sudo apt-get install notepadqq ``` -### **49\. Amarok** +### 49、Amarok Amarok 是在 KDE 项目下开发的一个开源音乐播放器。它有直观的界面,让你感觉在家一样,因此你可以轻易的发现你最喜爱的音乐。除了 Clementine,当你在寻找 Ubuntu 上的完美的音乐播放器时,Amarok 是一个很棒的选择。 @@ -530,7 +526,7 @@ Amarok 是在 KDE 项目下开发的一个开源音乐播放器。它有直观 Amarok 上的一些顶尖的特点包括智能播放列表支持,集成在线服务像 MP3tunes、Last.fm、 Magnatune 等。 -### **50\. Cheese** +### 50、Cheese Cheese 是 Linux 默认的网络摄像头应用,在视频聊天或即时消息应用中非常有用。除了这些,你还可以用这个应用来照相或拍视频,附带一些迷人的特效。 @@ -538,27 +534,27 @@ Cheese 是 Linux 默认的网络摄像头应用,在视频聊天或即时消息 它同样提供闪拍模式,让你快速拍摄多张相片,并提供你共享给你的朋友和家人的选项。Cheese 预装在大多数的 Linux 发行版中,但是你同样可以在软件中心下载它。 -### **51\. MyPaint** +### 51、MyPaint -MyPaint 是一个免费和开源的光栅图形编辑器,关注于数字绘画而不是图像操作和相片处理。它是跨平台的应用,与 Corel Painter 很相似。 +MyPaint 是一个自由开源的光栅图形编辑器,关注于数字绘画而不是图像操作和相片处理。它是跨平台的应用,与 Corel Painter 很相似。 ![][57] MyPaint 可能是 Windows 上的 Microsoft Paint 应用的很好的替代。它有简单的用户界面,快速而强大。MyPaint 可以软件中心下载。 -### **52\. PlayOnLinux** +### 52、PlayOnLinux PlayOnLinux 是 WINE 模拟器的前端,允许你在 Linux 上运行 Windows 应用。你只需要在 WINE 中安装 Windows 应用,之后你就可以轻松的使用 PlayOnLinux 启动应用和游戏了。 ![][58] -### **53\. Akregator** +### 53、Akregator Akregator 是在 KDE 项目下为 KDE Plasma 环境开发的默认的 RSS 阅读器。它有简单的用户界面,自带了 KDE 的 Konqueror 浏览器,所以你不需要在阅读新闻提要时切换应用。 Akregator 同样提供了桌面通知、自动提要等功能。你会发现在大多数 Linux 发行版中它是最好的提要阅读器。 -### **54\. Brave** +### 54、Brave Brave 是一个开源的 web 浏览器,阻挡了广告和追踪,所以你可以快速和安全的浏览你的内容。它实际做的是代表你像网站和油管主播支付了费用。如果你喜欢像网站和和油管主播共享而不是看广告,这个浏览器更适合你。 @@ -566,7 +562,7 @@ Brave 是一个开源的 web 浏览器,阻挡了广告和追踪,所以你可 对于那些想要安全浏览但有不想错过互联网上重要数据的人来说,这是一个新概念,一个不错的浏览器。 -### **55\. Bitcoin Core** +### 55、Bitcoin Core Bitcoin Core 是一个官方的客户端,非常安全和可靠。它持续追踪你的所有交易以保证你的所有交易都是有效的。它限制比特币矿工和银行完全掌控你的比特币钱包。 @@ -580,7 +576,7 @@ $ sudo apt-get update $ sudo apt-get install bitcoin-qt ``` -### **56\. Speedy Duplicate Finder** +### 56、Speedy Duplicate Finder Speedy Duplicate Finder 是一个跨平台的文件查找工具,用来帮助你查找你的系统上的重复文件,清理磁盘空间。它是一个智能工具,在整个硬盘上搜索重复文件,同样提供智能过滤功能,根据文件类型、扩展或大小帮你找到文件。 @@ -588,15 +584,15 @@ Speedy Duplicate Finder 是一个跨平台的文件查找工具,用来帮助 它有一个简单和整洁的用户界面,易于上手。从软件中心下载完后你就可以开始磁盘空间清理了。 -### **57\. Zulip** +### 57、Zulip -Zulip 是一个免费和开源的群聊应用,被 Dropbox 获得了。它是用 Python 写的,用 PostgreSQL 数据库。它被设计和开发为其它聊天应用像 Slack 和 HipChat 的好的替代品。 +Zulip 是一个自由开源的群聊应用,被 Dropbox 获得了。它是用 Python 写的,用 PostgreSQL 数据库。它被设计和开发为其它聊天应用像 Slack 和 HipChat 的好的替代品。 ![][63] Zulip 功能丰富,例如拖拽文件、群聊、私密聊天、图像预览等。它供养集成了 Github、JIRA、Sentry 和上百种其它服务。 -### **58\. Okular** +### 58、Okular Okular 是 KDE 为 KDE 桌面环境开发的跨平台的文件查看器。它是一个简单的文件查看器,支持 Portable Document Format (PDF), PostScript, DjVu, Microsoft Compiled HTML help 和很多其它文件格式。 @@ -604,7 +600,7 @@ Okular 是 KDE 为 KDE 桌面环境开发的跨平台的文件查看器。它是 Okular 是在 Ubuntu 上你应该尝试的最好的文件查看器之一,它提供了 PDF 文件评论、画线、高亮等很多功能。你同样可以从 PDF 文件中提取文本文件。 -### **59\. FocusWriter** +### 59、FocusWriter FocusWriter 是一个集中注意力的字处理工具,隐藏了你的桌面屏幕,因此你能够专注写作。正如你看到的屏幕截图,整个 Ubuntu 屏被隐藏了,只有你和你的字处理工具。但你总是可以进入 Ubuntu 屏幕,当你需要的时候,只需要将光标移动到屏幕的边缘。 @@ -612,7 +608,7 @@ FocusWriter 是一个集中注意力的字处理工具,隐藏了你的桌面 它是一个轻量级的字处理其,支持 TXT、RTF、ODT 文件格式。它同样提供可完全定制的用户界面,还有定时器、警报、每日目标、声音效果等特点,支持翻译为 20 种语言。 -### **60\. Guake** +### 60、Guake Guake 是为 GNOME 桌面环境准备的酷炫的下拉式终端。当你任务完成后,你需要它消失时, Guake 会闪一下。你只需要按 F12 按钮来启动或退出,这样启动 Guake 币启动一个新的终端窗口更快。 @@ -623,7 +619,7 @@ Guake 是一个特点丰富的终端,支持多栏,只需要点击几下就 ``` $ sudo apt-get install guake ``` -### **61\. KDE Connect** +### 61、KDE Connect KDE Connect 在 Ubuntu 上是一个很棒的应用,我很想在这篇马拉松文章中将它提早列出来,但是竞争激烈。总之 KDE Connect 可以将你的 Android 智能手机的通知直接转到 Ubuntu 桌面来。 @@ -637,7 +633,7 @@ $ sudo apt-get update $ sudo apt-get install kdeconnect indicator-kdeconnect ``` -### **62\. CopyQ** +### 62、CopyQ CopyQ 是一个简单但是非常有用的剪切板管理器,它保存你的系统剪切板内容,无论你做了什么改变,你都可以在你需要的时候恢复它。它是一个很棒的工具,支持文本、图像、HTML、和其它格式。 @@ -651,7 +647,7 @@ $ sudo apt-get update $ sudo apt-get install copyq ``` -### **63\. Tilix** +### 63、Tilix Tilix 是一个功能丰富的高级 GTX3 瓷砖终端模拟器。如果你使用 GNOME 桌面环境,那你会爱上 Tilix,因为它遵循了 GNOME 人类界面指导。Tilix 模拟器与大多数 Linux 发行版上默认终端模拟器相比,它给了你分离终端窗口为多个终端面板。 @@ -665,9 +661,9 @@ $ sudo apt-get update $ sudo apt-get install tilix ``` -### **64\. Anbox** +### 64、Anbox -Anbox 是一个 Android 模拟器,让你在 Linux 系统中安装和运行 Android 应用。它是免费和开源的 Android 模拟器,通过使用 Linux 容器来执行 Android 运行时环境。它使用最新的 Linux 技术 和 Android 发布版,所以你可以运行任何原生的 Android 应用。 +Anbox 是一个 Android 模拟器,让你在 Linux 系统中安装和运行 Android 应用。它是自由开源的 Android 模拟器,通过使用 Linux 容器来执行 Android 运行时环境。它使用最新的 Linux 技术 和 Android 发布版,所以你可以运行任何原生的 Android 应用。 ![][70] @@ -682,7 +678,7 @@ $ sudo apt install anbox-modules-dkms Now install Anbox using snap $ snap install --devmode -- beta anbox ``` -### **65\. OpenShot** +### 65、OpenShot 你会发现 OpenShot 是 Linux 发行版中最好的开源视频编辑器。它是跨平台的视频编辑器,易于使用,不在性能方面妥协。它支持所有主流的音频、视频、图像格式。 @@ -696,7 +692,7 @@ $ sudo apt-get update $ sudo apt-get install openshot -qt ``` -### **66\. Plank** +### 66、Plank 如果你在为你的 Ubuntu 桌面寻找一个 Dock 导航栏,那 Plank 应该是一个选择。它是完美的,安装后你不需要任何的修改,除非你想这么做,它有内置的偏好面板,你可以自定义主题,Dock 大小和位置。 @@ -711,7 +707,7 @@ $ sudo apt-get update $ sudo apt-get install plank ``` -### **67\. Filezilla** +### 67、Filezilla Filezilla 是一个免费和跨平台的 FTP 应用,包括 Filezilla 客户端和服务器。它让你使用 FTP 和加密的 FTP 像 FTPS 和 SFTP 传输文件,支持 IPv6 网络协议。 @@ -719,7 +715,7 @@ Filezilla 是一个免费和跨平台的 FTP 应用,包括 Filezilla 客户端 它是一个简单的文件传输应用,支持拖拽,支持世界范围的各种语言,多任务的强大用户界面,控制和配置传输速度。 -### **68\. Stacer** +### 68、Stacer Stacer 是一个开源的系统诊断和优化工具,使用 Electron 开发框架开发的。它有一个优秀的用户界面,你可以清理缓存内存,启动应用,卸载不需要的应用,掌控后台系统进程。 @@ -733,7 +729,7 @@ $ sudo apt-get update $ sudo apt-get install stacer ``` -### **69\. 4K Video Downloader** +### 69、4K Video Downloader 4K Video Downloader 是一个简单的视频下载工具,你可以用来从 Vimeo、Facebook、YouTube 和其它在线视频流站点下载视频,播放列表,频道。它支持下载 YouTuBe 播放列表和频道,以 MP4, MKV, M4A, 3GP 和很多其它 音/视频格式。 @@ -741,7 +737,7 @@ $ sudo apt-get install stacer 4K Video Downloader 不是你想的那么简单,除了正常的视频下载,它支持 3D 和 360 度 视频下载。它同样提供内置应用协议链接,直连 iTunes。你可以从[这里][76]下载。 -### 70\. **Qalculate** +### 70、Qalculate Qalculate 是一个多目的、跨平台的桌面计算器,简单但是强大。它可以用来解决复杂的数学问题和等式,货币汇率转换和很多其它日常计算。 @@ -749,7 +745,7 @@ Qalculate 是一个多目的、跨平台的桌面计算器,简单但是强大 它有优秀的用户界面,提供了自定义功能,单元计算,符号计算,算数,画图,和很多你可以在科学计算器上发现的功能。 -### **71\. Hiri** +### 71、Hiri Hiri 是一个跨平台的邮件客户端,使用 Python 语言开发的。它有平滑的用户界面,就它的功能和服务而言,是 Micorsoft Outlook 的很好的替代品。这是很棒的邮件客户端,可以用来发送和接收邮件,管理通讯录,日历和任务。 @@ -762,7 +758,7 @@ Hiri 是一个跨平台的邮件客户端,使用 Python 语言开发的。它 $ sudo snap install hiri ``` -### **72\. Sublime Text** +### 72、Sublime Text Sublime Text 是一个跨平台的源代码编辑器,用 C++ 和 Python 写的。它有 Python 语言编程接口(API),支持所有主流的编程语言和标记语言。它是简单轻量级的文本编辑器,可被用作 IDE,包含自动补全,语法高亮,分窗口编辑等功能。 @@ -774,7 +770,7 @@ Sublime Text 是一个跨平台的源代码编辑器,用 C++ 和 Python 写的 $ sudo apt-get install sublime-text ``` -### **73\. TeXstudio** +### 73、TeXstudio Texstudio 是一个创建和编辑 LaTex 文件的集成写作环境。它是开源的编辑器,提供了语法高亮、集成查看、交互式拼写检查、代码折叠、拖拽等特点。 @@ -782,7 +778,7 @@ Texstudio 是一个创建和编辑 LaTex 文件的集成写作环境。它是开 它是跨平台的编辑器,有简单轻量级的用户界面,易于使用。它集成了 BibTex和 BibLatex 目录管理器,同样有集成的 PDF 查看器。你可以从[官网][81]和 Ubuntu 软件中心下载 Texstudio。 -### **74\. QtQR** +### 74、QtQR QtQR 是一个基于 Qt 的应用,让你在 Ubuntu 中创建和读取二维码。它是用 Python 和 Qt 开发的,有简单和轻量级的用户界面,你可以编码网站地址、邮件、文本、短消息等。你也可以用网络相机解码二维码。 @@ -796,7 +792,7 @@ $ sudo apt-get update $ sudo apt-get install qtqr ``` -### **75\. Kontact** +### 75、Kontact Kontact 是一个由 KDE 为 KDE 桌面环境开发的集成的个人信息管理器(PIM)。它集成了多个软件到一个集合中,集成了 KMail、KOrganizer和 KAddressBook 到一个用户界面,你可以管理所有的邮件、通讯录、日程表等。 @@ -808,7 +804,7 @@ Kontact 是一个由 KDE 为 KDE 桌面环境开发的集成的个人信息管 $ sudo apt-get install kontact ``` -### **76\. NitroShare** +### 76、NitroShare NitroShare 是一个跨平台、开源的网络文件共享应用。它让你轻松的在局域网的多个操作系统中共享文件。它简单而强大,当在局域网中运行 NitroShare 时,它会自动侦查其它设备。 @@ -822,7 +818,7 @@ $ sudo apt-get update $ sudo apt-get install nitroshare ``` -### **77\. Konversation** +### 77、Konversation Konversation 是一个为 KDE 桌面环境开发的开源的网络中继聊天(IRC)客户端。它给了到 Freenode 网络平岛的快速入口,你可以为大多数发行版找到支持。 @@ -834,7 +830,7 @@ Konversation 是一个为 KDE 桌面环境开发的开源的网络中继聊天 $ sudo apt-get install konversation ``` -### **78\. Discord** +### 78、Discord 如果你是硬核游戏玩家,经常玩在线游戏,我有一个很棒的应用推荐给你。Discord 是一个免费的网络电话应用,尤其是为在线游戏者们设计的。它是一个跨平台的应用,可用来文字或语音聊天。 @@ -842,7 +838,7 @@ $ sudo apt-get install konversation Discord 是一个非常流行的语音通话应用游戏社区,因为它是完全免费的,它是 Skype,Ventrilo,Teamspeak 的很好的竞争者。它同样提供清晰的语音质量,现代的文本聊天,你可以共享图片,视频和链接。 -### **79\. QuiteRSS** +### 79、QuiteRSS QuiteRSS是一个开源的 RSS 的新闻聚合和 Atom 新闻要点应用。它是跨平台的要点阅读器,用 Qt 和 C++ 写的。它有简单的用户界面,你可以改变为经典或者报纸模式。它集成了 webkit 浏览器,因此,你可以在单个窗口执行所有任务。 @@ -854,9 +850,9 @@ QuiteRSS 自带了很多功能,像内容过滤,自动规划摘要,导入/ $ sudo apt-get install quiterss ``` -### **80\. MPV Media Player** +### 80、MPV Media Player -MPV 是一个免费和开源的媒体播放器,基于 MPlayer 和 MPlayer 2。它有简单的用户界面,用户之需要拖拽音/视频文件来播放,因为在 GUI 上没有添加媒体文件的选项。 +MPV 是一个自由开源的媒体播放器,基于 MPlayer 和 MPlayer 2。它有简单的用户界面,用户之需要拖拽音/视频文件来播放,因为在 GUI 上没有添加媒体文件的选项。 ![][88] @@ -868,7 +864,7 @@ $ sudo apt-get update $ sudo apt-get install -y mpv ``` -### **81\. Plume Creator** +### 81、Plume Creator 如果你是一个作家,那么 Plume Creator 是你必不可少的应用,因为你在 Ubuntu 上找不到其它应用像 Plume Creater 这样。写作和编辑故事、章节是繁重的任务,在 Plume Creator 这个令人惊奇的工具的帮助下,将大大帮你简化这个任务。 @@ -880,11 +876,11 @@ $ sudo apt-get install -y mpv $ sudo apt-get install plume-creator ``` -### **82\. Chromium Web Browser** +### 82、Chromium Web Browser Chromium 是一个由 Google 开发和发布的开源 web 浏览器。Chromium 就其外观和特点而言,很容易被误认为是 Chrome。它是轻量级和快速的网络浏览器,拥有最小用户界面。 -### **83\. Simple Weather Indicator** +### 83、Simple Weather Indicator Simple Weather Indicator 是用 Python 开发的开源天气提示应用。它自动侦查你的位置,并显示你天气信息像温度,下雨的可能性,湿度,风速和可见度。 @@ -892,7 +888,7 @@ Simple Weather Indicator 是用 Python 开发的开源天气提示应用。它 Weather indicator 自带一些可配置项,例如位置检测,温度 SI 单元,位置可见度开关等等。它是一个酷应用,可以根据你的桌面来调整舒服。 -### **84\. SpeedCrunch** +### 84、SpeedCrunch SpeedCrunch 是一个快速和高精度的科学计算器。它预置了数学函数,用户定义函数,复数和单位转换支持。它有简单的用户界面并易于使用。 @@ -901,15 +897,15 @@ SpeedCrunch 是一个快速和高精度的科学计算器。它预置了数学 这个科学计算器有令人吃惊的特点像结果预览,语法高亮和自动补全。它是跨平台的,并有多语言支持。 -### **85\. Scribus** +### 85、Scribus -Scribus 是一个免费和开源的桌面出版应用,允许你创建宣传海报,杂志和图书。它是基于 Qt 工具器的跨平台英语,在 GNU 通用公共证书下发布。它是一个专业的应用,拥有 CMYK 和 ICC 颜色管理的功能,基于 Python 的脚本引擎,和 PDF 创建。 +Scribus 是一个自由开源的桌面出版应用,允许你创建宣传海报,杂志和图书。它是基于 Qt 工具器的跨平台英语,在 GNU 通用公共证书下发布。它是一个专业的应用,拥有 CMYK 和 ICC 颜色管理的功能,基于 Python 的脚本引擎,和 PDF 创建。 ![][93] Scribus 有相当好的用户界面,易于使用,轻松在低配置下使用。在所有的最新的 Linux 发行版的软件中心可以下载它。 -### **86.** **Cura** +### 86. Cura Cura 是一个由 David Braam 开发的开源的 3D 打印应用。Ultimaker Cura 是 3D 打印世界最流行的软件,并世界范围的百万用户使用。它遵守 3D 打印模型的 3 步:设计,准备,打印。 @@ -917,7 +913,7 @@ Cura 是一个由 David Braam 开发的开源的 3D 打印应用。Ultimaker Cur 它是功能丰富的 3D 打印应用,为 CAD 插件和扩展提供了无缝支持。它是一款简单易于使用的工具,新手艺术家可以马上开始了。它支持主流的文件格式像 STL,3MF,和 OBJ。 -### **87\. Nomacs** +### 87、Nomacs Nomacs 是一款开源、跨平台的图像浏览器,支持所有主流的图片格式包括 RAW 和 psd 图像。它可以浏览 zip 文件中的图像或者 Microsoft Office 文件并提取到目录。 @@ -931,7 +927,7 @@ $ sudo apt-get update $ sudo apt-get install nomacs ``` -### **88\. BitTicker** +### 88、BitTicker BitTicker 是一个 Ubuntu 上的在线比特币-USDT 收报。它是一个简单的工具,能够连接到 bittrex.com 市场,提取最新的 BTC-USDT 并在系统托盘显示 Ubuntu 时钟。 @@ -939,7 +935,7 @@ BitTicker 是一个 Ubuntu 上的在线比特币-USDT 收报。它是一个简 它是简单但有用的工具,如果你经常有规律的投资比特币并且必须了解价格波动的话。 -### **89\. Organize My Files** +### 89、Organize My Files Organize My Files 是一个跨平台的一键点击文件组织工具,它在 Ubuntu 中以 Snap 包的形式获得。它简单但是强大,帮助你找到未组织的文件,通过简单点击来掌控它们。 @@ -947,7 +943,7 @@ Organize My Files 是一个跨平台的一键点击文件组织工具,它在 U 它有易于理解的用户界面,强大且快速。它提供了很多功能:自动组织,递归组织,智能过滤和多层文件夹组织等。 -### **90\. GnuCash** +### 90、GnuCash GnuCash 是一个金融账户软件,在 GNU 公共证书下免费使用。它是个人和商业账户的理想软件。它有简单的用户界面允许你追踪银行账户,股票,收入和花费。 @@ -955,7 +951,7 @@ GnuCash 是一个金融账户软件,在 GNU 公共证书下免费使用。它 GnuCash 实现了双入口记账系统,基于专业的账户原则来确保帐薄的平衡和报告的精确。 -v### **91\. Calibre** +v### 91、Calibre Calibre 是一个跨平台开源的面向你所有电子书需要的解决方案。它是一个简单的电子书管理器,提供显示、创建、编辑电子书、组织已存在的电子书到虚拟书库、同步和其它更多。 @@ -963,7 +959,7 @@ Calibre 是一个跨平台开源的面向你所有电子书需要的解决方案 Calibre 同样帮你转换电子书到你需要的格式并发送到你的电子书阅读设备。Calibre 是一个很棒的工具,如果你经常阅读和管理电子书的话。 -### **92\. MATE Dictionary** +### 92、MATE Dictionary MATE Dictionary 是一个简单的词典,基本上是为 MATE 桌面环境开发的。你可以仅仅输入字然后这个字典会显示意思和引用。 @@ -971,7 +967,7 @@ MATE Dictionary 是一个简单的词典,基本上是为 MATE 桌面环境开 它简单和轻量级的在线词典,有最小的用户接口。 -### **93\. Converseen** +### 93、Converseen Converseen 是免费的跨平台的批量图片处理应用,允许你转换、编辑、调整、旋转、裁剪大量图像,仅仅一次鼠标调集。它提供了图像批量重命名的功能,使用前缀或后缀,从一个 Windows 图标文件提取图像等。 @@ -979,7 +975,7 @@ Converseen 是免费的跨平台的批量图片处理应用,允许你转换、 它有很好的用户界面,易于使用,即时你是一个新手。它也能够转换整个 PDF 文件为图像集合。 -### **94\. Tiled Map Editor** +### 94、Tiled Map Editor Tiled 是一个免费的水平映射图编辑器,允许你编辑各种形式的投影映射图,例如正交、等轴、和六角的。这个工具对于游戏开发者在游戏引擎开发周期内可能非常有用。 @@ -987,9 +983,9 @@ Tiled 是一个免费的水平映射图编辑器,允许你编辑各种形式 Tiled 是一个通用的映射图编辑器,让你创建强大的促进位置,图布局,碰撞区域和敌人位置。它保存所有的数据为 tmx 格式。 -### **95.** **Qmmp** +### 95. Qmmp -Qmmp 是一个免费和开源的音频播放器,用 C++ 和 Qt 开发的。它是跨平台的音频播放器,界面与 Winamp 很相似。 它有简单的直观的用户界面,Winamp 皮肤可替代默认的 UI。 +Qmmp 是一个自由开源的音频播放器,用 C++ 和 Qt 开发的。它是跨平台的音频播放器,界面与 Winamp 很相似。 它有简单的直观的用户界面,Winamp 皮肤可替代默认的 UI。 ![][103] @@ -1001,7 +997,7 @@ $ sudo apt-get update $ sudo apt-get install qmmp qmmp-q4 qmmp-plugin-pack-qt4 ``` -### **96\. Arora** +### 96、Arora Arora 是一个免费开源的 web 浏览器,提供了专有的下载管理器,书签,私密模式,选项卡式浏览。 @@ -1009,7 +1005,7 @@ Arora 是一个免费开源的 web 浏览器,提供了专有的下载管理器 Arora web 浏览器由 Benjamin C. Meyer 开发,它由于它的轻量自然灵活的特点在 Linux 用户间很受欢迎。 -### **97\. XnSketch** +### 97、XnSketch XnSketch 是一个 Ubuntu 上的酷应用,只需要几次点击,就能帮你转换你的图片为卡通或素描图。它展现了 18 个不同的效果例如:锐化、白描、铅笔画和其它的。 @@ -1017,7 +1013,7 @@ XnSketch 是一个 Ubuntu 上的酷应用,只需要几次点击,就能帮你 它有优秀的用户界面,易于使用。一些额外的特点包括容量和边缘强度调整,对比,亮度,饱和度调整。 -### **98\. Geany** +### 98、Geany Geany 是一个简单轻量级的文本编辑器,像一个集成开发环境。它是跨平台的文本编辑器,支持所有主流编程语言包括Python、C++、LaTex、Pascal、 C#、 etc。 @@ -1025,7 +1021,7 @@ Geany 是一个简单轻量级的文本编辑器,像一个集成开发环境 $ sudo apt-get install geany ``` -### **99\. Mumble** +### 99、Mumble Mumble 是另一个 IP 上的语音应用相似与 Discord。Mumble 同样最初是为在线游戏者使用的,在端到端的聊天上用了客户端-服务器架构。声音质量在 Mumble 上非常好,它提供了端到端的加密来确保私密性。 @@ -1037,7 +1033,7 @@ Mumble 是一个开源应用,有简单的用户界面,易于使用。Mumble $ sudo apt-get install mumble-server ``` -### **100\. Deluge** +### 100、Deluge Deluge 是一个跨平台的轻量级的 BitTorrent 客户端,能够用来在 Ubuntu 上下载文件。BitTorrent 客户端与很多 Linux 发行版一起发行,但 Deluge 是最好的 BitTorrent 客户端,界面简单,易于使用。 @@ -1175,7 +1171,7 @@ via: https://linuxhint.com/100_best_ubuntu_apps/ [108]:https://linuxhint.com/wp-content/uploads/2018/06/Deluge.png [109]:https://twitter.com/linuxhint [110]:https://twitter.com/SwapTirthakar - +[111]:https://linux.cn/lctt/ From 7e7b2c582e17f864b48fcae94a84ad98c211b8a2 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Sat, 29 Jun 2019 21:31:30 +0800 Subject: [PATCH 02/61] PRF:20180629 100 Best Ubuntu Apps.md PART 2 --- .../tech/20180629 100 Best Ubuntu Apps.md | 118 +++++++++--------- 1 file changed, 60 insertions(+), 58 deletions(-) diff --git a/translated/tech/20180629 100 Best Ubuntu Apps.md b/translated/tech/20180629 100 Best Ubuntu Apps.md index fdacde6fb3..c1e54b5d6b 100644 --- a/translated/tech/20180629 100 Best Ubuntu Apps.md +++ b/translated/tech/20180629 100 Best Ubuntu Apps.md @@ -11,7 +11,7 @@ ### 1、Google Chrome 浏览器 -几乎所有 Linux 发行版都默认安装了 Mozilla Firefox 网络浏览器,并且它是 Google Chrome 的强力竞争对手。但是 Chrome 相对 Firefox 而言有它自己的优点,比如它可以让你直接访问你的 Google 账户,你可以通过它来同步你在其它操作系统和手机上的 Chrome 浏览器的书签、浏览历史、扩展等等。 +几乎所有 Linux 发行版都默认安装了 Mozilla Firefox 网络浏览器,它是 Google Chrome 的强力竞争对手。但是 Chrome 相对 Firefox 而言有它自己的优点,比如它可以让你直接访问你的 Google 账户,你可以通过它来同步你在其它操作系统和手机上的 Chrome 浏览器的书签、浏览历史、扩展等等。 ![Chrome][3] @@ -19,11 +19,11 @@ Google Chrome 为 Linux 集成了最新的 Flash 播放器,其它 Linux 上的 ### 2、Steam -现在在 Linux 上玩游戏已经不是问题了,这在很多年前还是一个遥不可及的梦。在 2013 年,Valve 发布了 Linux 上的 Steam 游戏客户端,此后一切都变了。早期用户犹豫着从 Windows 转到 Linux,只是因为它们不能在 Ubuntu 上玩它们最喜欢的游戏,但是现在已经不是这样了。 +现在在 Linux 上玩游戏已经不是问题了,这在很多年前还是一个遥不可及的梦。在 2013 年,Valve 发布了 Linux 上的 Steam 游戏客户端,此后一切都变了。早期用户犹豫着从 Windows 转到 Linux,只是因为他们不能在 Ubuntu 上玩它们最喜欢的游戏,但是现在已经不是这样了。 ![Steam][4] -一些用户可能发现在 Linux 上安装 Steam 有点棘手,但如果能在 Linux 上玩上千的 Steam 游戏时这么做就是值得的。一些流行的高端游戏,如《反恐精英:全球攻势》、《Hitman》、《Dota 2》在 Linux 上都能获取,你只需要确保你满足玩这些游戏的最小硬件需求。 +一些用户可能发现在 Linux 上安装 Steam 有点棘手,但如果能在 Linux 上玩上千的 Steam 游戏这么做就是值得的。一些流行的高端游戏,如《反恐精英:全球攻势》、《Hitman》、《Dota 2》在 Linux 上都能获取,你只需要确保你满足玩这些游戏的最小硬件需求。 ``` $ sudo add-apt-repository multiverse @@ -33,11 +33,11 @@ $ sudo apt-get install steam ### 3、WordPress 桌面客户端 -是的,没错,WordPress 有它专有的 Ubuntu 平台的客户端,你可以用来管理你的 WordPress 站点。你可以只在桌面客户端上撰写和设计你的站点而不用转到浏览器。 +是的,没错,WordPress 有它专属的 Ubuntu 平台的客户端,你可以用来管理你的 WordPress 站点。你可以在桌面客户端上撰写和设计你的站点而不用转到浏览器。 ![][5] -如果你拥有 WordPress 建立的站点,那么这个桌面客户端就是你必备的应用,它能够让你在单个窗口内追踪所有的 WordPress 通知。你也可以查看站点博客的数据。桌面客户端可以在 Ubuntu 软件中心中获取,你可以在那里下载和安装。 +如果你拥有使用 WordPress 建立的站点,那么这个桌面客户端就是你必备的应用,它能够让你在单个窗口内追踪所有的 WordPress 通知。你也可以查看你的站点上的博客数据。桌面客户端可以在 Ubuntu 软件中心中获取,你可以在那里下载和安装。 ### 4、VLC 媒体播放器 @@ -55,11 +55,11 @@ $ sudo apt-get install vlc qtwayland5 ### 5、Atom 文本编辑器 -由 GitHub 开发,Atom 是一个自由开源的文本编辑器,它同样能够被用做集成开发环境(IDE)来进行主流编程语言的编码和编辑。Atom 开发者声称它是完全可魔改的 21 世纪文本编辑器。 +由 GitHub 开发的 Atom 是一个自由开源的文本编辑器,它同样能够被用做集成开发环境(IDE)来进行主流编程语言的编码和编辑。Atom 开发者声称它是完全可魔改的 21 世纪文本编辑器。 ![][7] -Atom 文本编辑器属于最好的用户界面之一,它是一个富文本编辑器,提供了自动补全、语法高亮,支持扩展与插件。 +Atom 文本编辑器拥有最佳的用户界面,它是一个富文本编辑器,提供了自动补全、语法高亮,支持扩展与插件。 ``` $ sudo add-apt-repository ppa:webupd8team/atom @@ -69,7 +69,7 @@ $ sudo apt-get install atom ### 6、GIMP 图像编辑器 -GIMP(GNU 图形操作程序)是 Ubuntu 上自由开源的图像编辑器。无疑它是 Windows 上 Adobe Photoshop 的最好替代品。如果你过去经常用 Adobe Photoshop,会觉得很难习惯 GIMP,但是你可以自定义 GIMP 使它看起来与 Photoshop 非常相似。 +GIMP(GNU 图形操作程序)是 Ubuntu 上的自由开源的图像编辑器。无疑它是 Windows 上 Adobe Photoshop 的最好替代品。如果你过去经常用 Adobe Photoshop,会觉得很难习惯 GIMP,但是你可以自定义 GIMP 使它看起来与 Photoshop 非常相似。 ![][8] @@ -81,27 +81,27 @@ $ sudo apt-get install gimp ### 7、Google Play 音乐桌面播放器 -Google Play 音乐桌面播放器是一个开源的音乐播放器,它是 Google Play 音乐的一个替代品,或者说比它更好。Google 一直少个桌面的音乐客户端,但第三方的应用完美的填充了空白。 +Google Play 音乐桌面播放器是一个开源的音乐播放器,它是 Google Play 音乐的一个复制品,或者说比它更好。Google 一直少个桌面的音乐客户端,但第三方的应用完美的填充了空白。 ![][9] -就像你在上述截屏里看到的,它的界面在外观和感觉上都是首屈一指的。你只需要登录 Google 账户,之后就会导入所有你的音乐和你的最爱到桌面客户端里。你可以从它的官方[站点][10]下载安装文件并使用软件中心安装它。 +就像你在上面的截屏里看到的,它的界面在外观和感觉上都是首屈一指的。你只需要登录 Google 账户,之后就会导入你的所有音乐和收藏到桌面客户端里。你可以从它的官方[站点][10]下载安装文件并使用软件中心安装它。 ### 8、Franz -Franz 是一个即时消息客户端,它将聊天和信息服务结合到了一个应用中。它是现代化的即时消息平台之一,在单个应用中支持 Facebook Messenger、WhatsApp、Telegram、微信、Google Hangouts、 Skype。 +Franz 是一个即时消息客户端,它将聊天和信息服务结合到了一个应用中。它是一个现代化的即时消息平台,在单个应用中支持了 Facebook Messenger、WhatsApp、Telegram、微信、Google Hangouts、 Skype。 ![][11] Franz 是一个完备的消息平台,你可以用于商业中管理大量的客户服务。要安装 Franz,你需要从它的[网站][12]下载安装包,在软件中心中打开。 -### 9、Synaptic 包管理器 +### 9、新立得包管理器 - Synaptic 包管理器是 Ubuntu 上必有工具之一,因为它为我们通常在命令行界面安装软件的 ‘apt-get’ 命令提供了用户图形界面。它是各种 Linux 发行版中默认的应用的强力对手。 +新立得包管理器是 Ubuntu 上必有工具之一,因为它为我们通常在终端里安装软件的 `apt-get` 命令提供了用户图形界面。它是各种 Linux 发行版中的默认应用商店的强力对手。 ![][13] -Synaptic 拥有非常简单的用户图形界面,相比其它的应用商店非常快并易于使用。左手边你可以浏览不同分类的各种应用,也可以轻松安装和卸载。 +新立得拥有非常简单的用户图形界面,相比其它的应用商店非常快并易于使用。在左手边你可以浏览不同分类的各种应用,也可以轻松安装和卸载。 ``` $ sudo apt-get install synaptic @@ -109,7 +109,7 @@ $ sudo apt-get install synaptic ### 10、Skype -Skype 是一个非常流行的跨平台视频电话应用,如今在 Linux 系统的 Snap 应用中可以获取了。Skype 是一个即时通信应用,它提供了视频和音频通话,桌面共享等特点。 +Skype 是一个非常流行的跨平台视频电话应用,如今在 Linux 系统可以以 Snap 应用方式获取。Skype 是一个即时通信应用,它提供了视频和音频通话、桌面共享等功能。 ![][14] @@ -121,15 +121,15 @@ $ sudo snap install skype ### 13、VirtualBox -VirtualBox 是由 Oracle 公司开发的跨平台的虚拟化软件应用。如果你喜欢尝试新的操作系统,那么 VirtualBox 是为你准备的必备的 Ubuntu 应用。你可以尝试 Windows 内的 Linux,Mac 或者 Linux 系统中的 Windows 和 Mac。 +VirtualBox 是由 Oracle 公司开发的跨平台的虚拟化软件应用(LCTT 译注:实际上是由被 Oracle 公司收购的 Sun 公司开发的,包括 Java、Solaris 也是)。如果你喜欢尝试新的操作系统,那么 VirtualBox 是你必备的 Ubuntu 应用。你可以在 Windows 内尝试 Linux、Mac,也可以在 Linux 系统内尝试 Windows 和 Mac。 ![][15] -VB 实际做的是让你在宿机操作系统里可视化的运行顾客操作系统。它创建虚拟硬盘并在上面安装顾客操作系统。你可以在 Ubuntu 软件中心直接下载和安装。 +VirtualBox 实际做的是让你在宿机操作系统里可视化地运行访客操作系统。它可以创建虚拟硬盘并在上面安装访客操作系统。你可以在 Ubuntu 软件中心直接下载和安装它。 ### 12、Unity Tweak 工具 -Unity Tweak 工具(Gnome Tweak 工具)对于每个 Linux 用户都是必须有的,因为它给了用户根据需要自定义桌面的能力。你可以尝试新的 GTK 主题,设置桌面角落,自定义图标集,改变 unity 启动器,等。 +Unity Tweak 工具(Gnome Tweak 工具)对于每个 Linux 用户都是必须拥有的,因为它给了用户根据需要自定义桌面的能力。你可以尝试新的 GTK 主题、设置桌面热角、自定义图标集、调整 unity 启动器等等。 ![][16] @@ -141,11 +141,11 @@ $ sudo apt-get install unity-tweak-tool ### 13、Ubuntu Cleaner -Ubuntu Cleaner是一个系统管理工具,尤其被设计为移除不再使用的包,移除不必要的应用和清理浏览器缓存的。Ubuntu Cleaner 有易于使用的简易用户界面。 +Ubuntu Cleaner 是一个系统管理工具,其被特别设计用来移除不再使用的包、不需要的应用和清理浏览器缓存。Ubuntu Cleaner 有易于使用的简单用户界面。 ![][17] -Ubuntu Cleaner是 BleachBit 最好的替代品之一,BleachBit 是 Linux 发行版上的相当好的清理工具。 +Ubuntu Cleaner 是 BleachBit 最好的替代品之一,BleachBit 是 Linux 发行版上的相当好的清理工具。 ``` $ sudo add-apt-repository ppa:gerardpuig/ppa @@ -155,7 +155,7 @@ $ sudo apt-get install ubuntu-cleaner ### 14、Visual Studio Code -Visual Studio Code 是一个代码编辑器,你会发现它与 Atom 文本编辑器和 Sublime Text 非常相似,如果你曾用过的话。Visual Studio Code 证明是非常好的教育工具,因为它解释了所有东西,从 HTML 标签到编程中的语法。 +Visual Studio Code 是一个代码编辑器,你会发现它与你可能曾用过的 Atom 文本编辑器和 Sublime Text 非常相似。Visual Studio Code 被证明是非常好的教育工具,因为它可以对编程中的从 HTML 标签到语法的所有东西做出解释。 ![][18] @@ -163,11 +163,11 @@ Visual Studio 自身集成了 Git,它有优秀的用户界面,你会发现 ### 15、Corebird -如果你在找你可以用 Twitter 的桌面客户端,那 Corebird Twitter 客户端就是你在找的。它被争议是 Linux 发行版下可获得的最好的 Twitter 客户端,它提供了与你手机上的 Twitter 应用非常相似的功能。 +如果你在找你可以使用 Twitter 的桌面客户端,那 Corebird Twitter 客户端就是你在找的。它被视为 Linux 发行版下可获得的最好的 Twitter 客户端,它提供了与你手机上的 Twitter 应用非常相似的功能。 ![][19] - 当有人喜欢或者转发你的 tweet 或者给你发消息时,Corebird Twitter 客户端同样会给你通知。你同样可以在这个客户端上添加多个 Twitter 账户。 +当有人喜欢或者转发你的 tweet 或者给你发消息时,Corebird Twitter 客户端同样会给你通知。你同样可以在这个客户端上添加多个 Twitter 账户。 ``` $ sudo snap install corebird @@ -175,19 +175,19 @@ $ sudo snap install corebird ### 16、Pixbuf -Pixbuf 是来自 Pixbuf 图片社区中心的一个桌面客户端,让你上传,分享和出售你的相片。它支持图片共享到社交媒体像 Facebook,Pinterest,Instagram,Twitter,等等,也包括照相服务像 Flickr,500px and Youpic。 +Pixbuf 是来自 Pixbuf 图片社区中心的一个桌面客户端,可以让你上传、分享和出售你的相片。它支持图片共享,如像 Facebook、Pinterest、Instagram、Twitter 等社交媒体,以及像 Flickr、500px 和 Youpic 等相片服务。 ![][20] -Pixbuf提供了分析等功能,可以让你统计点击量、转发量、照片的回复、预定的帖子、专用的iOS 扩展。它同样有移动应用,因此你可以在任何地方连接到你的 Pixbuf 账户。 Pixbuf 在 Ubuntu 软件中心以 Snap 包的形式获得。 +Pixbuf 提供了分析等功能,可以让你统计点击量、转发量、照片的回复数、定时发帖、iOS 专有的扩展信息。它同样有移动应用,因此你可以在任何地方连接到你的 Pixbuf 账户。Pixbuf 可以在 Ubuntu 软件中心以 Snap 包的形式获得。 ### 17、Clementine 音乐播放器 -Clementine 是一个跨平台的音乐播放器,并且是 Ubuntu 上默认音乐播放器 Rhythmbox 的良好竞争者。多亏它的友好的界面,它很快速并易于使用。它支持所有音频文件格式的声音回放。 +Clementine 是一个跨平台的音乐播放器,并且是 Ubuntu 上默认音乐播放器 Rhythmbox 的良好竞争者。它是一个快速而易用的音乐播放器,其用户界面友好。它支持所有主流音频文件格式的回放。 ![][21] -除了播放本地库中的音乐,你也可以在线听 Spotify, SKY.fm, Soundcloud 等的广播。它也支持其它的功能像智能动态播放列表,从像 Dropbox,Google Drive 这样的云存储中同步音乐。 +除了可以播放本地库中的音乐,你也可以在线听 Spotify、SKY.fm、Soundcloud 等的广播。它也支持其它的功能像智能和动态播放列表,可以从像 Dropbox、Google Drive 这样的云存储中同步音乐。 ``` $ sudo add-apt-repository ppa:me-davidsansome/clementine @@ -197,19 +197,19 @@ $ sudo apt-get install clementine ### 18、Blender -Blender 是一个自由开源的 3D 创建应用软件,你可以用来创建 3D 打印模型,动画电影,视频游戏,等。它自身集成了游戏引擎,你可以用来开发和测试视频游戏。 +Blender 是一个自由开源的 3D 创建应用软件,你可以用来创建 3D 打印模型、动画电影、视频游戏等。它自身集成了游戏引擎,你可以用来开发和测试视频游戏。 ![blender][22] -Blender 拥有赏心悦目的用户界面,易于使用,它包括了内置的渲染引擎,数字雕刻,仿真工具,动画工具,还有很多。考虑到它免费和它的特点,你甚至会认为它可能是 Ubuntu 上最好的应用之一。 +Blender 拥有赏心悦目的用户界面,易于使用,它包括了内置的渲染引擎、数字雕刻、仿真工具、动画工具,还有很多。考虑到它免费和它的特点,你甚至会认为它可能是 Ubuntu 上最好的应用之一。 ### 19、Audacity -Audacity 是一个开源的音频编辑应用,你可以用来记录、编辑音频文件。你可以从各种输入中录入音频,包括麦克风,电子吉它,等等。根据你的需要,它提供了编辑和裁剪音频的能力。 +Audacity 是一个开源的音频编辑应用,你可以用来记录、编辑音频文件。你可以从各种输入中录入音频,包括麦克风、电子吉它等等。它提供了根据你的需要编辑和裁剪音频的能力。 ![][23] -最近 Audacity 发布了 Ubuntu 上的新版本,新特点包括主题提升、放缩命令等。除了这些,它还提供了降噪等更多特点。 +最近 Audacity 发布了 Ubuntu 上的新版本,新特点包括主题改进、放缩命令等。除了这些,它还提供了降噪等音频效果的功能。 ``` $ sudo add-apt-repository ppa:ubuntuhandbook1/audacity @@ -219,11 +219,11 @@ $ sudo apt-get install audacity ### 20、Vim -Vim 是一个集成开发环境,你可以用作一个独立的应用或各种像 Python 等主流编程语言的命令行接口。 +Vim 是一个集成开发环境,你可以以一个独立应用或 CLI 程序使用它,用于各种像 Python 等主流编程语言的编程。 ![][24] -大多数程序员喜欢在 Vim 中编代码,因为它快速并且是一个可高度定制的集成开发环境。最初你可能觉得有点难用,但你会很快习惯它。 +大多数程序员喜欢在 Vim 中编写代码,因为它快速并且是一个可高度定制的集成开发环境。最初你可能觉得有点难用,但你会很快习惯它。 ``` $ sudo apt-get install vim @@ -231,11 +231,11 @@ $ sudo apt-get install vim ### 21、Inkscape -Inkscape 是一个开源和跨平台的矢量图形编辑器,你会觉得它和 Corel Draw 和 Adobe Illustrator 很相似。用它可以创建和编辑矢量图形例如柱形图、logo、图表、插图等。 +Inkscape 是一个开源和跨平台的矢量图形编辑器,你会觉得它和 Corel Draw 和 Adobe Illustrator 很相似。用它可以创建和编辑矢量图形例如柱形图、徽标、图表、插图等。 ![][25] -Inkscape 使用规模矢量图形(SVG),一个基于 XML 的 W3C 标准格式。它只是各种格式包括 JPEG、PNG、GIF、PDF、AI(Adobe Illustrator 格式)、VSD 等等。 +Inkscape 使用可缩放矢量图形(SVG),这是一个基于 XML 的 W3C 标准格式。它支持各种格式,包括 JPEG、PNG、GIF、PDF、AI(Adobe Illustrator 格式)、VSD 等等。 ``` $ sudo add-apt-repository ppa:inkscape.dev/stable @@ -245,11 +245,11 @@ $ sudo apt-get install inkscape ### 22、Shotcut -Shotcut 是一个免费、开源的跨平台的 Meltytech,LLC 在 MLT 多媒体框架下开发的视频编辑应用。你会发现它是 Linux 发行版上最强大的视频编辑器之一,因为它支持所有主要的音频,视频,图片格式。 +Shotcut 是一个 Meltytech, LLC 在 MLT 多媒体框架下开发的自由开源的跨平台视频编辑应用。你会发现它是 Linux 发行版上最强大的视频编辑器之一,它支持所有主要的音频、视频、图片格式。 ![][26] -它给了非线性编辑的各种文件格式多轨道视频的能力。它支持 4K 视频分辨率和各种音频,视频过滤,语气生成、音频混合和很多其它的。 +它提供了非线性编辑多轨编辑各种文件格式的视频的能力。它支持 4K 视频分辨率和各种音频、视频过滤、语气生成、音频混合和很多其它的。 ``` snap install shotcut -- classic @@ -257,11 +257,11 @@ snap install shotcut -- classic ### 23、SimpleScreenRecorder -SimpleScreenRecorder 是 Ubuntu 上的一个免费和轻量级的屏幕录制工具。屏幕录制非常有用,如果你是 YouTube 创作者或应用开发者。 +SimpleScreenRecorder 是 Ubuntu 上的一个免费而轻量级的屏幕录制工具。如果你是 YouTube 创作者或应用开发者,屏幕录制功能非常有用。 ![][27] -它可以捕获桌面屏幕的视频/音频记录或直接录制视频游戏。在屏幕录制前你可以设置视频分辨率、帧率等。它有简单的用户界面,你会发现非常易用。 +它可以捕获桌面屏幕的视频/音频记录或直接录制视频游戏。在录制屏幕前,你可以设置视频分辨率、帧率等。它有简单的用户界面,你会发现非常易用。 ``` $ sudo add-apt-repository ppa:marten-baert/simplescreenrecorder @@ -271,17 +271,19 @@ $ sudo apt-get install simplescreenrecorder ### 24、Telegram -Telegram 是一个基于云的即时通信和网络电话平台,近年来非常流行。它是开源和跨平台的,用户可以用来发送消息,共享视频,图片,音频和其它文件。 +Telegram 是一个基于云的即时通信和网络电话平台,近年来非常流行。它是开源和跨平台的,用户可以用来发送消息,共享视频、图片、音频和其它文件。 ![][28] -Telegram 中容易发现的特点是加密聊天,语音信息,远程视频通话,在线位置和社交登录。在 Telegram 中隐私和安全拥有最高优先级,因此,所有你发送和接收的是端对端加密的。 +Telegram 中容易注意到的特点是加密聊天、语音信息、机器人、远程视频通话、在线位置和社交登录。在 Telegram 中隐私和安全拥有最高优先级,因此,所有你发送和接收的是端对端加密的。 ``` $ sudo snap install telegram-desktop ``` -我们所知道的危害 Windows PC 的病毒不能危害 Ubuntu,因为在 Windows PC 中接收到的邮件的破坏性文件会破坏 Windows PC。因此,在 Linux 上有一些抗病毒应用是安全的。 +### 25、ClamTk + +正如我们知道的,危害 Windows PC 的病毒不能危害 Ubuntu,但是可能被来自包含破坏性文件的 Windows PC 中的邮件所感染。因此,在 Linux 上有一些抗病毒应用是安全的。 ![][29] @@ -289,27 +291,27 @@ ClamTk 是一个轻量级的病毒扫描器,可以扫描系统中的文件和 ### 26、MailSpring -早期的 MailSpring 以 Nylas Mail 或 Nylas N1 而著名,是开源的邮件客户端。它保存所有的邮件在电脑本地,因此你可以在任何需要的时候访问它。它提供了高级搜索的功能,使用与或操作,因此你可以基于不同的参数搜索邮件。 +MailSpring 早期名为 Nylas Mail 或 Nylas N1,是开源的邮件客户端。它在电脑本地保存所有的邮件,因此你可以在任何需要的时候访问它。它提供了高级搜索的功能,可以使用“与”和“或”操作,因此你可以基于不同的参数搜索邮件。 ![][30] -MailSpring 有着和其它易于上手的邮件客户端同样优秀的用户界面。MailSpring 同样提供了私密性、安全性、规划期、通讯录管理、日历等功能特点。 +MailSpring 有着和其它易于上手的邮件客户端同样优秀的用户界面。MailSpring 同样提供了私密性、安全性、日程、通讯录管理、日历等功能特点。 ### 27、PyCharm -PyCharm 是我最喜欢的继 Vim 之后的 Python IDE 之一,因为它有优雅的用户界面,有很多扩展和插件支持。基本上,它有两个版本,一个是自由开源的社区版,另一个是付费的专业版。 +继 Vim 之后,PyCharm 是我最喜欢的的 Python IDE 之一,因为它有优雅的用户界面,有很多扩展和插件支持。基本上,它有两个版本,一个是自由开源的社区版,另一个是付费的专业版。 ![][31] -PyCharm 是高度自定义的 IDE 并且有很多功能像错误高亮、代码分析、集成单元测试和 Python 调试器等。PyCharm 对于大多数 Python 程序员和开发者来说是首选的。 +PyCharm 是可高度自定义的 IDE 并且有很多功能,如错误高亮、代码分析、集成单元测试和 Python 调试器等。PyCharm 对于大多数 Python 程序员和开发者来说是首选 IDE。 -### 28、Caffeine +### 28、咖啡因 -想象一下你在 Youtube 上看视频或阅读一篇新文章,突然你的 Ubuntu 锁屏了,我知道它很烦人。我们很多人都会遇到这种情况,所以 Caffeine 是一个阻止 Ubuntu 锁屏或屏幕保护程序的工具。 +想象一下你在 Youtube 上看视频或阅读一篇新文章,突然你的 Ubuntu 锁屏了,我知道它很烦人。我们很多人都会遇到这种情况,所以咖啡因是一个阻止 Ubuntu 锁屏或屏幕保护程序的工具。 ![][32] -Caffeine Inhibitor 是一个轻量级的工具,它在通知栏添加图标,你可以在那里轻松的激活或禁止它。不需要额外的设置。 +咖啡因指示器是一个轻量级的工具,它添加图标到通知栏,你可以在那里轻松的激活或禁止它。不需要额外的设置。 ``` $ sudo add-apt-repository ppa:eugenesan/ppa @@ -319,15 +321,15 @@ $ sudo apt-get install caffeine -y ### 29、Etcher USB 镜像写入器 -Etcher 是一个有 resin.io 开发的 USB 镜像写入器。它是一个跨平台的应用,帮助你将 ZIP、ISO、IMG 格式的镜像文件写入到 USB 存储中。如果你总是尝试新的操作系统,那么 Ethcher 是你必有的简单可靠的系统。 +Etcher 是一个由 resin.io 开发的 USB 镜像写入器。它是一个跨平台的应用,可以帮助你将 ZIP、ISO、IMG 格式的镜像文件写入到 USB 存储中。如果你经常尝试新的操作系统,那么 Ethcher 是你必有的简单可靠的工具。 ![][33] -Etcher 有干净的用户界面指导你在三步内烧录镜像到 USB 驱动或 SD 卡的过程。步骤包括选择镜像文件,选择 USB 驱动 和最终的 flash(写文件到 USB 驱动)。你可以从它的[官网][34]下载和安装 Etcher。 +Etcher 有干净的用户界面,可以指导你在三步内烧录镜像到 USB 驱动或 SD 卡的过程。步骤包括选择镜像文件、选择 USB 驱动 和最终的烧录(写文件到 USB 驱动)。你可以从它的[官网][34]下载和安装 Etcher。 ### 30、Neofetch -Neofetch 是一个酷炫的系统信息工具,通过在终端中运行 “neofetch” 命令,它会给你关于你的系统的所有信息。它酷是因为它给你关于桌面环境,内核版本,bash 版本和你正在运行的 GTK 主题信息。 +Neofetch 是一个酷炫的系统信息工具,通过在终端中运行 `neofetch` 命令,它会给你关于你的系统的所有信息。它酷是因为它可以给你关于桌面环境、内核版本、bash 版本和你正在运行的 GTK 主题的信息。 ![][35] @@ -341,11 +343,11 @@ $ sudo apt-get update install neofetch ### 31、Liferea -Liferea(Linux 热点阅读器)是一个自由开源的新闻聚集工具,用于在线新闻订阅。使用新的聚集工具非常快捷和简单,支持各种格式例如 RSS/RDF,Atom 等。 +Liferea(Linux 订阅阅读器)是一个自由开源的新闻聚合工具,用于在线新闻订阅。使用新的聚合非常快捷和简单,支持各种格式例如 RSS/RDF,Atom 等。 ![][36] -Liferea 自带与 TinyTinyRSS 的同步支持,它给了你离线阅读的能力。你会发现,就可靠性和灵活性而言,它是 Linux 上最好的订阅工具之一。 +Liferea 自带与 TinyTinyRSS 的同步支持,它给了你离线阅读的能力。你会发现,就可靠性和灵活性而言,它是 Linux 上最好的订阅工具之一。 ``` $ sudo add-apt-repository ppa:ubuntuhandbook1/apps @@ -355,19 +357,19 @@ $ sudo apt-get install liferea ### 32、Shutter -在 Ubuntu 中很容易截屏,但当编辑截屏时 Shutter 是你必不可少的应用。它帮助你捕获,编辑和轻松的共享截屏。使用 Shutter 的选择工具,你可以选择屏幕的特定区域来截屏。 +在 Ubuntu 中很容易截屏,但当需要编辑截屏时 Shutter 是你必不可少的应用。它帮助你捕获、编辑和轻松的共享截屏。使用 Shutter 的选择工具,你可以选择屏幕的特定区域来截屏。 ![][37] -Shutter 是一个功能强大的截图工具,提供了添加截图效果,画线等功能。它同样给你上传截屏到各种图像保存站点的选项。你可以直接在 Ubuntu 软件中心中下载和安装。 +Shutter 是一个功能强大的截图工具,提供了添加截图效果、画线等功能。它同样给你上传截屏到各种图像托管站点的选项。你可以直接在 Ubuntu 软件中心中下载和安装。 ### 33、Weather -Weather 是一个小的应用,给你关于你的城市或世界上其它位置的实时天气信息。它简单而且轻量级,给你超过 7 天的详细天气预报和今明两天的每个小时的细节信息。 +Weather 是一个小的应用,给你关于你的城市或世界上其它位置的实时天气信息。它简单而且轻量级,可以给你最多 7 天的详细天气预报和今明两天的每个小时的细节信息。 ![][38] -它集成在 GNOME shell 中,给你关于最近搜索位置的当前天气状态。它有最小的用户界面,在最小硬件需求下运行很顺畅。 +它集成在 GNOME shell 中,给你关于最近搜索位置的当前天气状态。它有极简的用户界面,在最小硬件需求下运行很顺畅。 ### 34、Ramme From 46e584364e688a8c68ddbfdc091cffa09f1e6d6a Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Mon, 1 Jul 2019 17:40:11 +0800 Subject: [PATCH 03/61] PRF:20180629 100 Best Ubuntu Apps.md PART 3 --- .../tech/20180629 100 Best Ubuntu Apps.md | 63 ++++++++++--------- 1 file changed, 33 insertions(+), 30 deletions(-) diff --git a/translated/tech/20180629 100 Best Ubuntu Apps.md b/translated/tech/20180629 100 Best Ubuntu Apps.md index c1e54b5d6b..51c14581b1 100644 --- a/translated/tech/20180629 100 Best Ubuntu Apps.md +++ b/translated/tech/20180629 100 Best Ubuntu Apps.md @@ -365,7 +365,7 @@ Shutter 是一个功能强大的截图工具,提供了添加截图效果、画 ### 33、Weather -Weather 是一个小的应用,给你关于你的城市或世界上其它位置的实时天气信息。它简单而且轻量级,可以给你最多 7 天的详细天气预报和今明两天的每个小时的细节信息。 +Weather 是一个小的应用,可以给你关于你的城市或世界上其它位置的实时天气信息。它简单而且轻量级,可以给你最多 7 天的详细天气预报和今明两天的每个小时的细节信息。 ![][38] @@ -373,15 +373,15 @@ Weather 是一个小的应用,给你关于你的城市或世界上其它位置 ### 34、Ramme -Ramme 是一个很酷的非官方的 Instagram 桌面客户端,给你带来 Instagram 移动端的感觉。它是基于 Electron 的客户端,所以它替代了 Instagram 应用提供了主题自定义的功能。 +Ramme 是一个很酷的非官方的 Instagram 桌面客户端,给你带来 Instagram 移动端的感觉。它是基于 Electron 开发的客户端,所以它复现了 Instagram 应用的功能,并提供了主题自定义的功能。 ![][39] -但是由于 Instagram 的 API 限制,你不能使用 Ramme 客户端上传图像,但你总是可以通过订阅 Instagram,喜欢和评论,给好友发消息。你可以从 [Github]][40] 下载 Ramme 安装文件。 +但是由于 Instagram 的 API 限制,你不能使用 Ramme 客户端上传图像,但你可以订阅 Instagram 流、喜欢和评论文章,给好友发消息。你可以从 [Github][40] 下载 Ramme 安装文件。 ### 35、Thunderbird -Thunderbird 是一个开源的邮件客户端,是很多 Linux 发行版的默认邮件客户端。尽管在 2017 年与 Mozilla 分离,Thunderbird 仍然是 Linux 平台非常流行的最好的邮件客户端。它自带特点像垃圾短信过滤,IMAP 和 POP 邮件同步,日历支持,通讯录集成和很多其它特定。 +Thunderbird 是一个开源的邮件客户端,是很多 Linux 发行版的默认邮件客户端。尽管在 2017 年与 Mozilla 分离,Thunderbird 仍然是 Linux 平台非常流行的最好的邮件客户端。它自带的功能包括垃圾邮件过滤、IMAP 和 POP 邮件同步、日历支持、通讯录集成和很多其它可以开箱即用的功能。 ![][41] @@ -389,11 +389,11 @@ Thunderbird 是一个开源的邮件客户端,是很多 Linux 发行版的默 ### 36、Pidgin -Pidgin 是一个即时信息客户端,你能够在单个窗口下登录不同的即时网络。你可以登录到像 Google Talk,XMPP,AIM,Bonjour 等。 +Pidgin 是一个即时信息客户端,你能够在单个窗口下登录不同的即时网络。你可以登录到像 Google Talk、XMPP、AIM、Bonjour 等。 ![][42] -Pidgin 拥有所有你期待的即时通信的特点,你总是可以通过安装额外的插件来提升它的性能。 +Pidgin 拥有你期待的即时通信的所有特点,你总是可以通过安装额外的插件来提升其表现。 ``` $ sudo apt-get install pidgin @@ -401,18 +401,19 @@ $ sudo apt-get install pidgin ### 37、Krita -Krita 是由 KDE 开发的自由开源的数字打印,编辑和动画应用。它有优秀的用户界面,每个组件都放的很完美,因此你可以找到你需要的。 +Krita 是由 KDE 开发的自由开源的数字绘制、编辑和动画应用。它有优秀的用户界面,每个组件都恰到好处,因此你可以轻松找到你所需要的。 ![][43] -它使用 OpenGL 画布,这提升了 Krita 的性能,并且提供了很多特点相不同的绘画工具、动画工具、矢量工具、层、罩等很多。可在 Ubuntu 软件中心获取 Krita 并下载。 +它使用 OpenGL 画布,这提升了 Krita 的性能,并且提供了很多功能,如各种绘画工具、动画工具、矢量工具、层和遮罩等很多。可在 Ubuntu 软件中心获取 Krita 并下载。 ### 38、Dropbox -Dropbox 是一个出色的云存储播放器,一旦安装,它在 Ubuntu 中运行得非常好。即使 Google Drive 在 Ubuntu 16.04 LTS 和以后的版本中运行得不错,就 Dropbox 提供的特点而言,Dropbox 仍然是 Linux 上的首选云存储工具。 +Dropbox 是一个出色的云存储客户端,正确安装后,它在 Ubuntu 中运行得非常好。即使 Google Drive 在 Ubuntu 16.04 LTS 和以后的版本中运行得不错,就 Dropbox 提供的特点而言,Dropbox 仍然是 Linux 上的首选云存储工具。 ![][44] -它总是在后台运行,备份你系统上的新文件到云存储,持续在你的电脑和云存储间同步。 + +它总是在后台运行,备份你系统上的新文件到云存储,持续保持你的电脑和云存储间的同步。 ``` $ sudo apt-get install nautilus-dropbox @@ -420,43 +421,43 @@ $ sudo apt-get install nautilus-dropbox ### 39、Kodi -Kodi 的前身是人们熟知的 Xbox 媒体中心(XBMC),是一个开源的媒体播放器。你可以在线或离线播放音乐、视频、播客、视频游戏等。这个软件最初是为第一代的 Xbox 游戏控制台开发的,之后慢慢地面向了个人电脑。 +Kodi 的前身是人们熟知的 Xbox 媒体中心(XBMC),是一个开源的媒体播放器。你可以在线或离线播放音乐、视频、播客、视频游戏等。这个软件最初是为第一代的 Xbox 游戏主机开发的,之后慢慢地移植到了个人电脑上。 ![][45] -Kodi 有令人印象深刻的视频接口,快速而强大。它是可高度定制的媒体播放器,你可以通过安装插件,来获取在线流服务像 Pandora、 Spotify、Amazon Prime Video、Netflix and YouTube。 +Kodi 有令人印象深刻的视频接口,快速而强大。它是可高度定制的媒体播放器,你可以通过安装插件,来获取在线流服务,如 Pandora、Spotify、Amazon Prime Video、Netflix 和 YouTube 等等。 ### 40、Spotify -Spotify 是最好的在线媒体流站点之一。它提供免费和付费音乐、播客、视频流服务。早期的 Spotify 不支持 Linux,但现在它有全功能的 Ubuntu 客户端。 +Spotify 是最好的在线媒体流站点之一。它提供免费和付费的音乐、播客、视频流服务。早期的 Spotify 不支持 Linux,但现在它有了自己的全功能的 Ubuntu 客户端。 ![][46] - 与 Google Play 音乐播放器一样,Spotify 是必不可少的媒体播放器。你只需要登录你的 Spotify 账户,就能在任何地方获取你最爱的在线内容。 +与 Google Play 音乐播放器一样,Spotify 是必不可少的媒体播放器。你只需要登录你的 Spotify 账户,就能在任何地方获取你最爱的在线内容。 ### 41、Brackets -Brackets 是一个有 Adobe 开发的开源的文本编辑器。它可被用来进行 web 开发和设计,例如 HTML,CSS 和 JavaScript。它随改变实时预览是一个很棒的特点,当你在脚本中修改时,你可以获得实时预览效果。 +Brackets 是一个有 Adobe 开发的开源的文本编辑器。它可被用来进行 web 开发和设计,例如 HTML、CSS 和 JavaScript。它带有的实时预览模式是一个很棒的特点,当你在脚本中修改时,你可以获得实时预览效果。 ![][47] -它是 Ubuntu 上的现代文本编辑器之一,拥有平滑的用户界面,这将 web 开发任务带到新的水平。它同样提供行内编辑器的特点,支持流行的扩展像 Emmet、Beautify、Git、File Icons 等等。 +它是 Ubuntu 上的现代文本编辑器之一,拥有平滑的用户界面,这将 web 开发任务带到新的水平。它同样提供了行内编辑器的特点,支持流行的扩展像 Emmet、Beautify、Git、File Icons 等等。 ### 42、Bitwarden -现今,安全问题事件增加,用户密码被盗后,重要的数据受到连累,因此,账户安全性必须严肃对待。推荐你使用 Bitwarden,将你的所有账户和登录密码安全的存在一个地方。 +现今,安全问题事件增加,用户密码被盗后,重要的数据受到连累,因此,账户安全性必须严肃对待。推荐你使用 Bitwarden,将你的所有账户和登录密码安全地存在一个地方。 ![][48] -Bitwarden 使用 AES-256 加密技术来存储所有的登录细节,只有用户可以访问这些数据。它同样帮你创建健壮的密码,因为弱密码容易被黑。 +Bitwarden 使用 AES-256 加密技术来存储所有的登录细节,只有用户可以访问这些数据。它同样可以帮你创建健壮的密码,因为弱密码容易被黑。 ### 43、Terminator -Terminator 是一个开源终端模拟器,用 Java 语言开发的。它是一个跨平台的模拟器,允许你在单个窗口有多个终端,在 Linux 默认的终端模拟器中不是这样。 +Terminator 是一个开源终端模拟器,是用 Java 语言开发的。它是一个跨平台的模拟器,允许你在单个窗口有多个终端,在 Linux 默认的终端模拟器中不是这样。 ![][49] -Terminator 其它杰出的特点包括自动日志、拖、丢、智能垂直和水平滚动等。 +Terminator 其它杰出的特点包括自动日志、拖放、垂直和水平的智能滚动等。 ``` $ sudo apt-get install terminator @@ -464,11 +465,11 @@ $ sudo apt-get install terminator ### 44、Yak Yak -Yak Yak 是一个开源的非官方的 Google Hangouts 消息的桌面客户端。它可能是一个不错的 Microsort 的 Skype 的替代品,自身拥有很多让人吃惊的特点。你可以允许桌面通知,语言偏好,工作在最小内存或电源需求等。 +Yak Yak 是一个开源的非官方的 Google Hangouts 消息的桌面客户端。它可能是一个不错的 Microsort 的 Skype 的替代品,自身拥有很多让人吃惊的特点。你可以启用桌面通知,设置语言偏好,使用最小内存或功率就可以工作等。 ![][50] -Yak Yak 拥有你期待的所有任何即时消息应用的所有特点,例如类型指示、拖、拽媒体文件,音/视频电话。 +Yak Yak 拥有你期待的所有任何即时消息应用的所有特点,例如输入指示、拖放媒体文件、音/视频电话。 ### 45、Thonny @@ -476,27 +477,29 @@ Thonny 是一个简单和轻量级的 IDE,尤其是为编程的初学者设计 ![][51] -Thonny 同样是一个很棒的调试工具,它支持调试过程中的活变量,除此之外,它还提供了执行函数调用是分离窗口、简易用户界面的特点。 +Thonny 同样是一个很棒的调试工具,它支持调试过程中的即时变量值显示,除此之外,它还提供了独立的窗口以执行函数调用,简易的用户界面的特点。 ``` $ sudo apt-get install thonny ``` -### 46、Font Manager +### 46、字体管理器 -Font Manager 是一个轻量级的工具,用于管理、添加、移除你的 Ubuntu 系统上的字体。尤其是为 Gnome 桌面环境构建的,当用户不知道如何在命令行管理字体的会发现这个工具非常有用。 +字体管理器是一个轻量级的工具,用于管理、添加、移除你的 Ubuntu 系统上的字体。它是特别为 Gnome 桌面环境构建的,在用户不知道如何在命令行管理字体时会发现这个工具非常有用。 ![][52] -Gtk+ Font Manager 不是为专业用户准备的,它有简单的用户界面,你会发现很容易导航。你只需要从网上下载字体文件,并使用 Font Manager 添加它们。 +Gtk+ 字体管理器不是为专业用户准备的,它有简单的用户界面,你会发现很容易使用。你只需要从网上下载字体文件,并使用字体管理器添加它们。 +``` $ sudo add-apt-repository ppa:font-manager/staging $ sudo apt-get update $ sudo apt-get install font-manager +``` -### 47、Atril Document Viewer +### 47、Atril 文档查看器 -Atril 是一个简单的文件查看器,支持便携文件格式(PDF)、PostScript(PS)、Encapsulated PostScript(EPS)、DJVU 和 DVI。Atril 绑定在 MATE 桌面环境中,它比大多数 Linux 发行版中默认的文件查看器 Evince 更理想。 +Atril 是一个简单的文件查看器,支持便携文件格式(PDF)、PostScript(PS)、Encapsulated PostScript(EPS)、DJVU 和 DVI。Atril 与 MATE 桌面环境捆绑在一起,它比大多数 Linux 发行版中默认的文件查看器 Evince 更理想。 ![][53] @@ -508,7 +511,7 @@ $ sudo apt-get install atril ### 48、Notepadqq -如果你曾在 Windows 上用过 Notepad++,并且在 Linux 上寻找相似的程序,别担心,开发者们已经将它移植到 Linux,叫 Notepadqq。它是一个简单且强大的文本编辑器,你可以在日常生活中用它完成各种语言的任务。 +如果你曾在 Windows 上用过 Notepad++,并且想在 Linux 上寻找相似的程序,别担心,开发者们已经将它移植到 Linux,叫 Notepadqq。它是一个简单且强大的文本编辑器,你可以在日常生活中用它,或用各种语言编程。 ![][54] @@ -526,7 +529,7 @@ Amarok 是在 KDE 项目下开发的一个开源音乐播放器。它有直观 ![][55] -Amarok 上的一些顶尖的特点包括智能播放列表支持,集成在线服务像 MP3tunes、Last.fm、 Magnatune 等。 +Amarok 上的一些顶尖的特点,包括智能播放列表支持,集成在线服务像 MP3tunes、Last.fm、 Magnatune 等。 ### 50、Cheese From 3e7e05871ae6ec0deb37bd144390785672d3bebb Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Mon, 1 Jul 2019 18:14:05 +0800 Subject: [PATCH 04/61] PRF:20180629 100 Best Ubuntu Apps.md PART 4 --- .../tech/20180629 100 Best Ubuntu Apps.md | 62 +++++++++---------- 1 file changed, 31 insertions(+), 31 deletions(-) diff --git a/translated/tech/20180629 100 Best Ubuntu Apps.md b/translated/tech/20180629 100 Best Ubuntu Apps.md index 51c14581b1..9f55121d87 100644 --- a/translated/tech/20180629 100 Best Ubuntu Apps.md +++ b/translated/tech/20180629 100 Best Ubuntu Apps.md @@ -541,11 +541,11 @@ Cheese 是 Linux 默认的网络摄像头应用,在视频聊天或即时消息 ### 51、MyPaint -MyPaint 是一个自由开源的光栅图形编辑器,关注于数字绘画而不是图像操作和相片处理。它是跨平台的应用,与 Corel Painter 很相似。 +MyPaint 是一个自由开源的光栅图形编辑器,专于数字绘画而不是图像操作和相片处理。它是跨平台的应用,与 Corel Painter 很相似。 ![][57] -MyPaint 可能是 Windows 上的 Microsoft Paint 应用的很好的替代。它有简单的用户界面,快速而强大。MyPaint 可以软件中心下载。 +MyPaint 可能是 Windows 上的 Microsoft Paint 应用的很好的替代品。它有简单的用户界面,快速而强大。MyPaint 可以软件中心下载。 ### 52、PlayOnLinux @@ -555,13 +555,13 @@ PlayOnLinux 是 WINE 模拟器的前端,允许你在 Linux 上运行 Windows ### 53、Akregator -Akregator 是在 KDE 项目下为 KDE Plasma 环境开发的默认的 RSS 阅读器。它有简单的用户界面,自带了 KDE 的 Konqueror 浏览器,所以你不需要在阅读新闻提要时切换应用。 +Akregator 是在 KDE 项目下为 KDE Plasma 环境开发的默认 RSS 阅读器。它有简单的用户界面,自带了 KDE 的 Konqueror 浏览器,所以你不需要在阅读新闻提要时切换应用。 -Akregator 同样提供了桌面通知、自动提要等功能。你会发现在大多数 Linux 发行版中它是最好的提要阅读器。 +Akregator 同样提供了桌面通知、自动摘要等功能。你会发现在大多数 Linux 发行版中它是最好的提要阅读器。 ### 54、Brave -Brave 是一个开源的 web 浏览器,阻挡了广告和追踪,所以你可以快速和安全的浏览你的内容。它实际做的是代表你像网站和油管主播支付了费用。如果你喜欢像网站和和油管主播共享而不是看广告,这个浏览器更适合你。 +Brave 是一个开源的 web 浏览器,拦截了广告和追踪,所以你可以快速和安全的浏览你的内容。它实际做的是代表你向网站和油管主播支付了费用。如果你宁可向网站和和油管主播做出支持而不是看广告,这个浏览器更适合你。 ![][60] @@ -569,11 +569,11 @@ Brave 是一个开源的 web 浏览器,阻挡了广告和追踪,所以你可 ### 55、Bitcoin Core -Bitcoin Core 是一个官方的客户端,非常安全和可靠。它持续追踪你的所有交易以保证你的所有交易都是有效的。它限制比特币矿工和银行完全掌控你的比特币钱包。 +Bitcoin Core 是一个比特币官方的客户端,非常安全和可靠。它持续追踪你的所有比特币交易以保证你的所有交易都是有效的。它可以防止比特币矿工和银行完全掌控你的比特币钱包。 ![][61] -Bitcoin Core 同样提供了其它重要的特点像私钥备份、冷存储、安全通知等。 +Bitcoin Core 同样提供了其它重要的特点,像私钥备份、冷存储、安全通知等。 ``` $ sudo add-apt-repository ppa:bitcoin/bitcoin @@ -581,9 +581,9 @@ $ sudo apt-get update $ sudo apt-get install bitcoin-qt ``` -### 56、Speedy Duplicate Finder +### 56、Speedy 重复查找工具 -Speedy Duplicate Finder 是一个跨平台的文件查找工具,用来帮助你查找你的系统上的重复文件,清理磁盘空间。它是一个智能工具,在整个硬盘上搜索重复文件,同样提供智能过滤功能,根据文件类型、扩展或大小帮你找到文件。 +Speedy 重复查找工具是一个跨平台的文件查找工具,用来帮助你查找你的系统上的重复文件,清理磁盘空间。它是一个智能工具,在整个硬盘上搜索重复文件,同样提供智能过滤功能,根据文件类型、扩展或大小帮你找到文件。 ![][62] @@ -591,15 +591,15 @@ Speedy Duplicate Finder 是一个跨平台的文件查找工具,用来帮助 ### 57、Zulip -Zulip 是一个自由开源的群聊应用,被 Dropbox 获得了。它是用 Python 写的,用 PostgreSQL 数据库。它被设计和开发为其它聊天应用像 Slack 和 HipChat 的好的替代品。 +Zulip 是一个自由开源的群聊应用,被 Dropbox 收购了。它是用 Python 写的,用 PostgreSQL 数据库。它被设计和开发为其它如 Slack 和 HipChat 的聊天应用的替代品。 ![][63] -Zulip 功能丰富,例如拖拽文件、群聊、私密聊天、图像预览等。它供养集成了 Github、JIRA、Sentry 和上百种其它服务。 +Zulip 功能丰富,支持例如拖放文件、群聊、私密聊天、图像预览等。它也集成了 Github、JIRA、Sentry 和上百种其它服务。 ### 58、Okular -Okular 是 KDE 为 KDE 桌面环境开发的跨平台的文件查看器。它是一个简单的文件查看器,支持 Portable Document Format (PDF), PostScript, DjVu, Microsoft Compiled HTML help 和很多其它文件格式。 +Okular 是为 KDE 桌面环境开发的跨平台的文件查看器。它是一个简单的文件查看器,支持 Portable Document Format (PDF)、PostScript、DjVu、Microsoft Compiled HTML help 和很多其它文件格式。 ![][64] @@ -607,30 +607,31 @@ Okular 是在 Ubuntu 上你应该尝试的最好的文件查看器之一,它 ### 59、FocusWriter -FocusWriter 是一个集中注意力的字处理工具,隐藏了你的桌面屏幕,因此你能够专注写作。正如你看到的屏幕截图,整个 Ubuntu 屏被隐藏了,只有你和你的字处理工具。但你总是可以进入 Ubuntu 屏幕,当你需要的时候,只需要将光标移动到屏幕的边缘。 +FocusWriter 是一个集中注意力的字处理工具,隐藏了你的桌面屏幕,因此你能够专注写作。正如你看到的屏幕截图,整个 Ubuntu 屏幕被隐藏了,只有你和你的字处理工具。但你总是可以进入 Ubuntu 屏幕,当你需要的时候,只需要将光标移动到屏幕的边缘。 ![][65] -它是一个轻量级的字处理其,支持 TXT、RTF、ODT 文件格式。它同样提供可完全定制的用户界面,还有定时器、警报、每日目标、声音效果等特点,支持翻译为 20 种语言。 +它是一个轻量级的字处理器,支持 TXT、RTF、ODT 文件格式。它同样提供了可完全定制的用户界面,还有定时器、警报、每日目标、声音效果等特点,已经被翻译为 20 种语言。 ### 60、Guake -Guake 是为 GNOME 桌面环境准备的酷炫的下拉式终端。当你任务完成后,你需要它消失时, Guake 会闪一下。你只需要按 F12 按钮来启动或退出,这样启动 Guake 币启动一个新的终端窗口更快。 +Guake 是为 GNOME 桌面环境准备的酷炫的下拉式终端。当你需要时,Guake 就会闪现,当你任务完成后,它就会消失。你只需要按 F12 按钮来启动或退出,这样启动 Guake 比启动一个新的终端窗口更快。 ![][66] -Guake 是一个特点丰富的终端,支持多栏,只需要点击几下就能将你的终端内容保存到文件,并且有完全可定制的用户界面。 +Guake 是一个功能丰富的终端,支持多栏,只需要点击几下就能将你的终端内容保存到文件,并且有完全可定制的用户界面。 ``` $ sudo apt-get install guake ``` + ### 61、KDE Connect -KDE Connect 在 Ubuntu 上是一个很棒的应用,我很想在这篇马拉松文章中将它提早列出来,但是竞争激烈。总之 KDE Connect 可以将你的 Android 智能手机的通知直接转到 Ubuntu 桌面来。 +KDE Connect 是 Ubuntu 上的一个很棒的应用,我很想在这篇马拉松文章中将它提早列出来,但是竞争太激烈。总之 KDE Connect 可以将你的 Android 智能手机的通知直接转到 Ubuntu 桌面来。 ![][67] -有了 KDE Connect,你可以做很多事,例如检查手机电池水平,在电脑和 Android 手机间交换文件,剪贴板同步,发送短信,你还可以将你的手机当作无线鼠标或键盘。 +有了 KDE Connect,你可以做很多事,例如检查手机电池电量,在电脑和 Android 手机间交换文件,剪贴板同步,发送短信,你还可以将你的手机当作无线鼠标或键盘。 ``` $ sudo add-apt-repository ppa:webupd8team/indicator-kedeconnect @@ -640,11 +641,11 @@ $ sudo apt-get install kdeconnect indicator-kdeconnect ### 62、CopyQ -CopyQ 是一个简单但是非常有用的剪切板管理器,它保存你的系统剪切板内容,无论你做了什么改变,你都可以在你需要的时候恢复它。它是一个很棒的工具,支持文本、图像、HTML、和其它格式。 +CopyQ 是一个简单但是非常有用的剪贴板管理器,它保存你的系统剪贴板内容,无论你做了什么改变,你都可以在你需要的时候恢复它。它是一个很棒的工具,支持文本、图像、HTML 和其它格式。 ![][68] -CopyQ 自身有很多功能像拖拽、复制/拷贝、编辑、移除、排序、创建等。它同样支持集成文本编辑器,像 Vim,所以如果你是程序员,这非常有用。 +CopyQ 自身有很多功能像拖放、复制/拷贝、编辑、移除、排序、创建等。它同样支持集成文本编辑器,如 Vim,所以如果你是程序员,这非常有用。 ``` $ sudo add-apt-repository ppa:hluk/copyq @@ -654,11 +655,11 @@ $ sudo apt-get install copyq ### 63、Tilix -Tilix 是一个功能丰富的高级 GTX3 瓷砖终端模拟器。如果你使用 GNOME 桌面环境,那你会爱上 Tilix,因为它遵循了 GNOME 人类界面指导。Tilix 模拟器与大多数 Linux 发行版上默认终端模拟器相比,它给了你分离终端窗口为多个终端面板。 +Tilix 是一个功能丰富的高级 GTX3 平铺式终端模拟器。如果你使用 GNOME 桌面环境,那你会爱上 Tilix,因为它遵循了 GNOME 用户界面指导。Tilix 模拟器与大多数 Linux 发行版上默认终端模拟器相比,它给了你切分终端窗口为多个终端面板的功能。 ![][69] -Tilix 提供了自定义链接、图片支持、多面板、拖拽、持续布局等功能。它同样支持键盘快捷方式,你可以根据你的需要在偏好设置中自定义快捷方式。 +Tilix 提供了自定义链接、图片支持、多面板、拖放、固定布局等功能。它同样支持键盘快捷方式,你可以根据你的需要在偏好设置中自定义快捷方式。 ``` $ sudo add-apt-repository ppa:webupd8team/terminix @@ -668,7 +669,7 @@ $ sudo apt-get install tilix ### 64、Anbox -Anbox 是一个 Android 模拟器,让你在 Linux 系统中安装和运行 Android 应用。它是自由开源的 Android 模拟器,通过使用 Linux 容器来执行 Android 运行时环境。它使用最新的 Linux 技术 和 Android 发布版,所以你可以运行任何原生的 Android 应用。 +Anbox 是一个 Android 模拟器,可以让你在 Linux 系统中安装和运行 Android 应用。它是自由开源的 Android 模拟器,通过使用 Linux 容器来执行 Android 运行时环境。它使用最新的 Linux 技术 和 Android 发布版,所以你可以运行任何原生的 Android 应用。 ![][70] @@ -685,11 +686,11 @@ $ snap install --devmode -- beta anbox ### 65、OpenShot -你会发现 OpenShot 是 Linux 发行版中最好的开源视频编辑器。它是跨平台的视频编辑器,易于使用,不在性能方面妥协。它支持所有主流的音频、视频、图像格式。 +你会发现 OpenShot 是 Linux 发行版中最好的开源视频编辑器。它是跨平台的视频编辑器,易于使用,性能方面毫不逊色。它支持所有主流的音频、视频、图像格式。 ![][71] -OpenShot 有干净的用户界面,功能有拖拽、裁剪大小调整、大小调整、裁剪、快照、实时预览、音频混合和编辑等多种功能。 +OpenShot 有干净的用户界面,功能有拖放、片段大小、大小缩放、裁剪、快照、实时预览、音频混合和编辑等多种功能。 ``` $ sudo add-apt-repository ppa:openshot.developers/ppa @@ -703,8 +704,7 @@ $ sudo apt-get install openshot -qt ![][72] -尽管是一个简单的导航栏,Plank 提供了通过拖拽来重新安排的功能,固定和运行应用图标,转换主题支持。 - +尽管是一个简单的导航栏,Plank 提供了通过拖放来重新摆放的功能,固定和运行应用图标,转换主题支持。 ``` $ sudo add-apt-repository ppa:ricotz/docky @@ -718,7 +718,7 @@ Filezilla 是一个免费和跨平台的 FTP 应用,包括 Filezilla 客户端 ![][73] -它是一个简单的文件传输应用,支持拖拽,支持世界范围的各种语言,多任务的强大用户界面,控制和配置传输速度。 +它是一个简单的文件传输应用,支持拖放,支持世界范围的各种语言,多任务的强大用户界面,控制和配置传输速度。 ### 68、Stacer @@ -777,7 +777,7 @@ $ sudo apt-get install sublime-text ### 73、TeXstudio -Texstudio 是一个创建和编辑 LaTex 文件的集成写作环境。它是开源的编辑器,提供了语法高亮、集成查看、交互式拼写检查、代码折叠、拖拽等特点。 +Texstudio 是一个创建和编辑 LaTex 文件的集成写作环境。它是开源的编辑器,提供了语法高亮、集成查看、交互式拼写检查、代码折叠、拖放等特点。 ![][80] @@ -857,7 +857,7 @@ $ sudo apt-get install quiterss ### 80、MPV Media Player -MPV 是一个自由开源的媒体播放器,基于 MPlayer 和 MPlayer 2。它有简单的用户界面,用户之需要拖拽音/视频文件来播放,因为在 GUI 上没有添加媒体文件的选项。 +MPV 是一个自由开源的媒体播放器,基于 MPlayer 和 MPlayer 2。它有简单的用户界面,用户之需要拖放音/视频文件来播放,因为在 GUI 上没有添加媒体文件的选项。 ![][88] @@ -1061,7 +1061,7 @@ via: https://linuxhint.com/100_best_ubuntu_apps/ 作者:[Swapnil Tirthakar][a] 选题:[lujun9972](https://github.com/lujun9972) 译者:[warmfrog](https://github.com/warmfrog) -校对:[校对者ID](https://github.com/校对者ID) +校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 From d229ce68e86719b8eec17386b80e3f3d6b1c0bdc Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Wed, 3 Jul 2019 01:09:34 +0800 Subject: [PATCH 05/61] PRF:20180629 100 Best Ubuntu Apps.md PART 5 --- .../tech/20180629 100 Best Ubuntu Apps.md | 65 ++++++++++--------- 1 file changed, 35 insertions(+), 30 deletions(-) diff --git a/translated/tech/20180629 100 Best Ubuntu Apps.md b/translated/tech/20180629 100 Best Ubuntu Apps.md index 9f55121d87..06b0db2c75 100644 --- a/translated/tech/20180629 100 Best Ubuntu Apps.md +++ b/translated/tech/20180629 100 Best Ubuntu Apps.md @@ -119,7 +119,7 @@ Skype 有一个优秀的用户图形界面,与 Windows 上的桌面客户端 $ sudo snap install skype ``` -### 13、VirtualBox +### 11、VirtualBox VirtualBox 是由 Oracle 公司开发的跨平台的虚拟化软件应用(LCTT 译注:实际上是由被 Oracle 公司收购的 Sun 公司开发的,包括 Java、Solaris 也是)。如果你喜欢尝试新的操作系统,那么 VirtualBox 是你必备的 Ubuntu 应用。你可以在 Windows 内尝试 Linux、Mac,也可以在 Linux 系统内尝试 Windows 和 Mac。 @@ -381,19 +381,19 @@ Ramme 是一个很酷的非官方的 Instagram 桌面客户端,给你带来 In ### 35、Thunderbird -Thunderbird 是一个开源的邮件客户端,是很多 Linux 发行版的默认邮件客户端。尽管在 2017 年与 Mozilla 分离,Thunderbird 仍然是 Linux 平台非常流行的最好的邮件客户端。它自带的功能包括垃圾邮件过滤、IMAP 和 POP 邮件同步、日历支持、通讯录集成和很多其它可以开箱即用的功能。 +Thunderbird 是一个开源的邮件客户端,是很多 Linux 发行版的默认邮件客户端。尽管在 2017 年与 Mozilla 分道扬镳(LCTT 译注: Thunderbird 现在由 Thunderbird 议会独立决策,只是将财务和法律关系留在 Mozilla 基金会),Thunderbird 仍然是 Linux 平台非常流行的最好的邮件客户端。它自带的功能包括垃圾邮件过滤、IMAP 和 POP 邮件同步、日历支持、通讯录集成和很多其它可以开箱即用的功能。 ![][41] -它是一个跨平台的邮件客户端,在所有支持的平台上完全由社区提供支持。多亏它的高度自定义特点,你总是可以改变它的外观和观感。 +它是一个跨平台的邮件客户端,由社区提供对所有平台提供支持。因其可以高度自定义,你可以改变它的外观和观感。 ### 36、Pidgin -Pidgin 是一个即时信息客户端,你能够在单个窗口下登录不同的即时网络。你可以登录到像 Google Talk、XMPP、AIM、Bonjour 等。 +Pidgin 是一个即时信息客户端,你能够在单个窗口下登录不同的即时通讯网络。你可以登录到像 Google Talk、XMPP、AIM、Bonjour 等即时通讯。 ![][42] -Pidgin 拥有你期待的即时通信的所有特点,你总是可以通过安装额外的插件来提升其表现。 +Pidgin 拥有你所期待的即时通信的所有特点,你总是可以通过安装额外的插件来提升其表现。 ``` $ sudo apt-get install pidgin @@ -401,7 +401,7 @@ $ sudo apt-get install pidgin ### 37、Krita -Krita 是由 KDE 开发的自由开源的数字绘制、编辑和动画应用。它有优秀的用户界面,每个组件都恰到好处,因此你可以轻松找到你所需要的。 +Krita 是由 KDE 开发的自由开源的数字绘制、编辑和动画的应用。它有优秀的用户界面,每个组件都恰到好处,因此你可以轻松找到你所需要的。 ![][43] @@ -413,7 +413,7 @@ Dropbox 是一个出色的云存储客户端,正确安装后,它在 Ubuntu ![][44] -它总是在后台运行,备份你系统上的新文件到云存储,持续保持你的电脑和云存储间的同步。 +它总是在后台运行,可以备份你系统上的新文件到云存储,持续保持你的电脑和云存储间的同步。 ``` $ sudo apt-get install nautilus-dropbox @@ -421,11 +421,11 @@ $ sudo apt-get install nautilus-dropbox ### 39、Kodi -Kodi 的前身是人们熟知的 Xbox 媒体中心(XBMC),是一个开源的媒体播放器。你可以在线或离线播放音乐、视频、播客、视频游戏等。这个软件最初是为第一代的 Xbox 游戏主机开发的,之后慢慢地移植到了个人电脑上。 +Kodi 的前身是人们所熟知的 Xbox 媒体中心(XBMC),它是一个开源的媒体播放器。你可以在线或离线播放音乐、视频、播客、视频游戏等。这个软件最初是为第一代的 Xbox 游戏主机开发的,之后慢慢地移植到了个人电脑上。 ![][45] -Kodi 有令人印象深刻的视频接口,快速而强大。它是可高度定制的媒体播放器,你可以通过安装插件,来获取在线流服务,如 Pandora、Spotify、Amazon Prime Video、Netflix 和 YouTube 等等。 +Kodi 有令人印象深刻的视频界面,快速而强大。它是可高度定制的媒体播放器,你可以通过安装插件,来获取在线流服务,如 Pandora、Spotify、Amazon Prime Video、Netflix 和 YouTube 等等。 ### 40、Spotify @@ -437,7 +437,7 @@ Spotify 是最好的在线媒体流站点之一。它提供免费和付费的音 ### 41、Brackets -Brackets 是一个有 Adobe 开发的开源的文本编辑器。它可被用来进行 web 开发和设计,例如 HTML、CSS 和 JavaScript。它带有的实时预览模式是一个很棒的特点,当你在脚本中修改时,你可以获得实时预览效果。 +Brackets 是一个由 Adobe 开发的开源的文本编辑器。它可以用来进行 web 开发和设计,例如 HTML、CSS 和 JavaScript。它带有的实时预览模式是一个很棒的特点,当你在脚本中修改时,你可以获得实时预览效果。 ![][47] @@ -445,7 +445,7 @@ Brackets 是一个有 Adobe 开发的开源的文本编辑器。它可被用来 ### 42、Bitwarden -现今,安全问题事件增加,用户密码被盗后,重要的数据受到连累,因此,账户安全性必须严肃对待。推荐你使用 Bitwarden,将你的所有账户和登录密码安全地存在一个地方。 +现今,账户安全是一个严重的问题,我们可以看到用户密码被盗和重要数据受到侵害的安全漏洞在不断增加。推荐你使用 Bitwarden,将你的所有账户和登录密码安全地存在一个地方。 ![][48] @@ -453,7 +453,7 @@ Bitwarden 使用 AES-256 加密技术来存储所有的登录细节,只有用 ### 43、Terminator -Terminator 是一个开源终端模拟器,是用 Java 语言开发的。它是一个跨平台的模拟器,允许你在单个窗口有多个终端,在 Linux 默认的终端模拟器中不是这样。 +Terminator 是一个开源的终端模拟器,是用 Java 语言开发的。它是一个跨平台的模拟器,允许你在单个窗口有多个终端,在 Linux 默认的终端模拟器中不是这样。 ![][49] @@ -465,11 +465,11 @@ $ sudo apt-get install terminator ### 44、Yak Yak -Yak Yak 是一个开源的非官方的 Google Hangouts 消息的桌面客户端。它可能是一个不错的 Microsort 的 Skype 的替代品,自身拥有很多让人吃惊的特点。你可以启用桌面通知,设置语言偏好,使用最小内存或功率就可以工作等。 +Yak Yak 是一个开源的非官方的 Google Hangouts 消息的桌面客户端。它可以作为 Microsort Skype 的一个不错的替代品,自身拥有很多让人吃惊的特点。你可以启用桌面通知、设置语言偏好,使用很少的内存和处理能力就可以工作。 ![][50] -Yak Yak 拥有你期待的所有任何即时消息应用的所有特点,例如输入指示、拖放媒体文件、音/视频电话。 +Yak Yak 拥有你期待的任何即时消息应用的所有特点,例如输入指示、拖放媒体文件、音/视频电话。 ### 45、Thonny @@ -477,7 +477,7 @@ Thonny 是一个简单和轻量级的 IDE,尤其是为编程的初学者设计 ![][51] -Thonny 同样是一个很棒的调试工具,它支持调试过程中的即时变量值显示,除此之外,它还提供了独立的窗口以执行函数调用,简易的用户界面的特点。 +Thonny 同样是一个很棒的调试工具,它支持调试过程中的变量值即时显示,除此之外,它还提供了独立的窗口以执行函数调用,简单的用户界面等等。 ``` $ sudo apt-get install thonny @@ -489,7 +489,7 @@ $ sudo apt-get install thonny ![][52] -Gtk+ 字体管理器不是为专业用户准备的,它有简单的用户界面,你会发现很容易使用。你只需要从网上下载字体文件,并使用字体管理器添加它们。 +这个 Gtk+ 字体管理器不是为专业用户准备的,它有简单的用户界面,你会发现很容易使用。你只需要从网上下载字体文件,并使用字体管理器添加它们。 ``` $ sudo add-apt-repository ppa:font-manager/staging @@ -511,11 +511,11 @@ $ sudo apt-get install atril ### 48、Notepadqq -如果你曾在 Windows 上用过 Notepad++,并且想在 Linux 上寻找相似的程序,别担心,开发者们已经将它移植到 Linux,叫 Notepadqq。它是一个简单且强大的文本编辑器,你可以在日常生活中用它,或用各种语言编程。 +如果你曾在 Windows 上用过 Notepad++,并且想在 Linux 上寻找相似的程序,别担心,开发者们已经将它移植到 Linux,名为 Notepadqq。它是一个简单而强大的文本编辑器,你可以在日常使用它,或用于各种语言进行编程。 ![][54] -尽管作为一个简单的文本编辑器,它有一些令人惊奇的特点,例如,你可以设置主题为暗黑或明亮模式、多选、正则搜索和实时高亮。 +尽管是作为一个简单的文本编辑器,它有一些令人惊奇的特点,例如,你可以设置主题为暗黑或明亮模式、多选、正则搜索和实时高亮。 ``` $ sudo add-apt-repository ppa:notpadqq-team/notepadqq @@ -525,7 +525,7 @@ $ sudo apt-get install notepadqq ### 49、Amarok -Amarok 是在 KDE 项目下开发的一个开源音乐播放器。它有直观的界面,让你感觉在家一样,因此你可以轻易的发现你最喜爱的音乐。除了 Clementine,当你在寻找 Ubuntu 上的完美的音乐播放器时,Amarok 是一个很棒的选择。 +Amarok 是在 KDE 项目下开发的一个开源音乐播放器。它有直观的界面,让你感觉在家一样,因此你可以轻易的发现你最喜爱的音乐。除了 Clementine,当你寻找 Ubuntu 上的完美的音乐播放器时,Amarok 是一个很棒的选择。 ![][55] @@ -561,11 +561,11 @@ Akregator 同样提供了桌面通知、自动摘要等功能。你会发现在 ### 54、Brave -Brave 是一个开源的 web 浏览器,拦截了广告和追踪,所以你可以快速和安全的浏览你的内容。它实际做的是代表你向网站和油管主播支付了费用。如果你宁可向网站和和油管主播做出支持而不是看广告,这个浏览器更适合你。 +Brave 是一个开源的 web 浏览器,拦截了广告和追踪,所以你可以快速和安全的浏览你的内容。它实际做的是代表你向网站和 Youtube 主播支付了费用。如果你宁可支持网站和 Youtube 主播也不愿意看广告,这个浏览器更适合你。 ![][60] -对于那些想要安全浏览但有不想错过互联网上重要数据的人来说,这是一个新概念,一个不错的浏览器。 +对于那些想要安全浏览,但又不想错过互联网上重要信息的人来说,这是一个新概念,一个不错的浏览器。 ### 55、Bitcoin Core @@ -583,7 +583,7 @@ $ sudo apt-get install bitcoin-qt ### 56、Speedy 重复查找工具 -Speedy 重复查找工具是一个跨平台的文件查找工具,用来帮助你查找你的系统上的重复文件,清理磁盘空间。它是一个智能工具,在整个硬盘上搜索重复文件,同样提供智能过滤功能,根据文件类型、扩展或大小帮你找到文件。 +Speedy 重复查找工具是一个跨平台的文件查找工具,用来帮助你查找你的系统上的重复文件,清理磁盘空间。它是一个智能工具,可以在整个硬盘上搜索重复文件,它同样提供了智能过滤功能,根据文件类型、扩展或大小帮你找到文件。 ![][62] @@ -607,7 +607,7 @@ Okular 是在 Ubuntu 上你应该尝试的最好的文件查看器之一,它 ### 59、FocusWriter -FocusWriter 是一个集中注意力的字处理工具,隐藏了你的桌面屏幕,因此你能够专注写作。正如你看到的屏幕截图,整个 Ubuntu 屏幕被隐藏了,只有你和你的字处理工具。但你总是可以进入 Ubuntu 屏幕,当你需要的时候,只需要将光标移动到屏幕的边缘。 +FocusWriter 是一个集中注意力的字处理工具,隐藏了你的桌面屏幕,让你能够专注写作。正如你看到的屏幕截图,整个 Ubuntu 屏幕被隐藏了,只有你和你的字处理工具。但你总是可以进入 Ubuntu 屏幕,当你需要的时候,只需要将光标移动到屏幕的边缘即可。 ![][65] @@ -627,7 +627,7 @@ $ sudo apt-get install guake ### 61、KDE Connect -KDE Connect 是 Ubuntu 上的一个很棒的应用,我很想在这篇马拉松文章中将它提早列出来,但是竞争太激烈。总之 KDE Connect 可以将你的 Android 智能手机的通知直接转到 Ubuntu 桌面来。 +KDE Connect 是 Ubuntu 上的一个很棒的应用,我很想在这篇马拉松文章中将它提早列出来,但是竞争太激烈了。总之 KDE Connect 可以将你的 Android 智能手机的通知直接转到 Ubuntu 桌面来。 ![][67] @@ -641,7 +641,7 @@ $ sudo apt-get install kdeconnect indicator-kdeconnect ### 62、CopyQ -CopyQ 是一个简单但是非常有用的剪贴板管理器,它保存你的系统剪贴板内容,无论你做了什么改变,你都可以在你需要的时候恢复它。它是一个很棒的工具,支持文本、图像、HTML 和其它格式。 +CopyQ 是一个简单但是非常有用的剪贴板管理器,它保存你的系统剪贴板内容,无论你做了什么改变,你都可以在你需要的时候搜索和恢复它。它是一个很棒的工具,支持文本、图像、HTML 和其它格式。 ![][68] @@ -680,17 +680,22 @@ Anbox 是现代和功能丰富的模拟器之一,提供的功能包括无限 ``` $ sudo add-apt-repository ppa:morphis/anbox-support $ sudo apt-get update -$ sudo apt install anbox-modules-dkms Now install Anbox using snap +$ sudo apt install anbox-modules-dkms +``` + +然后你可以使用 snap 来安装 Anbox。 + +``` $ snap install --devmode -- beta anbox ``` ### 65、OpenShot -你会发现 OpenShot 是 Linux 发行版中最好的开源视频编辑器。它是跨平台的视频编辑器,易于使用,性能方面毫不逊色。它支持所有主流的音频、视频、图像格式。 +你会发现 OpenShot 是 Linux 发行版中最好的开源的视频编辑器。它是跨平台的视频编辑器,易于使用,性能方面毫不逊色。它支持所有主流的音频、视频、图像格式。 ![][71] -OpenShot 有干净的用户界面,功能有拖放、片段大小、大小缩放、裁剪、快照、实时预览、音频混合和编辑等多种功能。 +OpenShot 有干净的用户界面,功能有拖放、剪切缩放、尺寸缩放、裁剪、快照、实时预览、音频混合和编辑等多种功能。 ``` $ sudo add-apt-repository ppa:openshot.developers/ppa @@ -700,11 +705,11 @@ $ sudo apt-get install openshot -qt ### 66、Plank -如果你在为你的 Ubuntu 桌面寻找一个 Dock 导航栏,那 Plank 应该是一个选择。它是完美的,安装后你不需要任何的修改,除非你想这么做,它有内置的偏好面板,你可以自定义主题,Dock 大小和位置。 +如果你在为你的 Ubuntu 桌面寻找一个 Dock 导航栏,那 Plank 应该是一个选择。它是完美的,安装后你不需要任何的修改,除非你想这么做,它有内置的偏好面板,你可以自定义主题、Dock 大小和位置。 ![][72] -尽管是一个简单的导航栏,Plank 提供了通过拖放来重新摆放的功能,固定和运行应用图标,转换主题支持。 +尽管是一个简单的导航栏,Plank 提供了通过拖放来重新摆放,固定和运行应用图标,透明主题支持等功能。 ``` $ sudo add-apt-repository ppa:ricotz/docky From d5347c26a3cd0f08f21ccdb9b95afa5a2deb6dba Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Thu, 4 Jul 2019 13:36:58 +0800 Subject: [PATCH 06/61] PRF --- ...A beginner-s guide to Linux permissions.md | 41 ++++++++++--------- 1 file changed, 22 insertions(+), 19 deletions(-) diff --git a/translated/tech/20190618 A beginner-s guide to Linux permissions.md b/translated/tech/20190618 A beginner-s guide to Linux permissions.md index 29154e0709..d89061eb52 100644 --- a/translated/tech/20190618 A beginner-s guide to Linux permissions.md +++ b/translated/tech/20190618 A beginner-s guide to Linux permissions.md @@ -1,6 +1,6 @@ [#]: collector: (lujun9972) [#]: translator: (qfzy1233) -[#]: reviewer: ( ) +[#]: reviewer: (wxy) [#]: publisher: ( ) [#]: url: ( ) [#]: subject: (A beginner's guide to Linux permissions) @@ -9,14 +9,16 @@ Linux 权限入门指南 ====== -Linux安全权限能够指定谁可以对文件或目录执行什么操作。 -![Hand putting a Linux file folder into a drawer][1] -与其他系统相比而言 Linux 系统的众多优点中最为主要一个便是Linux 系统有着更少的安全漏洞和被攻击的隐患。Linux无疑为用户提供了更为灵活和精细化的文件系统安全权限控制。这可能意味着Linux用户理解安全权限是至关重要的。虽然这并不一定是必要的,但是对于初学者来说,理解Linux权限的基本知识仍是一个明智之选。 +> Linux 安全权限能够指定谁可以对文件或目录执行什么操作。 + +![](https://img.linux.net.cn/data/attachment/album/201907/04/133751argz0pp7hy5gvv7q.jpg) + +与其他系统相比而言 Linux 系统的众多优点中最为主要一个便是 Linux 系统有着更少的安全漏洞和被攻击的隐患。Linux 无疑为用户提供了更为灵活和精细化的文件系统安全权限控制。这可能意味着 Linux 用户理解安全权限是至关重要的。虽然这并不一定是必要的,但是对于初学者来说,理解 Linux 权限的基本知识仍是一个明智之选。 ### 查看 Linux 安全权限 -在开始 Linux 权限的相关学习之前,假设我们新建了一个名为 **PermissionDemo**的目录。使用 **cd** 命令进入这个目录,然后使用 **ls -l** 命令查看 Linux 安全管理权限信息。如果你想以时间为序排列,加上 **-t** 选项 +在开始 Linux 权限的相关学习之前,假设我们新建了一个名为 `PermissionDemo` 的目录。使用 `cd` 命令进入这个目录,然后使用 `ls -l` 命令查看 Linux 安全管理权限信息。如果你想以时间为序排列,加上 `-t` 选项 ``` @@ -27,11 +29,11 @@ Linux安全权限能够指定谁可以对文件或目录执行什么操作。 ![No output from ls -l command][2] -要了解关于 **ls** 命令的更多信息,请通过在命令行中输入 **man ls** 来查看命令手册。 +要了解关于 `ls` 命令的更多信息,请通过在命令行中输入 `man ls` 来查看命令手册。 ![ls man page][3] - 现在,让我们创建两个名为 **cat.txt** 和 **dog.txt** 的空白文件;这一步使用 **touch** 命令将更为简便。然后继续使用 **mkdir** 命令创建一个名为 **Pets** 的空目录。我们可以再次使用**ls -l**命令查看这些新文件的权限。 +现在,让我们创建两个名为 `cat.txt` 和 `dog.txt` 的空白文件;这一步使用 `touch` 命令将更为简便。然后继续使用 `mkdir` 命令创建一个名为 `Pets` 的空目录。我们可以再次使用`ls -l`命令查看这些新文件的权限。 ![Creating new files and directory][4] @@ -39,42 +41,43 @@ Linux安全权限能够指定谁可以对文件或目录执行什么操作。 ### 谁拥有权限? -首先要注意的是 _who_ 具有访问文件/目录的权限。请注意下面红色框中突出显示的部分。第一列是指具有访问权限的 _user(用户)_ ,而第二列是指具有访问权限的 _group(组)_ 。 +首先要注意的是*谁*具有访问文件/目录的权限。请注意下面红色框中突出显示的部分。第一列是指具有访问权限的*用户*,而第二列是指具有访问权限的*组*。 ![Output from -ls command][5] -用户的类型主要有三种:**user**、**group**;和**other**(本质上既不是用户也不是组)。还有一个**all**,意思是几乎所有人。 +用户的类型主要有三种:用户、组和其他人(本质上既不是用户也不是组)。还有一个*全部*,意思是几乎所有人。 ![User types][6] -由于我们使用 **root** 作为当前用户,所以我们可以访问任何文件或目录,因为 **root** 是超级用户。然而,通常情况并非如此,您可能会被限定使用您的普通用户登录。所有的用户都存储在 **/etc/passwd** 文件中。 +由于我们使用 `root` 作为当前用户,所以我们可以访问任何文件或目录,因为 `root` 是超级用户。然而,通常情况并非如此,你可能会被限定使用你的普通用户登录。所有的用户都存储在 `/etc/passwd` 文件中。 ![/etc/passwd file][7] - “组“的相关信息保存在 **/etc/group** 文件中。 +“组“的相关信息保存在 `/etc/group` 文件中。 ![/etc/passwd file][8] ### 他们有什么权限? -我们需要注意的是 **ls -l** 命令输出结果的另一部分与执行权限有关。以上,我们查看了创建的dog.txt 和 cat.txt文件以及Pets目录的所有者和组权限都属于 **root** 用户。我们可以通过这一信息了解到不同用户组所拥有的相应权限,如下面的红色框中的标示。 +我们需要注意的是 `ls -l` 命令输出结果的另一部分与执行权限有关。以上,我们查看了创建的 `dog.txt` 和 `cat.txt` 文件以及 `Pets` 目录的所有者和组权限都属于 `root` 用户。我们可以通过这一信息了解到不同用户组所拥有的相应权限,如下面的红色框中的标示。 ![Enforcing permissions for different user ownership types][9] -我们可以把每一行分解成五部分。第一部分标志着它是文件还是目录;文件用 **-** (连字符)标记,目录用 **d** 来标记。接下来的三个部分分别是**user**、**group**和**other**的对应权限。最后一部分是[**access-control list**][10] (ACL)(访问控制列表)的标志,是记录着特定用户或者用户组对该文件的操作权限的列表。 +我们可以把每一行分解成五部分。第一部分标志着它是文件还是目录:文件用 `-`(连字符)标记,目录用 `d` 来标记。接下来的三个部分分别是用户、组和其他人的对应权限。最后一部分是[访问控制列表][10] (ACL)的标志,是记录着特定用户或者用户组对该文件的操作权限的列表。 ![Different Linux permissions][11] Linux 的权限级别可以用字母或数字标识。有三种权限类型: - * **read(读):** r or 4 - * **write(写):** w or 2 - * **executable(可执行):** x or 1 -(LCTT译注:原文此处对应的字母标示 **x** 误写为 **e** 已更正) + * 可读取:`r` 或 `4` + * 可写入:`w` 或 `2` + * 可执行:`x` 或 `1` + +(LCTT 译注:原文此处对应的字母标示 `x` 误写为 `e`,已更正) ![Privilege types][12] -每个字母符号(**r**、**w**或**x**)表示有该项权限,而 **-** 表示无该项权限。在下面的示例中,文件的所有者可读可写,用户组成员仅可读,其他人可读可执行。转换成数字表示法,对应的是645(如何计算,请参见下图的图示)。 +每个字母符号(`r`、`w` 或 `x`)表示有该项权限,而 `-` 表示无该项权限。在下面的示例中,文件的所有者可读可写,用户组成员仅可读,其他人可读可执行。转换成数字表示法,对应的是 `645`(如何计算,请参见下图的图示)。 ![Permission type example][13] @@ -93,7 +96,7 @@ via: https://opensource.com/article/19/6/understanding-linux-permissions 作者:[Bryant Son][a] 选题:[lujun9972][b] 译者:[qfzy1233](https://github.com/qfzy1233) -校对:[校对者ID](https://github.com/校对者ID) +校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 From 8f7af84e7e381c1cfd9f8f7544d3eb44e73f2c03 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Thu, 4 Jul 2019 13:38:38 +0800 Subject: [PATCH 07/61] PUB @qfzy1233 https://linux.cn/article-11056-1.html --- .../20190618 A beginner-s guide to Linux permissions.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) rename {translated/tech => published}/20190618 A beginner-s guide to Linux permissions.md (98%) diff --git a/translated/tech/20190618 A beginner-s guide to Linux permissions.md b/published/20190618 A beginner-s guide to Linux permissions.md similarity index 98% rename from translated/tech/20190618 A beginner-s guide to Linux permissions.md rename to published/20190618 A beginner-s guide to Linux permissions.md index d89061eb52..a8206c14d4 100644 --- a/translated/tech/20190618 A beginner-s guide to Linux permissions.md +++ b/published/20190618 A beginner-s guide to Linux permissions.md @@ -1,8 +1,8 @@ [#]: collector: (lujun9972) [#]: translator: (qfzy1233) [#]: reviewer: (wxy) -[#]: publisher: ( ) -[#]: url: ( ) +[#]: publisher: (wxy) +[#]: url: (https://linux.cn/article-11056-1.html) [#]: subject: (A beginner's guide to Linux permissions) [#]: via: (https://opensource.com/article/19/6/understanding-linux-permissions) [#]: author: (Bryant Son https://opensource.com/users/brson/users/greg-p/users/tj) From dbc42f83f99989785e017f0826d42f8a73a1d0da Mon Sep 17 00:00:00 2001 From: Yuping Zhang Date: Thu, 4 Jul 2019 16:56:50 +0800 Subject: [PATCH 08/61] Translating by PandaWizard --- sources/talk/20191110 What is DevSecOps.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources/talk/20191110 What is DevSecOps.md b/sources/talk/20191110 What is DevSecOps.md index 007f8f0c76..693a583a6b 100644 --- a/sources/talk/20191110 What is DevSecOps.md +++ b/sources/talk/20191110 What is DevSecOps.md @@ -1,5 +1,5 @@ [#]: collector: (lujun9972) -[#]: translator: ( ) +[#]: translator: (PandaWizard ) [#]: reviewer: ( ) [#]: publisher: ( ) [#]: url: ( ) From 15f33195f2459bbeb69609f567b3479592425304 Mon Sep 17 00:00:00 2001 From: "qfzy1233@163.com" Date: Thu, 4 Jul 2019 16:59:50 +0800 Subject: [PATCH 09/61] Update 20190606 Zorin OS Becomes Even More Awesome With Zorin 15 Release.md --- ...Even More Awesome With Zorin 15 Release.md | 37 ++++++++++--------- 1 file changed, 19 insertions(+), 18 deletions(-) diff --git a/sources/news/20190606 Zorin OS Becomes Even More Awesome With Zorin 15 Release.md b/sources/news/20190606 Zorin OS Becomes Even More Awesome With Zorin 15 Release.md index f5342383bc..d2201433fe 100644 --- a/sources/news/20190606 Zorin OS Becomes Even More Awesome With Zorin 15 Release.md +++ b/sources/news/20190606 Zorin OS Becomes Even More Awesome With Zorin 15 Release.md @@ -7,44 +7,45 @@ [#]: via: (https://itsfoss.com/zorin-os-15-release/) [#]: author: (Ankush Das https://itsfoss.com/author/ankush/) -Zorin OS Becomes Even More Awesome With Zorin 15 Release +随着 Zorin 15 的发布,Zorin OS 变得更为强大 ====== -Zorin OS has always been known as one of the [beginner-focused Linux distros][1] out there. Yes, it may not be the most popular – but it sure is a good distribution specially for Windows migrants. +长久以来 Zorin OS 一直在 [初学者适用的Linux发行版排行][1] 中占有一席之地。的确,它可能不是最受欢迎的,但是对于从 Windows 阵营转向 Linux 的用户而言,它一定是最好的一个发行版。 -A few years back, I remember, a friend of mine always insisted me to install [Zorin OS][2]. Personally, I didn’t like the UI back then. But, now that Zorin OS 15 is here – I have more reasons to get it installed as my primary OS. +我还记得,在几年前,我的一位朋友一直坚持让我安装[Zorin OS][2]。就我个人而言,当时我并不喜欢它的 UI 风格。但是,现如今 Zorin OS 15 发布了,这也让我有了更多的理由安装并将它作为我日常的操作系统。 +不要担心,在这篇文章里,我会向你介绍你所需要了解的一切。 Fret not, in this article, we’ll talk about everything that you need to know. -### New Features in Zorin 15 +### Zorin 15 中的新特性 -Let’s see the major changes in the latest release of Zorin. Zorin 15 is based on Ubuntu 18.04.2 and thus it brings the performance improvement under the hood. Other than that, there are several UI (User Interface) improvements. +让我们来看一下最新版本的 Zorin 有哪些主要的改变。Zorin 15 以 Ubuntu 18.04.2 为底层,因此带来了许多性能上的提升。除此之外,也有许多的 UI (用户界面)得到了改进。 #### Zorin Connect ![Zorin Connect][3] -Zorin OS 15’s main highlight is – Zorin Connect. If you have an Android device, you are in for a treat. Similar to [PushBullet][4], [Zorin Connect][5] integrates your phone with the desktop experience. +Zorin OS 15 最主要的一个亮点就是 - Zorin Connect。如果你使用的是安卓设备,那你一定会喜欢这一功能。类似于[PushBullet][4](LCTT译注:PushBullet-子弹推送,一款跨平台推送工具),[Zorin Connect][5]会提升你的手机和桌面一体化的体验。 -You get to sync your smartphone’s notifications on your desktop while also being able to reply to it. Heck, you can also reply to the SMS messages and view those conversations. +你可以在桌面上同步智能手机的通知,同时还可以回复它。最要命的是,你甚至可以回复短信并查看这部分对话。 -In addition to these, you get the following abilities: +总的来说,你可以体验到以下功能: - * Share files and web links between devices - * Use your phone as a remote control for your computer - * Control media playback on your computer from your phone, and pause playback automatically when a phone call arrives + * 在设备间分享文件或链接 + * 将你的手机作为电脑的遥控器 + * 使用手机控制电脑上媒体的播放,并且当有来电接入时自动停止播放 -As mentioned in their [official announcement post][6], the data transmission will be on your local network and no data will be transmitted to the cloud. To access Zorin Connect, navigate your way through – Zorin menu > System Tools > Zorin Connect. +正如他们在[官方公告][6]中提到的, 数据的传输仅限于本地网络之间,并且不会有数据被上传到云端服务器。通过以下操作体验 Zorin Connect ,找到 – Zorin menu (Zorin 菜单) > System Tools (系统工具) > Zorin Connect。 -[Get ZORIN CONNECT ON PLAY STORE][5] +[在手机应用商店中获取 ZORIN CONNECT][5] -#### New Desktop Theme (with dark mode!) +#### 新的桌面主题(包含夜间模式!) -![Zorin Dark Mode][7] +![Zorin 夜间模式][7] -I’m all in when someone mentions “Dark Mode” or “Dark Theme”. For me, this is the best thing that comes baked in with Zorin OS 15. +一提到 “夜间模式” 时我就毫无抵抗力。对我而言,这是Zorin OS 15 自带的最好的功能。 [][8] @@ -54,7 +55,7 @@ It’s so pleasing to my eyes when I enable the dark mode on anything, you with Not just a dark theme, the UI is a lot cleaner and intuitive with subtle new animations. You can find all the settings from the Zorin Appearance app built-in. -#### Adaptive Background & Night Light +#### 自适应背景调整 & Dark Light You get an option to let the background adapt according to the brightness of the environment every hour of the day. Also, you can find the night mode if you don’t want the blue light to stress your eyes. @@ -70,7 +71,7 @@ Yes! Other major changes include the support for Flatpak, a touch layout for con If you want the detailed list of changes along with the minor improvements, you can follow the [announcement post][6]. If you are already a Zorin user, you would notice that they have refreshed their website with a new look as well. -### Download Zorin OS 15 +### 下载 Zorin OS 15 **Note** : _Direct upgrades from Zorin OS 12 to 15 – without needing to re-install the operating system – will be available later this year._ From 529abd5c64c3a50d6458fa2e5b58da36e900802b Mon Sep 17 00:00:00 2001 From: Yuping Zhang Date: Thu, 4 Jul 2019 17:02:15 +0800 Subject: [PATCH 10/61] =?UTF-8?q?=E5=88=9D=E6=AD=A5=E7=BF=BB=E8=AF=91?= =?UTF-8?q?=E5=AE=8C=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sources/talk/20191110 What is DevSecOps.md | 85 ------------------- translated/talk/20191110 What is DevSecOps.md | 85 +++++++++++++++++++ 2 files changed, 85 insertions(+), 85 deletions(-) delete mode 100644 sources/talk/20191110 What is DevSecOps.md create mode 100644 translated/talk/20191110 What is DevSecOps.md diff --git a/sources/talk/20191110 What is DevSecOps.md b/sources/talk/20191110 What is DevSecOps.md deleted file mode 100644 index 693a583a6b..0000000000 --- a/sources/talk/20191110 What is DevSecOps.md +++ /dev/null @@ -1,85 +0,0 @@ -[#]: collector: (lujun9972) -[#]: translator: (PandaWizard ) -[#]: reviewer: ( ) -[#]: publisher: ( ) -[#]: url: ( ) -[#]: subject: (What is DevSecOps?) -[#]: via: (https://opensource.com/article/19/1/what-devsecops) -[#]: author: (Brett Hunoldt https://opensource.com/users/bretthunoldtcom) - -What is DevSecOps? -====== -The journey to DevSecOps begins with empowerment, enablement, and education. Here's how to get started. -![](https://opensource.com/sites/default/files/styles/image-full-size/public/lead-images/devop.png?itok=Yicb2nnZ) - -> “DevSecOps enables organizations to deliver inherently secure software at DevOps speed.” -Stefan Streichsbier - -DevSecOps as a practice or an art form is an evolution on the concept of DevOps. To better understand DevSecOps, you should first have an understanding of what DevOps means. - -DevOps was born from merging the practices of development and operations, removing the silos, aligning the focus, and improving efficiency and performance of both the teams and the product. A new synergy was formed, with DevOps focused on building products and services that are easy to maintain and that automate typical operations functions. - -Security is a common silo in many organizations. Security’s core focus is protecting the organization, and sometimes this means creating barriers or policies that slow down the execution of new services or products to ensure that everything is well understood and done safely and that nothing introduces unnecessary risk to the organization. - -**[[Download the Getting started with DevSecOps guide]][1]** - -Because of the distinct nature of the security silo and the friction it can introduce, development and operations sometimes bypass or work around security to meet their objectives. At some firms, the silo creates an expectation that security is entirely the responsibility of the security team and it is up to them to figure out what security defects or issues may be introduced as a result of a product. - -DevSecOps looks at merging the security discipline within DevOps. By enhancing or building security into the developer and/or operational role, or including a security role within the product engineering team, security naturally finds itself in the product by design. - -This allows companies to release new products and updates more quickly and with full confidence that security is embedded into the product. - -### Where does rugged software fit into DevSecOps? - -Building rugged software is more an aspect of the DevOps culture than a distinct practice, and it complements and enhances a DevSecOps practice. Think of a rugged product as something that has been battle-hardened through experimentation or experience. - -It’s important to note that rugged software is not necessarily 100% secure (although it may have been at some point in time). However, it has been designed to handle most of what is thrown at it. - -The key tenets of a rugged software practice are fostering competition, experimentation, controlled failure, and cooperation. - -### How do you get started in DevSecOps? - -Gettings started with DevSecOps involves shifting security requirements and execution to the earliest possible stage in the development process. It ultimately creates a shift in culture where security becomes everyone’s responsibility, not only the security team’s. - -You may have heard teams talking about a "shift left." If you flatten the development pipeline into a horizontal line to include the key stages of the product evolution—from initiation to design, building, testing, and finally to operating—the goal of a security is to be involved as early as possible. This allows the risks to be better evaluated, socialized, and mitigated by design. The "shift-left" mentality is about moving this engagement far left in this pipeline. - -This journey begins with three key elements: - - * empowerment - * enablement - * education - - - -Empowerment, in my view, is about releasing control and allowing teams to make independent decisions without fear of failure or repercussion (within reason). The only caveat in this process is that information is critical to making informed decisions (more on that below). - -To achieve empowerment, business and executive support (which can be created through internal sales, presentations, and establishing metrics to show the return on this investment) is critical to break down the historic barriers and siloed teams. Integrating security into the development and operations teams and increasing both communication and transparency can help you begin the journey to DevSecOps. - -This integration and mobilization allows teams to focus on a single outcome: Building a product for which they share responsibility and collaborate on development and security in a reliable way. This will take you most of the way towards empowerment. It places the shared responsibility for the product with the teams building it and ensures that any part of the product can be taken apart and maintain its security. - -Enablement involves placing the right tools and resources in the hands of the teams. It’s about creating a culture of knowledge-sharing through forums, wikis, and informal gatherings. - -Creating a culture that focuses on automation and the concept that repetitive tasks should be coded will likely reduce operational overhead and strengthen security. This scenario is about more than providing knowledge; it is about making this knowledge highly accessible through multiple channels and mediums (which are enabled through tools) so that it can be consumed and shared in whatever way teams or individuals prefer. One medium might work best when team members are coding and another when they are on the road. Make the tools accessible and simple and let the team play with them. - -Different DevSecOp teams will have different preferences, so allow them to be independent whenever possible. This is a delicate balancing exercise because you do want economies of scale and the ability to share among products. Collaboration and involvement in the selection and renewal of these tools will help lower the barriers of adoption. - -Finally, and perhaps most importantly, DevSecOps is about training and awareness building. Meetups, social gatherings, or formal presentations within the organization are great ways for peers to teach and share their learnings. Sometimes these highlight shared challenges, concerns, or risks others may not have considered. Sharing and teaching are also effective ways to learn and to mentor teams. - -In my experience, each organization's culture is unique, so you can’t take a “one-size-fits-all” approach. Reach out to your teams and find out what tools they want to use. Test different forums and gatherings and see what works best for your culture. Seek feedback and ask the teams what is working, what they like, and why. Adapt and learn, be positive, and never stop trying, and you’ll almost always succeed. - -[Download the Getting started with DevSecOps guide][1] - - --------------------------------------------------------------------------------- - -via: https://opensource.com/article/19/1/what-devsecops - -作者:[Brett Hunoldt][a] -选题:[lujun9972][b] -译者:[译者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/bretthunoldtcom -[b]: https://github.com/lujun9972 -[1]: https://opensource.com/downloads/devsecops diff --git a/translated/talk/20191110 What is DevSecOps.md b/translated/talk/20191110 What is DevSecOps.md new file mode 100644 index 0000000000..8d82d68cc7 --- /dev/null +++ b/translated/talk/20191110 What is DevSecOps.md @@ -0,0 +1,85 @@ +[#]: collector: (lujun9972) +[#]: translator: (PandaWizard) +[#]: reviewer: ( ) +[#]: publisher: ( ) +[#]: url: ( ) +[#]: subject: (What is DevSecOps?) +[#]: via: (https://opensource.com/article/19/1/what-devsecops) +[#]: author: (Brett Hunoldt https://opensource.com/users/bretthunoldtcom) + +什么是 DevSecOps? +====== +DevSecOps 的实践之旅开始于 DevSecOps 授权,启用和培养。下面就介绍如何开始学习使用 DevSecOps。 +![](https://opensource.com/sites/default/files/styles/image-full-size/public/lead-images/devop.png?itok=Yicb2nnZ) + +> Stephen Streichsbier 说过: DevSecOps 使得组织可以用 DevOps 的速度发布内在安全的软件。 + +DevSecOps 是一场关于 DevOps 概念实践或艺术形式的变革。为了更好理解 DevSecOps,你应该首先理解 DevOps 的含义。 + +DevOps 起源于通过合并开发和运维实践,消除隔离,统一关注点,提升团队和产品的效率和性能。它是一种注重构建容易维持和易于平常自动运营维护产品和服务的新型协作方式。 + +安全在很多团队中都是常见的隔离点。安全的核心关注点是保护团队,而有时这也意味着生成延缓新服务或是新产品发布的障碍或是策略,用于保障任何事都能被很好的理解和安全的执行,并且没有给团队带来不必要的风险。 + +**[[点击下载 DevSecOps 的引导手册]][1]** + +因为安全方面的明显特征和它可能带来的摩擦,开发和运维有时会避开或是满足客观的安全要求。在一些公司,这种隔离形成了一种产品安全完全是安全团队责任的期望,并取决于安全团队去寻找产品的安全缺陷或是可能带来的问题。 + +DevSecOps 看起来是通过给开发或是运维角色加强或是建立安全意识,或是在产品团队中引入一个安全工程师角色,在产品设计中找到安全问题,从而把安全要求汇聚在 Devops 中。 + +这样使得公司能更快发布和更新产品,并且充分相信安全已经嵌入产品中。 + +### 坚固的软件哪里适用 DevSecOps? + +建造坚固的软件是 DevOps 文化的一个层面而不是一个特别的实践,它完善和增强了 DevSecops 的实践。想想一款坚固的软件就像是某些经历过残酷战斗过程的事物。 + +有必要指出坚固的软件并不是 100% 安全可靠的(虽然它可能最终是在某些方面)。然而,它被设计成可以处理大部分被抛过来的问题。 + +践行坚固软件最重要的原则是促进竞争,实践,可控的失败与合作。 + +### 你如何开始学习 DevSecOps ? + +开始实践 DevSecOps 涉及提升安全需求和在开发过程中最早期可能的阶段实践。它最终在公司文化上提升了安全的重要性,使得安全成为所有人的责任,而并不只是安全团队的责任。 + +你可能在团队中听说过“左上升”这个词,如果你把开发周期包括产品变革的的关键时期线放平在一条横线上,从初始化到设计,建造,测试以及最终的运行。安全的目的就是今早的参与进来。这使得风险可以在设计中能更好的评估、交流和减轻。“左提升”的含义是指促使安全能在开发周期线上更往左走。 + +这篇入门文章有三个关键要素: + + * 授权 + * 启用 + * 培养 + + + +授权,在我看来,是关于释放控制权以及使得团队做出独立决定而不用害怕失败或影响(理性分析)。这个过程的唯一告诫信息就是要严格的做出明智的决定(不要比这更低要求)。 + +为了实现授权,商务和行政支持(通过内部销售,展示来建立,通过建立矩阵来 展示这项投资的回报)是打破历史障碍和分割的团队的关键。合并安全人员到开发和运维团队中,提升交流和透明度透明度有助于 DevSecOps 的开始之旅。 + +这次整合和移动使得团队只关注单一的结果:打造一个他们共同负责的产品,让开发和安全人员相互依赖合作。这将引领你们共同走向授权。这是产品研发团队的共同责任,并保证每个可分割的产品都保持其安全性。 + +启用涉及正确的使用掌握在团队手中的工具和资源。这是准备建立一种通过论坛、维基、信息聚合的知识分享文化。 + +打造一种注重自动化、重复任务应该编码来尽可能减少以后的操作并增强安全性。这种场景不仅仅是提供知识,而是让这种知识能够通过多种渠道和媒介(通过某些工具)可获取,以便它可以被团队或是个人以他喜欢的方式去消化和分享。一种工具可以更好的实现当团队成员正在编码而另一组成员正在来的路上。让工具简单可用和让团队可以使用它们。 + +不同的 DevSecOps 团队有不同的喜好,因此允许它们尽可能的保持独立。这是一种微笑平衡的练习,因为你真的很想在经济规模和能力中分享产品。在选择中协作参与并更新工具方法有助于减少使用中的障碍。 + +最后,也可能是最重要的, DevSecOps 是有关训练和兴趣打造。聚会、社交或是组织中通常的报告会都是很棒的方式让同事们教学和分享他们的知识。有时,这些高光的被分享的挑战、关注点或是一些其他人没有关注到的风险。分享和教学也是一种高效的学习和指导团队的方法。 + +在我个人经验中,每个团队的文化都是独一无二的,因此你不能用“一种尺寸适合所有”的方法。走进你的团队并找到他们想要使用的工具方法。尝试不同的论坛和聚会并找出最适用于你们文化的方式。寻找反馈并询问团队如何工作,他们喜欢什么以及对应的原因。适应和学习,保持乐观,不要停止尝试,你们将会有所收获。 + +[下载 DevSecOps 的入门手册][1] + + +-------------------------------------------------------------------------------- + +via: https://opensource.com/article/19/1/what-devsecops + +作者:[Brett Hunoldt][a] +选题:[lujun9972][b] +译者:[PandaWizard](https://github.com/PandaWizard) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://opensource.com/users/bretthunoldtcom +[b]: https://github.com/lujun9972 +[1]: https://opensource.com/downloads/devsecops From 8c831b2f0f04c2ea53163322f72c44e01dce7f6b Mon Sep 17 00:00:00 2001 From: chen ni Date: Thu, 4 Jul 2019 17:44:21 +0800 Subject: [PATCH 11/61] =?UTF-8?q?=E7=94=B3=E9=A2=86=E7=BF=BB=E8=AF=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sources/tech/20190702 Make Linux stronger with firewalls.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources/tech/20190702 Make Linux stronger with firewalls.md b/sources/tech/20190702 Make Linux stronger with firewalls.md index d558f16931..da69e07f9f 100644 --- a/sources/tech/20190702 Make Linux stronger with firewalls.md +++ b/sources/tech/20190702 Make Linux stronger with firewalls.md @@ -1,5 +1,5 @@ [#]: collector: (lujun9972) -[#]: translator: ( ) +[#]: translator: (chen-ni) [#]: reviewer: ( ) [#]: publisher: ( ) [#]: url: ( ) From 19bb134e552808208fb101eb2c3e33966bfd25f4 Mon Sep 17 00:00:00 2001 From: chen ni Date: Thu, 4 Jul 2019 17:53:21 +0800 Subject: [PATCH 12/61] =?UTF-8?q?=E7=BF=BB=E8=AF=91=E5=AE=8C=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...0702 Jupyter and data science in Fedora.md | 246 ------------------ ...0702 Jupyter and data science in Fedora.md | 244 +++++++++++++++++ 2 files changed, 244 insertions(+), 246 deletions(-) delete mode 100644 sources/tech/20190702 Jupyter and data science in Fedora.md create mode 100644 translated/tech/20190702 Jupyter and data science in Fedora.md diff --git a/sources/tech/20190702 Jupyter and data science in Fedora.md b/sources/tech/20190702 Jupyter and data science in Fedora.md deleted file mode 100644 index a80c3b462f..0000000000 --- a/sources/tech/20190702 Jupyter and data science in Fedora.md +++ /dev/null @@ -1,246 +0,0 @@ -[#]: collector: (lujun9972) -[#]: translator: (chen-ni) -[#]: reviewer: ( ) -[#]: publisher: ( ) -[#]: url: ( ) -[#]: subject: (Jupyter and data science in Fedora) -[#]: via: (https://fedoramagazine.org/jupyter-and-data-science-in-fedora/) -[#]: author: (Avi Alkalay https://fedoramagazine.org/author/aviram/) - -Jupyter and data science in Fedora -====== - -![][1] - -In the past, kings and leaders used oracles and magicians to help them predict the future — or at least get some good advice due to their supposed power to perceive hidden information. Nowadays, we live in a society obsessed with quantifying everything. So we have data scientists to do this job. - -Data scientists use statistical models, numerical techniques and advanced algorithms that didn’t come from statistical disciplines, along with the data that exist on databases, to find, to infer, to predict data that doesn’t exist yet. Sometimes this data is about the future. That is why we do a lot of predictive analytics and prescriptive analytics. - -Here are some questions to which data scientists help find answers: - - 1. Who are the students with high propensity to abandon the class? For each one, what are the reasons for leaving? - 2. Which house has a price above or below the fair price? What is the fair price for a certain house? - 3. What are the hidden groups that my clients classify themselves? - 4. Which future problems this premature child will develop? - 5. How many calls will I get in my call center tomorrow 11:43 AM? - 6. My bank should or should not lend money to this customer? - - - -Note how the answer to all these question is not sitting in any database waiting to be queried. These are all data that still doesn’t exist and has to be calculated. That is part of the job we data scientists do. - -Throughout this article you’ll learn how to prepare a Fedora system as a Data Scientist’s development environment and also a production system. Most of the basic software is RPM-packaged, but the most advanced parts can only be installed, nowadays, with Python’s _pip_ tool. - -### Jupyter — the IDE - -Most modern data scientists use Python. And an important part of their work is EDA (exploratory data analysis). EDA is a manual and interactive process that retrieves data, explores its features, searches for correlations, and uses plotted graphics to visualize and understand how data is shaped and prototypes predictive models. - -Jupyter is a web application perfect for this task. Jupyter works with Notebooks, documents that mix rich text including beautifully rendered math formulas (thanks to [mathjax][2]), blocks of code and code output, including graphics. - -Notebook files have extension _.ipynb_, which means Interactive Python Notebook. - -#### Setting up and running Jupyter - -First, install essential packages for Jupyter ([using][3] _[sudo][3]_): - -``` -$ sudo dnf install python3-notebook mathjax sscg -``` - -You might want to install additional and optional Python modules commonly used by data scientists: - -``` -$ sudo dnf install python3-seaborn python3-lxml python3-basemap python3-scikit-image python3-scikit-learn python3-sympy python3-dask+dataframe python3-nltk -``` - -Set a password to log into Notebook web interface and avoid those long tokens. Run the following command anywhere on your terminal: - -``` -$ mkdir -p $HOME/.jupyter -$ jupyter notebook password -``` - -Now, type a password for yourself. This will create the file _$HOME/.jupyter/jupyter_notebook_config.json_ with your encrypted password. - -Next, prepare for SSLby generating a self-signed HTTPS certificate for Jupyter’s web server: - -``` -$ cd $HOME/.jupyter; sscg -``` - -Finish configuring Jupyter by editing your _$HOME/.jupyter/jupyter_notebook_config.json_ file. Make it look like this: - -``` -{ - "NotebookApp": { - "password": "sha1:abf58...87b", - "ip": "*", - "allow_origin": "*", - "allow_remote_access": true, - "open_browser": false, - "websocket_compression_options": {}, - "certfile": "/home/aviram/.jupyter/service.pem", - "keyfile": "/home/aviram/.jupyter/service-key.pem", - "notebook_dir": "/home/aviram/Notebooks" - } -} -``` - -The parts in red must be changed to match your folders. Parts in blue were already there after you created your password. Parts in green are the crypto-related files generated by _sscg_. - -Create a folder for your notebook files, as configured in the _notebook_dir_ setting above: - -``` -$ mkdir $HOME/Notebooks -``` - -Now you are all set. Just run Jupyter Notebook from anywhere on your system by typing: - -``` -$ jupyter notebook -``` - -Or add this line to your _$HOME/.bashrc_ file to create a shortcut command called _jn_: - -``` -alias jn='jupyter notebook' -``` - -After running the command _jn_, access __ from any browser on the network to see the Jupyter user interface. You’ll need to use the password you set up earlier. Start typing some Python code and markup text. This is how it looks: - -![Jupyter with a simple notebook][4] - -In addition to the IPython environment, you’ll also get a web-based Unix terminal provided by _terminado_. Some people might find this useful, while others find this insecure. You can disable this feature in the config file. - -### JupyterLab — the next generation of Jupyter - -JupyterLab is the next generation of Jupyter, with a better interface and more control over your workspace. It’s currently not RPM-packaged for Fedora at the time of writing, but you can use _pip_ to get it installed easily: - -``` -$ pip3 install jupyterlab --user -$ jupyter serverextension enable --py jupyterlab -``` - -Then run your regular _jupiter notebook_ command or _jn_ alias. JupyterLab will be accessible from __**. - -### Tools used by data scientists - -In this section you can get to know some of these tools, and how to install them. Unless noted otherwise, the module is already packaged for Fedora and was installed as prerequisites for previous components. - -#### **Numpy** - -_Numpy_ is an advanced and C-optimized math library designed to work with large in-memory datasets. It provides advanced multidimensional matrix support and operations, including math functions as log(), exp(), trigonometry etc. - -#### Pandas - -In this author’s opinion, Python is THE platform for data science mostly because of Pandas. Built on top of numpy, Pandas makes easy the work of preparing and displaying data. You can think of it as a no-UI spreadsheet, but ready to work with much larger datasets. Pandas helps with data retrieval from a SQL database, CSV or other types of files, columns and rows manipulation, data filtering and, to some extent, data visualization with matplotlib. - -#### Matplotlib - -Matplotlib is a library to plot 2D and 3D data. It has great support for notations in graphics, labels and overlays - -![matplotlib pair of graphics showing a cost function searching its optimal value through a gradient descent algorithm][5] - -#### Seaborn - -Built on top of matplotlib, Seaborn’s graphics are optimized for a more statistical comprehension of data. It automatically displays regression lines or Gauss curve approximations of plotted data. - -![Linear regression visualised with SeaBorn][6] - -#### [StatsModels][7] - -StatsModels provides algorithms for statistical and econometrics data analysis such as linear and logistic regressions. Statsmodel is also home for the classical family of [time series algorithms][8] known as ARIMA. - -![Normalized number of passengers across time \(blue\) and ARIMA-predicted number of passengers \(red\)][9] - -#### Scikit-learn - -The central piece of the machine-learning ecosystem, [scikit][10] provides predictor algorithms for [regression][11] (Elasticnet, Gradient Boosting, Random Forest etc) and [classification][11] and clustering (K-means, DBSCAN etc). It features a very well designed API. Scikit also has classes for advanced data manipulation, dataset split into train and test parts, dimensionality reduction and data pipeline preparation. - -#### XGBoost - -XGBoost is the most advanced regressor and classifier used nowadays. It’s not part of scikit-learn, but it adheres to scikit’s API. [XGBoost][12] is not packaged for Fedora and should be installed with pip. [XGBoost can be accelerated with your nVidia GPU][13], but not through its _pip_ package. You can get this if you compile it yourself against CUDA. Get it with: - -``` -$ pip3 install xgboost --user -``` - -#### Imbalanced Learn - -[imbalanced-learn][14] provides ways for under-sampling and over-sampling data. It is useful in fraud detection scenarios where known fraud data is very small when compared to non-fraud data. In these cases data augmentation is needed for the known fraud data, to make it more relevant to train predictors. Install it with _pip_: - -``` -$ pip3 install imblearn --user -``` - -#### NLTK - -The [Natural Language toolkit][15], or NLTK, helps you work with human language data for the purpose of building chatbots (just to cite an example). - -#### SHAP - -Machine learning algorithms are very good on predicting, but aren’t good at explaining why they made a prediction. [SHAP][16] solves that, by analyzing trained models. - -![Where SHAP fits into the data analysis process][17] - -Install it with _pip_: - -``` -$ pip3 install shap --user -``` - -#### [Keras][18] - -Keras is a library for deep learning and neural networks. Install it with _pip_: - -``` -$ sudo dnf install python3-h5py -$ pip3 install keras --user -``` - -#### [TensorFlow][19] - -TensorFlow is a popular neural networks builder. Install it with _pip_: - -``` -$ pip3 install tensorflow --user -``` - -* * * - -_Photo courtesy of [FolsomNatural][20] on [Flickr][21] (CC BY-SA 2.0)._ - --------------------------------------------------------------------------------- - -via: https://fedoramagazine.org/jupyter-and-data-science-in-fedora/ - -作者:[Avi Alkalay][a] -选题:[lujun9972][b] -译者:[译者ID](https://github.com/译者ID) -校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 - -[a]: https://fedoramagazine.org/author/aviram/ -[b]: https://github.com/lujun9972 -[1]: https://fedoramagazine.org/wp-content/uploads/2019/06/jupyter-816x345.jpg -[2]: http://mathjax.org -[3]: https://fedoramagazine.org/howto-use-sudo/ -[4]: https://avi.alkalay.net/articlefiles/2018/07/jupyter-fedora.png -[5]: https://fedoramagazine.org/wp-content/uploads/2019/06/gradient-descent-cost-function-optimization.png -[6]: https://seaborn.pydata.org/_images/regression_marginals.png -[7]: https://www.statsmodels.org/ -[8]: https://www.statsmodels.org/stable/examples/index.html#stats -[9]: https://fedoramagazine.org/wp-content/uploads/2019/06/time-series.png -[10]: https://scikit-learn.org/stable/ -[11]: https://scikit-learn.org/stable/supervised_learning.html#supervised-learning -[12]: https://xgboost.ai -[13]: https://xgboost.readthedocs.io/en/latest/gpu/index.html -[14]: https://imbalanced-learn.readthedocs.io -[15]: https://www.nltk.org -[16]: https://github.com/slundberg/shap -[17]: https://raw.githubusercontent.com/slundberg/shap/master/docs/artwork/shap_diagram.png -[18]: https://keras.io -[19]: https://www.tensorflow.org -[20]: https://www.flickr.com/photos/87249144@N08/ -[21]: https://www.flickr.com/photos/87249144@N08/45871861611/ diff --git a/translated/tech/20190702 Jupyter and data science in Fedora.md b/translated/tech/20190702 Jupyter and data science in Fedora.md new file mode 100644 index 0000000000..3956ad9a09 --- /dev/null +++ b/translated/tech/20190702 Jupyter and data science in Fedora.md @@ -0,0 +1,244 @@ +[#]: collector: (lujun9972) +[#]: translator: (chen-ni) +[#]: reviewer: ( ) +[#]: publisher: ( ) +[#]: url: ( ) +[#]: subject: (Jupyter and data science in Fedora) +[#]: via: (https://fedoramagazine.org/jupyter-and-data-science-in-fedora/) +[#]: author: (Avi Alkalay https://fedoramagazine.org/author/aviram/) + +在 Fedora 上搭建 Jupyter 和数据科学环境 +====== + +![][1] + +在过去,神谕和魔法师被认为拥有发现奥秘的力量,国王和统治者们会借助他们预测未来,或者至少是听取一些建议。如今我们生活在一个痴迷于将一切事情量化的社会里,这份工作就交给数据科学家了。 + +数据科学家通过使用统计模型、数值分析,以及统计学之外的高级算法,结合数据库里已经存在的数据,去发掘、推断和预测尚不存在的数据(有时是关于未来的数据)。这就是为什么我们要做这么多的预测分析和规划分析。 + +下面是一些可以借助数据科学家回答的问题: + + 1. 哪些学生有旷课倾向?每个人旷课的原因分别是什么? + 2. 哪栋房子的售价比合理价格要高或者低?一栋房子的合理价格是多少? + 3. 如何将我们的客户按照潜在的特质进行分组? + 4. 这个孩子的早熟可能会在未来引发什么问题? + 5. 我们的呼叫中心在明天早上 11 点 43 分会接收到多少次呼叫? + 6. 我们的银行是否应该向这位客户发放贷款? + +请注意,这些问题的答案是在任何数据库里都查询不到的,因为它们尚不存在,需要被计算出来才行。这就是我们数据科学家从事的工作。 + +在这篇文章中你会学习如何将 Fedora 系统打造成数据科学家的开发环境和生产系统。其中大多数基本软件都有 RPM 软件包,但是最先进的组件目前只能通过 Python 的 **pip** 工具安装。 + +### Jupyter IDE + +大多数现代数据科学家使用 Python 工作。他们工作中很重要的一部分是 探索性数据分析Exploratory Data Analysis(EDA)。EDA 是一种手动进行的、交互性的过程,包括提取数据、探索数据特征、寻找相关性、通过绘制图形进行数据可视化并理解数据的分布特征,以及实现简易的预测模型。 + +Jupyter 是能够完美胜任该工作的一个 web 应用。Jupyter 使用的 Notebook 文件支持丰富的文本,包括渲染精美的数学公式(得益于 [mathjax][2])、代码块和代码输出(包括图形输出)。 + +Notebook 文件的后缀是 **.ipynb**,意思是“交互式 Python Notebook”。 + +#### 搭建并运行 Jupyter + +首先,[使用 sudo][3] 安装 Jupyter 核心软件包: + +``` +$ sudo dnf install python3-notebook mathjax sscg +``` +你或许需要安装数据科学家常用的一些附加可选模块: + +``` +$ sudo dnf install python3-seaborn python3-lxml python3-basemap python3-scikit-image python3-scikit-learn python3-sympy python3-dask+dataframe python3-nltk +``` + +设置一个用来登陆 Notebook 的 web 界面的密码,从而避免使用冗长的令牌。你可以在终端里任何一个位置运行下面的命令: + +``` +$ mkdir -p $HOME/.jupyter +$ jupyter notebook password +``` + +然后输入你的密码,这时会自动创建 ** $HOME/.jupyter/jupyter_notebook_config.json ** 这个文件,包含了你的密码的加密后版本。 + +接下来,通过使用 SSLby 为 Jupyter 的 web 服务器生成一个自签名的 HTTPS 证书: + +``` +$ cd $HOME/.jupyter; sscg +``` + +配置 Jupyter 的最后一步是编辑 **$HOME/.jupyter/jupyter_notebook_config.json** 这个文件。按照下面的模版编辑该文件: + +``` +{ + "NotebookApp": { + "password": "sha1:abf58...87b", + "ip": "*", + "allow_origin": "*", + "allow_remote_access": true, + "open_browser": false, + "websocket_compression_options": {}, + "certfile": "/home/aviram/.jupyter/service.pem", + "keyfile": "/home/aviram/.jupyter/service-key.pem", + "notebook_dir": "/home/aviram/Notebooks" + } +} +``` + +红色的部分应该替换为你的文件夹。蓝色的部分在你创建完密码之后就已经自动生成了。绿色的部分是 **sscg** 生成的和加密相关的文件。 + +接下来创建一个用来存放 notebook 文件的文件夹,应该和上面配置里 **notebook_dir** 一致: + +``` +$ mkdir $HOME/Notebooks +``` + +你已经完成了配置。现在可以在系统里的任何一个地方通过以下命令启动 Jupyter Notebook: + +``` +$ jupyter notebook +``` + +或者是将下面这行代码添加到 **$HOME/.bashrc** 文件,创建一个叫做 **jn** 的快捷命令: + +``` +alias jn='jupyter notebook' +``` + +运行 **jn** 命令之后,你可以通过网络内部的任何一个浏览器访问 **** (LCTT 译注:将域名替换为服务器的域名),就可以看到 Jupyter 的用户界面了,需要使用前面设置的密码登录。你可以尝试键入一些 Python 代码和标记文本,看起来会像下面这样: + +![Jupyter with a simple notebook][4] + +除了 IPython 环境,安装过程还会生成一个由 **terminado** 提供的基于 web 的 Unix 终端。有人觉得这很实用,也有人觉得这样不是很安全。你可以在配置文件里禁用这个功能。 + +### JupyterLab — 下一代 Jupyter + +JupyterLab 是下一代的 Jupyter,拥有更好的用户界面和对工作空间更强的操控性。在写这篇文章的时候 JupyterLab 还没有可用的 RPM 软件包,但是你可以使用 **pip** 轻松完成安装: + +``` +$ pip3 install jupyterlab --user +$ jupyter serverextension enable --py jupyterlab +``` + +然后运行 **jupiter notebook** 命令或者 **jn** 快捷命令。访问 **** LCTT 译注:将域名替换为服务器的域名)就可以使用 JupyterLab 了。 + +### 数据科学家使用的工具 + +在下面这一节里,你将会了解到数据科学家使用的一些工具及其安装方法。除非另作说明,这些工具应该已经有 Fedora 软件包版本,并且已经作为前面组件所需要的软件包而被安装了。 + +#### **Numpy** + +**Numpy** 是一个针对 C 语言优化过的高级库,用来处理内存里的大型数据集。它支持高级多维矩阵及其运算,并且包含了 log()、exp()、三角函数等数学函数。 + +#### Pandas + +在我看来,正是 Pandas 成就了 Python 作为数据科学首选平台的地位。Pandas 构建在 numpy 之上,可以让数据准备和数据呈现工作变得简单很多。你可以把它想象成一个没有用户界面的电子表格程序,但是能够处理的数据集要大得多。Pandas 支持从 SQL 数据库或者 CSV 等格式的文件中提取数据、按列或者按行进行操作、数据筛选,以及通过 matplotlib 实现数据可视化的一部分功能。 + +#### Matplotlib + +Matplotlib 是一个用来绘制 2D 和 3D 数据图像的库,在图象注解、标签和叠加层方面都提供了相当不错的支持。 + +![matplotlib pair of graphics showing a cost function searching its optimal value through a gradient descent algorithm][5] + +#### Seaborn + +Seaborn 构建在 matplotlib 之上,它的绘图功能经过了优化,更加适合数据的统计学研究,比如说可以自动显示所绘制数据的近似回归线或者正态分布曲线。 + +![Linear regression visualised with SeaBorn][6] + +#### [StatsModels][7] + +StatsModels 为统计学和经济计量学的数据分析问题(例如线形回归和逻辑回归)提供算法支持,同时提供经典的 [时间序列算法][8] 家族:ARIMA。 + +![Normalized number of passengers across time \(blue\) and ARIMA-predicted number of passengers \(red\)][9] + +#### Scikit-learn + +作为机器学习生态系统的核心部件,[scikit][10] 为不同类型的问题提供预测算法,包括 [回归问题][11](算法包括 Elasticnet、Gradient Boosting、随机森林等等)、[分类问题][11] 和聚类问题(算法包括 K-means 和 DBSCAN 等等),并且拥有设计精良的 API。Scikit 还定义了一些专门的 Python 类,用来支持数据操作的高级技巧,比如将数据集拆分为训练集和测试集、降维算法、数据准备管道流程等等。 + +#### XGBoost + +XGBoost 是目前可以使用的最先进的回归器和分类器。它并不是 scikit-learn 的一部分,但是却遵循了 scikit 的 API。[XGBoost][12] 并没有针对 Fedora 的软件包,但可以使用 pip 安装。[使用英伟达显卡可以提升 XGBoost 算法的性能][13],但是这并不能通过 **pip** 软件包来实现。如果你希望使用这个功能,可以针对 CUDA (LCTT 译注:英伟达开发的并行计算平台)自己进行编译。使用下面这个命令安装 XGBoost: + +``` +$ pip3 install xgboost --user +``` + +#### Imbalanced Learn + +[imbalanced-learn][14] 是一个解决数据欠采样和过采样问题的工具。比如在反欺诈问题中,欺诈数据相对于正常数据来说数量非常小,这个时候就需要对欺诈数据进行数据增强,从而让预测器能够更好地适应数据集。使用 **pip** 安装: + +``` +$ pip3 install imblearn --user +``` + +#### NLTK + +[Natural Language toolkit][15](简称 NLTK)是一个处理人类语言数据的工具,举例来说,它可以被用来开发一个聊天机器人。 + + +#### SHAP + +机器学习算法拥有强大的预测能力,但并不能够很好地解释为什么做出这样或那样的预测。[SHAP][16] 可以通过分析训练后的模型来解决这个问题。 + +![Where SHAP fits into the data analysis process][17] + +使用 **pip** 安装: + +``` +$ pip3 install shap --user +``` + +#### [Keras][18] + +Keras 是一个深度学习和神经网络模型的库,使用 **pip** 安装: + +``` +$ sudo dnf install python3-h5py +$ pip3 install keras --user +``` + +#### [TensorFlow][19] + +TensorFlow 是一个非常流行的神经网络模型搭建工具,使用 **pip** 安装: + +``` +$ pip3 install tensorflow --user +``` + +* * * + +_Photo courtesy of [FolsomNatural][20] on [Flickr][21] (CC BY-SA 2.0)._ + +-------------------------------------------------------------------------------- + +via: https://fedoramagazine.org/jupyter-and-data-science-in-fedora/ + +作者:[Avi Alkalay][a] +选题:[lujun9972][b] +译者:[chen-ni](https://github.com/chen-ni) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://fedoramagazine.org/author/aviram/ +[b]: https://github.com/lujun9972 +[1]: https://fedoramagazine.org/wp-content/uploads/2019/06/jupyter-816x345.jpg +[2]: http://mathjax.org +[3]: https://fedoramagazine.org/howto-use-sudo/ +[4]: https://avi.alkalay.net/articlefiles/2018/07/jupyter-fedora.png +[5]: https://fedoramagazine.org/wp-content/uploads/2019/06/gradient-descent-cost-function-optimization.png +[6]: https://seaborn.pydata.org/_images/regression_marginals.png +[7]: https://www.statsmodels.org/ +[8]: https://www.statsmodels.org/stable/examples/index.html#stats +[9]: https://fedoramagazine.org/wp-content/uploads/2019/06/time-series.png +[10]: https://scikit-learn.org/stable/ +[11]: https://scikit-learn.org/stable/supervised_learning.html#supervised-learning +[12]: https://xgboost.ai +[13]: https://xgboost.readthedocs.io/en/latest/gpu/index.html +[14]: https://imbalanced-learn.readthedocs.io +[15]: https://www.nltk.org +[16]: https://github.com/slundberg/shap +[17]: https://raw.githubusercontent.com/slundberg/shap/master/docs/artwork/shap_diagram.png +[18]: https://keras.io +[19]: https://www.tensorflow.org +[20]: https://www.flickr.com/photos/87249144@N08/ +[21]: https://www.flickr.com/photos/87249144@N08/45871861611/ From 3eb6c8ef1eb632532d49a75d6150a8e254c3fe5e Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Thu, 4 Jul 2019 21:59:09 +0800 Subject: [PATCH 13/61] PRF:20180629 100 Best Ubuntu Apps.md PART 6 --- .../tech/20180629 100 Best Ubuntu Apps.md | 139 +++++++++--------- 1 file changed, 73 insertions(+), 66 deletions(-) diff --git a/translated/tech/20180629 100 Best Ubuntu Apps.md b/translated/tech/20180629 100 Best Ubuntu Apps.md index 06b0db2c75..d5c3505d10 100644 --- a/translated/tech/20180629 100 Best Ubuntu Apps.md +++ b/translated/tech/20180629 100 Best Ubuntu Apps.md @@ -719,19 +719,19 @@ $ sudo apt-get install plank ### 67、Filezilla -Filezilla 是一个免费和跨平台的 FTP 应用,包括 Filezilla 客户端和服务器。它让你使用 FTP 和加密的 FTP 像 FTPS 和 SFTP 传输文件,支持 IPv6 网络协议。 +Filezilla 是一个免费和跨平台的 FTP 应用,包括 Filezilla 客户端和服务器。它让你使用 FTP 和加密的 FTP,如 FTPS 和 SFTP 传输文件,支持 IPv6 网络协议。 ![][73] -它是一个简单的文件传输应用,支持拖放,支持世界范围的各种语言,多任务的强大用户界面,控制和配置传输速度。 +它是一个简单的文件传输应用,支持拖放,支持世界范围的各种语言,多任务的强大用户界面,可以控制和配置传输速度。 ### 68、Stacer -Stacer 是一个开源的系统诊断和优化工具,使用 Electron 开发框架开发的。它有一个优秀的用户界面,你可以清理缓存内存,启动应用,卸载不需要的应用,掌控后台系统进程。 +Stacer 是一个开源的系统诊断和优化工具,使用 Electron 开发框架开发。它有一个优秀的用户界面,你可以清理缓存内存、启动应用、卸载不需要的应用、掌控后台系统进程。 ![][74] -它同样让你检查磁盘,内存和 CPU 使用情况,给你下载和上传的实时状态。它看起来像 Ubuntu clener 的强力竞争者,但是两者都有独特的特点。 +它也可以让你检查磁盘、内存和 CPU 使用情况,给你下载和上传的实时状态。它看起来像 Ubuntu clener 的强力竞争者,但是两者都有独特的特点。 ``` $ sudo add-apt-repository ppa:oguzhaninan/stacer @@ -739,30 +739,29 @@ $ sudo apt-get update $ sudo apt-get install stacer ``` -### 69、4K Video Downloader +### 69、4K 视频下载器 -4K Video Downloader 是一个简单的视频下载工具,你可以用来从 Vimeo、Facebook、YouTube 和其它在线视频流站点下载视频,播放列表,频道。它支持下载 YouTuBe 播放列表和频道,以 MP4, MKV, M4A, 3GP 和很多其它 音/视频格式。 +4K 视频下载器是一个简单的视频下载工具,你可以用来从 Vimeo、Facebook、YouTube 和其它在线视频流站点下载视频、播放列表、频道。它支持下载 YouTuBe 播放列表和频道,可以采用 MP4、MKV、M4A、3GP 和很多其它音/视频格式。 ![][75] -4K Video Downloader 不是你想的那么简单,除了正常的视频下载,它支持 3D 和 360 度 视频下载。它同样提供内置应用协议链接,直连 iTunes。你可以从[这里][76]下载。 +4K 视频下载器不是你想的那么简单,除了正常的视频下载,它支持 3D 和 360 度视频下载。它同样提供应用内代理设置、直连 iTunes 等功能。你可以从[这里][76]下载。 -### 70、Qalculate +### 70、Qalculate -Qalculate 是一个多目的、跨平台的桌面计算器,简单但是强大。它可以用来解决复杂的数学问题和等式,货币汇率转换和很多其它日常计算。 +Qalculate 是一个多用途、跨平台的桌面计算器,简单而强大。它可以用来解决复杂的数学问题和等式、货币汇率转换和很多其它日常计算。 ![][77] -它有优秀的用户界面,提供了自定义功能,单元计算,符号计算,算数,画图,和很多你可以在科学计算器上发现的功能。 +它有优秀的用户界面,提供了自定义功能、单位计算、符号计算、四则运算、画图和很多你可以在科学计算器上发现的功能。 ### 71、Hiri -Hiri 是一个跨平台的邮件客户端,使用 Python 语言开发的。它有平滑的用户界面,就它的功能和服务而言,是 Micorsoft Outlook 的很好的替代品。这是很棒的邮件客户端,可以用来发送和接收邮件,管理通讯录,日历和任务。 +Hiri 是一个跨平台的邮件客户端,使用 Python 语言开发的。它有平滑的用户界面,就它的功能和服务而言,是 Micorsoft Outlook 的很好的替代品。这是很棒的邮件客户端,可以用来发送和接收邮件,管理通讯录、日历和任务。 ![][78] -它是一个丰富特点的邮件客户端,提供的功能有集成的任务管理器,邮件同步,邮件评分,邮件过滤等多种功能。 - +它是一个具有丰富特点的邮件客户端,提供的功能有集成的任务管理器、邮件同步、邮件评分、邮件过滤等多种功能。 ``` $ sudo snap install hiri @@ -770,11 +769,11 @@ $ sudo snap install hiri ### 72、Sublime Text -Sublime Text 是一个跨平台的源代码编辑器,用 C++ 和 Python 写的。它有 Python 语言编程接口(API),支持所有主流的编程语言和标记语言。它是简单轻量级的文本编辑器,可被用作 IDE,包含自动补全,语法高亮,分窗口编辑等功能。 +Sublime Text 是一个跨平台的源代码编辑器,用 C++ 和 Python 写的。它有 Python 语言编程接口(API),支持所有主流的编程语言和标记语言。它是简单轻量级的文本编辑器,可被用作 IDE,包含自动补全、语法高亮、分窗口编辑等功能。 ![][79] -这个文本编辑器包括一些额外特点:去任何地方、去定义、多选、命令模板和完全定制的用户界面。 +这个文本编辑器包括一些额外特点:任意跳转、跳转定义、多选、命令模式和可完全定制的用户界面。 ``` $ sudo apt-get install sublime-text @@ -782,11 +781,11 @@ $ sudo apt-get install sublime-text ### 73、TeXstudio -Texstudio 是一个创建和编辑 LaTex 文件的集成写作环境。它是开源的编辑器,提供了语法高亮、集成查看、交互式拼写检查、代码折叠、拖放等特点。 +Texstudio 是一个创建和编辑 LaTex 文件的集成写作环境。它是开源的编辑器,提供了语法高亮、集成的查看器、交互式拼写检查、代码折叠、拖放等特点。 ![][80] -它是跨平台的编辑器,有简单轻量级的用户界面,易于使用。它集成了 BibTex和 BibLatex 目录管理器,同样有集成的 PDF 查看器。你可以从[官网][81]和 Ubuntu 软件中心下载 Texstudio。 +它是跨平台的编辑器,有简单轻量级的用户界面,易于使用。它集成了 BibTex 和 BibLatex 目录管理器,同样有集成的 PDF 查看器。你可以从[官网][81]和 Ubuntu 软件中心下载 Texstudio。 ### 74、QtQR @@ -794,7 +793,7 @@ QtQR 是一个基于 Qt 的应用,让你在 Ubuntu 中创建和读取二维码 ![][82] -如果你经常处理产品销售和服务,QtQR 会证明是有用的工具,但是我不认为在最小硬件要求下有和 QtQR 这样相似并顺畅运行的应用了。 +如果你经常处理产品销售和服务,QtQR 会证明是有用的工具,我觉得没有能在如此低硬件的要求下能和 QtQR 一样提供类似功能顺畅运行的应用了。 ``` $ sudo add-apt-repository ppa: qr-tools-developers/qr-tools-stable @@ -804,11 +803,11 @@ $ sudo apt-get install qtqr ### 75、Kontact -Kontact 是一个由 KDE 为 KDE 桌面环境开发的集成的个人信息管理器(PIM)。它集成了多个软件到一个集合中,集成了 KMail、KOrganizer和 KAddressBook 到一个用户界面,你可以管理所有的邮件、通讯录、日程表等。 +Kontact 是一个为 KDE 桌面环境开发的集成的个人信息管理器(PIM)。它集成了多个软件到一个集合中,在一个用户界面集成了 KMail、KOrganizer和 KAddressBook,你可以管理所有的邮件、通讯录、日程表等。 ![][83] -它可能是 Microsoft Outlook 的非常好的替代,因为它快速且高度高配置的消息管理工具。它有很好的用户界面,你会发现很容易上手。 +它可能是 Microsoft Outlook 的非常好的替代品,因为它是快速且高度高配置的消息管理工具。它有很好的用户界面,你会发现很容易上手。 ``` $ sudo apt-get install kontact @@ -820,7 +819,7 @@ NitroShare 是一个跨平台、开源的网络文件共享应用。它让你轻 ![][84] -文件传输速度让 NitroShare 称为一个杰出的文件共享应用,它在能够胜任的硬件中能够达到 GB 级的传输速度。没有必要额外配置,安装完成后你就可以开始文件传输。 +文件传输速度让 NitroShare 成为一个杰出的文件共享应用,它在能够胜任的硬件中能够达到 GB 级的传输速度。没有必要额外配置,安装完成后你就可以开始文件传输。 ``` $ sudo apt-add-repository ppa:george-edison55/nitroshare @@ -830,11 +829,11 @@ $ sudo apt-get install nitroshare ### 77、Konversation -Konversation 是一个为 KDE 桌面环境开发的开源的网络中继聊天(IRC)客户端。它给了到 Freenode 网络平岛的快速入口,你可以为大多数发行版找到支持。 +Konversation 是一个为 KDE 桌面环境开发的开源的网络中继聊天(IRC)客户端。它给了你到 Freenode 网络频道的快速入口,你可以为大多数发行版找到支持。 ![][85] -它是一个简单的聊天客户端,支持 IPv6 链接, SSL 服务器支持,书签,屏幕通知,UTF-8 检测和另外的主题。它易于使用的 GUI 是高度可配置的。 +它是一个简单的聊天客户端,支持 IPv6 链接、SSL 服务器支持、书签、屏幕通知、UTF-8 检测和另外的主题。它易于使用的 GUI 是高度可配置的。 ``` $ sudo apt-get install konversation @@ -846,15 +845,15 @@ $ sudo apt-get install konversation ![][86] -Discord 是一个非常流行的语音通话应用游戏社区,因为它是完全免费的,它是 Skype,Ventrilo,Teamspeak 的很好的竞争者。它同样提供清晰的语音质量,现代的文本聊天,你可以共享图片,视频和链接。 +Discord 是一个非常流行的语音通话应用游戏社区,因为它是完全免费的,它是 Skype、Ventrilo、Teamspeak 的很好的竞争者。它同样提供清晰的语音质量、现代的文本聊天,你可以共享图片、视频和链接。 ### 79、QuiteRSS -QuiteRSS是一个开源的 RSS 的新闻聚合和 Atom 新闻要点应用。它是跨平台的要点阅读器,用 Qt 和 C++ 写的。它有简单的用户界面,你可以改变为经典或者报纸模式。它集成了 webkit 浏览器,因此,你可以在单个窗口执行所有任务。 +QuiteRSS是一个开源的 RSS 和 Atom 新闻摘要的聚合应用。它是跨平台的摘要阅读器,用 Qt 和 C++ 写的。它有简单的用户界面,你可以改变为经典或者报纸模式。它集成了 webkit 浏览器,因此,你可以在单个窗口执行所有任务。 ![][87] -QuiteRSS 自带了很多功能,像内容过滤,自动规划摘要,导入/到处 OPML,系统托盘集成和很多其它你期待任何要点阅读器有的特点。 +QuiteRSS 自带了很多功能,像内容过滤、自动规划摘要、导入/导出 OPML、系统托盘集成了很多其它摘要阅读器有的特点。 ``` $ sudo apt-get install quiterss @@ -862,11 +861,11 @@ $ sudo apt-get install quiterss ### 80、MPV Media Player -MPV 是一个自由开源的媒体播放器,基于 MPlayer 和 MPlayer 2。它有简单的用户界面,用户之需要拖放音/视频文件来播放,因为在 GUI 上没有添加媒体文件的选项。 +MPV 是一个自由开源的媒体播放器,基于 MPlayer 和 MPlayer 2。它有简单的用户界面,用户只需要拖放音/视频文件来播放,因为在 GUI 上没有添加媒体文件的选项。 ![][88] -关于 MPV 的一件事是它可以轻松播放 4K 视频,Linux 发行版中的其它媒体播放器可能不是这样。它同样给了用户播放在线视频流站点像 YouTube 和 Dailymotion 的能力。 +关于 MPV 的一件事是它可以轻松播放 4K 视频,Linux 发行版中的其它媒体播放器可能做不到。它同样给了用户播放在线视频流站点如 YouTube 和 Dailymotion 的能力。 ``` $ sudo add-apt-repository ppa:mc3man/mpv-tests @@ -880,48 +879,51 @@ $ sudo apt-get install -y mpv ![][89] -它是一个开源的应用,拥有最小的用户界面,开始你可能觉得困惑,但不久你就会习惯的。它提供的功能有:编辑笔记,摘要,导出 HTML 和 ODT 格式支持,富文本编辑。 +它是一个开源的应用,拥有精简的用户界面,开始你可能觉得困惑,但不久你就会习惯的。它提供的功能有:编辑笔记、摘要、导出 HTML 和 ODT 格式、富文本编辑。 ``` $ sudo apt-get install plume-creator ``` -### 82、Chromium Web Browser +### 82、Chromium Web 浏览器 -Chromium 是一个由 Google 开发和发布的开源 web 浏览器。Chromium 就其外观和特点而言,很容易被误认为是 Chrome。它是轻量级和快速的网络浏览器,拥有最小用户界面。 +Chromium 是一个由 Google 开发和发布的开源 Web 浏览器。Chromium 就其外观和特点而言,很容易被误认为是 Chrome。它是轻量级和快速的网络浏览器,拥有最小用户界面。 -### 83、Simple Weather Indicator +![][90] -Simple Weather Indicator 是用 Python 开发的开源天气提示应用。它自动侦查你的位置,并显示你天气信息像温度,下雨的可能性,湿度,风速和可见度。 +如果你经常在 Windows 上使用 Google Chrome,而想在 Linux 上寻找一个类似的浏览器,那么 Chromium 就是你的最佳选择,你可以登录到你的 Google 账户以访问包括 Gmail 在内的所有 Google 服务。 + +### 83、简单天气指示器 + +简单天气指示器是用 Python 开发的开源天气提示应用。它自动侦查你的位置,并显示你天气信息像温度,下雨的可能性,湿度,风速和可见度。 ![][91] -Weather indicator 自带一些可配置项,例如位置检测,温度 SI 单元,位置可见度开关等等。它是一个酷应用,可以根据你的桌面来调整舒服。 +简单天气指示器自带一些可配置项,例如位置检测、温度单位、位置可见度开关等等。它是一个还酷的应用,可以根据你的桌面来调整。 ### 84、SpeedCrunch -SpeedCrunch 是一个快速和高精度的科学计算器。它预置了数学函数,用户定义函数,复数和单位转换支持。它有简单的用户界面并易于使用。 +SpeedCrunch 是一个快速和高精度的科学计算器。它预置了数学函数、用户定义函数、复数和单位转换支持。它有简单的用户界面并易于使用。 ![][92] -这个科学计算器有令人吃惊的特点像结果预览,语法高亮和自动补全。它是跨平台的,并有多语言支持。 - +这个科学计算器有令人吃惊的特点,如结果预览、语法高亮和自动补全。它是跨平台的,并有多语言支持。 ### 85、Scribus -Scribus 是一个自由开源的桌面出版应用,允许你创建宣传海报,杂志和图书。它是基于 Qt 工具器的跨平台英语,在 GNU 通用公共证书下发布。它是一个专业的应用,拥有 CMYK 和 ICC 颜色管理的功能,基于 Python 的脚本引擎,和 PDF 创建。 +Scribus 是一个自由开源的桌面出版应用,允许你创建宣传海报、杂志和图书。它是基于 Qt 工具器的跨平台应用,在 GNU 通用公共许可证下发布。它是一个专业的应用,拥有 CMYK 和 ICC 颜色管理的功能、基于 Python 的脚本引擎,和 PDF 创建功能。 ![][93] -Scribus 有相当好的用户界面,易于使用,轻松在低配置下使用。在所有的最新的 Linux 发行版的软件中心可以下载它。 +Scribus 有相当好的用户界面,易于使用,可以在低配置下轻松使用。在所有的最新的 Linux 发行版的软件中心可以下载它。 ### 86. Cura -Cura 是一个由 David Braam 开发的开源的 3D 打印应用。Ultimaker Cura 是 3D 打印世界最流行的软件,并世界范围的百万用户使用。它遵守 3D 打印模型的 3 步:设计,准备,打印。 +Cura 是一个由 David Braam 开发的开源的 3D 打印应用。Ultimaker Cura 是 3D 打印世界最流行的软件,世界范围有百万用户在使用。它遵守 3D 打印模型的 3 步:设计、准备、打印。 ![][94] -它是功能丰富的 3D 打印应用,为 CAD 插件和扩展提供了无缝支持。它是一款简单易于使用的工具,新手艺术家可以马上开始了。它支持主流的文件格式像 STL,3MF,和 OBJ。 +它是功能丰富的 3D 打印应用,为 CAD 插件和扩展提供了无缝支持。它是一款简单易于使用的工具,新手艺术家可以马上开始了。它支持主流的文件格式像 STL、3MF 和 OBJ。 ### 87、Nomacs @@ -929,7 +931,7 @@ Nomacs 是一款开源、跨平台的图像浏览器,支持所有主流的图 ![][95] -Nomacs 拥有非常简单的用户界面,图像缩略图在顶部,它提供了一些基本的图像操作特点像修改,调整大小,旋转,颜色纠正等。 +Nomacs 拥有非常简单的用户界面,图像缩略图在顶部,它提供了一些基本的图像操作特点像修改、调整大小、旋转、颜色纠正等。 ``` $ sudo add-apt-repository ppa:nomacs/stable @@ -939,7 +941,7 @@ $ sudo apt-get install nomacs ### 88、BitTicker -BitTicker 是一个 Ubuntu 上的在线比特币-USDT 收报。它是一个简单的工具,能够连接到 bittrex.com 市场,提取最新的 BTC-USDT 并在系统托盘显示 Ubuntu 时钟。 +BitTicker 是一个 Ubuntu 上的在线的 BTC-USDT 价格接收器。它是一个简单的工具,能够连接到 bittrex.com 市场,提取最新的 BTC-USDT 价格,并在系统托盘显示 Ubuntu 时钟。 ![][96] @@ -947,59 +949,59 @@ BitTicker 是一个 Ubuntu 上的在线比特币-USDT 收报。它是一个简 ### 89、Organize My Files -Organize My Files 是一个跨平台的一键点击文件组织工具,它在 Ubuntu 中以 Snap 包的形式获得。它简单但是强大,帮助你找到未组织的文件,通过简单点击来掌控它们。 +Organize My Files 是一个跨平台的一键点击文件组织工具,它在 Ubuntu 中以 Snap 包的形式获得。它简单而强大,可以帮助你找到未组织的文件,通过简单点击来掌控它们。 ![][97] -它有易于理解的用户界面,强大且快速。它提供了很多功能:自动组织,递归组织,智能过滤和多层文件夹组织等。 +它有易于理解的用户界面,强大且快速。它提供了很多功能:自动组织、递归组织、智能过滤和多层文件夹组织等。 ### 90、GnuCash -GnuCash 是一个金融账户软件,在 GNU 公共证书下免费使用。它是个人和商业账户的理想软件。它有简单的用户界面允许你追踪银行账户,股票,收入和花费。 +GnuCash 是一个金融账户软件,在 GNU 公共证书下自由使用。它是个人和商业账户的理想软件。它有简单的用户界面允许你追踪银行账户、股票、收入和花费。 ![][98] GnuCash 实现了双入口记账系统,基于专业的账户原则来确保帐薄的平衡和报告的精确。 -v### 91、Calibre +### 91、Calibre -Calibre 是一个跨平台开源的面向你所有电子书需要的解决方案。它是一个简单的电子书管理器,提供显示、创建、编辑电子书、组织已存在的电子书到虚拟书库、同步和其它更多。 +Calibre 是一个跨平台的开源的面向电子书需求的解决方案。它是一个简单的电子书管理器,提供显示、创建、编辑电子书、组织已存在的电子书到虚拟书库、同步和其它更多功能。 ![][99] -Calibre 同样帮你转换电子书到你需要的格式并发送到你的电子书阅读设备。Calibre 是一个很棒的工具,如果你经常阅读和管理电子书的话。 +Calibre 同样可以帮你转换电子书到你需要的格式并发送到你的电子书阅读设备。Calibre 是一个很棒的工具,如果你经常阅读和管理电子书的话。 -### 92、MATE Dictionary +### 92、MATE 词典 -MATE Dictionary 是一个简单的词典,基本上是为 MATE 桌面环境开发的。你可以仅仅输入字然后这个字典会显示意思和引用。 +MATE 词典是一个简单的词典,基本上是为 MATE 桌面环境开发的。你可以仅仅输入字然后这个字典会显示意思和引用。 ![][100] -它简单和轻量级的在线词典,有最小的用户接口。 +它是简单和轻量级的在线词典,有极简的用户界面。 ### 93、Converseen -Converseen 是免费的跨平台的批量图片处理应用,允许你转换、编辑、调整、旋转、裁剪大量图像,仅仅一次鼠标调集。它提供了图像批量重命名的功能,使用前缀或后缀,从一个 Windows 图标文件提取图像等。 +Converseen 是免费的跨平台的批量图片处理应用,允许你转换、编辑、调整、旋转、裁剪大量图像,而仅仅需要一次鼠标点击。它提供了使用前缀或后缀图像批量重命名和从一个 Windows 图标文件提取图像等功能。 ![][101] 它有很好的用户界面,易于使用,即时你是一个新手。它也能够转换整个 PDF 文件为图像集合。 -### 94、Tiled Map Editor +### 94、贴片地图编辑器 -Tiled 是一个免费的水平映射图编辑器,允许你编辑各种形式的投影映射图,例如正交、等轴、和六角的。这个工具对于游戏开发者在游戏引擎开发周期内可能非常有用。 +贴片地图编辑器是一个免费的关卡地图编辑器,允许你以正交、等轴、和六角等方向编辑地图。这个工具对于游戏开发者在游戏引擎开发阶段内可能非常有用。 ![][102] -Tiled 是一个通用的映射图编辑器,让你创建强大的促进位置,图布局,碰撞区域和敌人位置。它保存所有的数据为 tmx 格式。 +它是一个通用的地图编辑器,让你创建升级位置、地图布局、碰撞区域和敌人位置。它保存所有的数据为 tmx 格式。 ### 95. Qmmp -Qmmp 是一个自由开源的音频播放器,用 C++ 和 Qt 开发的。它是跨平台的音频播放器,界面与 Winamp 很相似。 它有简单的直观的用户界面,Winamp 皮肤可替代默认的 UI。 +Qmmp 是一个自由开源的音频播放器,用 C++ 和 Qt 开发的。它是跨平台的音频播放器,界面与 Winamp 很相似。 它有简单的直观的用户界面,可以用 Winamp 皮肤替代默认的 UI。 ![][103] -它提供了自动唱片集封面获取,多艺术家支持,另外的插件和扩展支持和其它与 Winamp 相似的特点。 +它提供了自动唱片集封面获取、支持多艺术家,另外的插件和扩展支持和其它与 Winamp 相似的特点。 ``` $ sudo add-apt-repository ppa:forkotov02/ppa @@ -1009,7 +1011,7 @@ $ sudo apt-get install qmmp qmmp-q4 qmmp-plugin-pack-qt4 ### 96、Arora -Arora 是一个免费开源的 web 浏览器,提供了专有的下载管理器,书签,私密模式,选项卡式浏览。 +Arora 是一个免费开源的 web 浏览器,提供了专有的下载管理器、书签、私密模式、选项卡式浏览。 ![][104] @@ -1017,15 +1019,20 @@ Arora web 浏览器由 Benjamin C. Meyer 开发,它由于它的轻量自然灵 ### 97、XnSketch -XnSketch 是一个 Ubuntu 上的酷应用,只需要几次点击,就能帮你转换你的图片为卡通或素描图。它展现了 18 个不同的效果例如:锐化、白描、铅笔画和其它的。 +XnSketch 是一个 Ubuntu 上的酷应用,只需要几次点击,就能帮你转换你的图片为卡通或素描图。它展现了 18 个不同的效果,例如:锐化、白描、铅笔画等等。 ![][105] -它有优秀的用户界面,易于使用。一些额外的特点包括容量和边缘强度调整,对比,亮度,饱和度调整。 +它有优秀的用户界面,易于使用。一些额外的特点包括透明度和边缘锐化调整、对比度、亮度、饱和度调整。 ### 98、Geany -Geany 是一个简单轻量级的文本编辑器,像一个集成开发环境。它是跨平台的文本编辑器,支持所有主流编程语言包括Python、C++、LaTex、Pascal、 C#、 etc。 +Geany 是一个简单而轻量级的文本编辑器,像一个集成开发环境。它是跨平台的文本编辑器,支持所有主流编程语言包括 Python、C++、LaTex、Pascal、C#、etc。 + + +![][106] + +Geany 有个类似于 Notepad++ 编程编辑器的简单用户界面。它提供了 IDE 的功能,如代码导航、自动补完、格式高亮,并支持扩展。 ``` $ sudo apt-get install geany @@ -1033,7 +1040,7 @@ $ sudo apt-get install geany ### 99、Mumble -Mumble 是另一个 IP 上的语音应用相似与 Discord。Mumble 同样最初是为在线游戏者使用的,在端到端的聊天上用了客户端-服务器架构。声音质量在 Mumble 上非常好,它提供了端到端的加密来确保私密性。 +Mumble 是又一个 VoIP 应用,与 Discord 类似。Mumble 同样最初是为在线游戏玩家设计的,使用客户端-服务器架构提供了端到端的聊天。在 Mumble 上的声音质量非常好,它提供了端到端的加密来确保私密性。 ![][107] @@ -1045,11 +1052,11 @@ $ sudo apt-get install mumble-server ### 100、Deluge -Deluge 是一个跨平台的轻量级的 BitTorrent 客户端,能够用来在 Ubuntu 上下载文件。BitTorrent 客户端与很多 Linux 发行版一起发行,但 Deluge 是最好的 BitTorrent 客户端,界面简单,易于使用。 +Deluge 是一个跨平台的轻量级的 BitTorrent 客户端,能够用来在 Ubuntu 上下载文件。BitTorrent 客户端与很多 Linux 发行版一起发行,但 Deluge 是最好的 BitTorrent 客户端,界面简单、易于使用。 ![][108] -Deluge 拥有你发现的其它 BitTorrent 客户端有的所有功能,但是一个功能特别突出,它给了用户从其它设备进入客户端的能力,这样你可以远程下载文件了。 +Deluge 拥有你可以在其它 BitTorrent 客户端上发现的所有功能,但是一个功能特别突出,它给了用户从其它设备访问客户端的能力,这样你可以远程下载文件了。 ``` $ sudo add-apt-repository ppa:deluge-team/ppa @@ -1057,7 +1064,7 @@ $ sudo apt-get update $ sudo apt-get install deluge ``` -所以这些就是 2018 年我为大家选择的 Ubuntu 上最好的 100 个应用了。所有列出的应用都在 Ubuntu 18.04 上测试了,肯定在老版本上也能运行。请在 [@LinuxHint][109] 和 [@SwapTirthakar][110] 自由分享你的观点。 +所以这些就是 2018 年我为大家选择的 Ubuntu 上最好的 100 个应用了。所有列出的应用都在 Ubuntu 18.04 上测试了,肯定在老版本上也能运行。 -------------------------------------------------------------------------------- From f8bbf167d1851af69ed293c42278967eb572406d Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Thu, 4 Jul 2019 22:01:10 +0800 Subject: [PATCH 14/61] PUB:20180629 100 Best Ubuntu Apps.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @warmfrog 这确实是一篇很长的文章,辛苦了,不过要是能更用心翻译和校对的话,这篇肯定是一篇精品了。 --- {translated/tech => published}/20180629 100 Best Ubuntu Apps.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename {translated/tech => published}/20180629 100 Best Ubuntu Apps.md (100%) diff --git a/translated/tech/20180629 100 Best Ubuntu Apps.md b/published/20180629 100 Best Ubuntu Apps.md similarity index 100% rename from translated/tech/20180629 100 Best Ubuntu Apps.md rename to published/20180629 100 Best Ubuntu Apps.md From 12376d732c210c3032f5ac867b2ae5a8dcb594f4 Mon Sep 17 00:00:00 2001 From: qfzy1233 Date: Thu, 4 Jul 2019 22:55:06 +0800 Subject: [PATCH 15/61] Update 20190606 Zorin OS Becomes Even More Awesome With Zorin 15 Release.md --- ...Even More Awesome With Zorin 15 Release.md | 42 +++++++++---------- 1 file changed, 19 insertions(+), 23 deletions(-) diff --git a/sources/news/20190606 Zorin OS Becomes Even More Awesome With Zorin 15 Release.md b/sources/news/20190606 Zorin OS Becomes Even More Awesome With Zorin 15 Release.md index d2201433fe..ac11a72915 100644 --- a/sources/news/20190606 Zorin OS Becomes Even More Awesome With Zorin 15 Release.md +++ b/sources/news/20190606 Zorin OS Becomes Even More Awesome With Zorin 15 Release.md @@ -15,7 +15,7 @@ 我还记得,在几年前,我的一位朋友一直坚持让我安装[Zorin OS][2]。就我个人而言,当时我并不喜欢它的 UI 风格。但是,现如今 Zorin OS 15 发布了,这也让我有了更多的理由安装并将它作为我日常的操作系统。 不要担心,在这篇文章里,我会向你介绍你所需要了解的一切。 -Fret not, in this article, we’ll talk about everything that you need to know. + ### Zorin 15 中的新特性 @@ -45,51 +45,47 @@ Zorin OS 15 最主要的一个亮点就是 - Zorin Connect。如果你使用的 ![Zorin 夜间模式][7] -一提到 “夜间模式” 时我就毫无抵抗力。对我而言,这是Zorin OS 15 自带的最好的功能。 +一提到 “夜间模式” 我就毫无抵抗力。对我而言,这是Zorin OS 15 自带的最好的功能。 -[][8] +[推荐阅读 : Necuno 是一款新的智能手机开源 KDE][8] -Suggested read Necuno is a New Open Source Smartphone Running KDE +当我在任意界面深色模式时,我的眼睛都舒适,你不想来试试么? -It’s so pleasing to my eyes when I enable the dark mode on anything, you with me? +它不单单是一个深色的主题,而是 UI 更干净直观,并且带有恰到好处的新动画。你可以从Zorin 内置的外观应用程序里找到所有的相关内建的所有设置。 -Not just a dark theme, the UI is a lot cleaner and intuitive with subtle new animations. You can find all the settings from the Zorin Appearance app built-in. +#### 自适应背景调整 & 深色浅色模式 -#### 自适应背景调整 & Dark Light - -You get an option to let the background adapt according to the brightness of the environment every hour of the day. Also, you can find the night mode if you don’t want the blue light to stress your eyes. +你可以选择让桌面背景根据一天中每小时的环境亮度进行自动调整。此外,如果你想避免蓝光给眼睛带来伤害,你可以使用夜间模式。 #### To do app ![Todo][9] -I always wanted this to happen so that I don’t have to use a separate service that offers a Linux client to add my tasks. It’s good to see a built-in app with integration support for Google Tasks and Todoist. +我一直希望支持这个功能,这样我就不必使用其他 Linux 客户端程序来添加任务。很高兴看到内置的应用程序集成并支持谷歌任务和 Todoist。 -#### There’s More? +#### 还有更多么? -Yes! Other major changes include the support for Flatpak, a touch layout for convertible laptops, a DND mode, and some redesigned apps (Settings, Libre Office) to give you better user experience. +是的!其他主要的变化包括对 Flatpak 的支持,支持平板笔记本二合一电脑的触摸布局,DND 模式,以及一些重新设计的应用程序(设置,Libre Office),以此来给你更好的用户体验。 -If you want the detailed list of changes along with the minor improvements, you can follow the [announcement post][6]. If you are already a Zorin user, you would notice that they have refreshed their website with a new look as well. +如果你想要了解所有更新和改动的详细信息,你可以查看[官方公告][6]。如果你已经是Zorin的用户,你应该已经注意到他们他们的网站已经启用了一个全新的外观。 ### 下载 Zorin OS 15 -**Note** : _Direct upgrades from Zorin OS 12 to 15 – without needing to re-install the operating system – will be available later this year._ +**注释** : _今年的晚些时候将会推出从 Zorin OS 12 直升 15 版本而不需要重新安装的升级包。_ -In case you didn’t know, there are three versions of Zorin OS – Ultimate, Core, and the Lite version. +为了防止您不够了解,Zorin OS有三个版本—旗舰版本、核心板和轻量版。 -If you want to support the devs and the project while unlocking the full potential of Zorin OS, you should get the ultimate edition for $39. +如果你想支持开发者和项目,同时解锁 Zorin OS 全部的功能,你可以花39美元购买旗舰版本。 -If you just want the essentials, the core edition will do just fine (which you can download for free). In either case, if you have an old computer, the lite version is the one to go with. +如果你只是想要一些基本功能,核心版就可以了(你可以免费下载)。如果是情况下,比如如果你有一台旧电脑,那么你可以使用轻量版。 -[DOWNLOAD ZORIN OS 15][10] +[下载 ZORIN OS 15][10] -**What do you think of Zorin 15?** +**你觉得 Zorin 15 怎么样?** -[][11] +[推荐阅读 Ubuntu 14.04 代号为值得信赖的塔尔羊][11] -Suggested read Ubuntu 14.04 Codenamed Trusty Tahr - -I’m definitely going to give it a try as my primary OS – fingers crossed. What about you? What do you think about the latest release? Feel free to let us know in the comments below. +我肯定会尝试一下,将 Zorin OS 作为我的主要操作系统-(手动狗头)。你呢?你觉得最新的版本怎么样?欢迎在下面的评论中告诉我们。 -------------------------------------------------------------------------------- From de786ac2df256ab4b89c69b369b40068e23697ad Mon Sep 17 00:00:00 2001 From: qfzy1233 Date: Thu, 4 Jul 2019 22:57:32 +0800 Subject: [PATCH 16/61] Update 20190606 Zorin OS Becomes Even More Awesome With Zorin 15 Release.md --- ...in OS Becomes Even More Awesome With Zorin 15 Release.md | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/sources/news/20190606 Zorin OS Becomes Even More Awesome With Zorin 15 Release.md b/sources/news/20190606 Zorin OS Becomes Even More Awesome With Zorin 15 Release.md index ac11a72915..540214606f 100644 --- a/sources/news/20190606 Zorin OS Becomes Even More Awesome With Zorin 15 Release.md +++ b/sources/news/20190606 Zorin OS Becomes Even More Awesome With Zorin 15 Release.md @@ -39,7 +39,7 @@ Zorin OS 15 最主要的一个亮点就是 - Zorin Connect。如果你使用的 正如他们在[官方公告][6]中提到的, 数据的传输仅限于本地网络之间,并且不会有数据被上传到云端服务器。通过以下操作体验 Zorin Connect ,找到 – Zorin menu (Zorin 菜单) > System Tools (系统工具) > Zorin Connect。 -[在手机应用商店中获取 ZORIN CONNECT][5] +[][5] #### 新的桌面主题(包含夜间模式!) @@ -47,7 +47,7 @@ Zorin OS 15 最主要的一个亮点就是 - Zorin Connect。如果你使用的 一提到 “夜间模式” 我就毫无抵抗力。对我而言,这是Zorin OS 15 自带的最好的功能。 -[推荐阅读 : Necuno 是一款新的智能手机开源 KDE][8] +[][8] 当我在任意界面深色模式时,我的眼睛都舒适,你不想来试试么? @@ -83,8 +83,6 @@ Zorin OS 15 最主要的一个亮点就是 - Zorin Connect。如果你使用的 **你觉得 Zorin 15 怎么样?** -[推荐阅读 Ubuntu 14.04 代号为值得信赖的塔尔羊][11] - 我肯定会尝试一下,将 Zorin OS 作为我的主要操作系统-(手动狗头)。你呢?你觉得最新的版本怎么样?欢迎在下面的评论中告诉我们。 -------------------------------------------------------------------------------- From ecf563d98535d8a8bc3795aac3289aba831cedea Mon Sep 17 00:00:00 2001 From: qfzy1233 Date: Thu, 4 Jul 2019 23:00:49 +0800 Subject: [PATCH 17/61] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E8=AF=91=E6=96=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 原文中推广阅读的链接和文本已经删除 --- ...06 Zorin OS Becomes Even More Awesome With Zorin 15 Release.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename {sources => translated}/news/20190606 Zorin OS Becomes Even More Awesome With Zorin 15 Release.md (100%) diff --git a/sources/news/20190606 Zorin OS Becomes Even More Awesome With Zorin 15 Release.md b/translated/news/20190606 Zorin OS Becomes Even More Awesome With Zorin 15 Release.md similarity index 100% rename from sources/news/20190606 Zorin OS Becomes Even More Awesome With Zorin 15 Release.md rename to translated/news/20190606 Zorin OS Becomes Even More Awesome With Zorin 15 Release.md From 68ebf4060899f6ab98ec80db95483f27467de9cf Mon Sep 17 00:00:00 2001 From: DarkSun Date: Fri, 5 Jul 2019 00:51:42 +0800 Subject: [PATCH 18/61] =?UTF-8?q?=E9=80=89=E9=A2=98:=2020190705=20Bash=20S?= =?UTF-8?q?cript=20to=20Monitor=20Messages=20Log=20(Warning,=20Error=20and?= =?UTF-8?q?=20Critical)=20on=20Linux?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit sources/tech/20190705 Bash Script to Monitor Messages Log (Warning, Error and Critical) on Linux.md --- ... (Warning, Error and Critical) on Linux.md | 127 ++++++++++++++++++ 1 file changed, 127 insertions(+) create mode 100644 sources/tech/20190705 Bash Script to Monitor Messages Log (Warning, Error and Critical) on Linux.md diff --git a/sources/tech/20190705 Bash Script to Monitor Messages Log (Warning, Error and Critical) on Linux.md b/sources/tech/20190705 Bash Script to Monitor Messages Log (Warning, Error and Critical) on Linux.md new file mode 100644 index 0000000000..d7799311d6 --- /dev/null +++ b/sources/tech/20190705 Bash Script to Monitor Messages Log (Warning, Error and Critical) on Linux.md @@ -0,0 +1,127 @@ +[#]: collector: (lujun9972) +[#]: translator: ( ) +[#]: reviewer: ( ) +[#]: publisher: ( ) +[#]: url: ( ) +[#]: subject: (Bash Script to Monitor Messages Log (Warning, Error and Critical) on Linux) +[#]: via: (https://www.2daygeek.com/linux-bash-script-to-monitor-messages-log-warning-error-critical-send-email/) +[#]: author: (Magesh Maruthamuthu https://www.2daygeek.com/author/magesh/) + +Bash Script to Monitor Messages Log (Warning, Error and Critical) on Linux +====== + +There are many open source monitoring tools are currently available in market to monitor Linux systems performance. + +It will send an email alert when the system reaches the specified threshold limit. + +It monitors everything such as CPU utilization, Memory utilization, swap utilization, disk space utilization and much more. + +If you only have few systems and want to monitor them then writing a small shell script can make your task very easy. + +In this tutorial we have added a shell script to monitor Messages Log on Linux system. + +We had added many useful shell scripts in the past. If you want to check those, navigate to the below link. + + * **[How to automate day to day activities using shell scripts?][1]** + + + +This script will check **“warning, error and critical”** in the `/var/log/messages` file and trigger a mail to given email id, if it’s found anything related it. + +We can’t run this script frequently that may fill up your inbox if the server has many matching strings, instead we can run once in a day. + +To overcome this issue, i made the script to trigger an email in a different manner. + +If any given strings are found in the **“/var/log/messages”** file for yesterday’s date then the script will send an email alert to given email id. + +**Note:** You need to change the email id instead of ours. Also, you can change the Memory utilization threshold value as per your requirement. + +``` +# vi /opt/scripts/os-log-alert.sh + +#!/bin/bash + +#Set the variable which equal to zero + +prev_count=0 + +count=$(grep -i "`date --date='yesterday' '+%b %e'`" /var/log/messages | egrep -wi 'warning|error|critical' | wc -l) + +if [ "$prev_count" -lt "$count" ] ; then + +# Send a mail to given email id when errors found in log + +SUBJECT="WARNING: Errors found in log on "`date --date='yesterday' '+%b %e'`"" + +# This is a temp file, which is created to store the email message. + +MESSAGE="/tmp/logs.txt" + +TO="[email protected]" + +echo "ATTENTION: Errors are found in /var/log/messages. Please Check with Linux admin." >> $MESSAGE + +echo "Hostname: `hostname`" >> $MESSAGE + +echo -e "\n" >> $MESSAGE + +echo "+------------------------------------------------------------------------------------+" >> $MESSAGE + +echo "Error messages in the log file as below" >> $MESSAGE + +echo "+------------------------------------------------------------------------------------+" >> $MESSAGE + +grep -i "`date --date='yesterday' '+%b %e'`" /var/log/messages | awk '{ $3=""; print}' | egrep -wi 'warning|error|critical' >> $MESSAGE + +mail -s "$SUBJECT" "$TO" < $MESSAGE + +#rm $MESSAGE + +fi +``` + +Set an executable permission to `os-log-alert.sh` file. + +``` +$ chmod +x /opt/scripts/os-log-alert.sh +``` + +Finally add a cronjob to automate this. It will run everyday at 7'o clock. + +``` +# crontab -e +0 7 * * * /bin/bash /opt/scripts/os-log-alert.sh +``` + +**Note:** You will be getting an email alert everyday at 7 o'clock, which is for yesterday's log. + +**Output:** You will be getting an email alert similar to below. + +``` +ATTENTION: Errors are found in /var/log/messages. Please Check with Linux admin. + ++-----------------------------------------------------+ +Error messages in the log file as below ++-----------------------------------------------------+ +Jul 3 02:40:11 ns1 kernel: php-fpm[3175]: segfault at 299 ip 000055dfe7cc7e25 sp 00007ffd799d7d38 error 4 in php-fpm[55dfe7a89000+3a7000] +Jul 3 02:50:14 ns1 kernel: lmtp[8249]: segfault at 20 ip 00007f9cc05295e4 sp 00007ffc57bca1a0 error 4 in libdovecot-storage.so.0.0.0[7f9cc04df000+148000] +Jul 3 15:36:09 ns1 kernel: php-fpm[17846]: segfault at 299 ip 000055dfe7cc7e25 sp 00007ffd799d7d38 error 4 in php-fpm[55dfe7a89000+3a7000] +Jul 3 15:45:54 ns1 pure-ftpd: ([email protected]) [WARNING] Authentication failed for user [daygeek] +Jul 3 16:25:36 ns1 pure-ftpd: ([email protected]) [WARNING] Sorry, cleartext sessions and weak ciphers are not accepted on this server.#012Please reconnect using TLS security mechanisms. +Jul 3 16:44:20 ns1 kernel: php-fpm[8979]: segfault at 299 ip 000055dfe7cc7e25 sp 00007ffd799d7d38 error 4 in php-fpm[55dfe7a89000+3a7000] +``` + +-------------------------------------------------------------------------------- + +via: https://www.2daygeek.com/linux-bash-script-to-monitor-messages-log-warning-error-critical-send-email/ + +作者:[Magesh Maruthamuthu][a] +选题:[lujun9972][b] +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://www.2daygeek.com/author/magesh/ +[b]: https://github.com/lujun9972 +[1]: https://www.2daygeek.com/category/shell-script/ From 73c7f2291379eff464642476114fcb6c55f7e3c0 Mon Sep 17 00:00:00 2001 From: DarkSun Date: Fri, 5 Jul 2019 00:52:34 +0800 Subject: [PATCH 19/61] =?UTF-8?q?=E9=80=89=E9=A2=98:=2020190705=20Enable?= =?UTF-8?q?=20=E2=80=98Tap=20to=20click=E2=80=99=20on=20Ubuntu=20Login=20S?= =?UTF-8?q?creen=20[Quick=20Tip]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit sources/tech/20190705 Enable ‘Tap to click- on Ubuntu Login Screen -Quick Tip.md --- ... click- on Ubuntu Login Screen -Quick Tip.md | 100 ++++++++++++++++++ 1 file changed, 100 insertions(+) create mode 100644 sources/tech/20190705 Enable ‘Tap to click- on Ubuntu Login Screen -Quick Tip.md diff --git a/sources/tech/20190705 Enable ‘Tap to click- on Ubuntu Login Screen -Quick Tip.md b/sources/tech/20190705 Enable ‘Tap to click- on Ubuntu Login Screen -Quick Tip.md new file mode 100644 index 0000000000..8c62453ef7 --- /dev/null +++ b/sources/tech/20190705 Enable ‘Tap to click- on Ubuntu Login Screen -Quick Tip.md @@ -0,0 +1,100 @@ +[#]: collector: (lujun9972) +[#]: translator: ( ) +[#]: reviewer: ( ) +[#]: publisher: ( ) +[#]: url: ( ) +[#]: subject: (Enable ‘Tap to click’ on Ubuntu Login Screen [Quick Tip]) +[#]: via: (https://itsfoss.com/enable-tap-to-click-on-ubuntu-login-screen/) +[#]: author: (Abhishek Prakash https://itsfoss.com/author/abhishek/) + +Enable ‘Tap to click’ on Ubuntu Login Screen [Quick Tip] +====== + +_**Brief: The tap to click option doesn’t work on the login screen in Ubuntu 18.04 GNOME desktop. In this tutorial, you’ll learn to enable the ‘tap to click’ on the Ubuntu login screen.**_ + +One of the first few things I do after installing Ubuntu is to make sure that tap to click has been enabled. As a laptop user, I prefer to tap the touchpad for making a left click. This is more convenient than using the left click button on the touchpad all the time. + +This is what happens when I have logged in and using the operating system. But if you are at the login screen, the tap to click doesn’t work and that’s an annoyance. + +On the [GDM login screen][1] in Ubuntu (or other distributions using GNOME desktop), you have to click the username in order to bring the password field. Now if you are habitual of tap to click, it doesn’t work on the login screen even if you have it enabled and use it after logging into the system. + +This is a minor annoyance but an annoyance nonetheless. The good news is that you can fix this annoyance.Let me show you how to do that in this quick tip. + +### Enabling tap to click on Ubuntu login screen + +![][2] + +You’ll have to use the terminal and a few commands here. I hope you are comfortable with it. + +[Open a terminal using Ctrl+Alt+T shortcut in Ubuntu][3]. Since Ubuntu 18.04 is still using X server, you need to enable it to connect to the [x server][4]. For that, you can add gdm to access control list. + +Switch to root user first. It’s required because you have to switch as gdm user later and you cannot do that as a non-root user. + +``` +sudo -i +``` + +[There is no password set for root user in Ubuntu][5]. You access it with your admin user account. So when asked for password, use your own password. You won’t see anything being typed on the screen when you type in your password. + +``` +xhost +SI:localuser:gdm +``` + +Here’s the output for me: + +``` +xhost +SI:localuser:gdm +localuser:gdm being added to access control list +``` + +Now run this command so that the the ‘user gdm’ has the correct tap to click setting. + +``` +gsettings set org.gnome.desktop.peripherals.touchpad tap-to-click true +``` + +If you see a warning like this: (process:6339): dconf-WARNING **: 19:52:21.217: Unable to open /root/.local/share/flatpak/exports/share/dconf/profile/user: Permission denied . Don’t worry. Just ignore it. + +[][6] + +Suggested read  How To Change Hostname on Ubuntu & Other Linux Distributions + +This will enable you to perform a tap to click on the login screen. Why were you not able to use tap to click when you made the changes in the system settings before? It’s because at the login screen, you haven’t selected your username yet. You get to use your account only when you select the user on the screen. This is why you had to use the user gdm and add the correct settings with it. + +Restart Ubuntu and you’ll see that you can now use the tap to select your user account now. + +#### Revert the changes + +If you are not happy with the tap to click on the Ubuntu login screen for some reason, you can revert the changes. + +You’ll have to perform all the steps you did in the previous section: switch to root, connect gdm with x server, switch to gdm user. But instead of the last command, you need to run this command: + +``` +gsettings set org.gnome.desktop.peripherals.touchpad tap-to-click false +``` + +That’s it. + +As I said, it’s a tiny thing. I mean you can easily do a left click instead of the tap to click. It’s just a matter of one single click.However, it breaks the ‘continuity’ when you are forced to use the left click after a few taps. + +I hope you liked this quick little tweak. If you know some other cool tweaks, do share it with us. + +-------------------------------------------------------------------------------- + +via: https://itsfoss.com/enable-tap-to-click-on-ubuntu-login-screen/ + +作者:[Abhishek Prakash][a] +选题:[lujun9972][b] +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://itsfoss.com/author/abhishek/ +[b]: https://github.com/lujun9972 +[1]: https://wiki.archlinux.org/index.php/GDM +[2]: https://i2.wp.com/itsfoss.com/wp-content/uploads/2019/07/tap-to-click-on-ubuntu-login.jpg?ssl=1 +[3]: https://itsfoss.com/ubuntu-shortcuts/ +[4]: https://en.wikipedia.org/wiki/X.Org_Server +[5]: https://itsfoss.com/change-password-ubuntu/ +[6]: https://itsfoss.com/change-hostname-ubuntu/ From 64b07f8db1002b7288edd2ce0be3d23ebb90dbba Mon Sep 17 00:00:00 2001 From: DarkSun Date: Fri, 5 Jul 2019 00:56:42 +0800 Subject: [PATCH 20/61] =?UTF-8?q?=E9=80=89=E9=A2=98:=2020190704=20How=20to?= =?UTF-8?q?=20be=20good=20at=20creating=20and=20maintaining=20systems=20at?= =?UTF-8?q?-large?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit sources/tech/20190704 How to be good at creating and maintaining systems at-large.md --- ...eating and maintaining systems at-large.md | 82 +++++++++++++++++++ 1 file changed, 82 insertions(+) create mode 100644 sources/tech/20190704 How to be good at creating and maintaining systems at-large.md diff --git a/sources/tech/20190704 How to be good at creating and maintaining systems at-large.md b/sources/tech/20190704 How to be good at creating and maintaining systems at-large.md new file mode 100644 index 0000000000..f26b85e30f --- /dev/null +++ b/sources/tech/20190704 How to be good at creating and maintaining systems at-large.md @@ -0,0 +1,82 @@ +[#]: collector: (lujun9972) +[#]: translator: ( ) +[#]: reviewer: ( ) +[#]: publisher: ( ) +[#]: url: ( ) +[#]: subject: (How to be good at creating and maintaining systems at-large) +[#]: via: (https://opensource.com/article/19/7/book-review-building-evolutionary-architectures) +[#]: author: (Mike Bursell https://opensource.com/users/mikecamel) + +How to be good at creating and maintaining systems at-large +====== +A book review of "Building Evolutionary Architectures: Support Constant +Change" for open source and security folks +![An open book][1] + +Initially, this article was simply a review of the book, but as I got into it, I realised that I wanted to talk about how the approach it describes is applicable to a couple of different groups (security folks and open source projects), and so I’ve gone with it. + +How, then, did I come across the book? I was attending a conference a few months ago (DeveloperWeek San Diego), and decided to go to one of the sessions because it looked interesting. The speaker was Dr. Rebecca Parsons, and I liked what she was talking about so much that I ordered this book, whose subject was the topic of her talk, to arrive at home by the time I would return a couple of days later. + +![Building Evolutionary Architectures: Support Constant Change][2] + +[_Building Evolutionary Architectures: Support Constant Change_][3] is not a book about securitym, and I'm a security guy, but it deals with security as one application of its approach, and very convincingly. The central issue that the authors—all employees of ThoughtWorks—identify is, simplified, that although we’re good at creating features for applications, we’re less good at creating, and then maintaining, broader properties of systems. This problem is compounded, they suggest, by the fast and ever-changing nature of modern development practices, where "enterprise architects can no longer rely on static planning". + +The alternative that they propose is to consider "fitness functions", "objectives you want your architecture to exhibit or move towards". Crucially, these are properties of the architecture—or system—rather than features or specific functionality. Tests should be created to monitor the specific functions, but they won’t be your standard unit tests, nor will they necessarily be "point in time" tests. Instead, they will measure a variety of issues, possibly over a period of time, to let you know whether your system is meeting the particular fitness functions you are measuring. There’s a lot of discussion of how to measure these fitness functions, but I would have liked even more. From my point of view, it was one of the most valuable topics covered. + +Frankly, the above might be enough to recommend the book, but there’s more. They advocate strongly for creating incremental change to meet your requirements (gradual, rather than major changes) and "evolvable architectures", encouraging you to realise that: + + 1. you may not meet all your fitness functions at the beginning; + 2. applications which may have met the fitness functions at one point may _cease_ to meet them later on, for various reasons; + 3. your architecture is likely to change over time; + 4. your requirements, and therefore the priority that you give to each fitness function, will change over time; + 5. even if your fitness functions remain the same, the ways in which you need to monitor them may change. + + + +All of these are, in my view, extremely useful insights for anybody designing and building a system. Combining them with architectural thinking is even more valuable. + +As is standard for modern O’Reilly books, there are examples throughout, including a worked fake consultancy journey of a particular company with specific needs, leading you through some of the practices in the book. At times, this felt a little contrived, but the mechanism is generally helpful. There were times when the book seemed to stray from its core approach—which is architectural, as per the title—into explanations through pseudo code, but these support one of the useful aspects of the book, which is giving examples of what architectures are more or less suited to the principles expounded in the more theoretical parts. Some readers may feel more at home with the theoretical, others with the more example-based approach (I lean towards the former), but all in all, it seems like an appropriate balance. Relating these to the impact of "architectural coupling" was particularly helpful, in my view. + +There is a useful grounding in some of the advice in Conway’s Law ("Organizations which design systems … are constrained to produce designs which are copies of the communication structures of these organizations.") which led me to wonder how we could model open source projects—and their architectures—based on this perspective. There are also (as is also standard these days) patterns and anti-patterns: I would generally consider these a useful part of any book on design and architecture. + +### Why is this a book for security folks? + +The most important thing about this book, from my point of view as a security systems architect, is that it _isn’t_ about security. Security is mentioned, but is not considered core enough to the book to merit a mention in the appendix. The point, though, is that the security of a system—an embodiment of an architecture—is a perfect example of a fitness function. Taking this as a starting point for a project will help you do two things. + +First, you will avoid focussing on features and functionality, and look at the bigger picture. Second, you will consider what you _really_ need from security in the system, and how that translates into issues such as the security posture to be adopted, and the measurements you will take to validate it through the lifecycle. + +Possibly even more important than those two points is that it will force you to consider the priority of security in relation to other fitness functions (resilience, maybe, or ease of use?) and how the relative priorities will—and should—change over time. A realisation that we don’t live in a bubble, and that our priorities are not always that same as those of other stakeholders in a project, is always useful. + +### Why is this a book for open source folks? + +Very often—and for quite understandable and forgiveable reasons—the architectures of open source projects grow organically at first, needing major overhauls and refactoring at various stages of their lifecycles. This is not to say that this doesn’t happen in proprietary software projects as well, of course, but the sometimes frequent changes in open source projects' emphasis and requirements, the ebb and flow of contributors and contributions and the sometimes, um, reduced levels of documentation aimed at end users can mean that features are significantly prioritised over what we could think of as the core vision of the project. One way to remedy this would be to consider the appropriate fitness functions of the project, to state them upfront, and to have a regular cadence of review by the community, to ensure that they are: + + * still relevant; + * correctly prioritised at this stage in the project; + * actually being met. + + + +If any of the above come into question, it’s a good time to consider a wider review by the community, and maybe a refactoring or partial redesign of the project. + +Open source projects have—quite rightly—various different models of use and intended users. One of the happenstances that can negatively affect a project is when it is identified as a possible fit for a use case for which it was not originally intended. Academic software which is designed for accuracy over performance might not be a good fit for corporate research, for instance, in the same way that a project aimed at home users which prioritises minimal computing resources might not be appropriate for a high-availability enterprise roll-out. One of the ways of making this clear is by being very clear up-front about the fitness functions that you expect your project to meet—and, vice versa, about the fitness functions you are looking to fulfil when you are looking to select a project. It is easy to focus on features and functionality, and to overlook the more non-functional aspects of a system, and fitness functions allow us to make some informed choices about how to balance these decisions. + +_This article was originally posted on [Alice, Eve and Bob - a security blog][4]._ + +-------------------------------------------------------------------------------- + +via: https://opensource.com/article/19/7/book-review-building-evolutionary-architectures + +作者:[Mike Bursell][a] +选题:[lujun9972][b] +译者:[译者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/mikecamel +[b]: https://github.com/lujun9972 +[1]: https://opensource.com/sites/default/files/styles/image-full-size/public/lead-images/open_book_color.jpg?itok=I-8tNQOP (An open book) +[2]: https://opensource.com/sites/default/files/styles/medium/public/uploads/building-evolutionary-architectures.jpg?itok=UlyKLSxV (Building Evolutionary Architectures: Support Constant Change) +[3]: https://www.oreilly.com/library/view/building-evolutionary-architectures/9781491986356/ +[4]: https://aliceevebob.com/2019/06/25/building-evolutionary-architectures-for-security-and-for-open-source/ From e6fe1f36ba77a1f9cf6cb838bdd4789762056e08 Mon Sep 17 00:00:00 2001 From: lctt-bot Date: Thu, 4 Jul 2019 17:00:56 +0000 Subject: [PATCH 21/61] =?UTF-8?q?Revert=20"=E7=BF=BB=E8=AF=91=E8=AE=A4?= =?UTF-8?q?=E9=A2=86"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This reverts commit 191253c815756f842a783dd6f24d4dc082c225eb. --- .../20190523 Run your blog on GitHub Pages with Python.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sources/tech/20190523 Run your blog on GitHub Pages with Python.md b/sources/tech/20190523 Run your blog on GitHub Pages with Python.md index 4763e5e215..1e3634a327 100644 --- a/sources/tech/20190523 Run your blog on GitHub Pages with Python.md +++ b/sources/tech/20190523 Run your blog on GitHub Pages with Python.md @@ -1,5 +1,5 @@ [#]: collector: (lujun9972) -[#]: translator: (QiaoN) +[#]: translator: ( ) [#]: reviewer: ( ) [#]: publisher: ( ) [#]: url: ( ) @@ -213,7 +213,7 @@ via: https://opensource.com/article/19/5/run-your-blog-github-pages-python 作者:[Erik O'Shaughnessy][a] 选题:[lujun9972][b] -译者:[QiaoN](https://github.com/QiaoN) +译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 From 8398cc85a6cd2b981fb08ce61cf339847ecdcef6 Mon Sep 17 00:00:00 2001 From: geekpi Date: Fri, 5 Jul 2019 08:52:05 +0800 Subject: [PATCH 22/61] translated --- ...90627 How to use Tig to browse Git logs.md | 215 ----------------- ...90627 How to use Tig to browse Git logs.md | 216 ++++++++++++++++++ 2 files changed, 216 insertions(+), 215 deletions(-) delete mode 100644 sources/tech/20190627 How to use Tig to browse Git logs.md create mode 100644 translated/tech/20190627 How to use Tig to browse Git logs.md diff --git a/sources/tech/20190627 How to use Tig to browse Git logs.md b/sources/tech/20190627 How to use Tig to browse Git logs.md deleted file mode 100644 index e9dd941109..0000000000 --- a/sources/tech/20190627 How to use Tig to browse Git logs.md +++ /dev/null @@ -1,215 +0,0 @@ -[#]: collector: (lujun9972) -[#]: translator: (geekpi) -[#]: reviewer: ( ) -[#]: publisher: ( ) -[#]: url: ( ) -[#]: subject: (How to use Tig to browse Git logs) -[#]: via: (https://opensource.com/article/19/6/what-tig) -[#]: author: (Olaf Alders https://opensource.com/users/oalders/users/mbbroberg/users/marcobravo) - -How to use Tig to browse Git logs -====== -Tig is more than just a text-mode interface for Git. Here's how it can enhance your daily workflow. -![A person programming][1] - -If you work with Git as your version control system, you've likely already resigned yourself to the fact that Git is a complicated beast. It is a fantastic tool, but it can be cumbersome to navigate Git repositories. That's where a tool like [Tig][2] comes in. - -From the [Tig man page][3]: - -> Tig is an ncurses-based text-mode interface for git(1). It functions mainly as a Git repository browser, but can also assist in staging changes for commit at chunk level and act as a pager for output from various Git commands. - -This basically means that Tig provides a text-based user interface you can run in your terminal. Tig makes it easy to browse your Git logs, but it can do much more than just bounce you around from your last commit to a previous one. - -![Tig screenshot][4] - -Many of the examples in this quick introduction to Tig have been poached directly from its excellent man page. I highly recommend reading it to learn more. - -### Install Tig - - * Fedora and RHEL: **sudo dnf install tig** - * Ubuntu and Debian: **sudo apt install tig** - * MacOS: **brew install tig** - - - -See the official [installation instructions][5] for even more options. - -### Browse commits in your current branch - -If you want to browse the latest commits in your branch, enter: - - -``` -`tig` -``` - -That's it. This three-character command will launch a browser where you can navigate the commits in your current branch. You can think of it as a wrapper around **git log**. - -To navigate the output, you can use the Up and Down arrow keys to move from one commit to another. Pressing the Return/Enter key will open a vertical split with the contents of the chosen commit on the right-hand side. You can continue to browse up and down in your commit history on the left-hand side, and your changes will appear on the right. Use **k** and **j** to navigate up and down by line and **-** and the Space Bar to page up and down on the right-hand side. Use **q** to exit the right-hand pane. - -Searching on **tig** output is simple as well. Use **/** to search forward and **?** to search backward on both the left and right panes. - -![Searching Tig][6] - -That's enough to get you started navigating your commits. There are too many key bindings to cover here, but clicking **h** will display a Help menu where you can discover its navigation and command options. You can also use **/** and **?** to search the Help menu. Use **q** to exit Help. - -![Tig Help][7] - -### Browse revisions for a single file - -Since Tig is a wrapper around **git log**, it conveniently accepts the same arguments that can be passed to **git log**. For instance, to browse the commit history for a single file, enter: - - -``` -`tig README.md` -``` - -Compare this with the output of the Git command being wrapped to get a clearer view of how Tig enhances the output. - - -``` -`git log README.md` -``` - -To include the patches in the raw Git output, you can add a **-p** option: - - -``` -`git log -p README.md` -``` - -If you want to narrow the commits down to a specific date range, try something like this: - - -``` -`tig --after="2017-01-01" --before="2018-05-16" -- README.md` -``` - -Again, you can compare this with the raw Git version: - - -``` -`git log --after="2017-01-01" --before="2018-05-16" -- README.md` -``` - -### Browse who changed a file - -Sometimes you want to find out who made a change to a file and why. The command: - - -``` -`tig blame README.md` -``` - -is essentially a wrapper around **git blame**. As you would expect, it allows you to see who the last person was to edit a given line, and it also allows you to navigate to the commit that introduced the line. This is somewhat like the **:Gblame** command Vim's **vim-fugitive** plugin provides. - -### Browse your stash - -If you're like me, you may have a pile of edits in your stash. It's easy to lose track of them. You can view the latest item in your stash via:  - - -``` -`git stash show -p stash@{0}` -``` - -You can find the second most recent item via: - - -``` -`git stash show -p stash@{1}` -``` - -and so on. If you can recall these commands whenever you need them, you have a much sharper memory than I do. - -As with the Git commands above, Tig makes it easy to enhance your Git output with a simple invocation: - - -``` -`tig stash` -``` - -Try issuing this command in a repository with a populated stash. You'll be able to browse _and search_ your stash items, giving you a quick overview of everything you saved for a rainy day. - -### Browse your refs - -A Git ref is the hash of something you have committed. This includes files as well as branches. Using the **tig refs** command allows you to browse all of your refs and drill down to specific commits. - - -``` -`tig refs` -``` - -When you're finished, use **q** to return to a previous menu. - -### Browse git status - -If you want to view which files have been staged and which are untracked, use **tig status**, a wrapper around **git status**. - -![Tig status][8] - -### Browse git grep - -You can use the **grep** command to search for expressions in text files. The command **tig grep** allows you to navigate the output of **git grep**. For example: - - -``` -`tig grep -i foo lib/Bar` -``` - -will navigate the output of a case-insensitive search for **foo** in the **lib/Bar** directory. - -### Pipe output to Tig via STDIN - -If you are piping a list of commit IDs to Tig, you must use the **\--stdin** flag so that **tig show** reads from stdin. Otherwise, **tig show** launches without input (rendering an empty screen). - - -``` -`git rev-list --author=olaf HEAD | tig show --stdin` -``` - -### Add custom bindings - -You can customize Tig with an [rc][9] file. Here's how you can configure Tig to your liking, using the example of adding some helpful custom key bindings. - -Create a file in your home directory called **.tigrc**. Open **~/.tigrc** in your favorite editor and add: - - -``` -# Apply the selected stash -bind stash a !?git stash apply %(stash) - -# Drop the selected stash item -bind stash x !?git stash drop %(stash) -``` - -Run **tig stash** to browse your stash, as above. However, with these bindings in place, you can press **a** to apply an item from the stash to your repository and **x** to drop an item from the stash. Keep in mind that you'll need to perform these commands when browsing the stash _list_. If you're browsing a stash _item_, enter **q** to exit that view and press **a** or **x** to get the effect you want. - -For more information, you can read more about [Tig key bindings][10]. - -### Wrapping up - -I hope this has been a helpful demonstration of how Tig can enhance your daily workflow. Tig can do even more powerful things (such as staging lines of code), but that's outside the scope of this introductory article. There's enough information here to make you dangerous, but there's still more to explore. - --------------------------------------------------------------------------------- - -via: https://opensource.com/article/19/6/what-tig - -作者:[Olaf Alders][a] -选题:[lujun9972][b] -译者:[译者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/oalders/users/mbbroberg/users/marcobravo -[b]: https://github.com/lujun9972 -[1]: https://opensource.com/sites/default/files/styles/image-full-size/public/lead-images/computer_keyboard_laptop_development_code_woman.png?itok=vbYz6jjb (A person programming) -[2]: https://jonas.github.io/tig/ -[3]: http://manpages.ubuntu.com/manpages/bionic/man1/tig.1.html -[4]: https://opensource.com/sites/default/files/uploads/tig.jpg (Tig screenshot) -[5]: https://jonas.github.io/tig/INSTALL.html -[6]: https://opensource.com/sites/default/files/uploads/tig-search.png (Searching Tig) -[7]: https://opensource.com/sites/default/files/uploads/tig-help.png (Tig Help) -[8]: https://opensource.com/sites/default/files/uploads/tig-status.png (Tig status) -[9]: https://en.wikipedia.org/wiki/Run_commands -[10]: https://github.com/jonas/tig/wiki/Bindings diff --git a/translated/tech/20190627 How to use Tig to browse Git logs.md b/translated/tech/20190627 How to use Tig to browse Git logs.md new file mode 100644 index 0000000000..16993a0012 --- /dev/null +++ b/translated/tech/20190627 How to use Tig to browse Git logs.md @@ -0,0 +1,216 @@ +[#]: collector: (lujun9972) +[#]: translator: (geekpi) +[#]: reviewer: ( ) +[#]: publisher: ( ) +[#]: url: ( ) +[#]: subject: (How to use Tig to browse Git logs) +[#]: via: (https://opensource.com/article/19/6/what-tig) +[#]: author: (Olaf Alders https://opensource.com/users/oalders/users/mbbroberg/users/marcobravo) + +如何使用 Tig 浏览 Git 日志 +====== +Tig不仅仅是 Git 的文本界面。以下是它如何增强你的日常工作流程。 +![A person programming][1] + +如果你使用 Git 作为你的版本控制系统,你可能已经让自己接受 Git 是一个复杂的野兽。它是一个很棒的工具,但在 Git 仓库查找可能很麻烦。因此像 [Tig][2] 这样的工具出现了。 + +来自 [Tig 手册页][3]: + +> Tig 是 git(1) 的基于 ncurses 的文本界面。它主要用作 Git 仓库浏览器,但也有助于在块级别暂存提交更改,并显示各种 Git 命令的输出。 + +这基本上意味着 Tig 提供了一个可以在终端中运行的基于文本的用户界面。Tig 可以让你轻松浏览你的 Git 日志,但它可以做的远不止让你从最后的提交跳到前一个提交。 + +![Tig screenshot][4] + +这篇快速入门的 Tig 中的许多例子都是直接从其出色的手册页中拿出来的。我强烈建议你阅读它以了解更多信息。 + +### 安装 Tig + + * Fedora 和 RHEL: **sudo dnf install tig** + * Ubuntu 和 Debian: **sudo apt install tig** + * MacOS:**:brew install tig** + + + +有关更多选项,请参阅官方[安装说明][5]。 + +### 浏览当前分支中的提交 + +如果要浏览分支中的最新提交,请输入: + + +``` +`tig` +``` + +这是这样。这个三字符命令将启动一个浏览器,你可以在其中导航当前分支中的提交。你可以将其视为 **git log** 的封装器。 + +要浏览输出,可以使用向上和向下箭头键从一个提交移动到另一个提交。按回车键将会垂直分割窗口,右侧包含所选提交的内容。你可以继续在左侧的提交历史记录中上下浏览,你的更改将显示在右侧。使用 **k** 和 **j** 逐行上下浏览,**-** 和空格键在右侧上下翻页。使用 **q** 退出右侧窗格。 + +搜索 **tig** 输出也很简单。使用 **/** 向前搜索,使用 **?** 在左右窗格中向后搜索。 + +![Searching Tig][6] + +这足以让你开始浏览你的提交。这里有很多的键绑定,但单击 **h** 将显示“帮助”菜单,你可以在其中发现其导航和命令选项。你还可以使用 **/** 和 **?** 来搜索“帮助”菜单。使用 **q** 退出帮助。 + +![Tig Help][7] + +### 浏览单个文件的修改 + +由于 Tig 是 **git log** 的封装器,它可以方便地接受可以传递给 **git log** 的相同参数。例如,要浏览单个文件的提交历史记录,请输入: + + +``` +`tig README.md` +``` + +将其与被封装的 Git 命令的输出进行比较,以便更清楚地了解 Tig 如何增强输出。 + + +``` +`git log README.md` +``` + +要在原始 Git 输出中包含补丁,你可以添加 **-p** 选项: + + +``` +`git log -p README.md` +``` + +如果要将提交范围缩小到特定日期范围,请尝试以下操作: + + +``` +`tig --after="2017-01-01" --before="2018-05-16" -- README.md` +``` + +再一次,你可以将其与原始的 Git 版本进行比较: + + +``` +`git log --after="2017-01-01" --before="2018-05-16" -- README.md` +``` + +### 浏览谁更改了文件 + +有时你想知道谁对文件进行了更改以及原因。命令: + + +``` +`tig blame README.md` +``` + +本质上是 **git blame** 的封装。正如你 所期望的那样,它允许你查看谁是编辑指定行的最后一人,它还允许你查看到引入该行的提交。这有点像 vim 的 **vim-fugitive**插件提供的**:Gblame**命令。 + +### 浏览你的暂存 + +如果你像我一样,你可能会在你的暂存处有许多编辑。你很容易忘记它们。你可以通过以下方式查看暂存处中的最新项目: + + +``` +`git stash show -p stash@{0}` +``` + +你可以通过以下方式找到第二个最新项目: + + +``` +`git stash show -p stash@{1}` +``` + +以此类推。如果你在需要它们时调用这些命令,那么你会有比我更清晰的内存。 + + +与上面的 Git 命令一样,Tig 可以通过简单的调用轻松增强你的 Git 输出: + + +``` +`tig stash` +``` + +尝试在有暂存的仓库中执行此命令。你将能够浏览_并搜索_你的暂存项,快速浏览你的那些修改。 + +### 浏览你的引用 + +git ref 是你提交的东西的哈希值。这包括文件和分支。使用 **tig refs** 命令可以浏览所有引用并深入查看特定提交。 + + +``` +`tig refs` +``` + +完成后,使用 **q** 回到前面的菜单。 + +### 浏览 git 状态 + +如果要查看哪些文件已被暂存,哪些文件未被跟踪,请使用 **tig status**,它是 **git status** 的封装。 + +![Tig status][8] + +### 浏览 git grep + +你可以使用 **grep** 命令在文本文件中搜索表达式。命令 **tig grep** 允许你导览 **git grep** 的输出。例如: + + +``` +`tig grep -i foo lib/Bar` +``` + +它会导览 **lib/Bar** 目录中以大小写敏感的方式搜索 **foo** 的输出。 + +### 通过标准输入管道输出给 Tig + +如果要将提交 ID 列表传递给 Tig,那么必须使用 **\--stdin** 标志,以便 **tig show** 从标准输入读取。否则,**tig show** 会在没有输入的情况下启动(出现空白屏幕)。 + + +``` +`git rev-list --author=olaf HEAD | tig show --stdin` +``` + +### 添加自定义绑定 + +你可以使用 [rc][9] 文件自定义 Tig。以下是如何根据自己的喜好添加一些有用的自定义键绑定的示例。 + +在主目录中创建一个名为 **.tigrc** 的文件。在你喜欢的编辑器中打开 **~/.tigrc** 并添加: + + +``` +# Apply the selected stash +bind stash a !?git stash apply %(stash) + +# Drop the selected stash item +bind stash x !?git stash drop %(stash) +``` + +如上所述,运行 **tig stash** 以浏览你的暂存。但是,通过这些绑定,你可以按 **a**将暂存中的项目应用到仓库,并按 **x** 从暂存中删除项目。请记住,你要在浏览暂存_列表_时,才能执行这些命令。如果你正在浏览暂存_项_,请输入 **q** 退出该视图,然后按 **a** 或 **x** 以获得所需效果。 + +有关更多信息,你可以阅读有关 [Tig 键绑定][10]。 + +### 总结 + +我希望这有助于演示 Tig 如何增强你的日常工作流程。Tig 可以做更强大的事情(比如暂存代码行),但这超出了这篇介绍性文章的范围。这里有足够的让你危险的信息,但还有更多值得探索的地方。 + +-------------------------------------------------------------------------------- + +via: https://opensource.com/article/19/6/what-tig + +作者:[Olaf Alders][a] +选题:[lujun9972][b] +译者:[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/oalders/users/mbbroberg/users/marcobravo +[b]: https://github.com/lujun9972 +[1]: https://opensource.com/sites/default/files/styles/image-full-size/public/lead-images/computer_keyboard_laptop_development_code_woman.png?itok=vbYz6jjb (A person programming) +[2]: https://jonas.github.io/tig/ +[3]: http://manpages.ubuntu.com/manpages/bionic/man1/tig.1.html +[4]: https://opensource.com/sites/default/files/uploads/tig.jpg (Tig screenshot) +[5]: https://jonas.github.io/tig/INSTALL.html +[6]: https://opensource.com/sites/default/files/uploads/tig-search.png (Searching Tig) +[7]: https://opensource.com/sites/default/files/uploads/tig-help.png (Tig Help) +[8]: https://opensource.com/sites/default/files/uploads/tig-status.png (Tig status) +[9]: https://en.wikipedia.org/wiki/Run_commands +[10]: https://github.com/jonas/tig/wiki/Bindings From 25fa9ebea3a93d24407a0ffb757204a744f52174 Mon Sep 17 00:00:00 2001 From: geekpi Date: Fri, 5 Jul 2019 08:59:33 +0800 Subject: [PATCH 23/61] translating --- ...90628 Undo releases Live Recorder 5.0 for Linux debugging.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources/news/20190628 Undo releases Live Recorder 5.0 for Linux debugging.md b/sources/news/20190628 Undo releases Live Recorder 5.0 for Linux debugging.md index 4e383f1fe6..2954e5fac5 100644 --- a/sources/news/20190628 Undo releases Live Recorder 5.0 for Linux debugging.md +++ b/sources/news/20190628 Undo releases Live Recorder 5.0 for Linux debugging.md @@ -1,5 +1,5 @@ [#]: collector: (lujun9972) -[#]: translator: ( ) +[#]: translator: (geekpi) [#]: reviewer: ( ) [#]: publisher: ( ) [#]: url: ( ) From 510a419e5ef1fc31095a40a302de3f366bbe0d57 Mon Sep 17 00:00:00 2001 From: qfzy1233 Date: Fri, 5 Jul 2019 11:05:14 +0800 Subject: [PATCH 24/61] =?UTF-8?q?=E7=94=B3=E9=A2=86=E5=8E=9F=E6=96=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...80406 MX Linux- A Mid-Weight Distro Focused on Simplicity.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sources/tech/20180406 MX Linux- A Mid-Weight Distro Focused on Simplicity.md b/sources/tech/20180406 MX Linux- A Mid-Weight Distro Focused on Simplicity.md index 8cf35ea8bf..046bf9f0e8 100644 --- a/sources/tech/20180406 MX Linux- A Mid-Weight Distro Focused on Simplicity.md +++ b/sources/tech/20180406 MX Linux- A Mid-Weight Distro Focused on Simplicity.md @@ -1,3 +1,5 @@ +translating by qfzy1233 + MX Linux: A Mid-Weight Distro Focused on Simplicity ====== From 204aa080a10a627340186b24790b1e27ab93b1b7 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Fri, 5 Jul 2019 11:21:19 +0800 Subject: [PATCH 25/61] PRF @qfzy1223 --- ...Even More Awesome With Zorin 15 Release.md | 53 +++++++++---------- 1 file changed, 26 insertions(+), 27 deletions(-) diff --git a/translated/news/20190606 Zorin OS Becomes Even More Awesome With Zorin 15 Release.md b/translated/news/20190606 Zorin OS Becomes Even More Awesome With Zorin 15 Release.md index 540214606f..f81f9a2238 100644 --- a/translated/news/20190606 Zorin OS Becomes Even More Awesome With Zorin 15 Release.md +++ b/translated/news/20190606 Zorin OS Becomes Even More Awesome With Zorin 15 Release.md @@ -1,6 +1,6 @@ [#]: collector: (lujun9972) [#]: translator: (qfzy1233) -[#]: reviewer: ( ) +[#]: reviewer: (wxy) [#]: publisher: ( ) [#]: url: ( ) [#]: subject: (Zorin OS Becomes Even More Awesome With Zorin 15 Release) @@ -10,24 +10,25 @@ 随着 Zorin 15 的发布,Zorin OS 变得更为强大 ====== +![](https://img.linux.net.cn/data/attachment/album/201907/05/112128zmz2n2csi6h7y6s2.png) + 长久以来 Zorin OS 一直在 [初学者适用的Linux发行版排行][1] 中占有一席之地。的确,它可能不是最受欢迎的,但是对于从 Windows 阵营转向 Linux 的用户而言,它一定是最好的一个发行版。 -我还记得,在几年前,我的一位朋友一直坚持让我安装[Zorin OS][2]。就我个人而言,当时我并不喜欢它的 UI 风格。但是,现如今 Zorin OS 15 发布了,这也让我有了更多的理由安装并将它作为我日常的操作系统。 +我还记得,在几年前,我的一位朋友一直坚持让我安装 [Zorin OS][2]。就我个人而言,当时我并不喜欢它的 UI 风格。但是,现如今 Zorin OS 15 发布了,这也让我有了更多的理由安装并将它作为我日常的操作系统。 不要担心,在这篇文章里,我会向你介绍你所需要了解的一切。 - ### Zorin 15 中的新特性 -让我们来看一下最新版本的 Zorin 有哪些主要的改变。Zorin 15 以 Ubuntu 18.04.2 为底层,因此带来了许多性能上的提升。除此之外,也有许多的 UI (用户界面)得到了改进。 +让我们来看一下最新版本的 Zorin 有哪些主要的改变。Zorin 15 是基于 Ubuntu 18.04.2 的,因此带来了许多性能上的提升。除此之外,也有许多 UI(用户界面)的改进。 #### Zorin Connect ![Zorin Connect][3] -Zorin OS 15 最主要的一个亮点就是 - Zorin Connect。如果你使用的是安卓设备,那你一定会喜欢这一功能。类似于[PushBullet][4](LCTT译注:PushBullet-子弹推送,一款跨平台推送工具),[Zorin Connect][5]会提升你的手机和桌面一体化的体验。 +Zorin OS 15 最主要的一个亮点就是 —— Zorin Connect。如果你使用的是安卓设备,那你一定会喜欢这一功能。类似于 [PushBullet][4](LCTT 译注:PushBullet,子弹推送,一款跨平台推送工具), [Zorin Connect][5] 会提升你的手机和桌面一体化的体验。 -你可以在桌面上同步智能手机的通知,同时还可以回复它。最要命的是,你甚至可以回复短信并查看这部分对话。 +你可以在桌面上同步智能手机的通知,同时还可以回复它。甚至,你可以回复短信并查看对话。 总的来说,你可以体验到以下功能: @@ -35,13 +36,11 @@ Zorin OS 15 最主要的一个亮点就是 - Zorin Connect。如果你使用的 * 将你的手机作为电脑的遥控器 * 使用手机控制电脑上媒体的播放,并且当有来电接入时自动停止播放 - - -正如他们在[官方公告][6]中提到的, 数据的传输仅限于本地网络之间,并且不会有数据被上传到云端服务器。通过以下操作体验 Zorin Connect ,找到 – Zorin menu (Zorin 菜单) > System Tools (系统工具) > Zorin Connect。 +正如他们在[官方公告][6]中提到的, 数据的传输仅限于本地网络之间,并且不会有数据被上传到云端服务器。通过以下操作体验 Zorin Connect ,找到:Zorin menu (Zorin 菜单) > System Tools (系统工具) > Zorin Connect。 [][5] -#### 新的桌面主题(包含夜间模式!) +#### 新的桌面主题(包含夜间模式!) ![Zorin 夜间模式][7] @@ -49,15 +48,15 @@ Zorin OS 15 最主要的一个亮点就是 - Zorin Connect。如果你使用的 [][8] -当我在任意界面深色模式时,我的眼睛都舒适,你不想来试试么? +当我启用了界面的深色模式时,我的眼睛感到如此舒适,你不想来试试么? -它不单单是一个深色的主题,而是 UI 更干净直观,并且带有恰到好处的新动画。你可以从Zorin 内置的外观应用程序里找到所有的相关内建的所有设置。 +它不单单是一个深色的主题,而是 UI 更干净直观,并且带有恰到好处的新动画。你可以从 Zorin 内置的外观应用程序里找到所有的相关设置。 #### 自适应背景调整 & 深色浅色模式 你可以选择让桌面背景根据一天中每小时的环境亮度进行自动调整。此外,如果你想避免蓝光给眼睛带来伤害,你可以使用夜间模式。 -#### To do app +#### 代办事项应用 ![Todo][9] @@ -65,25 +64,25 @@ Zorin OS 15 最主要的一个亮点就是 - Zorin Connect。如果你使用的 #### 还有更多么? -是的!其他主要的变化包括对 Flatpak 的支持,支持平板笔记本二合一电脑的触摸布局,DND 模式,以及一些重新设计的应用程序(设置,Libre Office),以此来给你更好的用户体验。 +是的!其他主要的变化包括对 Flatpak 的支持,支持平板笔记本二合一电脑的触摸布局,DND 模式,以及一些重新设计的应用程序(设置、Libre Office),以此来给你更好的用户体验。 -如果你想要了解所有更新和改动的详细信息,你可以查看[官方公告][6]。如果你已经是Zorin的用户,你应该已经注意到他们他们的网站已经启用了一个全新的外观。 +如果你想要了解所有更新和改动的详细信息,你可以查看[官方公告][6]。如果你已经是 Zorin 的用户,你应该已经注意到他们的网站也已经启用了一个全新的外观。 ### 下载 Zorin OS 15 -**注释** : _今年的晚些时候将会推出从 Zorin OS 12 直升 15 版本而不需要重新安装的升级包。_ +**注释** : 今年的晚些时候将会推出从 Zorin OS 12 直升 15 版本而不需要重新安装的升级包。 -为了防止您不够了解,Zorin OS有三个版本—旗舰版本、核心板和轻量版。 +提示一下,Zorin OS 有三个版本:旗舰版本、核心板和轻量版。 -如果你想支持开发者和项目,同时解锁 Zorin OS 全部的功能,你可以花39美元购买旗舰版本。 +如果你想支持开发者和项目,同时解锁 Zorin OS 全部的功能,你可以花 39 美元购买旗舰版本。 -如果你只是想要一些基本功能,核心版就可以了(你可以免费下载)。如果是情况下,比如如果你有一台旧电脑,那么你可以使用轻量版。 +如果你只是想要一些基本功能,核心版就可以了(你可以免费下载)。如果是这种情况,比如你有一台旧电脑,那么你可以使用轻量版。 -[下载 ZORIN OS 15][10] +- [下载 ZORIN OS 15][10] -**你觉得 Zorin 15 怎么样?** +你觉得 Zorin 15 怎么样? -我肯定会尝试一下,将 Zorin OS 作为我的主要操作系统-(手动狗头)。你呢?你觉得最新的版本怎么样?欢迎在下面的评论中告诉我们。 +我肯定会尝试一下,将 Zorin OS 作为我的主要操作系统 -(手动狗头)。你呢?你觉得最新的版本怎么样?欢迎在下面的评论中告诉我们。 -------------------------------------------------------------------------------- @@ -91,8 +90,8 @@ via: https://itsfoss.com/zorin-os-15-release/ 作者:[Ankush Das][a] 选题:[lujun9972][b] -译者:[译者ID](https://github.com/译者ID) -校对:[校对者ID](https://github.com/校对者ID) +译者:[qfzy1233](https://github.com/qfzy1233) +校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 @@ -100,12 +99,12 @@ via: https://itsfoss.com/zorin-os-15-release/ [b]: https://github.com/lujun9972 [1]: https://itsfoss.com/best-linux-beginners/ [2]: https://zorinos.com/ -[3]: https://i0.wp.com/itsfoss.com/wp-content/uploads/2019/06/zorin-connect.jpg?fit=800%2C473&ssl=1 +[3]: https://i0.wp.com/itsfoss.com/wp-content/uploads/2019/06/zorin-connect.jpg [4]: https://www.pushbullet.com/ [5]: https://play.google.com/store/apps/details?id=com.zorinos.zorin_connect&hl=en_IN [6]: https://zoringroup.com/blog/2019/06/05/zorin-os-15-is-here-faster-easier-more-connected/ -[7]: https://i2.wp.com/itsfoss.com/wp-content/uploads/2019/06/zorin-dark-mode.jpg?fit=722%2C800&ssl=1 +[7]: https://i0.wp.com/itsfoss.com/wp-content/uploads/2019/06/zorin-dark-mode.jpg [8]: https://itsfoss.com/necunos-linux-smartphone/ -[9]: https://i2.wp.com/itsfoss.com/wp-content/uploads/2019/06/Todo.jpg?fit=800%2C652&ssl=1 +[9]: https://i0.wp.com/itsfoss.com/wp-content/uploads/2019/06/Todo.jpg [10]: https://zorinos.com/download/ [11]: https://itsfoss.com/ubuntu-1404-codenamed-trusty-tahr/ From 7e752fdab9cb2288eadc1add925d933cb801cba8 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Fri, 5 Jul 2019 11:22:01 +0800 Subject: [PATCH 26/61] PUB @qfzy1223 https://linux.cn/article-11058-1.html --- ...orin OS Becomes Even More Awesome With Zorin 15 Release.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) rename {translated/news => published}/20190606 Zorin OS Becomes Even More Awesome With Zorin 15 Release.md (98%) diff --git a/translated/news/20190606 Zorin OS Becomes Even More Awesome With Zorin 15 Release.md b/published/20190606 Zorin OS Becomes Even More Awesome With Zorin 15 Release.md similarity index 98% rename from translated/news/20190606 Zorin OS Becomes Even More Awesome With Zorin 15 Release.md rename to published/20190606 Zorin OS Becomes Even More Awesome With Zorin 15 Release.md index f81f9a2238..0d24af1b7f 100644 --- a/translated/news/20190606 Zorin OS Becomes Even More Awesome With Zorin 15 Release.md +++ b/published/20190606 Zorin OS Becomes Even More Awesome With Zorin 15 Release.md @@ -1,8 +1,8 @@ [#]: collector: (lujun9972) [#]: translator: (qfzy1233) [#]: reviewer: (wxy) -[#]: publisher: ( ) -[#]: url: ( ) +[#]: publisher: (wxy) +[#]: url: (https://linux.cn/article-11058-1.html) [#]: subject: (Zorin OS Becomes Even More Awesome With Zorin 15 Release) [#]: via: (https://itsfoss.com/zorin-os-15-release/) [#]: author: (Ankush Das https://itsfoss.com/author/ankush/) From 497680a1afa63537e9d6dd1c4e74857d6b381eea Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Fri, 5 Jul 2019 12:14:36 +0800 Subject: [PATCH 27/61] PRF MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @chen-ni 翻译的很好 --- ...edora- Which One Should You Use and Why.md | 22 +++++++++---------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/translated/tech/20190701 Ubuntu or Fedora- Which One Should You Use and Why.md b/translated/tech/20190701 Ubuntu or Fedora- Which One Should You Use and Why.md index 5850ac7963..910b14a3fb 100644 --- a/translated/tech/20190701 Ubuntu or Fedora- Which One Should You Use and Why.md +++ b/translated/tech/20190701 Ubuntu or Fedora- Which One Should You Use and Why.md @@ -1,6 +1,6 @@ [#]: collector: (lujun9972) [#]: translator: (chen-ni) -[#]: reviewer: ( ) +[#]: reviewer: (wxy) [#]: publisher: ( ) [#]: url: ( ) [#]: subject: (Ubuntu or Fedora: Which One Should You Use and Why) @@ -10,9 +10,9 @@ 你应该选择 Ubuntu 还是 Fedora? ====== -_**摘要:选择 Ubuntu 还是 Fedora?它们的区别是什么?哪一个更好?你应该使用哪一个?看看这篇对比 Ubuntu 和 Fedora 的文章吧。**_ +> 选择 Ubuntu 还是 Fedora?它们的区别是什么?哪一个更好?你应该使用哪一个?看看这篇对比 Ubuntu 和 Fedora 的文章吧。 -Ubuntu 和 Fedora 都是最流行的 Linux 发行版之一,在两者之间做出选择实非易事。在这篇文章里,我会对比一下 Ubuntu 和 Fedora 的不同特点,帮助你进行决策。 +[Ubuntu][1] 和 [Fedora][2] 都是最流行的 Linux 发行版之一,在两者之间做出选择实非易事。在这篇文章里,我会对比一下 Ubuntu 和 Fedora 的不同特点,帮助你进行决策。 请注意,这篇文章主要是从桌面版的角度进行对比的。Fedora 或者 Ubuntu 针对容器的特殊版本不会被考虑在内。 @@ -57,7 +57,7 @@ Ubuntu 和 Fedora 默认都使用 GNOME 桌面环境。 ![GNOME Desktop in Fedora][6] -Fedora 使用的是 stock GNOME 桌面,而 Ubuntu 则在此基础上做了个性化调整,让它看起来就像 Ubuntu 之前使用的 Unity 桌面环境。 +Fedora 使用的是原装的 GNOME 桌面,而 Ubuntu 则在此基础上做了个性化调整,让它看起来就像 Ubuntu 之前使用的 Unity 桌面环境。 ![GNOME desktop customized by Ubuntu][7] @@ -69,7 +69,7 @@ Fedora 通过 [Fedora Spins][8] 的方式提供了一些不同桌面环境的版 #### 软件包管理和可用软件数量 -Ubuntu 使用 APT 软件包管理器提供软件并进行管理(包括应用程序、库,以及其它所需代码),而 Fedora 使用 DNF 软件包管理器。 +Ubuntu 使用 APT 软件包管理器提供软件并进行管理(包括应用程序、库,以及其它所需编解码器),而 Fedora 使用 DNF 软件包管理器。 [][9] @@ -77,7 +77,7 @@ Ubuntu 使用 APT 软件包管理器提供软件并进行管理(包括应用 一些第三方软件开发者为 Linux 提供像 .exe 文件一样可以点击安装的软件包。在 Ubuntu 里这些软件包是 .deb 格式的,在 Fedora 里是 .rpm 格式的。 -大多数软件供应商都为 Linux 用户提供 DEM 和 RPM 文件,但是我也经历过供应商只提供 DEB 文件的情况。比如说 SEO 工具 [Screaming Frog][11] 就只提供 DEB 软件包。反过来,一个软件只有 RPM 格式但是没有 DEB 格式这种情况就极其罕见了。 +大多数软件供应商都为 Linux 用户提供 DEB 和 RPM 文件,但是我也经历过供应商只提供 DEB 文件的情况。比如说 SEO 工具 [Screaming Frog][11] 就只提供 DEB 软件包。反过来,一个软件只有 RPM 格式但是没有 DEB 格式这种情况就极其罕见了。 #### 硬件支持 @@ -113,9 +113,9 @@ Fedora 则是红帽公司的一个社区项目。红帽公司是一个专注于 #### 在背后支持的企业 -Ubuntu 和 Fedora 都有来自母公司的支持。Ubuntu 源自 [Canonical][21] 公司,而 Fedora 源自 [红帽公司][22](现在是 [IBM 的一部分][23])。背后企业的支持非常重要,因为可以确保 Linux 发行版良好的维护。 +Ubuntu 和 Fedora 都有来自母公司的支持。Ubuntu 源自 [Canonical][21] 公司,而 Fedora 源自 [红帽公司][22](现在是 [IBM 的一部分][23])。背后企业的支持非常重要,因为可以确保 Linux 发行版良好的维护。 -有一些发行版是由一群独立的业余爱好者们共同创建的,但是在工作负荷之下经常会崩溃。你也许见过一些还算比较流行的发行版项目仅仅是因为这个原因而终止了。很多这样的发行版由于开发者没有足够的业余时间可以投入到项目上而不得不终止,比如 [Antergos][24] 和 Korora。 +有一些发行版是由一群独立的业余爱好者们共同创建的,但是在工作压力之下经常会结束。你也许见过一些还算比较流行的发行版项目仅仅是因为这个原因而终止了。很多这样的发行版由于开发者没有足够的业余时间可以投入到项目上而不得不终止,比如 [Antergos][24] 和 Korora。 Ubuntu 和 Fedora 的背后都有基于 Linux 的企业的支持,这让它们比其它独立的发行版更胜一筹。 @@ -131,7 +131,7 @@ Fedora 同样有服务端版本,并且也有人在使用。但是大多数系 学习 Fedora 可以更好地帮助你使用红帽企业级 Linux(RHEL)。RHEL 是一个付费产品,你需要购买订阅才可以使用。如果你希望在服务器上运行一个和 Fedora 或者红帽类似的操作系统,我推荐使用 CentOS。[CentOS][26] 同样是红帽公司附属的一个社区项目,但是专注于服务端。 -#### 结论 +### 结论 你可以看到,Ubuntu 和 Fedora 有很多相似之处。不过就可用软件数量、驱动安装和线上支持来说,Ubuntu 的确更有优势。**Ubuntu 也因此成为了一个更好的选择,尤其是对于没有经验的 Linux 新手而言。** @@ -147,8 +147,8 @@ via: https://itsfoss.com/ubuntu-vs-fedora/ 作者:[Abhishek Prakash][a] 选题:[lujun9972][b] -译者:[译者ID](https://github.com/译者ID) -校对:[校对者ID](https://github.com/校对者ID) +译者:[chen-ni](https://github.com/chen-ni) +校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 From b074a0a727a912ca20a934b7b9c0ccce9302a307 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Fri, 5 Jul 2019 12:15:05 +0800 Subject: [PATCH 28/61] PUB @chen-ni https://linux.cn/article-11059-1.html --- ...0701 Ubuntu or Fedora- Which One Should You Use and Why.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) rename {translated/tech => published}/20190701 Ubuntu or Fedora- Which One Should You Use and Why.md (99%) diff --git a/translated/tech/20190701 Ubuntu or Fedora- Which One Should You Use and Why.md b/published/20190701 Ubuntu or Fedora- Which One Should You Use and Why.md similarity index 99% rename from translated/tech/20190701 Ubuntu or Fedora- Which One Should You Use and Why.md rename to published/20190701 Ubuntu or Fedora- Which One Should You Use and Why.md index 910b14a3fb..af00aa2e34 100644 --- a/translated/tech/20190701 Ubuntu or Fedora- Which One Should You Use and Why.md +++ b/published/20190701 Ubuntu or Fedora- Which One Should You Use and Why.md @@ -1,8 +1,8 @@ [#]: collector: (lujun9972) [#]: translator: (chen-ni) [#]: reviewer: (wxy) -[#]: publisher: ( ) -[#]: url: ( ) +[#]: publisher: (wxy) +[#]: url: (https://linux.cn/article-11059-1.html) [#]: subject: (Ubuntu or Fedora: Which One Should You Use and Why) [#]: via: (https://itsfoss.com/ubuntu-vs-fedora/) [#]: author: (Abhishek Prakash https://itsfoss.com/author/abhishek/) From 1b426dd98f8dca4800e7083f198bee570bc958ac Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Fri, 5 Jul 2019 13:12:31 +0800 Subject: [PATCH 29/61] PRF @lujun9972 --- ... Tray Indicator For Your Tasks on Linux.md | 114 ++++++++---------- 1 file changed, 49 insertions(+), 65 deletions(-) diff --git a/translated/tech/20190302 Create a Custom System Tray Indicator For Your Tasks on Linux.md b/translated/tech/20190302 Create a Custom System Tray Indicator For Your Tasks on Linux.md index a3efed0db0..3d746e39fd 100644 --- a/translated/tech/20190302 Create a Custom System Tray Indicator For Your Tasks on Linux.md +++ b/translated/tech/20190302 Create a Custom System Tray Indicator For Your Tasks on Linux.md @@ -1,6 +1,6 @@ [#]: collector: (lujun9972) [#]: translator: (lujun9972) -[#]: reviewer: ( ) +[#]: reviewer: (wxy) [#]: publisher: ( ) [#]: url: ( ) [#]: subject: (Create a Custom System Tray Indicator For Your Tasks on Linux) @@ -10,17 +10,17 @@ 在 Linux 上为你的任务创建一个自定义的系统托盘指示器 ====== -时至今日系统托盘图标依然很有用。只需要右击图标,然后选择想要的动作即可,你可以大幅简化你的生活并且减少日常行为中的大量无用的点击。 +系统托盘图标如今仍是一个很神奇的功能。只需要右击图标,然后选择想要的动作,你就可以大幅简化你的生活并且减少日常行为中的大量无用的点击。 -一说到有用的系统托盘图标,我们很容易就想到 Skype,Dropbox 和 VLC: +一说到有用的系统托盘图标,我们很容易就想到 Skype、Dropbox 和 VLC: -![Create a Custom System Tray Indicator For Your Tasks on Linux 11][1] +![Create a Custom System Tray Indicator For Your Tasks on Linux][1] -然而系统托盘图标实际上要更有用得多; 你可以根据自己的需求创建自己的系统托盘图标。本指导将会教你通过简单的几个步骤来实现这一目的。 +然而系统托盘图标实际上要更有用得多;你可以根据自己的需求创建自己的系统托盘图标。本指导将会教你通过简单的几个步骤来实现这一目的。 ### 前置条件 -我们将要用 Python 来实现一个自定义的系统托盘指示器。Python 默认在所有主流的 Linux 发行版中都有安装,因此你只需要确定一下它已经确实被安装好了(版本为 2.7)。另外,我们还需要安装好 gir1.2-appindicator3 包。该库能够让我们很容易就能创建系统图标指示器。 +我们将要用 Python 来实现一个自定义的系统托盘指示器。Python 可能已经默安装在所有主流的 Linux 发行版中了,因此你只需要确定一下它已经被安装好了(此处使用版本为 2.7)。另外,我们还需要安装好 `gir1.2-appindicator3` 包。该库能够让我们很容易就能创建系统图标指示器。 在 Ubuntu/Mint/Debian 上安装: @@ -34,50 +34,45 @@ sudo apt-get install gir1.2-appindicator3 sudo dnf install libappindicator-gtk3 ``` -对于其他发行版,只需要搜索包含 appindicator 的包就行了。 +对于其他发行版,只需要搜索包含 “appindicator” 的包就行了。 -在 GNOME Shell 3.26 开始,系统托盘图标被删除了。你需要安装 [这个扩展 ][2] (或者其他扩展) 来为桌面启用该功能。否则你无法看到我们创建的指示器。 +在 GNOME Shell 3.26 开始,系统托盘图标被删除了。你需要安装 [这个扩展][2](或者其他扩展)来为桌面启用该功能。否则你无法看到我们创建的指示器。 ### 基础代码 -下面是指示器的基础代码: +下面是该指示器的基础代码: ``` #!/usr/bin/python import os from gi.repository import Gtk as gtk, AppIndicator3 as appindicator - def main(): - indicator = appindicator.Indicator.new("customtray", "semi-starred-symbolic", appindicator.IndicatorCategory.APPLICATION_STATUS) - indicator.set_status(appindicator.IndicatorStatus.ACTIVE) - indicator.set_menu(menu()) - gtk.main() - + indicator = appindicator.Indicator.new("customtray", "semi-starred-symbolic", appindicator.IndicatorCategory.APPLICATION_STATUS) + indicator.set_status(appindicator.IndicatorStatus.ACTIVE) + indicator.set_menu(menu()) + gtk.main() def menu(): - menu = gtk.Menu() - - command_one = gtk.MenuItem('My Notes') - command_one.connect('activate', note) - menu.append(command_one) - - exittray = gtk.MenuItem('Exit Tray') - exittray.connect('activate', quit) - menu.append(exittray) - - menu.show_all() - return menu - + menu = gtk.Menu() + + command_one = gtk.MenuItem('My Notes') + command_one.connect('activate', note) + menu.append(command_one) + exittray = gtk.MenuItem('Exit Tray') + exittray.connect('activate', quit) + menu.append(exittray) + + menu.show_all() + return menu + def note(_): - os.system("gedit $HOME/Documents/notes.txt") - + os.system("gedit $HOME/Documents/notes.txt") def quit(_): - gtk.main_quit() - + gtk.main_quit() if __name__ == "__main__": - main() + main() ``` -我们待会会解释一下代码是怎么工作的。但是现在,让我们将该文本保存为 tray.py,然后使用 Python 运行之: +我们待会会解释一下代码是怎么工作的。但是现在,让我们将该文本保存为 `tray.py`,然后使用 Python 运行之: ``` python tray.py @@ -87,38 +82,27 @@ python tray.py ![Create a Custom System Tray Indicator For Your Tasks on Linux 13][3] -现在,让我们解释一下魔术的原理: +现在,让我们解释一下这个魔法的原理: * 前三行代码仅仅用来指明 Python 的路径并且导入需要的库。 - - * def main() : 此为指示器的主函数。该函数的代码用来初始化并创建指示器。 - - * indicator = appindicator.Indicator.new(“customtray”,“semi-starred-symbolic”,appindicator.IndicatorCategory.APPLICATION_STATUS) : 这里我们指明创建一个名为 `customtray` 的指示器。这是指示器的唯一名称这样系统就不会与其他运行中的指示器搞混了。同时我们使用名为 `semi-starred-symbolic` 的图标作为指示器的默认图标。你可以将之改成任何其他值; 比如 `firefox` (如果你希望该指示器使用 FireFox 的图标),或任何其他希望的图标名。最后与 `APPLICATION_STATUS` 相关的部分是指明指示器类别/范围的常规代码。 - - * `indicator.set_status(appindicator.IndicatorStatus.ACTIVE)` : 这一行激活指示器。 - - * `indicator.set_menu(menu())` : 这里我的是我们想使用 `menu()` 函数 (我们会在后面定义) 来为我们的指示器创建菜单项。这很重要,可以让你右击指示器后看到一个可以实施行为的列别。 - - * `gtk.main()` : 运行 GTK 主循环。 - - * 在 `menu()` 中我们定义了想要指示器提供的行为或项目。`command_one = gtk.MenuItem(‘My Notes’)` 仅仅使用文本 “My notes” 来初始化第一个菜单项,接下来 `command_one.connect(‘activate’,note)` 将菜单的 `activate` 信号与后面定义的 `note()` 函数相连接; 换句话说,我们告诉我们的系统:“当该菜单项被点击,运行 note() 函数”。最后,`menu.append(command_one)` 将菜单项添加到列表中。 - - * `exittray` 相关的行是为了创建一个退出的菜单项让你在想要的时候关闭指示器。 - + * `def main()` :此为指示器的主函数。该函数的代码用来初始化并创建指示器。 + * `indicator = appindicator.Indicator.new("customtray","semi-starred-symbolic",appindicator.IndicatorCategory.APPLICATION_STATUS)` :这里我们指明创建一个名为 `customtray` 的新指示器。这是指示器的唯一名称,这样系统就不会与其他运行中的指示器搞混了。同时我们使用名为 `semi-starred-symbolic` 的图标作为指示器的默认图标。你可以将之改成任何其他值;比如 `firefox` (如果你希望该指示器使用 FireFox 的图标),或任何其他你想用的图标名。最后与 `APPLICATION_STATUS` 相关的部分是指明指示器类别/范围的常规代码。 + * `indicator.set_status(appindicator.IndicatorStatus.ACTIVE)`:这一行激活指示器。 + * `indicator.set_menu(menu())`:这里说的是我们想使用 `menu()` 函数(我们会在后面定义) 来为我们的指示器创建菜单项。这很重要,可以让你右击指示器后看到一个可以实施行为的列表。 + * `gtk.main()`:运行 GTK 主循环。 + * 在 `menu()` 中我们定义了想要指示器提供的行为或项目。`command_one = gtk.MenuItem('My Notes')` 仅仅使用文本 “My notes” 来初始化第一个菜单项,接下来 `command_one.connect('activate',note)` 将菜单的 `activate` 信号与后面定义的 `note()` 函数相连接;换句话说,我们告诉我们的系统:“当该菜单项被点击,运行 `note()` 函数”。最后,`menu.append(command_one)` 将菜单项添加到列表中。 + * `exittray` 相关的行是为了创建一个退出的菜单项,以便让你在想要的时候关闭指示器。 * `menu.show_all()` 以及 `return menu` 只是返回菜单项给指示器的常规代码。 - - * 在 `note(_)` 下面是点击 “My Notes” 菜单项时需要执行的代码。这里只是 `os.system(“gedit $HOME/Documents/notes.txt”)` 这一句话; `os.system` 函数允许你在 Python 中运行 shell 命令,因此这里我们写了一行命令来使用 `gedit` 打开 home 目录下 `Documents` 目录中名为 `notes.txt` 的文件。例如,这个可以称为你今后的日常笔记程序了! + * 在 `note(_)` 下面是点击 “My Notes” 菜单项时需要执行的代码。这里只是 `os.system("gedit $HOME/Documents/notes.txt")` 这一句话;`os.system` 函数允许你在 Python 中运行 shell 命令,因此这里我们写了一行命令来使用 `gedit` 打开家目录下 `Documents` 目录中名为 `notes.txt` 的文件。例如,这个可以称为你今后的日常笔记程序了! ### 添加你所需要的任务 你只需要修改代码中的两块地方: - 1。在 `menu()` 中为你想要的任务定义新的菜单项。 + 1. 在 `menu()` 中为你想要的任务定义新的菜单项。 + 2. 创建一个新的函数让给该菜单项被点击时执行特定的行为。 - 2。创建一个新的函数让给该菜单项被点击时执行特定的行为。 - - -所以,比如说你想要创建一个新菜单项,在点击后,会使用 VLC 播放硬盘中某个特定的视频/音频文件?要做到这一点,只需要在地 17 行处添加下面三行内容: +所以,比如说你想要创建一个新菜单项,在点击后,会使用 VLC 播放硬盘中某个特定的视频/音频文件?要做到这一点,只需要在第 17 行处添加下面三行内容: ``` command_two = gtk.MenuItem('Play video/audio') @@ -126,14 +110,14 @@ command_two.connect('activate', play) menu.append(command_two) ``` -然后在地 30 行添加下面内容: +然后在第 30 行添加下面内容: ``` def play(_): - os.system("vlc /home//Videos/somevideo.mp4") + os.system("vlc /home//Videos/somevideo.mp4") ``` -将 /home//Videos/somevideo.mp4 替换成你想要播放的视频/音频文件路径。现在保存该文件然后再次运行该指示器: +将` `/home//Videos/somevideo.mp4` 替换成你想要播放的视频/音频文件路径。现在保存该文件然后再次运行该指示器: ``` python tray.py @@ -145,15 +129,15 @@ python tray.py 而且当你点击新创建的菜单项时,VLC 会开始播放! -要创建其他项目/任务,只需要重复上面步骤即可。但是要小心,需要用其他命令来为 command_two 改名,比如 command_three,这样在变量之间才不会产生冲突。然后定义新函数,就像 play(_) 函数那样。 +要创建其他项目/任务,只需要重复上面步骤即可。但是要小心,需要用其他命令来替换 `command_two`,比如 `command_three`,这样在变量之间才不会产生冲突。然后定义新函数,就像 `play(_)` 函数那样。 -从这里开始的可能性是无穷的; 比如我用这种方法来从网上获取数据(使用 urllib2 库) 并显示出来。我也用它来在后台使用 mpg123 命令播放 mp3 文件,而且我还定义了另一个菜单项来杀掉所有的 mpg123 来随时停止播放音频。比如 Steam 上的 CS:GO 退出很费时间(窗口并不会自动关闭),因此,作为一个变通的方法,我只是最小化窗口然后点击某个自建的菜单项,它会执行 killall -9 csgo_linux64 命令。 +可能性是无穷的;比如我用这种方法来从网上获取数据(使用 urllib2 库)并显示出来。我也用它来在后台使用 `mpg123` 命令播放 mp3 文件,而且我还定义了另一个菜单项来 `killall mpg123` 以随时停止播放音频。比如 Steam 上的 CS:GO 退出很费时间(窗口并不会自动关闭),因此,作为一个变通的方法,我只是最小化窗口然后点击某个自建的菜单项,它会执行 `killall -9 csgo_linux64` 命令。 -你可以使用这个指示器来做任何事情:升级系统包,运行其他脚本。字面上的任何事情。 +你可以使用这个指示器来做任何事情:升级系统包、运行其他脚本——字面上的任何事情。 ### 自动启动 -我们希望系统托盘指示器能在系统启动后自动启动,而不用每次都手工运行。要做到这一点,只需要在自启动应用程序中添加下面命令即可(但是你需要将 tray.py 的路径替换成你自己的路径): +我们希望系统托盘指示器能在系统启动后自动启动,而不用每次都手工运行。要做到这一点,只需要在自启动应用程序中添加下面命令即可(但是你需要将 `tray.py` 的路径替换成你自己的路径): ``` nohup python /home//tray.py & @@ -175,7 +159,7 @@ via: https://fosspost.org/tutorials/custom-system-tray-icon-indicator-linux 作者:[M.Hanny Sabbagh][a] 选题:[lujun9972][b] 译者:[lujun9972](https://github.com/lujun9972) -校对:[校对者ID](https://github.com/校对者ID) +校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 From f17836ec2ffba385a6539d013b478a8ab0fe7cf5 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Fri, 5 Jul 2019 13:13:26 +0800 Subject: [PATCH 30/61] PUB @lujun9972 https://linux.cn/article-11061-1.html --- ... a Custom System Tray Indicator For Your Tasks on Linux.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) rename {translated/tech => published}/20190302 Create a Custom System Tray Indicator For Your Tasks on Linux.md (99%) diff --git a/translated/tech/20190302 Create a Custom System Tray Indicator For Your Tasks on Linux.md b/published/20190302 Create a Custom System Tray Indicator For Your Tasks on Linux.md similarity index 99% rename from translated/tech/20190302 Create a Custom System Tray Indicator For Your Tasks on Linux.md rename to published/20190302 Create a Custom System Tray Indicator For Your Tasks on Linux.md index 3d746e39fd..9940c0e049 100644 --- a/translated/tech/20190302 Create a Custom System Tray Indicator For Your Tasks on Linux.md +++ b/published/20190302 Create a Custom System Tray Indicator For Your Tasks on Linux.md @@ -1,8 +1,8 @@ [#]: collector: (lujun9972) [#]: translator: (lujun9972) [#]: reviewer: (wxy) -[#]: publisher: ( ) -[#]: url: ( ) +[#]: publisher: (wxy) +[#]: url: (https://linux.cn/article-11061-1.html) [#]: subject: (Create a Custom System Tray Indicator For Your Tasks on Linux) [#]: via: (https://fosspost.org/tutorials/custom-system-tray-icon-indicator-linux) [#]: author: (M.Hanny Sabbagh https://fosspost.org/author/mhsabbagh) From 17a65c075175bc17a9670b96722d231f2555aeb2 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Fri, 5 Jul 2019 13:36:32 +0800 Subject: [PATCH 31/61] PRF --- ...orin OS Becomes Even More Awesome With Zorin 15 Release.md | 4 ---- ...0701 Ubuntu or Fedora- Which One Should You Use and Why.md | 2 -- 2 files changed, 6 deletions(-) diff --git a/published/20190606 Zorin OS Becomes Even More Awesome With Zorin 15 Release.md b/published/20190606 Zorin OS Becomes Even More Awesome With Zorin 15 Release.md index 0d24af1b7f..28a906fbdb 100644 --- a/published/20190606 Zorin OS Becomes Even More Awesome With Zorin 15 Release.md +++ b/published/20190606 Zorin OS Becomes Even More Awesome With Zorin 15 Release.md @@ -38,16 +38,12 @@ Zorin OS 15 最主要的一个亮点就是 —— Zorin Connect。如果你使 正如他们在[官方公告][6]中提到的, 数据的传输仅限于本地网络之间,并且不会有数据被上传到云端服务器。通过以下操作体验 Zorin Connect ,找到:Zorin menu (Zorin 菜单) > System Tools (系统工具) > Zorin Connect。 -[][5] - #### 新的桌面主题(包含夜间模式!) ![Zorin 夜间模式][7] 一提到 “夜间模式” 我就毫无抵抗力。对我而言,这是Zorin OS 15 自带的最好的功能。 -[][8] - 当我启用了界面的深色模式时,我的眼睛感到如此舒适,你不想来试试么? 它不单单是一个深色的主题,而是 UI 更干净直观,并且带有恰到好处的新动画。你可以从 Zorin 内置的外观应用程序里找到所有的相关设置。 diff --git a/published/20190701 Ubuntu or Fedora- Which One Should You Use and Why.md b/published/20190701 Ubuntu or Fedora- Which One Should You Use and Why.md index af00aa2e34..e4251ec54e 100644 --- a/published/20190701 Ubuntu or Fedora- Which One Should You Use and Why.md +++ b/published/20190701 Ubuntu or Fedora- Which One Should You Use and Why.md @@ -71,8 +71,6 @@ Fedora 通过 [Fedora Spins][8] 的方式提供了一些不同桌面环境的版 Ubuntu 使用 APT 软件包管理器提供软件并进行管理(包括应用程序、库,以及其它所需编解码器),而 Fedora 使用 DNF 软件包管理器。 -[][9] - [Ubuntu 拥有庞大的软件仓库][10],能够让你轻松安装数以千计的程序,包括 FOSS(LCTT 译注:Free and Open-Source Software 的缩写,自由开源软件)和非 FOSS 的软件。Fedora 则只专注于提供开源软件。虽然这一点在最近的版本里有所转变,但是 Fedora 的软件仓库在规模上仍然比 Ubuntu 的要逊色一些。 一些第三方软件开发者为 Linux 提供像 .exe 文件一样可以点击安装的软件包。在 Ubuntu 里这些软件包是 .deb 格式的,在 Fedora 里是 .rpm 格式的。 From 339a54def1795a9ee0b401f19caf3f59889bba41 Mon Sep 17 00:00:00 2001 From: DarkSun Date: Sat, 6 Jul 2019 00:51:28 +0800 Subject: [PATCH 32/61] =?UTF-8?q?=E9=80=89=E9=A2=98:=2020190705=20Manage?= =?UTF-8?q?=20your=20shell=20environment?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit sources/tech/20190705 Manage your shell environment.md --- .../20190705 Manage your shell environment.md | 121 ++++++++++++++++++ 1 file changed, 121 insertions(+) create mode 100644 sources/tech/20190705 Manage your shell environment.md diff --git a/sources/tech/20190705 Manage your shell environment.md b/sources/tech/20190705 Manage your shell environment.md new file mode 100644 index 0000000000..c9a4c94bac --- /dev/null +++ b/sources/tech/20190705 Manage your shell environment.md @@ -0,0 +1,121 @@ +[#]: collector: (lujun9972) +[#]: translator: ( ) +[#]: reviewer: ( ) +[#]: publisher: ( ) +[#]: url: ( ) +[#]: subject: (Manage your shell environment) +[#]: via: (https://fedoramagazine.org/manage-your-shell-environment/) +[#]: author: (Eduard Lucena https://fedoramagazine.org/author/x3mboy/) + +Manage your shell environment +====== + +![][1] + +Some time ago, the Fedora Magazine has published an [article introducing ZSH][2] — an alternative shell to Fedora’s default, bash. This time, we’re going to look into customizing it to use it in a more effective way. All of the concepts shown in this article also work in other shells such as bash. + +### Alias + +Aliases are shortcuts for commands. This is useful for creating short commands for actions that are performed often, but require a long command that would take too much time to type. The syntax is: + +``` +$ alias yourAlias='complex command with arguments' +``` + +They don’t always need to be used for shortening long commands. Important is that you use them for tasks that you do often. An example could be: + +``` +$ alias dnfUpgrade='dnf -y upgrade' +``` + +That way, to do a system upgrade, I just type dnfUpgrade instead of the whole dnf command. + +The problem of setting aliases right in the console is that once the terminal session is closed, the alias would be lost. To set them permanently, resource files are used. + +### Resource Files + +Resource files (or rc files) are configuration files that are loaded per user in the beginning of a session or a process (when a new terminal window is opened, or a new program like vim is started). In the case of ZSH, the resource file is _.zshrc_, and for bash it’s _.bashrc_. + +To make the aliases permanent, you can either put them in your resource. You can edit your resource file with a text editor of your choice. This example uses vim: + +``` +$ vim $HOME/.zshrc +``` + +Or for bash: + +``` +$ vim $HOME/.bashrc +``` + +Note that the location of the resource file is specified relatively to a home directory — and that’s where ZSH (or bash) are going to look for the file by default for each user. + +Other option is to put your configuration in any other file, and then source it: + +``` +$ source /path/to/your/rc/file +``` + +Again, sourcing it right in your session will only apply it to the session, so to make it permanent, add the source command to your resource file. The advantage of having your source file in a different location is that you can source it any time. Or anywhere which is especially useful in shared environments. + +### Environment Variables + +Environment variables are values assigned to a specific name which can be then called in scripts and commands. They start with the $ dollar sign. One of the most common is $HOME that references the home directory. + +As the name suggests, environment variables are a part of your environment. Set a variable using the following syntax: + +``` +$ http_proxy="http://your.proxy" +``` + +And to make it an environment variable, export it with the following command: + +``` +$ export $http_proxy +``` + +To see all the environment variables that are currently set, use the _env_ command: + +``` +$ env +``` + +The command outputs all the variables available in your session. To demonstrate how to use them in a command, try running the following echo commands: + +``` +$ echo $PWD +/home/fedora +$ echo $USER +fedora +``` + +What happens here is variable expansion — the value stored in the variable is used in your command. + +Another useful variable is _$PATH_, that defines directories that your shell uses to look for binaries. + +### The $PATH variable + +There are many directories, or folders (the way they are called in graphical environments) that are important to the OS. Some directories are set to hold binaries you can use directly in your shell. And these directories are defined in the $PATH variable. + +``` +$ echo $PATH +/usr/lib64/qt-3.3/bin:/usr/share/Modules/bin:/usr/lib64/ccache:/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/usr/libexec/sdcc:/usr/libexec/sdcc:/usr/bin:/bin:/sbin:/usr/sbin:/opt/FortiClient +``` + +This will help you when you want to have your own binaries (or scripts) accessible in the shell. + +-------------------------------------------------------------------------------- + +via: https://fedoramagazine.org/manage-your-shell-environment/ + +作者:[Eduard Lucena][a] +选题:[lujun9972][b] +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://fedoramagazine.org/author/x3mboy/ +[b]: https://github.com/lujun9972 +[1]: https://fedoramagazine.org/wp-content/uploads/2018/05/manage-shell-env-816x345.jpg +[2]: https://fedoramagazine.org/set-zsh-fedora-system/ From 652f90d3733258f69a5b3e1a136f01e4c1232c8c Mon Sep 17 00:00:00 2001 From: DarkSun Date: Sat, 6 Jul 2019 00:52:07 +0800 Subject: [PATCH 33/61] =?UTF-8?q?=E9=80=89=E9=A2=98:=2020190706=20Say=20WH?= =?UTF-8?q?AAAT=3F=20Mozilla=20has=20Been=20Nominated=20for=20the=20?= =?UTF-8?q?=E2=80=9CInternet=20Villain=E2=80=9D=20Award=20in=20the=20UK?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit sources/tech/20190706 Say WHAAAT- Mozilla has Been Nominated for the -Internet Villain- Award in the UK.md --- ... the -Internet Villain- Award in the UK.md | 102 ++++++++++++++++++ 1 file changed, 102 insertions(+) create mode 100644 sources/tech/20190706 Say WHAAAT- Mozilla has Been Nominated for the -Internet Villain- Award in the UK.md diff --git a/sources/tech/20190706 Say WHAAAT- Mozilla has Been Nominated for the -Internet Villain- Award in the UK.md b/sources/tech/20190706 Say WHAAAT- Mozilla has Been Nominated for the -Internet Villain- Award in the UK.md new file mode 100644 index 0000000000..253eae7967 --- /dev/null +++ b/sources/tech/20190706 Say WHAAAT- Mozilla has Been Nominated for the -Internet Villain- Award in the UK.md @@ -0,0 +1,102 @@ +[#]: collector: (lujun9972) +[#]: translator: ( ) +[#]: reviewer: ( ) +[#]: publisher: ( ) +[#]: url: ( ) +[#]: subject: (Say WHAAAT? Mozilla has Been Nominated for the “Internet Villain” Award in the UK) +[#]: via: (https://itsfoss.com/mozilla-internet-villain/) +[#]: author: (Ankush Das https://itsfoss.com/author/ankush/) + +Say WHAAAT? Mozilla has Been Nominated for the “Internet Villain” Award in the UK +====== + +Mozilla Firefox is one of the most popular browsers available out there. A lot of users prefer it over Chrome just because it encourages privacy protection and features options to keep your Internet activity as private as possible. + +But, one of the recently proposed features – **[DoH (DNS-over-HTTPS)][1]** which is still in the testing phase didn’t receive a good response from the UK’s ISPs trade association. + +So, the ISPA (Internet Services Providers Association) of UK decided to [nominate][2] Mozilla as one of the “Internet Villains” among the nominees for 2019. This is for an award ceremony to be held on 11th July in London by the ISP trade association of the UK. + +![][3] + +### Why “Mozilla” is the “Internet Villain” here? + +In their announcement, the ISPA mentioned that Mozilla is one of the Internet Villains for supporting **DoH** (DNS-over-HTTPS). + +> [@mozilla][4] is nominated for the [#ISPAs][5] [#InternetVillain][6] for their proposed approach to introduce DNS-over-HTTPS in such a way as to bypass UK filtering obligations and parental controls, undermining [#internet][7] safety standards in the UK. [pic.twitter.com/WeZhLq2uvi][8] +> +> — Internet Services Providers Association (ISPAUK) (@ISPAUK) [July 4, 2019][9] + +Along with Mozilla, Article 13 Copyright Directive and President Donald Trump also appear in the list. Here’s how ISPA explained in their announcement: + +_**Mozilla**_ _– for their proposed approach to introduce DNS-over-HTTPS in such a way as to bypass UK filtering obligations and parental controls, undermining internet safety standards in the UK_. + +**_Article_ _13 Copyright Directive_** _– for threatening freedom of expression online by requiring ‘content recognition technologies’ across platforms_ + +_**President Donald Trump**_ _– for causing a huge amount of uncertainty across the complex, global telecommunications supply chain in the course of trying to protect national security_ + +### What is DNS-over-HTTPS? + +DoH basically means that your DNS requests will be encrypted over an HTTPS connection. + +Traditionally, the DNS requests are unencrypted and your DNS provider or the ISP can monitor/control your browsing activity. Without DoH, you can easily enforce blocking/content filtering through your DNS provider or the ISP can do that when they want. + +[][10] + +Suggested read  Firefox: The Internet's Knight in Shining Armor + +However, DoH completely takes that out of the equation and hence, you get a private browsing experience. + +You can explore [how Mozilla implements this partnering with Cloudflare][11] and set it up for yourself if you want. + +### Is DoH helpful? + +Yes and no. + +Of course, on one side of the coin, it lets user bypass any content filters enforced by the DNS or the ISPs. So, it is a good thing that we want to put a stop to Internet censorship and DoH helps us with that. + +But, on the other side, if you are a parent, you can no longer [set content filters][12] if your kid utilizes DoH on Mozilla Firefox. It depends on how good/bad the [firewall is configured][13]. + +But potentially DoH is a solution for some to bypass parental controls, which could be a bad thing. + +Correct me if I’m wrong here – in the comments below. + +Also, using DoH means that you can no longer use the local host file (in case you are using it for ad blocking or something else) + +### Wrapping Up + +What do you think about DoH in general? Is it good enough? + +And, what’s your take on ISPA’s decision? Do you think that they are encouraging Internet censorship and government monitoring on netizens with this kind of announcement? + +Personally, I find it hilarious. Even if DoH isn’t the ultimate feature that everyone wants, it is always good to have an option to protect your privacy in some way. + +Let us know your thoughts in the comments below. Meanwhile, I’ll just put this quote here: + +> In a time of universal deceit, telling the truth is a revolutionary act + +-------------------------------------------------------------------------------- + +via: https://itsfoss.com/mozilla-internet-villain/ + +作者:[Ankush Das][a] +选题:[lujun9972][b] +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://itsfoss.com/author/ankush/ +[b]: https://github.com/lujun9972 +[1]: https://en.wikipedia.org/wiki/DNS_over_HTTPS +[2]: https://www.ispa.org.uk/ispa-announces-finalists-for-2019-internet-heroes-and-villains-trump-and-mozilla-lead-the-way-as-villain-nominees/ +[3]: https://i0.wp.com/itsfoss.com/wp-content/uploads/2019/07/mozilla-internet-villain.jpg?resize=800%2C450&ssl=1 +[4]: https://twitter.com/mozilla?ref_src=twsrc%5Etfw +[5]: https://twitter.com/hashtag/ISPAs?src=hash&ref_src=twsrc%5Etfw +[6]: https://twitter.com/hashtag/InternetVillain?src=hash&ref_src=twsrc%5Etfw +[7]: https://twitter.com/hashtag/internet?src=hash&ref_src=twsrc%5Etfw +[8]: https://t.co/WeZhLq2uvi +[9]: https://twitter.com/ISPAUK/status/1146725374455373824?ref_src=twsrc%5Etfw +[10]: https://itsfoss.com/why-firefox/ +[11]: https://blog.nightly.mozilla.org/2018/06/01/improving-dns-privacy-in-firefox/ +[12]: https://itsfoss.com/how-to-block-porn-by-content-filtering-on-ubuntu/ +[13]: https://itsfoss.com/set-up-firewall-gufw/ From 754a4de7b65f38210bfbf541faae1a1db30059d5 Mon Sep 17 00:00:00 2001 From: DarkSun Date: Sat, 6 Jul 2019 00:53:22 +0800 Subject: [PATCH 34/61] =?UTF-8?q?=E9=80=89=E9=A2=98:=2020190705=20Learn=20?= =?UTF-8?q?object-oriented=20programming=20with=20Python?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit sources/tech/20190705 Learn object-oriented programming with Python.md --- ...object-oriented programming with Python.md | 311 ++++++++++++++++++ 1 file changed, 311 insertions(+) create mode 100644 sources/tech/20190705 Learn object-oriented programming with Python.md diff --git a/sources/tech/20190705 Learn object-oriented programming with Python.md b/sources/tech/20190705 Learn object-oriented programming with Python.md new file mode 100644 index 0000000000..b617517526 --- /dev/null +++ b/sources/tech/20190705 Learn object-oriented programming with Python.md @@ -0,0 +1,311 @@ +[#]: collector: (lujun9972) +[#]: translator: ( ) +[#]: reviewer: ( ) +[#]: publisher: ( ) +[#]: url: ( ) +[#]: subject: (Learn object-oriented programming with Python) +[#]: via: (https://opensource.com/article/19/7/get-modular-python-classes) +[#]: author: (Seth Kenlon https://opensource.com/users/seth) + +Learn object-oriented programming with Python +====== +Make your code more modular with Python classes. +![Developing code.][1] + +In my previous article, I explained how to [make Python modular][2] by using functions, creating modules, or both. Functions are invaluable to avoid repeating code you intend to use several times, and modules ensure that you can use your code across different projects. But there's another component to modularity: the class. + +If you've heard the term _object-oriented programming_, then you may have some notion of the purpose classes serve. Programmers tend to consider a class as a virtual object, sometimes with a direct correlation to something in the physical world, and other times as a manifestation of some programming concept. Either way, the idea is that you can create a class when you want to create "objects" within a program for you or other parts of the program to interact with. + +### Templates without classes + +Assume you're writing a game set in a fantasy world, and you need this application to be able to drum up a variety of baddies to bring some excitement into your players' lives. Knowing quite a lot about functions, you might think this sounds like a textbook case for functions: code that needs to be repeated often but is written once with allowance for variations when called. + +Here's an example of a purely function-based implementation of an enemy generator: + + +``` +#!/usr/bin/env python3 + +import random + +def enemy(ancestry,gear): +    enemy=ancestry +    weapon=gear +    hp=random.randrange(0,20) +    ac=random.randrange(0,20) +    return [enemy,weapon,hp,ac] + +def fight(tgt): +    print("You take a swing at the " + tgt[0] + ".") +    hit=random.randrange(0,20) +    if hit > tgt[3]: +        print("You hit the " + tgt[0] + " for " + str(hit) + " damage!") +        tgt[2] = tgt[2] - hit +    else: +        print("You missed.") + +foe=enemy("troll","great axe") +print("You meet a " + foe[0] + " wielding a " + foe[1]) +print("Type the a key and then RETURN to attack.") + +while True: +    action=input() + +    if action.lower() == "a": +        fight(foe) + +    if foe[2] < 1: +        print("You killed your foe!") +    else: +        print("The " + foe[0] + " has " + str(foe[2]) + " HP remaining") +``` + +The **enemy** function creates an enemy with several attributes, such as ancestry, a weapon, health points, and a defense rating. It returns a list of each attribute, representing the sum total of the enemy. + +In a sense, this code has created an object, even though it's not using a class yet. Programmers call this "enemy" an _object_ because the result (a list of strings and integers, in this case) of the function represents a singular but complex _thing_ in the game. That is, the strings and integers in the list aren't arbitrary: together, they describe a virtual object. + +When writing a collection of descriptors, you use variables so you can use them any time you want to generate an enemy. It's a little like a template. + +In the example code, when an attribute of the object is needed, the corresponding list item is retrieved. For instance, to get the ancestry of an enemy, the code looks at **foe[0]**, for health points, it looks at **foe[2]** for health points, and so on. + +There's nothing necessarily wrong with this approach. The code runs as expected. You could add more enemies of different types, you could create a list of enemy types and randomly select from the list during enemy creation, and so on. It works well enough, and in fact [Lua][3] uses this principle very effectively to approximate an object-oriented model. + +However, there's sometimes more to an object than just a list of attributes. + +### The way of the object + +In Python, everything is an object. Anything you create in Python is an _instance_ of some predefined template. Even basic strings and integers are derivatives of the Python **type** class. You can witness this for yourself an interactive Python shell: + + +``` +>>> foo=3 +>>> type(foo) +<class 'int'> +>>> foo="bar" +>>> type(foo) +<class 'str'> +``` + +When an object is defined by a class, it is more than just a collection of attributes. Python classes have functions all their own. This is convenient, logically, because actions that pertain only to a certain class of objects are contained within that object's class. + +In the example code, the fight code is a function of the main application. That works fine for a simple game, but in a complex one, there would be more than just players and enemies in the game world. There might be townsfolk, livestock, buildings, forests, and so on, and none of them ever need access to a fight function. Placing code for combat in an enemy class means your code is better organized; and in a complex application, that's a significant advantage. + +Furthermore, each class has privileged access to its own local variables. An enemy's health points, for instance, isn't data that should ever change except by some function of the enemy class. A random butterfly in the game should not accidentally reduce an enemy's health to 0. Ideally, even without classes, that would never happen, but in a complex application with lots of moving parts, it's a powerful trick of the trade to ensure that parts that don't need to interact with one another never do. + +Python classes are also subject to garbage collection. When an instance of a class is no longer used, it is moved out of memory. You may never know when this happens, but you tend to notice when it doesn't happen because your application takes up more memory and runs slower than it should. Isolating data sets into classes helps Python track what is in use and what is no longer needed. + +### Classy Python + +Here's the same simple combat game using a class for the enemy: + + +``` +#!/usr/bin/env python3 + +import random + +class Enemy(): +    def __init__(self,ancestry,gear): +        self.enemy=ancestry +        self.weapon=gear +        self.hp=random.randrange(10,20) +        self.ac=random.randrange(12,20) +        self.alive=True + +    def fight(self,tgt): +        print("You take a swing at the " + self.enemy + ".") +        hit=random.randrange(0,20) + +        if self.alive and hit > self.ac: +            print("You hit the " + self.enemy + " for " + str(hit) + " damage!") +            self.hp = self.hp - hit +            print("The " + self.enemy + " has " + str(self.hp) + " HP remaining") +        else: +            print("You missed.") + +        if self.hp < 1: +            self.alive=False + +# game start +foe=Enemy("troll","great axe") +print("You meet a " + foe.enemy + " wielding a " + foe.weapon) + +# main loop +while True: +    +    print("Type the a key and then RETURN to attack.") +        +    action=input() + +    if action.lower() == "a": +        foe.fight(foe) +                +    if foe.alive == False: +        print("You have won...this time.") +        exit() +``` + +This version of the game handles the enemy as an object containing the same attributes (ancestry, weapon, health, and defense), plus a new attribute measuring whether the enemy has been vanquished yet, as well as a function for combat. + +The first function of a class is a special function called (in Python) an _init_, or initialization, function. This is similar to a [constructor][4] in other languages; it creates an instance of the class, which is identifiable to you by its attributes and to whatever variable you use when invoking the class (**foe** in the example code). + +### Self and class instances + +The class' functions accept a new form of input you don't see outside of classes: **self**. If you don't include **self**, then Python has no way of knowing _which_ instance of the class to use when you call a class function. It's like challenging a single orc to a duel by saying "I'll fight the orc" in a room full of orcs; nobody knows which one you're referring to, and so bad things happen. + +![Image of an Orc, CC-BY-SA by Buch on opengameart.org][5] + +CC-BY-SA by Buch on opengameart.org + +Each attribute created within a class is prepended with the **self** notation, which identifies that variable as an attribute of the class. Once an instance of a class is spawned, you swap out the **self** prefix with the variable representing that instance. Using this technique, you could challenge just one orc to a duel in a room full of orcs by saying "I'll fight the gorblar.orc"; when Gorblar the Orc hears **gorblar.orc**, he knows which orc you're referring to (him_self_), and so you get a fair fight instead of a brawl. In Python: + + +``` +gorblar=Enemy("orc","sword") +print("The " + gorblar.enemy + " has " + str(gorblar.hp) + " remaining.") +``` + +Instead of looking to **foe[0]** (as in the functional example) or **gorblar[0]** for the enemy type, you retrieve the class attribute (**gorblar.enemy** or **gorblar.hp** or whatever value for whatever object you need). + +### Local variables + +If a variable in a class is not prepended with the **self** keyword, then it is a local variable, just as in any function. For instance, no matter what you do, you cannot access the **hit** variable outside the **Enemy.fight** class: + + +``` +>>> print(foe.hit) +Traceback (most recent call last): +  File "./enclass.py", line 38, in <module> +    print(foe.hit) +AttributeError: 'Enemy' object has no attribute 'hit' + +>>> print(foe.fight.hit) +Traceback (most recent call last): +  File "./enclass.py", line 38, in <module> +    print(foe.fight.hit) +AttributeError: 'function' object has no attribute 'hit' +``` + +The **hit** variable is contained within the Enemy class, and only "lives" long enough to serve its purpose in combat. + +### More modularity + +This example uses a class in the same text document as your main application. In a complex game, it's easier to treat each class almost as if it were its own self-standing application. You see this when multiple developers work on the same application: one developer works on a class, and the other works on the main program, and as long as they communicate with one another about what attributes the class must have, the two code bases can be developed in parallel. + +To make this example game modular, split it into two files: one for the main application and one for the class. Were it a more complex application, you might have one file per class, or one file per logical groups of classes (for instance, a file for buildings, a file for natural surroundings, a file for enemies and NPCs, and so on). + +Save one file containing just the Enemy class as **enemy.py** and another file containing everything else as **main.py**. + +Here's **enemy.py**: + + +``` +import random + +class Enemy(): +    def __init__(self,ancestry,gear): +        self.enemy=ancestry +        self.weapon=gear +        self.hp=random.randrange(10,20) +        self.stg=random.randrange(0,20) +        self.ac=random.randrange(0,20) +        self.alive=True + +    def fight(self,tgt): +        print("You take a swing at the " + self.enemy + ".") +        hit=random.randrange(0,20) + +        if self.alive and hit > self.ac: +            print("You hit the " + self.enemy + " for " + str(hit) + " damage!") +            self.hp = self.hp - hit +            print("The " + self.enemy + " has " + str(self.hp) + " HP remaining") +        else: +            print("You missed.") + +        if self.hp < 1: +            self.alive=False +``` + +Here's **main.py**: + + +``` +#!/usr/bin/env python3 + +import enemy as en + +# game start +foe=en.Enemy("troll","great axe") +print("You meet a " + foe.enemy + " wielding a " + foe.weapon) + +# main loop +while True: +    +    print("Type the a key and then RETURN to attack.") + +    action=input() + +    if action.lower() == "a": +        foe.fight(foe) + +    if foe.alive == False: +        print("You have won...this time.") +        exit() +``` + +Importing the module **enemy.py** is done very specifically with a statement that refers to the file of classes as its name without the **.py** extension, followed by a namespace designator of your choosing (for example, **import enemy as en**). This designator is what you use in the code when invoking a class. Instead of just using **Enemy()**, you preface the class with the designator of what you imported, such as **en.Enemy**. + +All of these file names are entirely arbitrary, although not uncommon in principle. It's a common convention to name the part of the application that serves as the central hub **main.py**, and a file full of classes is often named in lowercase with the classes inside it, each beginning with a capital letter. Whether you follow these conventions doesn't affect how the application runs, but it does make it easier for experienced Python programmers to quickly decipher how your application works. + +There's some flexibility in how you structure your code. For instance, using the code sample, both files must be in the same directory. If you want to package just your classes as a module, then you must create a directory called, for instance, **mybad** and move your classes into it. In **main.py**, your import statement changes a little: + + +``` +`from mybad import enemy as en` +``` + +Both systems produce the same results, but the latter is best if the classes you have created are generic enough that you think other developers could use them in their projects. + +Regardless of which you choose, launch the modular version of the game: + + +``` +$ python3 ./main.py +You meet a troll wielding a great axe +Type the a key and then RETURN to attack. +a +You take a swing at the troll. +You missed. +Type the a key and then RETURN to attack. +a +You take a swing at the troll. +You hit the troll for 8 damage! +The troll has 4 HP remaining +Type the a key and then RETURN to attack. +a +You take a swing at the troll. +You hit the troll for 11 damage! +The troll has -7 HP remaining +You have won...this time. +``` + +The game works. It's modular. And now you know what it means for an application to be object-oriented. But most importantly, you know to be specific when challenging an orc to a duel. + +-------------------------------------------------------------------------------- + +via: https://opensource.com/article/19/7/get-modular-python-classes + +作者:[Seth Kenlon][a] +选题:[lujun9972][b] +译者:[译者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/seth +[b]: https://github.com/lujun9972 +[1]: https://opensource.com/sites/default/files/styles/image-full-size/public/lead-images/code_development_programming.png?itok=M_QDcgz5 (Developing code.) +[2]: https://opensource.com/article/19/6/get-modular-python-functions +[3]: https://opensource.com/article/17/4/how-program-games-raspberry-pi +[4]: https://opensource.com/article/19/6/what-java-constructor +[5]: https://opensource.com/sites/default/files/images/orc-buch-opengameart_cc-by-sa.jpg (CC-BY-SA by Buch on opengameart.org) From e443b53c41a2122a4dd0e10de449fca5dcc688de Mon Sep 17 00:00:00 2001 From: DarkSun Date: Sat, 6 Jul 2019 00:53:58 +0800 Subject: [PATCH 35/61] =?UTF-8?q?=E9=80=89=E9=A2=98:=2020190705=20Copy=20a?= =?UTF-8?q?nd=20paste=20at=20the=20Linux=20command=20line=20with=20xclip?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit sources/tech/20190705 Copy and paste at the Linux command line with xclip.md --- ...te at the Linux command line with xclip.md | 99 +++++++++++++++++++ 1 file changed, 99 insertions(+) create mode 100644 sources/tech/20190705 Copy and paste at the Linux command line with xclip.md diff --git a/sources/tech/20190705 Copy and paste at the Linux command line with xclip.md b/sources/tech/20190705 Copy and paste at the Linux command line with xclip.md new file mode 100644 index 0000000000..f13bfe6479 --- /dev/null +++ b/sources/tech/20190705 Copy and paste at the Linux command line with xclip.md @@ -0,0 +1,99 @@ +[#]: collector: (lujun9972) +[#]: translator: ( ) +[#]: reviewer: ( ) +[#]: publisher: ( ) +[#]: url: ( ) +[#]: subject: (Copy and paste at the Linux command line with xclip) +[#]: via: (https://opensource.com/article/19/7/xclip) +[#]: author: (Scott Nesbitt https://opensource.com/users/scottnesbitt) + +Copy and paste at the Linux command line with xclip +====== +Learn how to get started with the Linux xclip utility. +![Green paperclips][1] + +How do you usually copy all or part of a text file when working on the Linux desktop? Chances are you open the file in a text editor, select all or just the text you want to copy, and paste it somewhere else. + +That works. But you can do the job a bit more efficiently at the command line using the [xclip][2] utility. xclip provides a conduit between commands you run in a terminal window and the clipboard in a Linux graphical desktop environment. + +### Installing xclip + +xclip isn't standard kit with many Linux distributions. To see if it's installed on your computer, open a terminal window and type **which xclip**. If that command returns output like _/usr/bin/xclip_, then you're ready to go. Otherwise, you need to install xclip. + +To do that, use your distribution's package manager. Or, if you're adventurous, [grab the source code][2] from GitHub and compile it yourself. + +### Doing the basics + +Let's say you want to copy the contents of a file to the clipboard. There are two ways to do that with xclip. Type either: + + +``` +`xclip file_name` +``` + +or + + +``` +`xclip -sel clip file_name` +``` + +What's the difference between the two commands (aside from the second one being longer)? The first command works if you use the middle button on the mouse to paste text. However, not everyone does. Many people are conditioned to use a right-click menu or to press Ctrl+V to paste text. If you're one of those people (I am!), using the **-sel clip** option ensures you can paste what you want to paste. + +### Using xclip with other applications + +Copying the contents of a file directly to the clipboard is a neat parlor trick. Chances are, you won't be doing that very often. There are other ways you can use xclip, and those involve pairing it with another command-line application. + +That pairing is done with a _pipe_ (|). The pipe redirects the output of one command line application to another. Doing that opens several possibilities. Let's take a look at three of them. + +Say you're a system administrator and you need to copy the last 30 lines of a log file into a bug report. Opening the file in a text editor, scrolling down to the end, and copying and pasting is a bit of work. Why not use xclip and the [tail][3] utility to quickly and easily do the deed? Run this command to copy those last 30 lines: + + +``` +`tail -n 30 logfile.log | xclip -sel clip` +``` + +Quite a bit of my writing goes into some content management system (CMS) or another for publishing on the web. However, I never use a CMS's WYSIWYG editor to write—I write offline in [plain text][4] formatted with [Markdown][5]. That said, many of those editors have an HTML mode. By using this command, I can convert a Markdown-formatted file to HTML using [Pandoc][6] and copy it to the clipboard in one fell swoop: + + +``` +`pandoc -t html file.md | xclip -sel clip` +``` + +From there, I paste away. + +Two of my websites are hosted using [GitLab Pages][7]. I generate the HTTPS certificates for those sites using a tool called [Certbot][8], and I need to copy the certificate for each site to GitLab whenever I renew it. Combining the [cat][9] command and xclip is faster and more efficient than using an editor. For example: + + +``` +`cat /etc/letsencrypt/live/website/fullchain.pem | xclip -sel clip` +``` + +Is that all you can do with xclip? Definitely not. I'm sure you can find more uses to fit your needs. + +### Final thoughts + +Not everyone will use xclip. That's fine. It is, however, one of those little utilities that really comes in handy when you need it. And, as I've discovered on a few occasions, you don't know when you'll need it. When that time comes, you'll be glad xclip is there. + +-------------------------------------------------------------------------------- + +via: https://opensource.com/article/19/7/xclip + +作者:[Scott Nesbitt][a] +选题:[lujun9972][b] +译者:[译者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/scottnesbitt +[b]: https://github.com/lujun9972 +[1]: https://opensource.com/sites/default/files/styles/image-full-size/public/lead-images/life_paperclips.png?itok=j48op49T (Green paperclips) +[2]: https://github.com/astrand/xclip +[3]: https://en.wikipedia.org/wiki/Tail_(Unix) +[4]: https://plaintextproject.online +[5]: https://gumroad.com/l/learnmarkdown +[6]: https://pandoc.org +[7]: https://docs.gitlab.com/ee/user/project/pages/ +[8]: https://certbot.eff.org/ +[9]: https://en.wikipedia.org/wiki/Cat_(Unix) From c1a96a3ec5a23e6fc5672a52e66a119d216cdf47 Mon Sep 17 00:00:00 2001 From: lctt-bot Date: Fri, 5 Jul 2019 17:00:20 +0000 Subject: [PATCH 36/61] Revert "translating by zhang5788" This reverts commit f8822176e4fda3349910a685430fcb064bd309cc. --- .../tech/20190510 Learn to change history with git rebase.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources/tech/20190510 Learn to change history with git rebase.md b/sources/tech/20190510 Learn to change history with git rebase.md index be1d265d8a..cf8f9351d9 100644 --- a/sources/tech/20190510 Learn to change history with git rebase.md +++ b/sources/tech/20190510 Learn to change history with git rebase.md @@ -1,5 +1,5 @@ [#]: collector: (lujun9972) -[#]: translator: (zhang5788) +[#]: translator: ( ) [#]: reviewer: ( ) [#]: publisher: ( ) [#]: url: ( ) From 0f2a00c828808a278f3df1b25c10989633ced232 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Sat, 6 Jul 2019 13:01:40 +0800 Subject: [PATCH 37/61] PRF:20190607 Free and Open Source Trello Alternative OpenProject 9 Released.md @geekpi --- ...ello Alternative OpenProject 9 Released.md | 23 ++++++++++--------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/translated/news/20190607 Free and Open Source Trello Alternative OpenProject 9 Released.md b/translated/news/20190607 Free and Open Source Trello Alternative OpenProject 9 Released.md index 699331d982..bd4ddf109e 100644 --- a/translated/news/20190607 Free and Open Source Trello Alternative OpenProject 9 Released.md +++ b/translated/news/20190607 Free and Open Source Trello Alternative OpenProject 9 Released.md @@ -1,36 +1,37 @@ [#]: collector: (lujun9972) [#]: translator: (geekpi) -[#]: reviewer: ( ) +[#]: reviewer: (wxy) [#]: publisher: ( ) [#]: url: ( ) [#]: subject: (Free and Open Source Trello Alternative OpenProject 9 Released) [#]: via: (https://itsfoss.com/openproject-9-release/) [#]: author: (Ankush Das https://itsfoss.com/author/ankush/) -替代 Trello 的免费开源 OpenProject 9 发布了 +替代 Trello 的 OpenProject 9 发布了 ====== +![](https://img.linux.net.cn/data/attachment/album/201907/06/130201r9g70u01uuvvvvu7.jpg) [OpenProject][1] 是一个开源项目协作管理软件。它是 [Trello][2] 和 [Jira][3] 等专有方案的替代品。 如果个人使用,你可以免费使用它,并在你自己的服务器上进行设置(并托管它)。这样,你就可以控制数据。 -当然,如果你是[云或企业版用户][4],那么你可以使用高级功能和更优先的帮助。 +当然,如果你是[企业云版的用户][4],那么你可以使用高级功能和更优先的帮助。 -OpenProject 9 的重点是新的看板试图,包列表视图和工作模板。 +OpenProject 9 的重点是新的面板视图,包列表视图和工作模板。 -如果你对此不了解,可以尝试一下。但是,如果你是现有用户 - 在迁移到 OpenProject 9 之前,你应该知道这些新功能。 +如果你对此不了解,可以尝试一下。但是,如果你是已有用户 —— 在迁移到 OpenProject 9 之前,你应该知道这些新功能。 ### OpenProject 9 有什么新功能? -以下是最新版 OpenProjec t的一些主要更改。 +以下是最新版 OpenProject 的一些主要更改。 #### Scrum 和敏捷看板 ![][5] -对于云和企业版,有一个新的 [scrum][6] 和[敏捷][7]看板视图。你还可以 [kanban 风格][8]方式展示你的工作,从而更轻松地支持你的敏捷和 scrum 团队。 +对于企业云版,有了一个新的 [scrum][6] 和[敏捷][7]面板视图。你还可以[看板风格][8]方式展示你的工作,从而更轻松地支持你的敏捷和 scrum 团队。 -新的看板视图使你可以轻松了解为该任务分配的人员并快速更新状态。你还有不同的看板视图选项,如基本看板、状态看板和版本看板。 +新的面板视图使你可以轻松了解为该任务分配的人员并快速更新状态。你还有不同的面板视图选项,如基本面板、状态面板和版本面板。 #### 工作包模板 @@ -46,9 +47,9 @@ OpenProject 9 的重点是新的看板试图,包列表视图和工作模板。 #### “我的”页面的可自定义工作包视图 -“我的”页面显示你正在处理的内容(以及进度),它不应该一直很无聊。因此,现在你可以自定义它,甚至可以添加甘特图来可视化你的工作。 +“我的”页面显示你正在处理的内容(以及进度),它不应该一直那么呆板。因此,现在你可以自定义它,甚至可以添加甘特图来可视化你的工作。 -**总结** +### 总结 有关迁移和安装的详细说明,请参阅[官方的公告帖][12],其中包含了必要的细节。 @@ -61,7 +62,7 @@ via: https://itsfoss.com/openproject-9-release/ 作者:[Ankush Das][a] 选题:[lujun9972][b] 译者:[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/) 荣誉推出 From 0f8b3c0ea662d51efeb4cd2e5c2d881d16edac93 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Sat, 6 Jul 2019 13:02:41 +0800 Subject: [PATCH 38/61] PUB @geekpi https://linux.cn/article-11063-1.html --- ...d Open Source Trello Alternative OpenProject 9 Released.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) rename {translated/news => published}/20190607 Free and Open Source Trello Alternative OpenProject 9 Released.md (98%) diff --git a/translated/news/20190607 Free and Open Source Trello Alternative OpenProject 9 Released.md b/published/20190607 Free and Open Source Trello Alternative OpenProject 9 Released.md similarity index 98% rename from translated/news/20190607 Free and Open Source Trello Alternative OpenProject 9 Released.md rename to published/20190607 Free and Open Source Trello Alternative OpenProject 9 Released.md index bd4ddf109e..59d8fa3be4 100644 --- a/translated/news/20190607 Free and Open Source Trello Alternative OpenProject 9 Released.md +++ b/published/20190607 Free and Open Source Trello Alternative OpenProject 9 Released.md @@ -1,8 +1,8 @@ [#]: collector: (lujun9972) [#]: translator: (geekpi) [#]: reviewer: (wxy) -[#]: publisher: ( ) -[#]: url: ( ) +[#]: publisher: (wxy) +[#]: url: (https://linux.cn/article-11063-1.html) [#]: subject: (Free and Open Source Trello Alternative OpenProject 9 Released) [#]: via: (https://itsfoss.com/openproject-9-release/) [#]: author: (Ankush Das https://itsfoss.com/author/ankush/) From b7855c36c4de3e26470ca8f30b03105fa521c3f5 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Sat, 6 Jul 2019 13:03:47 +0800 Subject: [PATCH 39/61] PRF:20190607 Free and Open Source Trello Alternative OpenProject 9 Released.md --- ...and Open Source Trello Alternative OpenProject 9 Released.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/published/20190607 Free and Open Source Trello Alternative OpenProject 9 Released.md b/published/20190607 Free and Open Source Trello Alternative OpenProject 9 Released.md index 59d8fa3be4..213044032e 100644 --- a/published/20190607 Free and Open Source Trello Alternative OpenProject 9 Released.md +++ b/published/20190607 Free and Open Source Trello Alternative OpenProject 9 Released.md @@ -25,7 +25,7 @@ OpenProject 9 的重点是新的面板视图,包列表视图和工作模板。 以下是最新版 OpenProject 的一些主要更改。 -#### Scrum 和敏捷看板 +#### Scrum 和敏捷面板 ![][5] From 37187e24594fce5be57ce6ac9892e0c916a6d915 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Sat, 6 Jul 2019 13:16:26 +0800 Subject: [PATCH 40/61] PRF @chen-ni --- ...Jupyter Notebooks for Python developers.md | 22 ++++++++++--------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/translated/tech/20190613 IPython is still the heart of Jupyter Notebooks for Python developers.md b/translated/tech/20190613 IPython is still the heart of Jupyter Notebooks for Python developers.md index 6153a838f8..4aa354ae91 100644 --- a/translated/tech/20190613 IPython is still the heart of Jupyter Notebooks for Python developers.md +++ b/translated/tech/20190613 IPython is still the heart of Jupyter Notebooks for Python developers.md @@ -1,6 +1,6 @@ [#]: collector: (lujun9972) [#]: translator: (chen-ni) -[#]: reviewer: ( ) +[#]: reviewer: (wxy) [#]: publisher: ( ) [#]: url: ( ) [#]: subject: (IPython is still the heart of Jupyter Notebooks for Python developers) @@ -9,8 +9,10 @@ 对 Python 开发者而言,IPython 仍然是 Jupyter Notebook 的核心 ====== -Jupyter 项目提供的魔法般的开发体验很大程度上得益于它的 IPython 基因。 -![I love Free Software FSFE celebration][1] + +> Jupyter 项目提供的魔法般的开发体验很大程度上得益于它的 IPython 基因。 + +![](https://img.linux.net.cn/data/attachment/album/201907/06/131704z1lsfssamfxrrliq.jpg) 最近刚刚写过我为什么觉得觉得 Jupyter 项目(特别是 JupyterLab)提供了一种 [魔法般的 Python 开发体验][2]。在研究这些不同项目之间的关联的时候,我回顾了一下 Jupyter 最初从 IPython 分支出来的这段历史。正如 Jupyter 项目的 [大拆分™ 声明][3] 所说: @@ -34,7 +36,7 @@ Jupyter 项目提供的魔法般的开发体验很大程度上得益于它的 IP ### IPython 如今的作用 -IPython 提供了一个强大的、交互性的 Python shell,以及 Jupyter 的内核。安装完成之后,我可以在任何命令行运行 **ipython** 本身,将它当作一个(比默认 Python shell 好太多的)Python shell 来使用: +IPython 提供了一个强大的、交互性的 Python shell,以及 Jupyter 的内核。安装完成之后,我可以在任何命令行运行 `ipython` 本身,将它当作一个(比默认 Python shell 好太多的)Python shell 来使用: ``` @@ -50,15 +52,15 @@ In [4]: print(average) 6.571428571428571 ``` -这就让我们发现了一个更为重要的问题:是IPython 让 JupyterLab 可以在项目中执行代码,并且支持了一系列被称为 *magic*的功能(感谢 Nicholas Reith 在我上一篇文章的评论里提到这点)。 +这就让我们发现了一个更为重要的问题:是 IPython 让 JupyterLab 可以在项目中执行代码,并且支持了一系列被称为 *Magic* 的功能(感谢 Nicholas Reith 在我上一篇文章的评论里提到这点)。 ### IPython 让魔法成为现实 -JupyterLab 和其它使用 IPython 的前端工具可以让你感觉像是在最喜欢的 IDE 或者是终端模拟器的环境下工作。我非常喜欢 [dotfiles][5] 快捷键功能,magic 也有类似 dotfile 的特征。比如说,可以试一下 **[%bookmark][6]** 这个命令。我把默认开发文件夹 **~/Develop** 关联到了一个可以在任何时候直接跳转的快捷方式上。 +JupyterLab 和其它使用 IPython 的前端工具可以让你感觉像是在最喜欢的 IDE 或者是终端模拟器的环境下工作。我非常喜欢 [点文件][5] 快捷键功能,Magic 也有类似点文件的特征。比如说,可以试一下 [%bookmark][6] 这个命令。我把默认开发文件夹 `~/Develop` 关联到了一个可以在任何时候直接跳转的快捷方式上。 ![Screenshot of commands from JupyterLab][7] -**%bookmark**、**%cd**,以及我在前一篇文章里介绍过的 **!** 操作符,都是由 IPython 支持的。正如这篇 [文档][8] 所说: +`%bookmark`、`%cd`,以及我在前一篇文章里介绍过的 `!` 操作符,都是由 IPython 支持的。正如这篇 [文档][8] 所说: > Jupyter 用户你们好:Magic 功能是 IPython 内核提供的专属功能。一个内核是否支持 Magic 功能是由该内核的开发者针对该内核所决定的。 @@ -66,7 +68,7 @@ JupyterLab 和其它使用 IPython 的前端工具可以让你感觉像是在最 作为一个好奇的新手,我之前并不是特别确定 IPython 是否仍然和 Jupyter 生态还有任何联系。现在我对 IPython 的持续开发有了新的认识和,并且意识到它正是 JupyterLab 强大的用户体验的来源。这也是相当有才华的一批贡献者进行最前沿研究的成果,所以如果你在学术论文中使用到了 Jupyter 项目的话别忘了引用他们。为了方便引用,他们还提供了一个 [现成的引文][9]。 -如果你在考虑参与哪个开源项目的贡献的话,一定不要忘了 IPython 哦。记得看看 [最新发布说明][10],在这里可以找到 magic 功能的完整列表。 +如果你在考虑参与哪个开源项目的贡献的话,一定不要忘了 IPython 哦。记得看看 [最新发布说明][10],在这里可以找到 Magic 功能的完整列表。 -------------------------------------------------------------------------------- @@ -74,8 +76,8 @@ via: https://opensource.com/article/19/6/ipython-still-heart-jupyterlab 作者:[Matthew Broberg][a] 选题:[lujun9972][b] -译者:[译者ID](https://github.com/译者ID) -校对:[校对者ID](https://github.com/校对者ID) +译者:[chen-ni](https://github.com/chen-ni) +校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 From 12b36ef85fd791776589145f70c0de569fe2c6d4 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Sat, 6 Jul 2019 13:17:08 +0800 Subject: [PATCH 41/61] PUB @chen-ni https://linux.cn/article-11064-1.html --- ...ll the heart of Jupyter Notebooks for Python developers.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) rename {translated/tech => published}/20190613 IPython is still the heart of Jupyter Notebooks for Python developers.md (98%) diff --git a/translated/tech/20190613 IPython is still the heart of Jupyter Notebooks for Python developers.md b/published/20190613 IPython is still the heart of Jupyter Notebooks for Python developers.md similarity index 98% rename from translated/tech/20190613 IPython is still the heart of Jupyter Notebooks for Python developers.md rename to published/20190613 IPython is still the heart of Jupyter Notebooks for Python developers.md index 4aa354ae91..c3e147d434 100644 --- a/translated/tech/20190613 IPython is still the heart of Jupyter Notebooks for Python developers.md +++ b/published/20190613 IPython is still the heart of Jupyter Notebooks for Python developers.md @@ -1,8 +1,8 @@ [#]: collector: (lujun9972) [#]: translator: (chen-ni) [#]: reviewer: (wxy) -[#]: publisher: ( ) -[#]: url: ( ) +[#]: publisher: (wxy) +[#]: url: (https://linux.cn/article-11064-1.html) [#]: subject: (IPython is still the heart of Jupyter Notebooks for Python developers) [#]: via: (https://opensource.com/article/19/6/ipython-still-heart-jupyterlab) [#]: author: (Matthew Broberg https://opensource.com/users/mbbroberg/users/marcobravo) From fac6d58f34e11c82c4a9bf6004ea30795251cb6f Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Sat, 6 Jul 2019 13:35:08 +0800 Subject: [PATCH 42/61] PRF @geekpi --- ...d The Port Number Of A Service In Linux.md | 34 ++++++++----------- 1 file changed, 15 insertions(+), 19 deletions(-) diff --git a/translated/tech/20180620 How To Find The Port Number Of A Service In Linux.md b/translated/tech/20180620 How To Find The Port Number Of A Service In Linux.md index 3f42a4cb4c..d0ad022769 100644 --- a/translated/tech/20180620 How To Find The Port Number Of A Service In Linux.md +++ b/translated/tech/20180620 How To Find The Port Number Of A Service In Linux.md @@ -1,6 +1,6 @@ [#]: collector: (lujun9972) [#]: translator: (geekpi) -[#]: reviewer: ( ) +[#]: reviewer: (wxy) [#]: publisher: ( ) [#]: url: ( ) [#]: subject: (How To Find The Port Number Of A Service In Linux) @@ -16,9 +16,9 @@ ### 在 Linux 中查找服务的端口号 -**方法1:使用 [grep][2] 命令** +#### 方法1:使用 grep 命令 -要使用 grep 命令在 Linux 中查找指定服务的默认端口号,只需运行: +要使用 `grep` 命令在 Linux 中查找指定服务的默认端口号,只需运行: ``` $ grep /etc/services @@ -84,11 +84,11 @@ tftp 69/tcp [...] ``` -**方法 2:使用 getent 命令** +#### 方法 2:使用 getent 命令 如你所见,上面的命令显示指定搜索词 “ssh”、“http” 和 “ftp” 的所有端口名称和数字。这意味着,你将获得与给定搜索词匹配的所有端口名称的相当长的输出。 -但是,你可以使用 “getent” 命令精确输出结果,如下所示: +但是,你可以使用 `getent` 命令精确输出结果,如下所示: ``` $ getent services ssh @@ -114,17 +114,15 @@ http 80/tcp $ getent services ``` -**方法 3:使用 Whatportis 程序** +#### 方法 3:使用 Whatportis 程序 -**Whatportis** 是一个简单的 python 脚本,来用于查找端口名称和端口号。与上述命令不同,此程序以漂亮的表格形式输出。 +Whatportis 是一个简单的 Python 脚本,来用于查找端口名称和端口号。与上述命令不同,此程序以漂亮的表格形式输出。 -确保已安装 PIP 包管理器。如果没有,请参考以下链接。 +确保已安装 pip 包管理器。如果没有,请参考以下链接。 - * [**如何使用 Pip 管理 Python 包**][6] +- [如何使用 pip 管理 Python 包][6] - - -安装 PIP 后,运行以下命令安装 Whatportis 程序。 +安装 pip 后,运行以下命令安装 Whatportis 程序。 ``` $ pip install whatportis @@ -144,9 +142,9 @@ $ whatportis http ![][7] -在 Linux 中查找服务的端口号 +*在 Linux 中查找服务的端口号* -如果你不知道服务的确切名称,请使用 **–like** 标志来显示相关结果。 +如果你不知道服务的确切名称,请使用 `–like` 标志来显示相关结果。 ``` $ whatportis mysql --like @@ -158,7 +156,7 @@ $ whatportis mysql --like $ whatportis 993 ``` -你甚至可以以 **JSON** 格式显示结果。 +你甚至可以以 JSON 格式显示结果。 ``` $ whatportis 993 --json @@ -168,9 +166,7 @@ $ whatportis 993 --json 有关更多详细信息,请参阅 GitHub 仓库。 - * [**Whatportis GitHub 仓库**][9] - - +* [Whatportis GitHub 仓库][9] 就是这些了。你现在知道了如何使用三种简单方法在 Linux 中查找端口名称和端口号。如果你知道任何其他方法/命令,请在下面的评论栏告诉我。我会查看并更相应地更新本指南。 @@ -181,7 +177,7 @@ via: https://www.ostechnix.com/how-to-find-the-port-number-of-a-service-in-linux 作者:[sk][a] 选题:[lujun9972][b] 译者:[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/) 荣誉推出 From 8c90f140faabd47b4c5e3a43d76a4a1b546b359d Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Sat, 6 Jul 2019 13:35:38 +0800 Subject: [PATCH 43/61] PUB @geekpi https://linux.cn/article-11066-1.html --- ...80620 How To Find The Port Number Of A Service In Linux.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) rename {translated/tech => published}/20180620 How To Find The Port Number Of A Service In Linux.md (98%) diff --git a/translated/tech/20180620 How To Find The Port Number Of A Service In Linux.md b/published/20180620 How To Find The Port Number Of A Service In Linux.md similarity index 98% rename from translated/tech/20180620 How To Find The Port Number Of A Service In Linux.md rename to published/20180620 How To Find The Port Number Of A Service In Linux.md index d0ad022769..d3e1f04e62 100644 --- a/translated/tech/20180620 How To Find The Port Number Of A Service In Linux.md +++ b/published/20180620 How To Find The Port Number Of A Service In Linux.md @@ -1,8 +1,8 @@ [#]: collector: (lujun9972) [#]: translator: (geekpi) [#]: reviewer: (wxy) -[#]: publisher: ( ) -[#]: url: ( ) +[#]: publisher: (wxy) +[#]: url: (https://linux.cn/article-11066-1.html) [#]: subject: (How To Find The Port Number Of A Service In Linux) [#]: via: (https://www.ostechnix.com/how-to-find-the-port-number-of-a-service-in-linux/) [#]: author: (sk https://www.ostechnix.com/author/sk/) From 558efa4b4ad387349ba9bf6e62bb1c5df96c6bcb Mon Sep 17 00:00:00 2001 From: chen ni Date: Sat, 6 Jul 2019 16:07:37 +0800 Subject: [PATCH 44/61] =?UTF-8?q?=E7=BF=BB=E8=AF=91=E5=AE=8C=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...0702 Make Linux stronger with firewalls.md | 276 ------------------ ...0702 Make Linux stronger with firewalls.md | 261 +++++++++++++++++ 2 files changed, 261 insertions(+), 276 deletions(-) delete mode 100644 sources/tech/20190702 Make Linux stronger with firewalls.md create mode 100644 translated/tech/20190702 Make Linux stronger with firewalls.md diff --git a/sources/tech/20190702 Make Linux stronger with firewalls.md b/sources/tech/20190702 Make Linux stronger with firewalls.md deleted file mode 100644 index da69e07f9f..0000000000 --- a/sources/tech/20190702 Make Linux stronger with firewalls.md +++ /dev/null @@ -1,276 +0,0 @@ -[#]: collector: (lujun9972) -[#]: translator: (chen-ni) -[#]: reviewer: ( ) -[#]: publisher: ( ) -[#]: url: ( ) -[#]: subject: (Make Linux stronger with firewalls) -[#]: via: (https://opensource.com/article/19/7/make-linux-stronger-firewalls) -[#]: author: (Seth Kenlon https://opensource.com/users/seth) - -Make Linux stronger with firewalls -====== -Learn how firewalls work and which settings to tweak for better Linux -security. -![People working together to build ][1] - -Everyone's heard of firewalls, even if only as a plot device in a TV cybercrime drama. Many people also know that their computer is (likely) running a firewall, but fewer people understand how to take control of their firewall when necessary. - -Firewalls block unwanted network traffic, but different networks have different threat levels. For instance, if you're at home, you probably trust the other computers and devices on your network a lot more than when you're out at the local café using public WiFi. You can hope your computer differentiates between a trusted network and an untrusted one, or you can learn to manage, or at least verify, your security settings yourself. - -### How firewalls work - -Communication between devices on a network happens through gateways called _ports_. Port, in this context, doesn't mean a physical connection like a USB port or an HDMI port. In network lingo, a port is an entirely virtual concept representing pathways for a specific type of data to either arrive at or depart from a computer. This system could have been called anything, like "connections" or "doorways," but they were named ports at least [as early as 1981][2], and that's the name in use today. The point is, there's nothing special about any port; they're just a way to designate an address where data transference may happen. - -Back in 1972, [a list of port numbers][3] (then called "sockets") was published, and this has since evolved into a set of well-known standard port numbers that help manage specific kinds of traffic. For instance, you access ports 80 and 443 on a daily basis when you visit a website, because most everyone on the internet has agreed, implicitly or explicitly, that data is transferred from web servers over those ports. You can test this theory by opening a web browser and navigating to a website with a nonstandard port appended to the URL. For instance, if you navigate to **example.com:42**, your request is denied because example.com does not serve a website at port 42. - -![Navigating to a nonstandard port produces an error][4] - -If you revisit the same website at port 80, you get a website, as expected. You can specify port 80 with **:80** at the end of the URL, but because port 80 is the standard port for HTTP traffic, your web browser assumes port 80 by default. - -When a computer, like a web server, expects traffic at a specific port, it's acceptable (and necessary) to have the port open for traffic. The danger is leaving ports open that you have no reason to expect traffic on, and that's exactly what a firewall is for. - -### Install firewalld - -There are many interfaces for firewall configuration. This article covers [**firewalld**][5], which integrates with Network Manager on the desktop and **firewall-cmd** in the terminal. Many Linux distributions ship with these tools installed. If yours doesn't, you can either take this article as general advice for firewall management and apply it to what you use, or you can install **firewalld**. - -On Ubuntu, for instance, you must enable the **universe** repository, deactivate the default **ufw** firewall, and then install **firewalld**: - - -``` -$ sudo systemctl disable ufw -$ sudo add-apt-repository universe -$ sudo apt install firewalld -``` - -Fedora, CentOS, RHEL, OpenSUSE, and many others include **firewalld** by default. - -Regardless of your distribution, for a firewall to be effective, it must be active and set to be loaded at boot. The less you have to think about firewall maintenance, the better. - - -``` -`$ sudo systemctl enable --now firewalld` -``` - -### Choose your zone with Network Manager - -You probably connect to many different networks every day. You're on one network at work, another at the café, and yet another at home. Your computer can detect which network you use more frequently than others, but it doesn't know which you trust. - -A firewall _zone_ contains presets deciding what ports to open and close. Using zones, you can choose a policy that makes the most sense for the network you're currently on. - -To see a list of available zones, open the Network Manager Connection Editor, found in your Applications menu, or with the **nm-connection-editor &** command. - -![Network Manager Connection Editor][6] - -From the list of network connections, double-click on your current network. - -In the network configuration window that appears, click the General tab. - -In the General panel, click the drop-down menu next to Firewall Zone for a list of all available zones. - -![Firewall zones][7] - -You can get this same list with this terminal command: - - -``` -`$ sudo firewall-cmd --get-zones` -``` - -The zone titles indicate what their designers had in mind when creating them, but you can get the specifics of any zone with this terminal command: - - -``` -$ sudo firewall-cmd --zone work --list-all -work -  target: default -  icmp-block-inversion: no -  interfaces: -  sources: -  services: ssh dhcpv6-client -  ports: -  protocols: -  [...] -``` - -In this example, the **work** zone is configured to permit SSH and DHCPv6-client incoming traffic but drops any other incoming traffic not explicitly requested by the user. (In other words, the **work** zone doesn't block HTTP response traffic when you visit a website, but it _does_ deny an HTTP request on your port 80.) - -View each zone to get familiar with the traffic each one allows. The most common ones are: - - * **Work:** Use this one when on a network you mostly trust. SSH, DHCPv6, and mDNS are permitted, and you can add more as needed. This zone is meant to be a starting point for a custom work environment based on your daily office requirements. - * **Public:** For networks you do not trust. This zone is the same as the work zone, but presumably, you would not add the same exceptions as your work zone. - * **Drop:** All incoming connections are dropped with no response given. This is as close to a stealth mode as you can get without shutting off networking entirely because only outgoing network connections are possible (even a casual port scanner could detect your computer from outgoing traffic, though, so don't mistake this zone for a cloaking device). This is arguably the safest zone when on public WiFi, and definitely the best when you have reason to believe a network is hostile. - * **Block:** All incoming connections are rejected with a message declaring that the requested port is prohibited. Only network connections you initiate are possible. This is a "friendly" version of the drop zone because, even though no port is open for incoming traffic, a port verbosely declines an uninitiated connection. - * **Home:** Use this when you trust other computers on the network. Only selected incoming connections are accepted, and you can add more as needed. - * **Internal:** Similar to the work zone, this is intended for internal networks where you mostly trust the other computers. You can open more ports and services as needed but still maintain a different rule set than you have on your work zone. - * **Trusted:** All network connections are accepted. Good for troubleshooting or on networks you absolutely trust. - - - -### Assigning a zone to a network - -You can assign a zone to any network connection you make. Furthermore, you can assign a different zone to each network interface (Ethernet cable, WiFi, and so on) that attaches to each network. - -Select the zone you want and click the Save button to commit the change. - -![Setting a new zone][8] - -The easiest way to get into the habit of assigning a zone to a network interface is to tend to the networks you use most often. Assign the home zone to your home network, the work zone to your work network, and the public network to your favorite library or café network. - -Once you have assigned a zone to all your usual networks, make an effort to assign a zone to the next new network you join, whether it's a new café or your mate's home network. Assigning zones is the best way to reinforce your own awareness that networks are not all equal and that you're not any more secure than anybody else just because you run Linux. - -### Default zone - -Rather than prompting you for a zone every time you join a new network, firewalld assigns any unknown network a default zone. Open a terminal and type this command to get your default zone: - - -``` -$ sudo firewall-cmd --get-default -public -``` - -In this example, the public zone is the default. It's expected that you will keep the public zone highly restrictive, so it's a pretty safe zone to assign unknown networks. However, you can set your own default instead. - -For instance, if you're more paranoid than most, or if you know that you frequent networks you have reason to distrust, you can assign a highly restrictive zone as default: - - -``` -$ sudo firewall-cmd --set-default-zone drop -success -$ sudo firewall-cmd --get-default -drop -``` - -Now any new network you join will be subject to the drop zone rules unless you manually change it to something less restrictive. - -### Customizing zones by opening ports and services - -Firewalld's developers don't intend for their zone definitions to satisfy the needs of all the different networks and levels of trust in existence. They're just starting points for you to use and customize. - -You don't have to know much about firewalls to be able to open and close ports based on the kinds of network activity you know you generate. - -#### Predefined services - -The simplest way to add permissions to your firewall is to add a predefined service. Strictly speaking, there's no such thing as a "service" as far as your firewall knows, because firewalls understand port numbers and protocol types. However, firewalld provides collections of ports and protocols based on standards and conventions. - -For example, if you're a web developer and want to open your computer up on your local network so your colleagues can see the website you're building, you would add the **http** and **https** services. If you're a gamer and you're running the open source [murmur][9] voice-chat server for your guild, then you'd add the **murmur** service. There are many other services available, which you can view with this command: - - -``` -$ sudo firewall-cmd --get-services -amanda-client amanda-k5-client bacula bacula-client \ -bgp bitcoin bitcoin-rpc ceph cfengine condor-collector \ -ctdb dhcp dhcpv6 dhcpv6-client dns elasticsearch \ -freeipa-ldap freeipa-ldaps ftp [...] -``` - -If you see a service you need, add it to your current firewall configuration, for example: - - -``` -`$ sudo firewall-cmd --add-service murmur` -``` - -This command opens all the ports and protocols needed for a particular service _within your default zone_, but only until you reboot your computer or restart your firewall. To make your changes permanent, use the **\--permanent** flag: - - -``` -`$ sudo firewall-cmd --add-service murmur --permanent` -``` - -You can also issue the command for a zone other than your default: - - -``` -`$ sudo firewall-cmd --add-service murmur --permanent --zone home` -``` - -#### Ports - -Sometimes you want to allow traffic for something that just isn't defined by firewalld's services. Maybe you're setting up a nonstandard port for a common service or you need to open an arbitrary port. - -For example, maybe you're running the open source [virtual tabletop][10] software [MapTool][11]. Since you're running the MapTool server and there's no industry standard governing which port MapTool runs on, you can decide what port it uses and then "poke a hole" in your firewall to allow traffic on that port. - -The process is basically the same as for services: - - -``` -`$ sudo firewall-cmd --add-port 51234/tcp` -``` - -This command opens port 51234 to incoming TCP connections _in your default zone_, but only until you reboot your computer or restart your firewall. To make your changes permanent, use the **\--permanent** flag: - - -``` -`$ sudo firewall-cmd --add-port 51234/tcp --permanent` -``` - -You can also issue the command for a zone other than your default: - - -``` -`$ sudo firewall-cmd --add-port 51234/tcp --permanent --zone home` -``` - -Allowing traffic through your computer is different from letting traffic through your router"s firewall. Your router probably has a different interface for its own embeded firewall (though the principle is the same), which is outside the scope of this article. - -### Removing ports and services - -If you decide a service or a port is no longer needed, you can restart your firewall to clear your changes, unless you use the **\--permanent** flag. - -If you made your changes permanent, use the **\--remove-port** or **\--remove-service** flag: - - -``` -`$ sudo firewall-cmd --remove-port 51234/tcp --permanent` -``` - -You can remove ports and services from a zone other than your default zone by specifying a zone in your command: - - -``` -`$ sudo firewall-cmd --remove-service murmur --permanent --zone home` -``` - -### Custom zones - -You can use and abuse the default zones provided by firewalld, but you also have the freedom to create your own. For instance, if it makes sense for you to have a zone specific to gaming, then you can create one and switch over to it only while gaming. - -To create a new, empty zone, create a new zone called **game** and reload the firewall rules so that your new zone becomes active: - - -``` -$ sudo firewall-cmd --new-zone game --permanent -success -$ sudo firewall-cmd --reload -``` - -Once it's created and active, you can customize it with all the services and ports you need to have open for game night. - -### Diligence - -Start thinking about your firewall strategy today. Start slow, and build up some sane defaults that make sense for you. It may take time before you make it a habit to think about your firewall and understand which network services you use, but with a little exploration, you can strengthen your Linux workstation no matter what your environment. - --------------------------------------------------------------------------------- - -via: https://opensource.com/article/19/7/make-linux-stronger-firewalls - -作者:[Seth Kenlon][a] -选题:[lujun9972][b] -译者:[译者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/seth -[b]: https://github.com/lujun9972 -[1]: https://opensource.com/sites/default/files/styles/image-full-size/public/lead-images/BUSINESS_buildtogether.png?itok=9Tvz64K5 (People working together to build ) -[2]: https://tools.ietf.org/html/rfc793 -[3]: https://tools.ietf.org/html/rfc433 -[4]: https://opensource.com/sites/default/files/uploads/web-port-nonstandard.png (Navigating to a nonstandard port produces an error) -[5]: https://firewalld.org/ -[6]: https://opensource.com/sites/default/files/uploads/nm-connection-editor.png (Network Manager Connection Editor) -[7]: https://opensource.com/sites/default/files/uploads/nm-zone.png (Firewall zones) -[8]: https://opensource.com/sites/default/files/uploads/nm-set.png (Setting a new zone) -[9]: https://www.mumble.com/ -[10]: https://opensource.com/article/18/5/maptool -[11]: https://github.com/RPTools diff --git a/translated/tech/20190702 Make Linux stronger with firewalls.md b/translated/tech/20190702 Make Linux stronger with firewalls.md new file mode 100644 index 0000000000..3561166c97 --- /dev/null +++ b/translated/tech/20190702 Make Linux stronger with firewalls.md @@ -0,0 +1,261 @@ +[#]: collector: (lujun9972) +[#]: translator: (chen-ni) +[#]: reviewer: ( ) +[#]: publisher: ( ) +[#]: url: ( ) +[#]: subject: (Make Linux stronger with firewalls) +[#]: via: (https://opensource.com/article/19/7/make-linux-stronger-firewalls) +[#]: author: (Seth Kenlon https://opensource.com/users/seth) + +使用防火墙让你的 Linux 更加强大 +====== +掌握防火墙的工作原理,以及如何设置防火墙来提高 Linux 的安全性 +![People working together to build ][1] + +所有人都听说过防火墙(哪怕仅仅是在网络犯罪片里看到过相关的情节设定),很多人也知道他们的计算机里很可能正运行着防火墙,但是很少有人明白在必要的时候如何驾驭防火墙。 + +防火墙被用来拦截那些不请自来的网络流量,然而不同网络需要的安全级别也不尽相同。比如说,和在外面一家咖啡馆里使用公共 WiFi 相比,你在家里的时候可以更加信任网络里的其它计算机和设备。你或许希望计算机能够区分可以信任和不可信任的网络,不过最好还是应该学会自己去管理(或者至少是核实)你的安全设置。 + +### 防火墙的工作原理 + +网络里不同设备之间的通信是通过一种叫做 **端口** 的网关实现的。这里的端口指的并不是像 USB 端口 或者 HDMI 端口这样的物理连接。在网络术语中,端口是一个纯粹的虚拟概念,用来表示某种类型的数据到达或离开一台计算机时候所走的路径。其实也可以换个名字来称呼,比如叫“连接”或者“门道”,不过 [早在 1981 年的时候][2] 它们就被称作端口了,这个叫法也沿用至今。其实端口这个东西没有任何特别之处,只是一种用来指代一个可能会发生数据传输的地址的方式。 + +1972 年,一份 [端口数字清单][3](那时候的端口被称为“套接字”)被发布了,并且从此演化为一组众所周知的标准端口号,帮助管理特定类型的网络流量。比如说,你每天访问网站的时候都会使用 80 和 443 端口,因为互联网上的绝大多数人都同意(或者是默认)数据从 web 服务器上传输的时候是通过这两个端口的。如果想要验证这一点,你可以在使用浏览器访问网站的时候在 URL 后面加上一个非标准的端口号码。比如说,访问 **example.com:42** 的请求会被拒绝,因为 example.com 在 42 端口上并不提供网站服务。 + + +![Navigating to a nonstandard port produces an error][4] + +如果你是通过 80 端口访问同一个网站,就可以(不出所料地)正常访问了。你可以在 URL 后面加上 **:80** 来指定使用 80 端口,不过由于 80 端口是 HTTP 访问的标准端口,所以你的浏览器其实已经默认在使用 80 端口了。 + +当一台计算机(比如说 web 服务器)准备在指定端口接收网络流量的时候,保持该端口向网络流量开放是一种可以接受的(也是必要的)行为。但是不需要接收流量的端口如果也处在开放状态就比较危险了,这就是需要用防火墙解决的问题。 + +#### 安装 firewalld + +有很多种配置防火墙的方式,这篇文章介绍 [**firewalld**][5]。在桌面环境下它被集成在网络管理器(Network Manager)里,在终端里则是集成在 **firewall-cmd** 里。很多 Linux 发行版都预装了这些工具。如果你的发行版里没有,你可以把这篇文章当成是管理防火墙的通用性建议,在你所使用的防火墙软件里使用类似的方法,或者你也可以选择安装 **firewalld**。 + +比如说在 Ubuntu 上,你必须启用 **universe** 软件仓库,关闭默认的 **ufw** 防火墙,然后再安装 **firewalld**: + + +``` +$ sudo systemctl disable ufw +$ sudo add-apt-repository universe +$ sudo apt install firewalld +``` + +Fedora、CentOS、RHEL、OpenSUSE,以及其它很多发行版默认就包含了 **firewalld**。 + +无论你使用哪个发行版,如果希望防火墙发挥作用,就必须保持它在开启状态,并且设置成开机自动加载。你应该尽可能减少在防火墙维护工作上所花费的精力。 + +``` +`$ sudo systemctl enable --now firewalld` +``` + +### 使用网络管理器选择区域 + +或许你每天都会连接到很多不同的网络。在工作的时候使用的是一个网络,在咖啡馆里是另一个,在家里又是另一个。你的计算机可以判断出哪一个网络的使用频率比较高,但是它并不知道哪一个是你信任的网络。 + +一个防火墙的 **区域** 里包含了端口开放和关闭的预设规则。你可以通过使用区域来选择一个对当前网络最适用的策略。 + +你可以打开网络管理器里的连接编辑器(可以在应用菜单里找到),或者是使用 **nm-connection-editor &** 命令以获取所有可用区域的列表。 + +![Network Manager Connection Editor][6] + +在网络连接列表中,双击你现在所使用的网络。 + +在出现的网络配置窗口中,点击“通用”标签页。 + +在“通用”面板中,点击“防火墙区域”旁边的下拉菜单以获取所有可用区域的列表。 + +![Firewall zones][7] + +也可以使用下面的终端命令以获取同样的列表: + +``` +`$ sudo firewall-cmd --get-zones` +``` + +每个区域的名称已经可以透露出设计者创建这个区域的意图,不过你也可以使用下面这个终端命令获取任何一个区域的详细信息: + +``` +$ sudo firewall-cmd --zone work --list-all +work +  target: default +  icmp-block-inversion: no +  interfaces: +  sources: +  services: ssh dhcpv6-client +  ports: +  protocols: +  [...] +``` + +在这个例子中,**工作**区域的配置是允许接收 SSH 和 DHCPv6-client 的流量,但是拒绝接收其他任何用户没有明确请求的流量。(换句话说,**工作**区域并不会在你浏览网站的时候拦截 HTTP 响应流量,但是 **会** 拦截一个针对你计算机上 80 端口的 HTTP 请求。) + +你可以依次查看每一个区域,弄清楚它们分别都允许什么样的流量。比较常见的有: + + * **工作:** 这个区域应该在你非常信任的网络上使用。它允许 SSH、DHCPv6 和 mDNS,并且还可以添加更多允许的项目。该区域非常适合作为一个基础配置,然后在此之上根据日常办公的需求自定义一个工作环境。 + * **公共:** 用在你不信任的网络上。这个区域的配置和工作区域是一样的,但是你不应该再继续添加其它任何允许项目。 + * **丢弃:** 所有传入连接都会被丢弃,并且不会有任何响应。在不彻底关闭网络的条件下,这已经是最接近隐形模式的配置了,因为只允许传出网络连接(不过随便一个端口扫描器就可以通过传出流量检测到你的计算机,所以这个区域并不是一个隐形装置)。如果你在使用公共 WiFi,这个区域可以说是最安全的选择;如果你觉得当前的网络比较危险,这个区域也一定是最好的选择。 + * **拦截:** 所有传入连接都会被拒绝,但是会返回一个消息说明所请求的端口被禁用了。只有你主动发起的网络连接是被允许的。这是一个友好版的 **丢弃** 区域,因为虽然还是没有任何一个端口允许传入流量,但是说明了会拒绝接收任何不是本机主动发起的连接。 + * **家庭:** 在你信任网络里的其它计算机的情况下使用这个区域。该区域只会允许你所选择的传入连接,但是你可以根据需求添加更多的允许项目。 + * **内部:** 和工作区域类似,该区域适用于内部网络,你应该在基本信任网络里的计算机的情况下使用。你可以根据需求开放更多的端口和服务,同时保持和工作区域不同的一套规则。 + * **信任:** 接受所有的网络连接。适合在故障排除的情况下或者是在你绝对信任的网络上使用。 + + +### 为网络指定一个区域 + +你可以为你的任何一个网络连接都指定一个区域,并且对于同一个网络的不同连接方式(比如以太网、WiFi 等等)也可以指定不同的区域。 + +选择你想要的区域,点击“保存”按钮提交修改。 + +![Setting a new zone][8] + +养成为网络连接指定区域的习惯的最好办法是从你最常用的网络开始。为你的家庭网络指定家庭区域,为工作网络指定工作区域,为你最喜欢的图书馆或者咖啡馆的网络指定公关区域。 + +一旦你为所有常用的网络都指定了一个区域,在之后加入新的网络的时候(无论是一个新的咖啡馆还是你朋友家的网络),试图也为它指定一个区域吧。这样可以很好地让你意识到不同的网络的安全性是不一样的,你并不会仅仅因为使用了 Linux 而比任何人更加安全。 + +### 默认区域 + +每次你加入一个新的网络的时候,firewalld 并不会提示你进行选择,而是会指定一个默认区域。你可以在终端里输入下面这个命令来获取你的默认区域: + +``` +$ sudo firewall-cmd --get-default +public +``` + +在这个例子里,默认区域是公共区域。你应该保证公共区域有非常严格的限制规则,这样在将它指定到未知网络中的时候才比较安全。或者你也可以设置你自己的默认区域。 + +比如说,如果你是一个比较多疑的人,或者需要经常接触不可信任的网络的话,你可以设置一个非常严格的默认区域: + +``` +$ sudo firewall-cmd --set-default-zone drop +success +$ sudo firewall-cmd --get-default +drop +``` + +这样一来,任何你新加入的网络都会被指定使用丢弃区域,除非你手动将它制定为另一个没有这么严格的区域。 + +### 通过开放端口和服务实现自定义区域 + +Firewalld 的开发者们并不是想让他们设定的区域能够适应世界上所有不同的网络和所有级别的信任程度。你可以直接使用这些区域,也可以在它们基础上进行个性化配置。 + +你可以根据自己所需要进行的网络活动决定开放或关闭哪些端口,这并不需要对防火墙有多深的理解。 + +#### 预设服务 + +在你的防火墙上添加许可的最简单的方式就是添加预设服务。严格来讲,你的防火墙并不懂什么是“服务”,因为它只知道端口号码和使用协议的类型。不过在标准和传统的基础之上,防火墙可以为你提供一套端口和协议的组合。 + +比如说,如果你是一个 web 开发者并且希望你的计算机对本地网络开放(这样你的同事就可以看到你正在搭建的网站了),可以添加 **http** 和 **https** 服务。如果你是一名游戏玩家,并且在为你的游戏公会运行开源的 [murmur][9] 语音聊天服务器,那么你可以添加 **murmur** 服务。还有其它很多可用的服务,你可以使用下面这个命令查看: + +``` +$ sudo firewall-cmd --get-services +amanda-client amanda-k5-client bacula bacula-client \ +bgp bitcoin bitcoin-rpc ceph cfengine condor-collector \ +ctdb dhcp dhcpv6 dhcpv6-client dns elasticsearch \ +freeipa-ldap freeipa-ldaps ftp [...] +``` + +如果你找到了一个自己需要的服务,可以将它添加到当前的防火墙配置中,比如说: + +``` +`$ sudo firewall-cmd --add-service murmur` +``` + +这个命令 **在你的默认区域里** 添加了指定服务所需要的所有端口和协议,不过在重启计算机或者防火墙之后就会失效。如果想让你的修改永久有效,可以使用 **\--permanent** 标志: + +``` +`$ sudo firewall-cmd --add-service murmur --permanent` +``` + +你也可以将这个命令用于一个非默认区域: + +``` +`$ sudo firewall-cmd --add-service murmur --permanent --zone home` +``` + +#### 端口 + +有时候你希望允许的流量并不在 firewalld 定义的服务之中。也许你想在一个非标准的端口上运行一个常规服务,或者就是想随意开放一个端口。 + +举例来说,也许你正在运行开源的 [虚拟桌游][10] 软件 [MapTool][11]。由于 MapTool 服务器应该使用哪个端口这件事情并没有一个行业标准,所以你可以自行决定使用哪个端口,然后在防火墙上“开一个洞”,让它允许该端口上的流量。 + +实现方式和添加服务差不多: + +``` +`$ sudo firewall-cmd --add-port 51234/tcp` +``` + +这个命令 **在你的默认区域** 里将 51234 端口向 TCP 传入连接开放,不过在重启计算机或者防火墙之后就会失效。如果想让你的修改永久有效,可以使用 **\--permanent** 标志: + +``` +`$ sudo firewall-cmd --add-port 51234/tcp --permanent` +``` + +你也可以将这个命令用于一个非默认区域: + +``` +`$ sudo firewall-cmd --add-port 51234/tcp --permanent --zone home` +``` + +在路由器的防火墙上设置允许流量和在本机上设置的方式是不同的。你的路由器可能会为它的内嵌防火墙提供一个不同的配置界面(原理上是相同的),不过这就超出本文范围了。 + +### 移除端口和服务 + +如果你不再需要某项服务或者某个端口了,并且设置的时候没有使用 **\--permanent** 标志的话,那么可以通过重启防火墙来清除修改。 + +如果你已经将修改设置为永久生效了,可以使用 **\--remove-port** 或者 **\--remove-service** 标志来清除: + +``` +`$ sudo firewall-cmd --remove-port 51234/tcp --permanent` +``` + +你可以通过在命令中指定一个区域以将端口或者服务从一个非默认区域中移除。 + +``` +`$ sudo firewall-cmd --remove-service murmur --permanent --zone home` +``` + +### 自定义区域 + +你可以随意使用 firewalld 默认提供的这些区域,不过也完全可以创建自己的区域。比如如果希望有一个针对游戏的特别区域,你可以创建一个,然后只有在玩儿游戏的时候切换到该区域。 + +如果想要创建一个新的空白区域,你可以创建一个名为 **game** 的新区域,然后重新加载 firewall 规则,这样你的新区域就启用了: + +``` +$ sudo firewall-cmd --new-zone game --permanent +success +$ sudo firewall-cmd --reload +``` + +一旦创建好并且处于启用状态,你就可以通过添加玩游戏时所需要的服务和端口来实现个性化定制了。 + +### 勤勉 + +从今天起开始思考你的防火墙策略吧。不用着急,可以试着慢慢搭建一些合理的默认规则。你也许需要花上一段时间才能习惯于思考防火墙的配置问题,以及弄清楚你使用了哪些网络服务,不过无论是处在什么样的环境里,只要稍加探索你就可以让自己的 Linux 工作站变得更为强大。 + + +-------------------------------------------------------------------------------- + +via: https://opensource.com/article/19/7/make-linux-stronger-firewalls + +作者:[Seth Kenlon][a] +选题:[lujun9972][b] +译者:[chen-ni](https://github.com/chen-ni) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://opensource.com/users/seth +[b]: https://github.com/lujun9972 +[1]: https://opensource.com/sites/default/files/styles/image-full-size/public/lead-images/BUSINESS_buildtogether.png?itok=9Tvz64K5 (People working together to build ) +[2]: https://tools.ietf.org/html/rfc793 +[3]: https://tools.ietf.org/html/rfc433 +[4]: https://opensource.com/sites/default/files/uploads/web-port-nonstandard.png (Navigating to a nonstandard port produces an error) +[5]: https://firewalld.org/ +[6]: https://opensource.com/sites/default/files/uploads/nm-connection-editor.png (Network Manager Connection Editor) +[7]: https://opensource.com/sites/default/files/uploads/nm-zone.png (Firewall zones) +[8]: https://opensource.com/sites/default/files/uploads/nm-set.png (Setting a new zone) +[9]: https://www.mumble.com/ +[10]: https://opensource.com/article/18/5/maptool +[11]: https://github.com/RPTools From f28885261fe6362bcfce35bfd81d7b2703047afc Mon Sep 17 00:00:00 2001 From: chen ni Date: Sat, 6 Jul 2019 16:47:04 +0800 Subject: [PATCH 45/61] =?UTF-8?q?=E7=94=B3=E9=A2=86=E7=BF=BB=E8=AF=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...Been Nominated for the -Internet Villain- Award in the UK.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources/tech/20190706 Say WHAAAT- Mozilla has Been Nominated for the -Internet Villain- Award in the UK.md b/sources/tech/20190706 Say WHAAAT- Mozilla has Been Nominated for the -Internet Villain- Award in the UK.md index 253eae7967..7466550f25 100644 --- a/sources/tech/20190706 Say WHAAAT- Mozilla has Been Nominated for the -Internet Villain- Award in the UK.md +++ b/sources/tech/20190706 Say WHAAAT- Mozilla has Been Nominated for the -Internet Villain- Award in the UK.md @@ -1,5 +1,5 @@ [#]: collector: (lujun9972) -[#]: translator: ( ) +[#]: translator: (chen-ni) [#]: reviewer: ( ) [#]: publisher: ( ) [#]: url: ( ) From 6b966eedf0768e2d0d6eeb15baddb388b2dac40c Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Sat, 6 Jul 2019 17:38:36 +0800 Subject: [PATCH 46/61] PRF @LuuMing --- ... concerned about memory levels on Linux.md | 31 ++++++++++--------- 1 file changed, 16 insertions(+), 15 deletions(-) diff --git a/translated/tech/20190513 When to be concerned about memory levels on Linux.md b/translated/tech/20190513 When to be concerned about memory levels on Linux.md index 3a985290d2..406f78da4e 100644 --- a/translated/tech/20190513 When to be concerned about memory levels on Linux.md +++ b/translated/tech/20190513 When to be concerned about memory levels on Linux.md @@ -1,30 +1,32 @@ [#]: collector: (lujun9972) [#]: translator: (luuming) -[#]: reviewer: ( ) +[#]: reviewer: (wxy) [#]: publisher: ( ) [#]: url: ( ) [#]: subject: (When to be concerned about memory levels on Linux) [#]: via: (https://www.networkworld.com/article/3394603/when-to-be-concerned-about-memory-levels-on-linux.html) [#]: author: (Sandra Henry-Stocker https://www.networkworld.com/author/Sandra-Henry_Stocker/) -何时需要关注 linux 的内存层面? +何时需要关注 Linux 的内存用量? ====== -Linux 上的内存管理很复杂。尽管使用率高但未必存在问题。你也应当关注一些其他的事情。 -![Qfamily \(CC BY 2.0\)][1] + +> Linux 上的内存管理很复杂。尽管使用率高但未必存在问题。你也应当关注一些其他的事情。 + +![](https://img.linux.net.cn/data/attachment/album/201907/06/173913n6rjbxwj6bfrjxwx.jpg) 在 Linux 上用光内存通常并不意味着存在严重的问题。为什么?因为健康的 Linux 系统会在内存中缓存磁盘活动,基本上占用掉了未被使用的内存,这显然是一件好事情。 -换句话说,它不让内存浪费掉。使用空闲的内存增加磁盘访问速度,并且不占用运行中应用程序的内存。你也能够想到,使用这种内存缓存比起直接访问硬盘驱动(HDD)快上数百倍,也比明显快于直接访问固态硬盘驱动。内存占满或几乎占满通常意味着系统正在尽可能高效地运行当中——并不是运行中遇到了问题。 +换句话说,它不让内存浪费掉。使用空闲的内存增加磁盘访问速度,并且不占用运行中应用程序的内存。你也能够想到,使用这种内存缓存比起直接访问硬盘驱动器(HDD)快上数百倍,也比明显快于直接访问固态硬盘驱动。内存占满或几乎占满通常意味着系统正在尽可能高效地运行当中 —— 并不是运行中遇到了问题。 ### 缓存如何工作 -磁盘缓存简单地意味着系统充分利用未使用的资源(空闲内存)来加速磁盘读取与写入。应用程序不会失去任何东西,并且大多数时间里能够按需求获得更多的内存。此外,磁盘缓存不会导致应用程序使用交换分区。反而,用作磁盘缓存的内存空间当被需要时会立即归还,并且磁盘内容会被更新。 +磁盘缓存简单地意味着系统充分利用未使用的资源(空闲内存)来加速磁盘读取与写入。应用程序不会失去任何东西,并且大多数时间里能够按需求获得更多的内存。此外,磁盘缓存不会导致应用程序转而使用交换分区。反而,用作磁盘缓存的内存空间当被需要时会立即归还,并且磁盘内容会被更新。 ### 主要和次要的页故障 -Linux 系统通过分割物理内存为进程分配空间,将分割成的块称为“页”,并且映射这些页到每个进程的虚拟内存上。不再会用到的页也许会从内存中移除,尽管相关的进程还在运行。当进程需要一个没有被映射或没在内存中页时,故障便会产生。所以,“故障fault”并不意味着“错误error”而是“不可用unavailables”,并且故障在内存管理中扮演者一个重要的角色。 +Linux 系统通过分割物理内存来为进程分配空间,将分割成的块称为“页”,并且映射这些页到每个进程的虚拟内存上。不再会用到的页也许会从内存中移除,尽管相关的进程还在运行。当进程需要一个没有被映射或没在内存中页时,故障便会产生。所以,这个“故障fault”并不意味着“错误error”而是“不可用unavailables”,并且故障在内存管理中扮演者一个重要的角色。 -次要故障意味着在内存中的页未分配给请求的进程或未在内存管理单元中标记为出现。主要故障意味着页不保留在内存中。 +次要故障意味着在内存中的页未分配给请求的进程,或未在内存管理单元中标记为出现。主要故障意味着页没有保留在内存中。 如果你想切身感受一下次要页故障和主要页故障出现的频率,像这样试一下 `ps` 命令。注意我们要的是与页故障和产生它的命令相关的项。输出中省略了很多行。`MINFL` 显示出次要故障的数目,而 `MAJFL` 表示了主要故障的数目。 @@ -45,7 +47,7 @@ $ ps -eo min_flt,maj_flt,cmd 927 0 gdm-session-worker [pam/gdm-password] ``` -汇报单一进程,你可以尝试这样的命令: +汇报单一进程,你可以尝试这样的命令(LCTT 译注:参数里面的 `1` 是要查看的进程的 PID): ``` $ ps -o min_flt,maj_flt 1 @@ -53,7 +55,7 @@ $ ps -o min_flt,maj_flt 1 230064 150 ``` -你也可以添加其他的项,例如进程所有者的 UID 和 GID。 +你也可以添加其他的显示字段,例如进程所有者的 UID 和 GID。 ``` $ ps -o min_flt,maj_flt,cmd,args,uid,gid 1 @@ -63,7 +65,7 @@ $ ps -o min_flt,maj_flt,cmd,args,uid,gid 1 ### 多少才算满? -一种较好的方法来掌握内存究竟使用了多少是用 `free -m` 命令。`-m` 选项指定了数字的单位是 MiBsmebibytes 而不是字节。 +一种较好的方法来掌握内存究竟使用了多少是用 `free -m` 命令。`-m` 选项指定了数字的单位是 MiBmebibyte 而不是字节。 ``` $ free -m @@ -76,7 +78,7 @@ Swap: 3535 0 3535 ### 什么时候要担心 -如果 Linux 系统上的性能表现良好——应用程序响应度高,命令行没有显示出问题——很可能系统状况良好。记住,一些应用也许会出于某种原因而变慢,但它不影响整个系统。 +如果 Linux 系统上的性能表现良好 —— 应用程序响应度高,命令行没有显示出问题 —— 很可能系统状况良好。记住,一些应用也许会出于某种原因而变慢,但它不影响整个系统。 过多的硬故障也许表明确实存在问题,但要将其与观察到的性能相比较。 @@ -91,11 +93,10 @@ Swap: 3535 0 3535 ### Linux 性能很复杂 -把所有的放在一边,Linux 系统上的内存可能会变满,并且性能可能会降低。当系统出现问题时不要仅将单一的内存使用报告作为指标。 +抛开这些不说,Linux 系统上的内存可能会变满,并且性能可能会降低。当系统出现问题时不要仅将单一的内存使用报告作为指标。 Linux 系统的内存管理很复杂,因为它采取的措施需要确保系统资源得到最好的利用。不要受到一开始内存占满的欺骗,使你认为系统存在问题,但实际上并没有。 -在 [Facebook][4] 和 [LinkedIn][5] 上加入网络研讨会发表你的评论。 -------------------------------------------------------------------------------- @@ -104,7 +105,7 @@ via: https://www.networkworld.com/article/3394603/when-to-be-concerned-about-mem 作者:[Sandra Henry-Stocker][a] 选题:[lujun9972][b] 译者:[LuuMing](https://github.com/LuuMing) -校对:[校对者ID](https://github.com/校对者ID) +校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 From d8b1fa038a8081e2745cd2212955e49e24715288 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Sat, 6 Jul 2019 17:39:12 +0800 Subject: [PATCH 47/61] PUB @LuuMing https://linux.cn/article-11067-1.html --- ...90513 When to be concerned about memory levels on Linux.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) rename {translated/tech => published}/20190513 When to be concerned about memory levels on Linux.md (98%) diff --git a/translated/tech/20190513 When to be concerned about memory levels on Linux.md b/published/20190513 When to be concerned about memory levels on Linux.md similarity index 98% rename from translated/tech/20190513 When to be concerned about memory levels on Linux.md rename to published/20190513 When to be concerned about memory levels on Linux.md index 406f78da4e..dc63f7089f 100644 --- a/translated/tech/20190513 When to be concerned about memory levels on Linux.md +++ b/published/20190513 When to be concerned about memory levels on Linux.md @@ -1,8 +1,8 @@ [#]: collector: (lujun9972) [#]: translator: (luuming) [#]: reviewer: (wxy) -[#]: publisher: ( ) -[#]: url: ( ) +[#]: publisher: (wxy) +[#]: url: (https://linux.cn/article-11067-1.html) [#]: subject: (When to be concerned about memory levels on Linux) [#]: via: (https://www.networkworld.com/article/3394603/when-to-be-concerned-about-memory-levels-on-linux.html) [#]: author: (Sandra Henry-Stocker https://www.networkworld.com/author/Sandra-Henry_Stocker/) From 43d38730bd600e343012618b312c9e58baed1f0e Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Sat, 6 Jul 2019 17:40:43 +0800 Subject: [PATCH 48/61] APL:20190706 Say WHAAAT- Mozilla has Been Nominated for the -Internet Villain- Award in the UK --- ...Been Nominated for the -Internet Villain- Award in the UK.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources/tech/20190706 Say WHAAAT- Mozilla has Been Nominated for the -Internet Villain- Award in the UK.md b/sources/tech/20190706 Say WHAAAT- Mozilla has Been Nominated for the -Internet Villain- Award in the UK.md index 253eae7967..9663b50bf0 100644 --- a/sources/tech/20190706 Say WHAAAT- Mozilla has Been Nominated for the -Internet Villain- Award in the UK.md +++ b/sources/tech/20190706 Say WHAAAT- Mozilla has Been Nominated for the -Internet Villain- Award in the UK.md @@ -1,5 +1,5 @@ [#]: collector: (lujun9972) -[#]: translator: ( ) +[#]: translator: (wxy) [#]: reviewer: ( ) [#]: publisher: ( ) [#]: url: ( ) From eadadbd151f0800e609a538619e6f71b2b6b9a03 Mon Sep 17 00:00:00 2001 From: "Xingyu.Wang" Date: Sat, 6 Jul 2019 18:30:23 +0800 Subject: [PATCH 49/61] Revert "APL:20190706 Say WHAAAT Mozilla has Been Nominated for the Internet Villain Award in the UK" --- ...Been Nominated for the -Internet Villain- Award in the UK.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources/tech/20190706 Say WHAAAT- Mozilla has Been Nominated for the -Internet Villain- Award in the UK.md b/sources/tech/20190706 Say WHAAAT- Mozilla has Been Nominated for the -Internet Villain- Award in the UK.md index 9663b50bf0..253eae7967 100644 --- a/sources/tech/20190706 Say WHAAAT- Mozilla has Been Nominated for the -Internet Villain- Award in the UK.md +++ b/sources/tech/20190706 Say WHAAAT- Mozilla has Been Nominated for the -Internet Villain- Award in the UK.md @@ -1,5 +1,5 @@ [#]: collector: (lujun9972) -[#]: translator: (wxy) +[#]: translator: ( ) [#]: reviewer: ( ) [#]: publisher: ( ) [#]: url: ( ) From 41af5e1cee6b92224c15a589dfa75f8f3cce1671 Mon Sep 17 00:00:00 2001 From: darksun Date: Sat, 6 Jul 2019 18:45:37 +0800 Subject: [PATCH 50/61] =?UTF-8?q?=E9=80=89=E9=A2=98:=2020190518=20Best=20L?= =?UTF-8?q?inux=20Distributions=20for=20Beginners?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit sources/tech/20190518 Best Linux Distributions for Beginners.md --- ... Best Linux Distributions for Beginners.md | 206 ++++++++++++++++++ 1 file changed, 206 insertions(+) create mode 100644 sources/tech/20190518 Best Linux Distributions for Beginners.md diff --git a/sources/tech/20190518 Best Linux Distributions for Beginners.md b/sources/tech/20190518 Best Linux Distributions for Beginners.md new file mode 100644 index 0000000000..afe9581280 --- /dev/null +++ b/sources/tech/20190518 Best Linux Distributions for Beginners.md @@ -0,0 +1,206 @@ +[#]: collector: (lujun9972) +[#]: translator: ( ) +[#]: reviewer: ( ) +[#]: publisher: ( ) +[#]: url: ( ) +[#]: subject: (Best Linux Distributions for Beginners) +[#]: via: (https://itsfoss.com/best-linux-beginners/) +[#]: author: (Aquil Roshan https://itsfoss.com/author/aquil/) + +Best Linux Distributions for Beginners +====== + +_**Brief** : In this article, we will see the **best Linux distro for beginners**_. This will help new Linux users to pick their first distribution. + +Let’s face it, [Linux][1] can pose an overwhelming complexity to new users. But then, it’s not Linux itself that brings this complexity. Rather, it’s the “newness” factor that causes this. Not getting nostalgic, but remembering my first time with Linux, I didn’t even know what to expect. I liked it. But it was an upstream swim for me initially. + +Not knowing where to start can be a downer. Especially for someone who does not have the concept of something else running on their PC in place of Windows. + +Linux is more than an OS. It’s an idea where everybody grows together and there’s something for everybody. We have already covered: + + * [Best Linux distributions for Windows users][2] + * [Best lightweight Linux distros][3] + * [Best Linux distributions for hacking][4] + * [Best Linux distributions for gaming][5] + * [Best Linux distributions for privacy and anonymity][6] + * [Best Linux distributions that look like MacOS][7] + + + +In addition to that, there are distributions that cater to the needs of newcomers especially. So here are a few such Linux distros for beginners. You can watch it in a video and [subscribe to our YouTube channel][8] for more Linux related videos. + +### Best Linux Distros for Beginners + +Please remember that this list is no particular order. The main criteria for compiling this list is ease of installation, out of the box hardware software, ease of use and availability of software packages. + +#### 1\. Ubuntu + +If you’ve researched Linux on the internet, it’s highly probable that you have come across Ubuntu. Ubuntu is one of the leading Linux distributions. It is also the perfect path to begin your Linux journey. + +![][9] + +Ubuntu has been tagged as Linux for human beings. Now, this is because Ubuntu has put in a lot of effort on universal usability. Ubuntu does not require you to be technically sound for you to use it. It breaks the notion of Linux=Command line hassle. This is one of the major plus points that rocketed Ubuntu to where it is today. + +Ubuntu offers a very convenient installation procedure. The installer speaks plain English (or any major language you want). You can even try out Ubuntu before actually going through the installation procedure. The installer provides simple options to: + + * Install Ubuntu removing the older OS + * [Install Ubuntu alongside Windows][10] or any other existing OS (A choice is given at every startup to select the OS to boot). + * Configure partitions for users who know what they are doing. + + + +_Beginner tip: Select the second option if you are not sure about what to do._ + +Ubuntu’s user interface is called GNOME. It is as simple as well as productive as it gets. You can search anything from applications to files by pressing the Windows key. Is there any way you can make this simpler? + +There are no driver installation issues as Ubuntu comes with a hardware detector which detects, downloads and installs optimal drivers for your PC. Also, the installation comes with all the basic software like a music player, video player, an office suite and games for some time killing. + +Ubuntu has a great documentation and community support. [Ubuntu forums ][11]and [Ask Ubuntu][12] provide an appreciable quality support in almost all aspects regarding Ubuntu. It’s highly probable that any question you might have will already be answered. And the answers are beginner friendly. + +Do check out and download [Ubuntu][13] at the [official site.][13] + +#### 2\. Linux Mint Cinnamon + +For years, Linux Mint has been the **number one** Linux distribution on [Distrowatch][14]. Well deserved throne I must say. Linux mint is one of my personal favorites. It is elegant, graceful and provides a superior computing experience (out of the box). + +![][15] + +Linux Mint features the Cinnamon desktop environment. New Linux users who are still in the process of familiarizing themselves with Linux software will find Cinnamon very useful. All the software are very accessibly grouped under categories. Although this is nothing of a mind-blowing feature, to new users who do not know the names of Linux software, this is a huge bonus. + +[][16] + +Suggested read Installing Microsoft Visual Studio Code on Linux + +Linux Mint is fast. Runs fine on older computers. Linux Mint is built upon the rock-solid Ubuntu base. It uses the same software repository as Ubuntu. About the Ubuntu software repository, Ubuntu pushes software for general only use after extensive testing. This means users will not have to deal with unexpected crashes and glitches that some new software are prone to, which can be a real no-no for new Linux users. + +![][17] + +Windows 7 lovers who are really not into where Microsoft if heading with Windows 10 will find Linux Mint lovable. Linux Mint desktop is pretty similar to Windows 7 desktop. Similar toolbar, similar menu, similar tray icons are all set to make Windows users feel absolutely at home. + +Personally, I’m more likely to suggest Linux Mint to someone who is new to Linux world as Linux Mint does impress users enough for them to accept it. To me, Linux Mint should be the first among the list of Linux for beginners. + +Do check out [Linux Mint here][18]. Go for the Cinnamon version. + +#### 3\. Zorin OS + +A majority of computer users are Windows users. And when a [Windows user gets a Linux][2], there’s a fair amount of ‘unlearning process’ that user must go through. A huge amount of operations have been fixed in our muscle memory. For example, the mouse reaching to the lower left corner of the screen (Start) everytime you want to launch an application. So if we could find something that eases these issues on Linux, it’s half a battle won. Enter Zorin OS. + +![][19] + +Zorin OS is an Ubuntu-based, highly polished Linux distribution, entirely made for Windows refugees. Although pretty much every Linux distro is usable by everybody, some people might tend to be reluctant when the desktop looks too alien. Zorin OS dodges past this obstacle because of its similarities with Windows appearance wise. + +Package managers are something of a new concept to Linux newcomers. That’s why Zorin OS comes with a huge (I mean really huge) list of pre-installed software. Anything you need, there’s good chance it’s already installed on Zorin OS. As if that was not enough, [Wine and PlayOnLinux][20] come pre-installed so you can run your loved Windows software and [games][21] here too. + +![][22] + +Zorin OS comes with an amazing theme engine called the ‘Zorin look changer’. It offers some heavy customization options with presets to make your OS look like Windows 7, XP, 2000 or even a Mac for that matter. You’re going to feel home. + +![][23] + +These features make Zorin OS the _**best Linux distro for beginners**_ , isn’t it? Do check out the [Zorin OS website][24] to know more and download the OS. + +#### 4\. Elementary OS + +Since we have taken a look at Linux distros for Windows users, let’s swing by something for MacOS users too. Elementary OS very quickly rose to fame and now is always included in the list of top distros, all thanks to its aesthetic essence. Inspired by MacOS looks, Elementary OS is one of the most beautiful Linux distros. + +![][25] + +Elementary OS is another Ubuntu-based operating system which means the operating system itself is unquestionably stable. Elementary OS features the Pantheon desktop environment. You can immediately notice the resemblance to MacOS desktop. This is an advantage to MacOS users switching to Linux as they will much comfortable with the desktop and this really eases the process of coping to this change. + +![][26] + +The menu is simple and customizable according to user preferences. The operating system is zero intrusive so you can really focus on your work. It comes with a very small number of pre-installed software. So, any new user will not be repulsed by huge bloat. But hey, it’s got everything you need out of the box. For more software, Elementary OS provides a neat AppCenter. It is highly accessible and simple. Everything at one place. You can get all the software you want and perform upgrades in clicks. + +[][27] + +Suggested read How to Install and Use Slack in Linux + +Experience wise, [Elementary OS][28] is really a great piece of software. Definitely give [it a try.][28] + +#### 5\. Linux Mint Mate + +A good number of people who come to Linux are looking to revive older computers. With Windows 10, many computers that had decent specs just some years ago have become incompetent. A quick google will suggest you install Linux on such computers. In that way, you can keep them running up to the mark for the near future. Linux Mint Mate is a great Linux distro if you are looking for something to run your older computers. + +![][29] + +Linux Mint Mate is very light, resource efficient but still a polished distro. It can run smoothly on computers with less muscle power. The desktop environment does not come with bells and jingles. But in no way is it functionally inferior to any other desktop environments. The operating system is non-intrusive and allows you to have a productive computing experience without getting in your way. + +Again, the Linux Mint Mate is based on Ubuntu and has the advantage of huge base solid Ubuntu software repository. It comes with a minimum number of necessities pre-installed. Easy driver installation and setting management are made available. + +You can run Linux Mint Mate even if you have 512 MB RAM and 9 GB hard disk space (the more the merrier). + +The Mate desktop environment is really simple to use with no twists in the tale. This is really a huge plus point for Linux beginners. All the more reason to [try out Linux Mint Mate][30]. + +#### 6\. Manjaro Linux + +Ok. Any long time Linux user will say guiding a newcomer even in the general direction of Arch Linux is a sin. But hear me out. + +Arch is considered experts-only Linux because of it’s highly complex installation procedure. Manajro and Arch Linux have a common origin. But they differ extensively in everything else. + +![][31] + +Manajro Linux has an extremely beginner friendly installation procedure. A lot of things are automated like driver installation using ‘Hardware detection’. Manjaro hugely negates the hardware driver hassles that torments a lot of other Linux distros. And even if you face any issues, Manjaro has an amazing community support. + +Manjaro has its own software repository which maintains the latest of software. While providing up to date software to users is a priority, guaranteed stability is not at all compromised. This is one of the prime differences between Arch and Manjaro. Manjaro delays package releases to make sure they are absolutely stable and no regression will be caused. You can also access the Arch User Repository on Manjaro, so anything and everything you need, is always available. + +If you want to know more about Manjaro features, do read my colleague [John’s experience with Manjaro Linux and why he is hooked][32] to it. + +![][33] + +Manjaro Linux comes in XFCE, KDE, Gnome, Cinnamon and a host of more desktop environments. Do check out the [official website][34]. + +To install any of the above 6 operating systems, you need to create a bootable USB stick. If you are currently using Windows [use this guide to do so][35]. Mac OS users may [follow this guide][36]. + +**Your choice for the best Linux distro for beginners?** + +Linux might come with a learning curve, but that’s not something anybody ever regretted. Go ahead get an ISO and check out Linux. If you are already a Linux user, do share this article and help someone fall in love with Linux in this season of love. Cheers. + +-------------------------------------------------------------------------------- + +via: https://itsfoss.com/best-linux-beginners/ + +作者:[Aquil Roshan][a] +选题:[lujun9972][b] +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://itsfoss.com/author/aquil/ +[b]: https://github.com/lujun9972 +[1]: https://www.linux.com/what-is-linux +[2]: https://itsfoss.com/windows-like-linux-distributions/ +[3]: https://itsfoss.com/lightweight-linux-beginners/ +[4]: https://itsfoss.com/linux-hacking-penetration-testing/ +[5]: https://itsfoss.com/linux-gaming-distributions/ +[6]: https://itsfoss.com/privacy-focused-linux-distributions/ +[7]: https://itsfoss.com/macos-like-linux-distros/ +[8]: https://www.youtube.com/c/itsfoss +[9]: https://i0.wp.com/itsfoss.com/wp-content/uploads/2018/06/ubuntu-18-04-desktop.jpeg?resize=800%2C450&ssl=1 +[10]: https://itsfoss.com/install-ubuntu-1404-dual-boot-mode-windows-8-81-uefi/ +[11]: https://ubuntuforums.org/ +[12]: http://askubuntu.com/ +[13]: https://www.ubuntu.com/ +[14]: https://distrowatch.com/ +[15]: https://i2.wp.com/itsfoss.com/wp-content/uploads/2017/02/LM_Home.jpg?ssl=1 +[16]: https://itsfoss.com/install-visual-studio-code-ubuntu/ +[17]: https://i1.wp.com/itsfoss.com/wp-content/uploads/2017/02/LM_SS.jpg?ssl=1 +[18]: https://linuxmint.com/ +[19]: https://i2.wp.com/itsfoss.com/wp-content/uploads/2017/02/Zorin.jpg?ssl=1 +[20]: https://itsfoss.com/use-windows-applications-linux/ +[21]: https://itsfoss.com/linux-gaming-guide/ +[22]: https://i1.wp.com/itsfoss.com/wp-content/uploads/2017/02/Zorin-office.jpg?ssl=1 +[23]: https://i2.wp.com/itsfoss.com/wp-content/uploads/2017/02/OSX.jpg?ssl=1 +[24]: https://zorinos.com/ +[25]: https://i0.wp.com/itsfoss.com/wp-content/uploads/2017/02/Pantheon-Desktop.jpg?resize=800%2C500&ssl=1 +[26]: https://i2.wp.com/itsfoss.com/wp-content/uploads/2017/02/Application-Menu.jpg?ssl=1 +[27]: https://itsfoss.com/slack-use-linux/ +[28]: https://elementary.io/ +[29]: https://i1.wp.com/itsfoss.com/wp-content/uploads/2017/02/mate.jpg?ssl=1 +[30]: http://blog.linuxmint.com/?p=3182 +[31]: https://i2.wp.com/itsfoss.com/wp-content/uploads/2017/02/manajro.jpg?ssl=1 +[32]: https://itsfoss.com/why-use-manjaro-linux/ +[33]: https://i1.wp.com/itsfoss.com/wp-content/uploads/2017/02/manjaro-kde.jpg?ssl=1 +[34]: https://manjaro.org/ +[35]: https://www.ubuntu.com/download/desktop/create-a-usb-stick-on-windows +[36]: https://www.ubuntu.com/download/desktop/create-a-usb-stick-on-macos From a310b6bc73529e6708311de2c08b76958619d562 Mon Sep 17 00:00:00 2001 From: darksun Date: Sat, 6 Jul 2019 22:06:50 +0800 Subject: [PATCH 51/61] =?UTF-8?q?=E9=80=89=E9=A2=98:=2020190703=20Newsboat?= =?UTF-8?q?=20=E2=80=93=20A=20Command=20line=20RSS/Atom=20Feed=20Reader=20?= =?UTF-8?q?For=20Text=20Consoles?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit sources/tech/20190703 Newsboat - A Command line RSS-Atom Feed Reader For Text Consoles.md --- ... RSS-Atom Feed Reader For Text Consoles.md | 262 ++++++++++++++++++ 1 file changed, 262 insertions(+) create mode 100644 sources/tech/20190703 Newsboat - A Command line RSS-Atom Feed Reader For Text Consoles.md diff --git a/sources/tech/20190703 Newsboat - A Command line RSS-Atom Feed Reader For Text Consoles.md b/sources/tech/20190703 Newsboat - A Command line RSS-Atom Feed Reader For Text Consoles.md new file mode 100644 index 0000000000..dbca5db557 --- /dev/null +++ b/sources/tech/20190703 Newsboat - A Command line RSS-Atom Feed Reader For Text Consoles.md @@ -0,0 +1,262 @@ +[#]: collector: (lujun9972) +[#]: translator: ( ) +[#]: reviewer: ( ) +[#]: publisher: ( ) +[#]: url: ( ) +[#]: subject: (Newsboat – A Command line RSS/Atom Feed Reader For Text Consoles) +[#]: via: (https://www.ostechnix.com/newsbeuter-command-line-rssatom-feed-reader-unix-like-systems/) +[#]: author: (sk https://www.ostechnix.com/author/sk/) + +Newsboat – A Command line RSS/Atom Feed Reader For Text Consoles +====== + +![Newsboat RSS/Atom Feed reader][1] + +**Newsboat** , a fork of Newsbeuter, is a free, open source RSS/Atom feed reader for text consoles. It supports GNU/Linux, FreeBSD, Mac OS X, and other Unix-like operating systems. Compared to other slow and huge amount of memory consumed RSS feed readers, Newsboat is the best choice for anyone who are looking for a simple, slick and fast feed reader that can be completely managed via keyboard. + +Concerning about the features, we can list the following: + + * Subscribe to RSS 0.9x, 1.0, 2.0 and Atom feeds. + * Download podcasts. + * Configure your keyboard shortcuts as per your wish. + * Search through all downloaded articles. + * Categorize and query your subscriptions with a flexible tag system. + * Integrate any data source through a flexible filter and plugin system. + * Automatically remove unwanted articles through a “killfile”. + * Define “meta feeds” using a powerful query language. + * Synchronize newsboatr with your bloglines.com account. + * Import and exporting your subscriptions with the widely used OPML format. + * Customize the look and feel of Newsboat as per your liking. + * Keep all your feeds in sync with Google Reader. + * And many. + + + +In this brief guide, let us see how to install and use Newsboat in Linux. + +### Newsboat – A Command line RSS/Atom Feed Reader + +##### Installation + +**On Arch Linux and derivatives:** + +Newsboat is available in the [Community] repository of Arch Linux. So, you can install it using [**Pacman**][2] command as shown below. + +``` +$ sudo pacman -S newsboat +``` + +**On Debian, Ubuntu, Linux Mint:** + +It is also available in the default repositories of DEB based systems such as Ubuntu, Linux Mint. To install it, run the following command: + +``` +$ sudo apt-get install newsboat +``` + +**On Fedora:** + +Newsboat is available in the official repositories of Fedora. To install it, run: + +``` +$ sudo dnf install newsboat +``` + +Newsboat is also available as [**Snap**][3], so you can install it using command: + +``` +$ sudo snap install newsboat +``` + +Once installed, launch it using command: + +``` +$ newsboat +``` + +**Sample output:** + +``` +Starting newsboat 2.10.2... +Loading configuration...done. +Opening cache...done. +Loading URLs from /home/sk/.newsboat/urls...done. +Error: no URLs configured. Please fill the file /home/sk/.newsboat/urls with RSS feed URLs or import an OPML file. + +newsboat 2.10.2 +usage: newsboat [-i |-e] [-u ] [-c ] [-x ...] [-h] +-e, --export-to-opml export OPML feed to stdout +-r, --refresh-on-start refresh feeds on start +-i, --import-from-opml= import OPML file +-u, --url-file= read RSS feed URLs from +-c, --cache-file= use as cache file +-C, --config-file= read configuration from +-X, --vacuum compact the cache +-x, --execute=... execute list of commands +-q, --quiet quiet startup +-v, --version get version information +-l, --log-level= write a log with a certain loglevel (valid values: 1 to 6) +-d, --log-file= use as output log file +-E, --export-to-file= export list of read articles to +-I, --import-from-file= import list of read articles from +-h, --help this help +``` + +As you see in the above screenshot, we haven’t added any URLs yet in Newsboat. + +##### Managing Feeds + +We can add, edit, tag, and delete feeds by editing the **urls** file. The default urls file is **~/.newsboat/urls**. If it is not available, just create it. + +**Add feeds** + +To add a feed, edit this file + +``` +$ vi ~/.newsboat/urls +``` + +Then, add the feed URLs one by one. + +``` +http://feeds.feedburner.com/Ostechnix +``` + +If the feed URL has protected with user name and password, you need to mention the username and password as shown below. + +``` +http://username:[email protected]/feed.rss +``` + +After adding all urls, save and close the file. + +**Add tags to the feeds** + +You can add one or more tags to categorize the feeds as per your liking. Specify the tags separated by space if you want to add more than one tags to a single feed. If you want to specify a single tag that contains a space, just mention it within double quotes like below. + +``` +http://feeds.feedburner.com/Ostechnix "All Linux news" +https://www.archlinux.org/feeds/packages/ "Only Arch Linux related news" +``` + +**Read feeds** + +To read feeds, just launch the Newsboat utility from the Terminal using command: + +``` +$ newsboat +``` + +Sample output: + +![][4] + +Newsboat Rss feed reader + +As you see in the above screenshot, I have added two RSS feeds. You can now start downloading the feeds, either by pressing **“R”** to download all feeds, or by pressing **“r”** to download the currently selected feed. + +Now, you will see the list of recent items in each feed. + +![][5] + +Alternatively, you can run the following command to refresh feeds on start: + +``` +$ newsboat -r +``` + +Use **Up/Down** arrows to choose a feed and hit **ENTER** key to open the currently selected feed. + +![][6] + +Press ENTER key to open the selected entry: + +![][7] + +To open the entry in your default web browser, simply press **o**. + +Here is the list of keyboard controls to manage your feeds. + + * Press **n** to go the next unread entry. + * Press **o** to open the selected entry in default web browser. + * Press **r** (small letter) to reload the currently selected feed. + * Press **R** (capital) to reload all feeds. + * Press **A** to mark as read. + * Press **/** to search for a specific entry. + * Press **s** to save single entry or all entries. + * Press **e** to enqueue. + * Press **?** (question mark) to open the help window at any time. + * And press **q** to go back and exit. + + + +**Remove feeds** + +To remove the feeds, just delete the URL in the urls file. + +**Useful tip for Arch Linux users** + +If you’re using a Arch based Linux distribution, I know a good way to read the Arch news page before updating your system. The reason for doing this is you can read the Arch news about current updating issues before actually updating your Arch Linux. + +Add the Arch news link in **~/.newsboat/urls** file: + +``` +$ https://www.archlinux.org/feeds/news/ +``` + +Open your **~/.bashrc** file and add the following line: + +``` +alias update='newsboat -r && sudo pacman -Syu' +``` + +Replace ‘update’ with any alias name of your choice. + +Now, run the following command to update your Arch Linux system. + +``` +$ update +``` + +Whenever you run the above command, it will load the Arch news feed in your Terminal. You can simply read about current issues and then update the Arch Linux system. + +For more details, refer the Newsboat help section using command: + +``` +$ newsboat -h +``` + +Also, refer the [**official documentation**][8] page for more detailed information. + +And, that’s all. Hope this helps. I will be soon here with another useful guide. If you find this article helpful, please take a moment to share it on your social, professional networks and support OSTechNix. + +**Resources:** + + * [**Newsboat website**][9] + * [**Newsboat GtiHub Repository**][10] + + + +-------------------------------------------------------------------------------- + +via: https://www.ostechnix.com/newsbeuter-command-line-rssatom-feed-reader-unix-like-systems/ + +作者:[sk][a] +选题:[lujun9972][b] +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://www.ostechnix.com/author/sk/ +[b]: https://github.com/lujun9972 +[1]: https://www.ostechnix.com/wp-content/uploads/2017/07/Newsboat-RSS-Atom-Feed-reader-720x340.png +[2]: https://www.ostechnix.com/getting-started-pacman/ +[3]: https://www.ostechnix.com/introduction-ubuntus-snap-packages/ +[4]: https://www.ostechnix.com/wp-content/uploads/2017/07/Newsboat.png +[5]: https://www.ostechnix.com/wp-content/uploads/2017/07/Load-new-feeds.png +[6]: https://www.ostechnix.com/wp-content/uploads/2017/07/Newboat1.png +[7]: https://www.ostechnix.com/wp-content/uploads/2017/07/Open-Rss-feed-entry.png +[8]: https://newsboat.org/releases/2.16.1/docs/newsboat.html +[9]: https://newsboat.org/ +[10]: https://github.com/newsboat/newsboat From eedacc87e1530e2530e37e545d04578a1fecb025 Mon Sep 17 00:00:00 2001 From: darksun Date: Sat, 6 Jul 2019 22:17:00 +0800 Subject: [PATCH 52/61] =?UTF-8?q?=E9=80=89=E9=A2=98:=2020190706=20How=20To?= =?UTF-8?q?=20Delete=20A=20Repository=20And=20GPG=20Key=20In=20Ubuntu?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit sources/tech/20190706 How To Delete A Repository And GPG Key In Ubuntu.md --- ...lete A Repository And GPG Key In Ubuntu.md | 134 ++++++++++++++++++ 1 file changed, 134 insertions(+) create mode 100644 sources/tech/20190706 How To Delete A Repository And GPG Key In Ubuntu.md diff --git a/sources/tech/20190706 How To Delete A Repository And GPG Key In Ubuntu.md b/sources/tech/20190706 How To Delete A Repository And GPG Key In Ubuntu.md new file mode 100644 index 0000000000..beb69ab1e8 --- /dev/null +++ b/sources/tech/20190706 How To Delete A Repository And GPG Key In Ubuntu.md @@ -0,0 +1,134 @@ +[#]: collector: (lujun9972) +[#]: translator: ( ) +[#]: reviewer: ( ) +[#]: publisher: ( ) +[#]: url: ( ) +[#]: subject: (How To Delete A Repository And GPG Key In Ubuntu) +[#]: via: (https://www.ostechnix.com/how-to-delete-a-repository-and-gpg-key-in-ubuntu/) +[#]: author: (sk https://www.ostechnix.com/author/sk/) + +How To Delete A Repository And GPG Key In Ubuntu +====== + +![Delete A Repository And GPG Key In Ubuntu][1] + +The other day we discussed how to [**list the installed repositories**][2] in RPM and DEB-based systems. Today, we are going to learn how to delete a repository along with its GPG key in Ubuntu. For those wondering, a repository (shortly **repo** ) is a central place where the developers keep the software packages. The packages in the repositories are thoroughly tested and built specifically for each version by Ubuntu developers. The users can download and install these packages on their Ubuntu system using **Apt** **package manager**. Ubuntu has four official repositories namely **Main** , **Universe** , **Restricted** and **Multiverse**. + +Apart from the official repositories, there are many unofficial repositories maintained by developers (or package maintainers). The unofficial repositories usually have the packages which are not available in the official repositories. All packages are signed with pair of keys, a public and private key, by the package maintainer. As you already know, the public key is given out to the users and the private must be kept secret. Whenever you add a new repository in the sources list, you should also add the repository key if Apt package manager wants to trust the newly added repository. Using the repository keys, you can ensure that you’re getting the packages from the right person. Hope you got a basic idea about software repositories and repository keys. Now let us go ahead and see how to delete the repository and its key if it is no longer necessary in Ubuntu systems. + +### Delete A Repository In Ubuntu + +Whenever you add a repository using “add-apt-repository” command, it will be stored in **/etc/apt/sources.list** file. + +To delete a software repository from Ubuntu and its derivatives, just open the /etc/apt/sources.list file and look for the repository entry and delete it. + +``` +$ sudo nano /etc/apt/sources.list +``` + +As you can see in the below screenshot, I have added [**Oracle Virtualbox**][3] repository in my Ubuntu system. + +![][4] + +virtualbox repository + +To delete this repository, simply remove the entry. Save and close the file. + +If you have added PPA repositories, look into **/etc/apt/sources.list.d/** directory and delete the respective entry. + +Alternatively, you can delete the repository using “add-apt-repository” command. For example, I am deleting the [**Systemback**][5] repository like below. + +``` +$ sudo add-apt-repository -r ppa:nemh/systemback +``` + +Finally, update the software sources list using command: + +``` +$ sudo apt update +``` + +### Delete Repository keys + +We use “apt-key” command to add the repository keys. First, let us list the added keys using command: + +``` +$ sudo apt-key list +``` + +This command will list all added repository keys. + +``` +/etc/apt/trusted.gpg +-------------------- +pub rsa1024 2010-10-31 [SC] +3820 03C2 C8B7 B4AB 813E 915B 14E4 9429 73C6 2A1B +uid [ unknown] Launchpad PPA for Kendek + +pub rsa4096 2016-04-22 [SC] +B9F8 D658 297A F3EF C18D 5CDF A2F6 83C5 2980 AECF +uid [ unknown] Oracle Corporation (VirtualBox archive signing key) <[email protected]> +sub rsa4096 2016-04-22 [E] + +/etc/apt/trusted.gpg.d/ubuntu-keyring-2012-archive.gpg +------------------------------------------------------ +pub rsa4096 2012-05-11 [SC] +790B C727 7767 219C 42C8 6F93 3B4F E6AC C0B2 1F32 +uid [ unknown] Ubuntu Archive Automatic Signing Key (2012) <[email protected]> + +/etc/apt/trusted.gpg.d/ubuntu-keyring-2012-cdimage.gpg +------------------------------------------------------ +pub rsa4096 2012-05-11 [SC] +8439 38DF 228D 22F7 B374 2BC0 D94A A3F0 EFE2 1092 +uid [ unknown] Ubuntu CD Image Automatic Signing Key (2012) <[email protected]> + +/etc/apt/trusted.gpg.d/ubuntu-keyring-2018-archive.gpg +------------------------------------------------------ +pub rsa4096 2018-09-17 [SC] +F6EC B376 2474 EDA9 D21B 7022 8719 20D1 991B C93C +uid [ unknown] Ubuntu Archive Automatic Signing Key (2018) <[email protected]> +``` + +As you can see in the above output, the long (40 characters) hex value is the repository key. If you want APT package manager to stop trusting the key, simply delete it using command: + +``` +$ sudo apt-key del "3820 03C2 C8B7 B4AB 813E 915B 14E4 9429 73C6 2A1B" +``` + +Or, specify the last 8 characters only: + +``` +$ sudo apt-key del 73C62A1B +``` + +Done! The repository key has been deleted. Run the following command to update the repository lists: + +``` +$ sudo apt update +``` + +**Resource:** + + * [**Software repositories – Ubuntu Community Wiki**][6] + + + +-------------------------------------------------------------------------------- + +via: https://www.ostechnix.com/how-to-delete-a-repository-and-gpg-key-in-ubuntu/ + +作者:[sk][a] +选题:[lujun9972][b] +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://www.ostechnix.com/author/sk/ +[b]: https://github.com/lujun9972 +[1]: https://www.ostechnix.com/wp-content/uploads/2019/07/Delete-a-repository-in-ubuntu-720x340.png +[2]: https://www.ostechnix.com/find-list-installed-repositories-commandline-linux/ +[3]: https://www.ostechnix.com/install-oracle-virtualbox-ubuntu-16-04-headless-server/ +[4]: https://www.ostechnix.com/wp-content/uploads/2019/07/virtualbox-repository.png +[5]: https://www.ostechnix.com/systemback-restore-ubuntu-desktop-and-server-to-previous-state/ +[6]: https://help.ubuntu.com/community/Repositories/Ubuntu From 67341b949762eb7e693488c563c0c6db8b5d30c9 Mon Sep 17 00:00:00 2001 From: darksun Date: Sat, 6 Jul 2019 22:24:42 +0800 Subject: [PATCH 53/61] =?UTF-8?q?=E9=80=89=E9=A2=98:=2020190706=20Youtube-?= =?UTF-8?q?dl=20Tutorial=20With=20Examples=20For=20Beginners?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit sources/tech/20190706 Youtube-dl Tutorial With Examples For Beginners.md --- ...dl Tutorial With Examples For Beginners.md | 446 ++++++++++++++++++ 1 file changed, 446 insertions(+) create mode 100644 sources/tech/20190706 Youtube-dl Tutorial With Examples For Beginners.md diff --git a/sources/tech/20190706 Youtube-dl Tutorial With Examples For Beginners.md b/sources/tech/20190706 Youtube-dl Tutorial With Examples For Beginners.md new file mode 100644 index 0000000000..578804041a --- /dev/null +++ b/sources/tech/20190706 Youtube-dl Tutorial With Examples For Beginners.md @@ -0,0 +1,446 @@ +[#]: collector: (lujun9972) +[#]: translator: ( ) +[#]: reviewer: ( ) +[#]: publisher: ( ) +[#]: url: ( ) +[#]: subject: (Youtube-dl Tutorial With Examples For Beginners) +[#]: via: (https://www.ostechnix.com/youtube-dl-tutorial-with-examples-for-beginners/) +[#]: author: (sk https://www.ostechnix.com/author/sk/) + +Youtube-dl Tutorial With Examples For Beginners +====== + +![Youtube-dl Tutorial With Examples For Beginners][1] + +There are numerous applications available to Download Youtube videos. We have covered such applications, namely [**ClipGrab**][2], and [**Mps-youtube**][3] etc., in the past. Today, we are going to learn about yet another Youtube downloader called **Youtube-dl**. Like Mps-youtube, Youtube-dl is also a command line program to download videos from Youtube and a lot of other websites listed [**here**][4]. Youtube-dl can be able to download a single track or entire playlist in one go. It is a free and open source command line program written in **Python**. It supports GNU/Linux, Mac OS X and Microsoft Windows. + +### Installing Youtube-dl + +The easiest and officially recommended way to install Youtube-dl is just download it, save it in your PATH, make it executable and start using it right away. + +``` +$ sudo curl -L https://yt-dl.org/downloads/latest/youtube-dl -o /usr/local/bin/youtube-dl +``` + +If you don’t have curl, use **wget** instead: + +``` +$ sudo wget https://yt-dl.org/downloads/latest/youtube-dl -O /usr/local/bin/youtube-dl + +$ sudo chmod a+rx /usr/local/bin/youtube-dl +``` + +Alternatively, you can install it using [**Pip**][5] as shown below. + +``` +$ sudo -H pip install --upgrade youtube-dl +``` + +Youtube-dl is also available in the official repositories of some Linux distributions. For example, you can install it in Arch Linux using command: + +``` +$ sudo pacman -S youtube-dl +``` + +On Debian, Ubuntu, Linux mint: + +``` +$ sudo apt install youtube-dl +``` + +On Fedora: + +``` +$ sudo dnf install youtube-dl +``` + +FFmpeg is also required to download 720p videos from YouTube and convert videos to other formats. To install FFmpeg, refer the following guide. + + * [**How to install FFmpeg on Linux**][6] + + + +### Update Youtube-dl + +If you’ve manually installed Youtube-dl using curl or wget, run the following command to update it: + +``` +$ sudo youtube-dl -U +``` + +If you installed it using pip, do: + +``` +$ sudo pip install -U youtube-dl +``` + +Those who installed Youtube-dl using the distribution’s package manager, just use the appropriate update command. For example, on Arch Linux, you can update Youtube-dl by simply running the following command: + +``` +$ sudo pacman -Syu +``` + +On Debian, Ubuntu: + +``` +$ sudo apt update +``` + +Now, let us see some examples to learn to use Youtube-dl. + +### Youtube-dl Tutorial With Examples + +Here, I have compiled most commonly used Youtube-dl commands to download a video or playlist from youtube. + +####### **1\. Download video or playlist** + +To download a video or the entire playlist from Youtube, just mention the URL like below: + +``` +$ youtube-dl https://www.youtube.com/watch?v=7E-cwdnsiow +``` + +If you want to download video or playlist with a custom name of your choice, the command would be: + +``` +$ youtube-dl -o 'abdul kalam inspirational speech' https://www.youtube.com/watch?v=7E-cwdnsiow +``` + +Replace “abdul kalam inspirational speech” with your own name. + +You can also include additional details, such as the title, the uploader name (channel name) and upload date etc., in the file name by using the following command: + +``` +$ youtube-dl -o '%(title)s by %(uploader)s on %(upload_date)s in %(playlist)s.%(ext)s' https://www.youtube.com/watch?v=7E-cwdnsiow +``` + +####### **2\. Download multiple videos** + +Sometimes, you might want to download multiple videos from or any other site. If so, just mention the URL of the videos with space-separated like below: + +``` +$ youtube-dl +``` + +Alternatively, you can put them all in a text file and pass it to Youtube-dl as an argument like below. + +``` +$ youtube-dl -a url.txt +``` + +This command will download all videos mentioned in the url.txt file. + +####### **3\. Download audio-only from a video** + +Youtube-dl allows us to download audio only from a Youtube video. If you ever been in a situation to download only the audio, run: + +``` +$ youtube-dl -x https://www.youtube.com/watch?v=7E-cwdnsiow +``` + +By default, Youtube-dl will save the audio in **Ogg** (opus) format. + +If you prefer to download any other formats, for example **mp3** , run: + +``` +$ youtube-dl -x --audio-format mp3 https://www.youtube.com/watch?v=7E-cwdnsiow +``` + +This command will download the audio from the given video/playlist, convert it to an MP3 and save it in the current directory. Please note that you should install either [**ffmpeg**][7] or **avconv** to convert the file to mp3 format. + +####### **4\. Download video with description, metadata, annotations, subtitles and thumbnail** + +To download a video along with its other details such as description, metadata, annotations, subtitles, and thumbnail etc., use the following command: + +``` +$ youtube-dl --write-description --write-info-json --write-annotations --write-sub --write-thumbnail https://www.youtube.com/watch?v=7E-cwdnsiow +``` + +####### **5\. List all available formats of video or playlist** + +To list all available formats that a video or playlist is available in, use the following command: + +``` +$ youtube-dl --list-formats https://www.youtube.com/watch?v=7E-cwdnsiow +``` + +Or + +``` +$ youtube-dl -F https://www.youtube.com/watch?v=7E-cwdnsiow +``` + +Sample output: + +![][8] + +List all available formats of a youtube video using youtube-dl + +As you can see in the above screenshot, Youtube-dl lists all available formats of the given video. From left to right, it displays the video format code, extension and resolution note of the respective video. This can be helpful when you want to download a video at a specific quality or format. + +####### **6\. Download videos in certain quality and/or format** + +By default, Youtube-dl will download the best available quality video. However, it is also possible to download a video or playlist at a specific quality or format. + +Youtube is capable of downloading videos in the following qualities: + + * **best** – Select the best quality format of the given file with video and audio. + * **worst** – Select the worst quality format (both video and audio). + * **bestvideo** – Select the best quality video-only format (e.g. DASH video). Please note that it may not be available. + * **worstvideo** – Select the worst quality video-only format. May not be available. + * **bestaudio** – Select the best quality audio only-format. May not be available. + * **worstaudio** – Select the worst quality audio only-format. May not be available. + + + +For example, if you want to download **best quality** format (both audio and video), just use the following command: + +``` +$ youtube-dl -f best https://www.youtube.com/watch?v=7E-cwdnsiow +``` + +Similarly, to download audio-only with best quality: + +``` +$ youtube-dl -f bestaudio https://www.youtube.com/watch?v=7E-cwdnsiow +``` + +To download worst quality video-only format, use the following command: + +``` +$ youtube-dl -f worstvideo https://www.youtube.com/watch?v=7E-cwdnsiow +``` + +You also combine different format options like below. + +``` +$ youtube-dl -f bestvideo+bestaudio https://www.youtube.com/watch?v=7E-cwdnsiow +``` + +The above command will download best quality video-only and best quality audio-only formats and merge them together with ffmpeg or avconv. Make sure you have installed any one of these tools on your system. + +If you don’t want to merge, replace **+** (plus) operator with **,** (comma) like below: + +``` +$ youtube-dl -f 'bestvideo,bestaudio' https://www.youtube.com/watch?v=7E-cwdnsiow -o '%(title)s.f%(format_id)s.%(ext)s' +``` + +This command will download best quality video and best quality audio and **will not mix them**. In this case, you will get two files, one is audio and another is video. In this example, an output template ( **-o** option) is recommended as bestvideo and bestaudio may have the same file name. + +We can even download a video or playlist at a specific quality with **specific resolution**. + +For instance, the following command will download the **best quality** video in **480 pixel resolution** (less than or equal to 480p). + +``` +$ youtube-dl -f "best[height<=480]" https://www.youtube.com/watch?v=7E-cwdnsiow +``` + +Like already said, we can group the format selectors to get a specific quality video. The following command will download best format available(both audio and video) but **no better than 480p**. + +``` +$ youtube-dl -f 'bestvideo[height<=480]+bestaudio/best[height<=480]' https://www.youtube.com/watch?v=7E-cwdnsiow +``` + +####### **7. Download videos using format code + +** + +All videos have format codes which we can use to download a video at specific quality. To find the format code, just list the available formats using any one of the following commands: + +``` +$ youtube-dl --list-formats https://www.youtube.com/watch?v=7E-cwdnsiow +``` + +Or + +``` +$ youtube-dl -F https://www.youtube.com/watch?v=7E-cwdnsiow +``` + +![][9] + +As you can see in the above screenshot, all format codes of the given video are listed in the first column. The best quality format is given at the end (the format code is **22** ). So, the command to download best quality format is: + +``` +$ youtube-dl -f 22 https://www.youtube.com/watch?v=7E-cwdnsiow +``` + +Some videos may not have the same formats available while you download videos from playlist. In such cases, you can specify multiple format codes in any preferred order of your choice. Take a look at the following example: + +``` +$ youtube-dl -f 22/17/18 +``` + +As per the above example, Youtube-dl will download the videos in format 22 if it is available. If the format 22 is not available, it will then download format 17 if it is available. If both 22 and 17 formats are not available, it will finally try to download format 18. If none of the specified formats are available, Youtube-dl will complain that no suitable formats are available for download. + +Please note that that slash is left-associative, i.e. formats on the left hand side are preferred. + +####### **8. Download videos by file extension + +** + +Download video(s) in your preferred format, say for example MP4, just run: + +``` +$ youtube-dl --format mp4 https://www.youtube.com/watch?v=7E-cwdnsiow +``` + +Or, + +``` +$ youtube-dl -f mp4 https://www.youtube.com/watch?v=7E-cwdnsiow +``` + +Like I already mentioned in the previous section, some videos may not available in your preferred formats. In such cases, Youtube-dl will download any other best available formats. For instance, this command will download best quality MP4 format file. If MP4 format is not available, then it will download any other best available format. + +``` +$ youtube-dl -f 'bestvideo[ext=mp4]+bestaudio[ext=m4a]/best[ext=mp4]/best' https://www.youtube.com/watch?v=7E-cwdnsiow +``` + +If you want to download them with custom filename, do: + +``` +$ youtube-dl -f mp4 -o '%(title)s.f%(format_id)s.%(ext)s' https://www.youtube.com/watch?v=7E-cwdnsiow +``` + +####### **9. Set size limit for videos + +** + +When you download multiple videos from a playlist, you might want to download videos within a certain size only. + +For example, this command will not download any videos smaller than the given size, say **100MB** : + +``` +$ youtube-dl --min-filesize 100M +``` + +If you don’t want to download videos larger than the given size, do: + +``` +$ youtube-dl --max-filesize 100M +``` + +We can also combine format selection operators to download certain size videos. + +The following command will download best video-only format but **not bigger than 100 MB**. + +``` +$ youtube-dl -f 'best[filesize<100M]' https://www.youtube.com/watch?v=7E-cwdnsiow +``` + +####### **10. Download videos by date-wise + +** + +Youtube-dl allows us to filter and download video or playlist by their upload date. This will be very helpful when you want to download videos from a playlist that contains 100s of videos. + +For instance, to download videos uploaded at an exact date, for example October 01, 2018, the command would be: + +``` +$ youtube-dl --date 20181001 +``` + +Download videos uploaded on or before a specific date: + +``` +$ youtube-dl --datebefore 20180101 +``` + +Download videos uploaded on or after a specific date: + +``` +$ youtube-dl --dateafter 20180101 +``` + +Download only the videos uploaded in the last 6 months: + +``` +$ youtube-dl --dateafter now-6months +``` + +To download videos between a specific date, for example January 01, 2018 to January 01, 2019, use the following command: + +``` +$ youtube-dl --dateafter 20180101 --datebefore 20190101 +``` + +####### **11. Download specific videos from playlist + +** + +This is yet another useful feature of Youtube-dl. It allows us to download a specific song(s) from a playlist that contains 100s of songs. + +For example, to download the 10th file from a playlist, run: + +``` +$ youtube-dl --playlist-items 10 +``` + +Similarly, to download multiple random files, just specify indices of the videos in the playlist separated by commas like below:: + +``` +$ youtube-dl --playlist-items 2,3,7,10 +``` + +You can also specify the range of songs. To download a video playlist starting from a certain video, say 10, to end: + +``` +$ youtube-dl --playlist-start 10 +``` + +To download only the files starting from 2nd to 5th in a playlist, use: + +``` +$ youtube-dl --playlist-start 2 --playlist-end 5 +``` + +####### 12\. Download only videos suitable for specific age + +This is another notable feature of Youtube-dl. It allows us to download only videos suitable for the given age. + +Say for example, to download all “Let’s Play” videos that aren’t marked “NSFW” or age-restricted for 7 year-olds from a playlist, run: + +``` +$ youtube-dl --match-title "let's play" --age-limit 7 --reject-title "nsfw" +``` + +Youtube-dl has a lot more options. I guess these 12 examples are just enough to use Youtube-dl to download videos from online. For more details, refer Youtube-dl help section. + +``` +$ youtube-dl --help +``` + +**Resources:** + + * [**Youtube-dl website**][10] + * [**Youtube-dl GitHub Repository**][11] + * [**https://jonlabelle.com/snippets/view/shell/youtube-dl-command**][12] + + + +-------------------------------------------------------------------------------- + +via: https://www.ostechnix.com/youtube-dl-tutorial-with-examples-for-beginners/ + +作者:[sk][a] +选题:[lujun9972][b] +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://www.ostechnix.com/author/sk/ +[b]: https://github.com/lujun9972 +[1]: https://www.ostechnix.com/wp-content/uploads/2019/06/youtube-dl-720x340.png +[2]: https://www.ostechnix.com/clipgrab-youtube-downloader-converter/ +[3]: https://www.ostechnix.com/mps-youtube-commandline-youtube-player-downloader/ +[4]: https://ytdl-org.github.io/youtube-dl/supportedsites.html +[5]: https://www.ostechnix.com/manage-python-packages-using-pip/ +[6]: https://www.ostechnix.com/install-ffmpeg-linux/ +[7]: https://www.ostechnix.com/20-ffmpeg-commands-beginners/ +[8]: https://www.ostechnix.com/wp-content/uploads/2019/06/List-all-available-formats-youtube-dl.png +[9]: https://www.ostechnix.com/wp-content/uploads/2019/06/List-all-available-formats-youtube-dl-1.png +[10]: https://ytdl-org.github.io/youtube-dl/index.html +[11]: https://github.com/ytdl-org/youtube-dl +[12]: https://jonlabelle.com/snippets/view/shell/youtube-dl-command From 36da19c4f4e7f33fb6ab26f802d6c616f95037bd Mon Sep 17 00:00:00 2001 From: darksun Date: Sat, 6 Jul 2019 22:25:27 +0800 Subject: [PATCH 54/61] =?UTF-8?q?=E9=80=89=E9=A2=98:=2020190706=20Install?= =?UTF-8?q?=20NetData=20Performance=20Monitoring=20Tool=20On=20Linux?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit sources/tech/20190706 Install NetData Performance Monitoring Tool On Linux.md --- ...ta Performance Monitoring Tool On Linux.md | 312 ++++++++++++++++++ 1 file changed, 312 insertions(+) create mode 100644 sources/tech/20190706 Install NetData Performance Monitoring Tool On Linux.md diff --git a/sources/tech/20190706 Install NetData Performance Monitoring Tool On Linux.md b/sources/tech/20190706 Install NetData Performance Monitoring Tool On Linux.md new file mode 100644 index 0000000000..a0fa775728 --- /dev/null +++ b/sources/tech/20190706 Install NetData Performance Monitoring Tool On Linux.md @@ -0,0 +1,312 @@ +[#]: collector: (lujun9972) +[#]: translator: ( ) +[#]: reviewer: ( ) +[#]: publisher: ( ) +[#]: url: ( ) +[#]: subject: (Install NetData Performance Monitoring Tool On Linux) +[#]: via: (https://www.ostechnix.com/netdata-real-time-performance-monitoring-tool-linux/) +[#]: author: (sk https://www.ostechnix.com/author/sk/) + +Install NetData Performance Monitoring Tool On Linux +====== + +![][1] + +**NetData** is a distributed, real-time, performance and health monitoring tool for systems and applications. It provides unparalleled insights of everything happening on a system in real-time. You can view the results in a highly interactive web-dashboard. Using Netdata, you can get a clear idea of what is happening now, and what happened before in your systems and applications. You don’t need to be an expert to deploy this tool in your Linux systems. NetData just works fine out of the box with zero configuration, and zero dependencies. Just install this utility and sit back, NetData will take care of the rest. + +It has its own built-in webserver to display the result in graphical format. NetData is quite fast and efficient, and it will immediately start to analyze the performance of your system in no time after installing it. It is written using **C** programming language, so it is extremely light weight. It consumes less than 3% of a single core CPU usage and a 10-15MB of RAM. We can easily embed the charts on any existing web pages, and also it has a plugin API, so that you can monitor any application. + +Here is the list of things that will be monitored by NetData utility in your Linux system. + + * CPU usage, + * RAM Usage, + * Swap memory usage, + * Kernel memory usage, + * Hard disks and its usage, + * Network interfaces, + * IPtables, + * Netfilter, + * DDoS protection, + * Processes, + * Applications, + * NFS server, + * Web server (Apache & Nginx), + * Database servers (MySQL), + * DHCP server, + * DNS server, + * Email serve,r + * Proxy server, + * Tomcat, + * PHP, + * SNP devices, + * And many more. + + + +NetData is free, open source tool and it supports Linux, FreeBSD and Mac OS. + +### Install NetData On Linux + +Netdata can be installed on any Linux distributions that have **Bash** installed. + +The easiest way to install Netdata is to run the following one-liner command from the Terminal: + +``` +$ bash <(curl -Ss https://my-netdata.io/kickstart-static64.sh) +``` + +This will download and install everything needed to up and run Netdata. + +Some users may not want to inject something directly into Bash without investigating it. If you don’t like this method, you can follow the steps below to install it on your system. + +**On Arch Linux:** + +The latest version is available in the Arch Linux default repositories. So, we can install it with [**pacman**][2] using command: + +``` +$ sudo pacman -S netdata +``` + +**On DEB and RPM-based systems** + +NetData is not available in the default repositories of DEB based (Ubuntu / Debian) or RPM based (RHEL / CentOS / Fedora) systems. We need to install NetData manually from its Git repository. + +First install the required dependencies: + +``` +# Debian / Ubuntu +$ sudo apt-get install zlib1g-dev uuid-dev libuv1-dev liblz4-dev libjudy-dev libssl-dev libmnl-dev gcc make git autoconf autoconf-archive autogen automake pkg-config curl + +# Fedora +$ sudo dnf install zlib-devel libuuid-devel libuv-devel lz4-devel Judy-devel openssl-devel libmnl-devel gcc make git autoconf autoconf-archive autogen automake pkgconfig curl findutils + +# CentOS / Red Hat Enterprise Linux +$ sudo yum install epel-release +$ sudo yum install autoconf automake curl gcc git libmnl-devel libuuid-devel openssl-devel libuv-devel lz4-devel Judy-devel lm_sensors make MySQL-python nc pkgconfig python python-psycopg2 PyYAML zlib-devel + +# openSUSE +$ sudo zypper install zlib-devel libuuid-devel libuv-devel liblz4-devel judy-devel openssl-devel libmnl-devel gcc make git autoconf autoconf-archive autogen automake pkgconfig curl findutils +``` + +After installing the required dependencies, install NetData on DEB or RPM based systems as shown below. + +Git clone the NetData repository: + +``` +$ git clone https://github.com/netdata/netdata.git --depth=100 +``` + +The above command will create a directory called **‘netdata’** in the current working directory. + +Change to the ‘netdata’ directory: + +``` +$ cd netdata/ +``` + +Finally, install and start NetData using command: + +``` +$ sudo ./netdata-installer.sh +``` + +**Sample output:** + +``` +Welcome to netdata! +Nice to see you are giving it a try! + +You are about to build and install netdata to your system. + +It will be installed at these locations: + +- the daemon at /usr/sbin/netdata + - config files at /etc/netdata + - web files at /usr/share/netdata + - plugins at /usr/libexec/netdata + - cache files at /var/cache/netdata + - db files at /var/lib/netdata + - log files at /var/log/netdata + - pid file at /var/run + +This installer allows you to change the installation path. +Press Control-C and run the same command with --help for help. + +Press ENTER to build and install netdata to your system > ## Press ENTER key +``` + +After installing NetData, you will see the following output at the end: + +``` +------------------------------------------------------------------------------- + +OK. NetData is installed and it is running (listening to *:19999). + +------------------------------------------------------------------------------- + +INFO: Command line options changed. -pidfile, -nd and -ch are deprecated. +If you use custom startup scripts, please run netdata -h to see the +corresponding options and update your scripts. + +Hit http://localhost:19999/ from your browser. + +To stop netdata, just kill it, with: + +killall netdata + +To start it, just run it: + +/usr/sbin/netdata + + +Enjoy! + +Uninstall script generated: ./netdata-uninstaller.sh +``` + +![][3] + +Install NetData + +NetData has been installed and started. + +To install Netdata on other Linux distributions, refer the [**official installation instructions page**][4]. + +##### Allow NetData default port via Firewall or Router + +If your system stays behind any firewall or router, you must allow the default port **19999** to access the NetData web interface from any remote systems on the network,. + +**On Ubuntu / Debian:** + +``` +$ sudo ufw allow 19999 +``` + +**On CentOS / RHEL / Fedora:** + +``` +$ sudo firewall-cmd --permanent --add-port=19999/tcp + +$ sudo firewall-cmd --reload +``` + +### Starting / Stopping NetData + +To enable and start Netdata service on systems that use **Systemd** , run: + +``` +$ sudo systemctl enable netdata + +$ sudo systemctl start netdata +``` + +To stop: + +``` +$ sudo systemctl stop netdata +``` + +To enable and start Netdata service on systems that use **Init** , run: + +``` +$ sudo service netdata start + +$ sudo chkconfig netdata on +``` + +To stop it: + +``` +$ sudo service netdata stop +``` + +### Access NetData via Web browser + +Open your web browser, and navigate to **** or **** or ****. You should see a screen something like below. + +![][5] + +Netdata dashboard + +From the dashboard, you will find the complete statistics of your Linux system. Scroll down to view each section. + +You can download and/or view NetData default configuration file at any time by simply navigating to ****. + +![][6] + +Netdata configuration file + +### Updating NetData + +In Arch Linux, just run the following command to update NetData. If the updated version is available in the repository, it will be automatically installed. + +``` +$ sudo pacman -Syyu +``` + +In DEB or RPM based systems, just go to the directory where you have cloned it (In our case it’s netdata). + +``` +$ cd netdata +``` + +Pull the latest update: + +``` +$ git pull +``` + +Then, rebuild and update it using command: + +``` +$ sudo ./netdata-installer.sh +``` + +### Uninstalling NetData + +Go to the location where you have cloned NetData. + +``` +$ cd netdata +``` + +Then, uninstall it using command: + +``` +$ sudo ./netdata-uninstaller.sh --force +``` + +In Arch Linux, the following command will uninstall it. + +``` +$ sudo pacman -Rns netdata +``` + +**Resources:** + + * [**NetData website**][7] + * [**NetData GitHub page**][8] + + + +-------------------------------------------------------------------------------- + +via: https://www.ostechnix.com/netdata-real-time-performance-monitoring-tool-linux/ + +作者:[sk][a] +选题:[lujun9972][b] +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://www.ostechnix.com/author/sk/ +[b]: https://github.com/lujun9972 +[1]: https://www.ostechnix.com/wp-content/uploads/2016/06/Install-netdata-720x340.png +[2]: https://www.ostechnix.com/getting-started-pacman/ +[3]: https://www.ostechnix.com/wp-content/uploads/2016/06/Deepin-Terminal_002-6.png +[4]: https://docs.netdata.cloud/packaging/installer/ +[5]: https://www.ostechnix.com/wp-content/uploads/2016/06/Netdata-dashboard.png +[6]: https://www.ostechnix.com/wp-content/uploads/2016/06/Netdata-config-file.png +[7]: http://netdata.firehol.org/ +[8]: https://github.com/firehol/netdata From f2ee58b43ff875604fd315330096eebe03e243b1 Mon Sep 17 00:00:00 2001 From: darksun Date: Sun, 7 Jul 2019 08:28:41 +0800 Subject: [PATCH 55/61] =?UTF-8?q?=E9=80=89=E9=A2=98:=2020190630=20Donald?= =?UTF-8?q?=20Trump=20Now=20Wants=20to=20Ban=20End-to-End=20Encryption?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit sources/news/20190630 Donald Trump Now Wants to Ban End-to-End Encryption.md --- ... Now Wants to Ban End-to-End Encryption.md | 49 +++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 sources/news/20190630 Donald Trump Now Wants to Ban End-to-End Encryption.md diff --git a/sources/news/20190630 Donald Trump Now Wants to Ban End-to-End Encryption.md b/sources/news/20190630 Donald Trump Now Wants to Ban End-to-End Encryption.md new file mode 100644 index 0000000000..f4fadd248e --- /dev/null +++ b/sources/news/20190630 Donald Trump Now Wants to Ban End-to-End Encryption.md @@ -0,0 +1,49 @@ +[#]: collector: (lujun9972) +[#]: translator: ( ) +[#]: reviewer: ( ) +[#]: publisher: ( ) +[#]: url: ( ) +[#]: subject: (Donald Trump Now Wants to Ban End-to-End Encryption) +[#]: via: (https://news.softpedia.com/news/donald-trump-now-wants-to-ban-end-to-end-encryption-526567.shtml) +[#]: author: (Bogdan Popa https://news.softpedia.com/editors/browse/bogdan-popa) + +Donald Trump Now Wants to Ban End-to-End Encryption +====== + +**After[banning][1] and [unbanning][2] Huawei, United States President Donald Trump is now planning to go after end-to-end encryption, with a new report claiming that senior White House officials met this week to discuss the first step the administration could make in this regard.** + +[Politico][3] notes, citing three people familiar with the matter, that number two officials from several key agencies discussed a potential offensive against end-to-end encryption. + +“The two paths were to either put out a statement or a general position on encryption, and [say] that they would continue to work on a solution, or to ask Congress for legislation,” one source was quoted as saying by the cited publication. + +While the White House administration wants to kill off end-to-end encryption in software developed by American companies, this proposal was received with mixed reactions from representatives of various agencies in the country. + +For example, the DHS “is internally divided,” Politico notes, as the agency is aware of the security implications that banning end-to-end encryption could generate. + +### The encryption dispute + +Pushing for regulations against end-to-end encryption is described as a decisive step in the efforts of intelligence agencies and law enforcement in the United States to access devices and data belonging to criminals and terrorists. + +The encryption, which the majority of American companies have already bundled into their products, including here Apple and Google, blocks investigators from accessing suspects’ data. Tech companies position end-to-end encryption as a key privacy feature, and several of them have warned that any regulation against it could even affect national security. + +Apple, in particular, is one of the biggest companies fighting against anti-encryption regulation. The company [**refused to unlock an iPhone used by the San Bernardino terrorist**][4], explaining that breaking into the device would have compromised the security of all customers. + +The FBI eventually unlocked the device using software developed by a third-party. + +-------------------------------------------------------------------------------- + +via: https://news.softpedia.com/news/donald-trump-now-wants-to-ban-end-to-end-encryption-526567.shtml + +作者:[Bogdan Popa;Jun][a] +选题:[lujun9972][b] +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://news.softpedia.com/editors/browse/bogdan-popa +[b]: https://github.com/lujun9972 +[1]: https://news.softpedia.com/news/google-bans-huawei-from-using-android-google-play-gmail-other-services-526083.shtml +[2]: https://news.softpedia.com/news/breaking-donald-trump-says-huawei-can-buy-american-products-again-526564.shtml +[3]: https://www.politico.com/story/2019/06/27/trump-officials-weigh-encryption-crackdown-1385306 +[4]: https://news.softpedia.com/news/judge-orders-apple-to-help-the-fbi-hack-san-bernardino-shooter-s-iphone-500517.shtml From d19e69ac905e89aeb654789bdb5caa8813eb91e0 Mon Sep 17 00:00:00 2001 From: darksun Date: Sun, 7 Jul 2019 08:30:31 +0800 Subject: [PATCH 56/61] =?UTF-8?q?=E9=80=89=E9=A2=98:=2020190705=20Lessons?= =?UTF-8?q?=20in=20Vendor=20Lock-in:=20Google=20and=20Huawei?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit sources/talk/20190705 Lessons in Vendor Lock-in- Google and Huawei.md --- ...ns in Vendor Lock-in- Google and Huawei.md | 59 +++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 sources/talk/20190705 Lessons in Vendor Lock-in- Google and Huawei.md diff --git a/sources/talk/20190705 Lessons in Vendor Lock-in- Google and Huawei.md b/sources/talk/20190705 Lessons in Vendor Lock-in- Google and Huawei.md new file mode 100644 index 0000000000..fef21470c9 --- /dev/null +++ b/sources/talk/20190705 Lessons in Vendor Lock-in- Google and Huawei.md @@ -0,0 +1,59 @@ +[#]: collector: (lujun9972) +[#]: translator: ( ) +[#]: reviewer: ( ) +[#]: publisher: ( ) +[#]: url: ( ) +[#]: subject: (Lessons in Vendor Lock-in: Google and Huawei) +[#]: via: (https://www.linuxjournal.com/content/lessons-vendor-lock-google-and-huawei) +[#]: author: (Kyle Rankin https://www.linuxjournal.com/users/kyle-rankin) + +Lessons in Vendor Lock-in: Google and Huawei +====== +![](https://www.linuxjournal.com/sites/default/files/styles/850x500/public/nodeimage/story/bigstock-Us--China-Trade-War-Boxing-F-252887971_1.jpg?itok=oZBwXDrP) + +What happens when you're locked in to a vendor that's too big to fail, but is on the opposite end of a trade war? + +The story of Google no longer giving Huawei access to Android updates is still developing, so by the time you read this, the situation may have changed. At the moment, Google has granted Huawei a 90-day window whereby it will have access to Android OS updates, the Google Play store and other Google-owned Android assets. After that point, due to trade negotiations between the US and China, Huawei no longer will have that access. + +Whether or not this new policy between Google and Huawei is still in place when this article is published, this article isn't about trade policy or politics. Instead, I'm going to examine this as a new lesson in vendor lock-in that I don't think many have considered before: what happens when the vendor you rely on is forced by its government to stop you from being a customer? + +### Too Big to Fail + +Vendor lock-in isn't new, but until the last decade or so, it generally was thought of by engineers as a bad thing. Companies would take advantage the fact that you used one of their products that was legitimately good to use the rest of their products that may or may not be as good as those from their competitors. People felt the pain of being stuck with inferior products and rebelled. + +These days, a lot of engineers have entered the industry in a world where the new giants of lock-in are still growing and have only flexed their lock-in powers a bit. Many engineers shrug off worries about choosing a solution that requires you to use only products from one vendor, in particular if that vendor is a large enough company. There is an assumption that those companies are too big ever to fail, so why would it matter that you rely on them (as many companies in the cloud do) for every aspect of their technology stack? + +Many people who justify lock-in with companies who are too big to fail point to all of the even more important companies who use that vendor who would have even bigger problems should that vendor have a major bug, outage or go out of business. It would take so much effort to use cross-platform technologies, the thinking goes, when the risk of going all-in with a single vendor seems so small. + +Huawei also probably figured (rightly) that Google and Android were too big to fail. Why worry about the risks of being beholden to a single vendor for your OS when that vendor was used by other large companies and would have even bigger problems if the vendor went away? + +### The Power of Updates + +Google held a particularly interesting and subtle bit of lock-in power over Huawei (and any phone manufacturer who uses Android)—the power of software updates. This form of lock-in isn't new. Microsoft famously used the fact that software updates in Microsoft Office cost money (naturally, as it was selling that software) along with the fact that new versions of Office had this tendency to break backward compatibility with older document formats to encourage everyone to upgrade. The common scenario was that the upper-level folks in the office would get brand-new, cutting-edge computers with the latest version of Office on them. They would start saving new documents and sharing them, and everyone else wouldn't be able to open them. It ended up being easier to upgrade everyone's version of Office than to have the bosses remember to save new documents in old formats every time. + +The main difference with Android is that updates are critical not because of compatibility, but for security. Without OS updates, your phone ultimately will become vulnerable to exploits that attackers continue to find in your software. The Android OS that ships on phones is proprietary and therefore requires permission from Google to get those updates. + +Many people still don't think of the Android OS as proprietary software. Although people talk about the FOSS underpinnings in Android, only people who go to the extra effort of getting a pure-FOSS version of Android, like LineageOS, on their phones actually experience it. The version of Android most people tend to use has a bit of FOSS in the center, surrounded by proprietary Google Apps code. + +It's this Google Apps code that gives Google the kind of powerful leverage over a company like Huawei. With traditional Android releases, Google controls access to OS updates including security updates. All of this software is signed with Google's signing keys. This system is built with security in mind—attackers can't easily build their own OS update to install on your phone—but it also has a convenient side effect of giving Google control over the updates. + +What's more, the Google Apps suite isn't just a convenient way to load Gmail or Google Docs, it also includes the tight integration with your Google account and the Google Play store. Without those hooks, you don't have access to the giant library of applications that everyone expects to use on their phones. As anyone with a LineageOS phone that uses F-Droid can attest, while a large number of applications are available in the F-Droid market, you can't expect to see those same apps as on Google Play. Although you can side-load some Google Play apps, many applications, such as Google Maps, behave differently without a Google account. Note that this control isn't unique to Google. Apple uses similar code-signing features with similar restrictions on its own phones and app updates. + +### Conclusion + +Without access to these OS updates, Huawei now will have to decide whether to create its own LineageOS-style Android fork or a whole new phone OS of its own. In either case, it will have to abandon the Google Play Store ecosystem and use F-Droid-style app repositories, or if it goes 100% alone, it will need to create a completely new app ecosystem. If its engineers planned for this situation, then they likely are working on this plan right now; otherwise, they are all presumably scrambling to address an event that "should never happen". Here's hoping that if you find yourself in a similar case of vendor lock-in with an overseas company that's too big to fail, you never get caught in the middle of a trade war. + + +-------------------------------------------------------------------------------- + +via: https://www.linuxjournal.com/content/lessons-vendor-lock-google-and-huawei + +作者:[Kyle Rankin][a] +选题:[lujun9972][b] +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://www.linuxjournal.com/users/kyle-rankin +[b]: https://github.com/lujun9972 From c1117bc7392ced553c4012c3e1cf5ae34fb758f1 Mon Sep 17 00:00:00 2001 From: chen ni Date: Sun, 7 Jul 2019 08:51:10 +0800 Subject: [PATCH 57/61] =?UTF-8?q?=E7=BF=BB=E8=AF=91=E5=AE=8C=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ... the -Internet Villain- Award in the UK.md | 102 ------------------ ... the -Internet Villain- Award in the UK.md | 101 +++++++++++++++++ 2 files changed, 101 insertions(+), 102 deletions(-) delete mode 100644 sources/tech/20190706 Say WHAAAT- Mozilla has Been Nominated for the -Internet Villain- Award in the UK.md create mode 100644 translated/tech/20190706 Say WHAAAT- Mozilla has Been Nominated for the -Internet Villain- Award in the UK.md diff --git a/sources/tech/20190706 Say WHAAAT- Mozilla has Been Nominated for the -Internet Villain- Award in the UK.md b/sources/tech/20190706 Say WHAAAT- Mozilla has Been Nominated for the -Internet Villain- Award in the UK.md deleted file mode 100644 index 7466550f25..0000000000 --- a/sources/tech/20190706 Say WHAAAT- Mozilla has Been Nominated for the -Internet Villain- Award in the UK.md +++ /dev/null @@ -1,102 +0,0 @@ -[#]: collector: (lujun9972) -[#]: translator: (chen-ni) -[#]: reviewer: ( ) -[#]: publisher: ( ) -[#]: url: ( ) -[#]: subject: (Say WHAAAT? Mozilla has Been Nominated for the “Internet Villain” Award in the UK) -[#]: via: (https://itsfoss.com/mozilla-internet-villain/) -[#]: author: (Ankush Das https://itsfoss.com/author/ankush/) - -Say WHAAAT? Mozilla has Been Nominated for the “Internet Villain” Award in the UK -====== - -Mozilla Firefox is one of the most popular browsers available out there. A lot of users prefer it over Chrome just because it encourages privacy protection and features options to keep your Internet activity as private as possible. - -But, one of the recently proposed features – **[DoH (DNS-over-HTTPS)][1]** which is still in the testing phase didn’t receive a good response from the UK’s ISPs trade association. - -So, the ISPA (Internet Services Providers Association) of UK decided to [nominate][2] Mozilla as one of the “Internet Villains” among the nominees for 2019. This is for an award ceremony to be held on 11th July in London by the ISP trade association of the UK. - -![][3] - -### Why “Mozilla” is the “Internet Villain” here? - -In their announcement, the ISPA mentioned that Mozilla is one of the Internet Villains for supporting **DoH** (DNS-over-HTTPS). - -> [@mozilla][4] is nominated for the [#ISPAs][5] [#InternetVillain][6] for their proposed approach to introduce DNS-over-HTTPS in such a way as to bypass UK filtering obligations and parental controls, undermining [#internet][7] safety standards in the UK. [pic.twitter.com/WeZhLq2uvi][8] -> -> — Internet Services Providers Association (ISPAUK) (@ISPAUK) [July 4, 2019][9] - -Along with Mozilla, Article 13 Copyright Directive and President Donald Trump also appear in the list. Here’s how ISPA explained in their announcement: - -_**Mozilla**_ _– for their proposed approach to introduce DNS-over-HTTPS in such a way as to bypass UK filtering obligations and parental controls, undermining internet safety standards in the UK_. - -**_Article_ _13 Copyright Directive_** _– for threatening freedom of expression online by requiring ‘content recognition technologies’ across platforms_ - -_**President Donald Trump**_ _– for causing a huge amount of uncertainty across the complex, global telecommunications supply chain in the course of trying to protect national security_ - -### What is DNS-over-HTTPS? - -DoH basically means that your DNS requests will be encrypted over an HTTPS connection. - -Traditionally, the DNS requests are unencrypted and your DNS provider or the ISP can monitor/control your browsing activity. Without DoH, you can easily enforce blocking/content filtering through your DNS provider or the ISP can do that when they want. - -[][10] - -Suggested read  Firefox: The Internet's Knight in Shining Armor - -However, DoH completely takes that out of the equation and hence, you get a private browsing experience. - -You can explore [how Mozilla implements this partnering with Cloudflare][11] and set it up for yourself if you want. - -### Is DoH helpful? - -Yes and no. - -Of course, on one side of the coin, it lets user bypass any content filters enforced by the DNS or the ISPs. So, it is a good thing that we want to put a stop to Internet censorship and DoH helps us with that. - -But, on the other side, if you are a parent, you can no longer [set content filters][12] if your kid utilizes DoH on Mozilla Firefox. It depends on how good/bad the [firewall is configured][13]. - -But potentially DoH is a solution for some to bypass parental controls, which could be a bad thing. - -Correct me if I’m wrong here – in the comments below. - -Also, using DoH means that you can no longer use the local host file (in case you are using it for ad blocking or something else) - -### Wrapping Up - -What do you think about DoH in general? Is it good enough? - -And, what’s your take on ISPA’s decision? Do you think that they are encouraging Internet censorship and government monitoring on netizens with this kind of announcement? - -Personally, I find it hilarious. Even if DoH isn’t the ultimate feature that everyone wants, it is always good to have an option to protect your privacy in some way. - -Let us know your thoughts in the comments below. Meanwhile, I’ll just put this quote here: - -> In a time of universal deceit, telling the truth is a revolutionary act - --------------------------------------------------------------------------------- - -via: https://itsfoss.com/mozilla-internet-villain/ - -作者:[Ankush Das][a] -选题:[lujun9972][b] -译者:[译者ID](https://github.com/译者ID) -校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 - -[a]: https://itsfoss.com/author/ankush/ -[b]: https://github.com/lujun9972 -[1]: https://en.wikipedia.org/wiki/DNS_over_HTTPS -[2]: https://www.ispa.org.uk/ispa-announces-finalists-for-2019-internet-heroes-and-villains-trump-and-mozilla-lead-the-way-as-villain-nominees/ -[3]: https://i0.wp.com/itsfoss.com/wp-content/uploads/2019/07/mozilla-internet-villain.jpg?resize=800%2C450&ssl=1 -[4]: https://twitter.com/mozilla?ref_src=twsrc%5Etfw -[5]: https://twitter.com/hashtag/ISPAs?src=hash&ref_src=twsrc%5Etfw -[6]: https://twitter.com/hashtag/InternetVillain?src=hash&ref_src=twsrc%5Etfw -[7]: https://twitter.com/hashtag/internet?src=hash&ref_src=twsrc%5Etfw -[8]: https://t.co/WeZhLq2uvi -[9]: https://twitter.com/ISPAUK/status/1146725374455373824?ref_src=twsrc%5Etfw -[10]: https://itsfoss.com/why-firefox/ -[11]: https://blog.nightly.mozilla.org/2018/06/01/improving-dns-privacy-in-firefox/ -[12]: https://itsfoss.com/how-to-block-porn-by-content-filtering-on-ubuntu/ -[13]: https://itsfoss.com/set-up-firewall-gufw/ diff --git a/translated/tech/20190706 Say WHAAAT- Mozilla has Been Nominated for the -Internet Villain- Award in the UK.md b/translated/tech/20190706 Say WHAAAT- Mozilla has Been Nominated for the -Internet Villain- Award in the UK.md new file mode 100644 index 0000000000..281ba28d9f --- /dev/null +++ b/translated/tech/20190706 Say WHAAAT- Mozilla has Been Nominated for the -Internet Villain- Award in the UK.md @@ -0,0 +1,101 @@ +[#]: collector: (lujun9972) +[#]: translator: (chen-ni) +[#]: reviewer: ( ) +[#]: publisher: ( ) +[#]: url: ( ) +[#]: subject: (Say WHAAAT? Mozilla has Been Nominated for the “Internet Villain” Award in the UK) +[#]: via: (https://itsfoss.com/mozilla-internet-villain/) +[#]: author: (Ankush Das https://itsfoss.com/author/ankush/) + +什么?Mozilla 被提名英国“互联网恶棍”奖 +====== + +Mozilla Firefox 是目前最流行的浏览器之一。很多用户喜欢它胜过 Chrome 就是因为它鼓励隐私保护,并且可以通过一些选项设置让你的互联网活动尽可能地私密。 + +不过最近推出的功能之一 —— 仍然处于测试阶段的 **[DoH (DNS-over-HTTPS)][1]** 功能却受到了英国互联网服务提供商行业协会的负面评价。 + +英国互联网服务提供商行业协会(Internet Services Providers Association,简称 ISPA)决定将 Mozilla 列入 2019 年“互联网恶棍”奖的最终入围者名单。该奖项将在 ISPA 于 7 月 11 日在伦敦举行的颁奖典礼上进行颁发。 + +![][3] + +### 为什么说 “Mozilla” 是 “互联网恶棍”? + +ISPA 在他们的声明中表示,Mozilla 因为支持了 **DoH**(DNS-over-HTTPS)而被视为“互联网恶棍”。 + +> [@mozilla][4] 被提名为 [#ISPA][5] 的 [#互联网恶棍][6] 是因为他们试图推行 DNS-over-HTTPS 以绕开英国的内容过滤系统和家长监护模式,破坏了英国 [#互联网][7] 安全准则。 [pic.twitter.com/WeZhLq2uvi][8] +> +> — 英国互联网提供商行业协会 (ISPAUK) (@ISPAUK) [2019 年 7 月 4 日][9] + + +和 Mozilla 一同被列入最终入围者名单的还有欧盟版权指令第 13 条和美国总统特朗普。ISPA 在他们的声明里是这样解释的: + +**Mozilla**:因为试图推行 DNS-over-HTTPS 以绕开英国的内容过滤系统和家长监护模式,破坏了英国互联网安全准则。 + +**欧盟版权指令第 13 条**:因为要求各平台使用“内容识别技术”,威胁到了线上言论自由。 + +**美国总统特朗普**:因为在试图保护国家安全的过程中,为复杂的全球通信供应链带来了巨大的不确定性。 + +### 什么是 DNS-over-HTTPS? + +你可以将 DoH 理解为,域名解析服务(DNS)的请求在 HTTPS 连接中会被加密。 + +传统意义上的 DNS 请求是不会被加密的,因此你的 DNS 提供商或者是互联网服务提供商可以监视或者是控制你的浏览行为。如果没有 DoH,你很容易被 DNS 提供商强制推行拦截和内容过滤系统,并且你的互联网服务提供商也同样可以做到。 + +[][10] + +然而 DoH 颠覆了这一点,可以让你得到一个私密的浏览体验。 + +你可以研究一下 [Mozilla 是如何开展和 Cloudflare 的合作的][11],并且可以自己配置一下 DoH(如果需要的话)。 + +### DoH 有用吗? + +既有用又没有用。 + +当然了,从事情的一方面来看,DoH 可以帮助用户绕过 DNS 或者互联网服务提供商推行的内容过滤系统。如果说 DoH 有助于满足我们避开互联网审查的需求,那么它是一件好事情。 + +不过从事情的另一方面来看,如果你是一位家长,而你的孩子在 Mozilla Firefox 上使用了 DoH 的话,你就无法 [设置内容过滤器][12] 了。这取决于 [防火墙配置][13] 的好坏。 + +DoH 可能会成为一些人绕过家长监护的手段,这可能不是一件好事。 + +如果我这样的说法有问题,你可以在下面的评论区纠正我。 + +并且,使用 DoH 就意味着你没办法使用本地 host 文件了(如果你正用它作为广告拦截或者是其它用途的话)。 + +### 总结 + +你是如何看待 DoH 的呢?它足够好吗? + +你又是如何看待 ISPA 的决定的呢?你觉得他们这样的声明是不是在鼓励互联网审查和政府对网民的监控呢? + +我个人觉得这个决定非常可笑。即使 DoH 并不是所有人都需要的那个终极功能,能够有一种保护个人隐私的选择也总不是件坏事。 + +在下面的评论区里发表你的看法吧。最后我想引用这么一句话: + +> 在谎言遍地的时代,说真话是一种革命行为。(LCTT 译注:引自乔治奥威尔) + +-------------------------------------------------------------------------------- + +via: https://itsfoss.com/mozilla-internet-villain/ + +作者:[Ankush Das][a] +选题:[lujun9972][b] +译者:[chen-ni](https://github.com/chen-ni) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://itsfoss.com/author/ankush/ +[b]: https://github.com/lujun9972 +[1]: https://en.wikipedia.org/wiki/DNS_over_HTTPS +[2]: https://www.ispa.org.uk/ispa-announces-finalists-for-2019-internet-heroes-and-villains-trump-and-mozilla-lead-the-way-as-villain-nominees/ +[3]: https://i0.wp.com/itsfoss.com/wp-content/uploads/2019/07/mozilla-internet-villain.jpg?resize=800%2C450&ssl=1 +[4]: https://twitter.com/mozilla?ref_src=twsrc%5Etfw +[5]: https://twitter.com/hashtag/ISPAs?src=hash&ref_src=twsrc%5Etfw +[6]: https://twitter.com/hashtag/InternetVillain?src=hash&ref_src=twsrc%5Etfw +[7]: https://twitter.com/hashtag/internet?src=hash&ref_src=twsrc%5Etfw +[8]: https://t.co/WeZhLq2uvi +[9]: https://twitter.com/ISPAUK/status/1146725374455373824?ref_src=twsrc%5Etfw +[10]: https://itsfoss.com/why-firefox/ +[11]: https://blog.nightly.mozilla.org/2018/06/01/improving-dns-privacy-in-firefox/ +[12]: https://itsfoss.com/how-to-block-porn-by-content-filtering-on-ubuntu/ +[13]: https://itsfoss.com/set-up-firewall-gufw/ From f0fbeff57673a584e1fe162efefd67ff429bc850 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Sun, 7 Jul 2019 10:38:10 +0800 Subject: [PATCH 58/61] PRF MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @chen-ni 翻译的很好 --- ... the -Internet Villain- Award in the UK.md | 29 +++++++++---------- 1 file changed, 14 insertions(+), 15 deletions(-) diff --git a/translated/tech/20190706 Say WHAAAT- Mozilla has Been Nominated for the -Internet Villain- Award in the UK.md b/translated/tech/20190706 Say WHAAAT- Mozilla has Been Nominated for the -Internet Villain- Award in the UK.md index 281ba28d9f..60d85ab16a 100644 --- a/translated/tech/20190706 Say WHAAAT- Mozilla has Been Nominated for the -Internet Villain- Award in the UK.md +++ b/translated/tech/20190706 Say WHAAAT- Mozilla has Been Nominated for the -Internet Villain- Award in the UK.md @@ -1,47 +1,46 @@ [#]: collector: (lujun9972) [#]: translator: (chen-ni) -[#]: reviewer: ( ) +[#]: reviewer: (wxy) [#]: publisher: ( ) [#]: url: ( ) [#]: subject: (Say WHAAAT? Mozilla has Been Nominated for the “Internet Villain” Award in the UK) [#]: via: (https://itsfoss.com/mozilla-internet-villain/) [#]: author: (Ankush Das https://itsfoss.com/author/ankush/) -什么?Mozilla 被提名英国“互联网恶棍”奖 +什么?!Mozilla 被提名英国“互联网恶棍”奖 ====== Mozilla Firefox 是目前最流行的浏览器之一。很多用户喜欢它胜过 Chrome 就是因为它鼓励隐私保护,并且可以通过一些选项设置让你的互联网活动尽可能地私密。 -不过最近推出的功能之一 —— 仍然处于测试阶段的 **[DoH (DNS-over-HTTPS)][1]** 功能却受到了英国互联网服务提供商行业协会的负面评价。 +不过最近推出的功能之一 —— 仍然处于测试阶段的 [DoH (DNS-over-HTTPS)][1] 功能却受到了英国互联网服务提供商行业协会的负面评价。 -英国互联网服务提供商行业协会(Internet Services Providers Association,简称 ISPA)决定将 Mozilla 列入 2019 年“互联网恶棍”奖的最终入围者名单。该奖项将在 ISPA 于 7 月 11 日在伦敦举行的颁奖典礼上进行颁发。 +英国互联网服务提供商行业协会Internet Services Providers Association(ISPA)决定将 Mozilla 列入 2019 年“互联网恶棍”奖的最终入围者名单。该奖项将在 ISPA 于 7 月 11 日在伦敦举行的颁奖典礼上进行颁发。 ![][3] ### 为什么说 “Mozilla” 是 “互联网恶棍”? -ISPA 在他们的声明中表示,Mozilla 因为支持了 **DoH**(DNS-over-HTTPS)而被视为“互联网恶棍”。 +ISPA 在他们的声明中表示,Mozilla 因为支持了 DoH(DNS-over-HTTPS)而被视为“互联网恶棍”。 > [@mozilla][4] 被提名为 [#ISPA][5] 的 [#互联网恶棍][6] 是因为他们试图推行 DNS-over-HTTPS 以绕开英国的内容过滤系统和家长监护模式,破坏了英国 [#互联网][7] 安全准则。 [pic.twitter.com/WeZhLq2uvi][8] > > — 英国互联网提供商行业协会 (ISPAUK) (@ISPAUK) [2019 年 7 月 4 日][9] +![](https://pbs.twimg.com/media/D-n8WlvX4AAnWIW.jpg) -和 Mozilla 一同被列入最终入围者名单的还有欧盟版权指令第 13 条和美国总统特朗普。ISPA 在他们的声明里是这样解释的: +和 Mozilla 一同被列入最终入围者名单的还有欧盟《版权法第 13 条》和美国总统特朗普。ISPA 在他们的声明里是这样解释的: **Mozilla**:因为试图推行 DNS-over-HTTPS 以绕开英国的内容过滤系统和家长监护模式,破坏了英国互联网安全准则。 -**欧盟版权指令第 13 条**:因为要求各平台使用“内容识别技术”,威胁到了线上言论自由。 +**欧盟《版权法第 13 条》**:因为要求各平台使用“内容识别技术”,威胁到了线上言论自由。 -**美国总统特朗普**:因为在试图保护国家安全的过程中,为复杂的全球通信供应链带来了巨大的不确定性。 +**美国总统特朗普**:因为在试图保护其国家安全的过程中,为复杂的全球通信供应链带来了巨大的不确定性。 ### 什么是 DNS-over-HTTPS? -你可以将 DoH 理解为,域名解析服务(DNS)的请求在 HTTPS 连接中会被加密。 +你可以将 DoH 理解为,域名解析服务(DNS)的请求通过 HTTPS 连接加密传输。 -传统意义上的 DNS 请求是不会被加密的,因此你的 DNS 提供商或者是互联网服务提供商可以监视或者是控制你的浏览行为。如果没有 DoH,你很容易被 DNS 提供商强制推行拦截和内容过滤系统,并且你的互联网服务提供商也同样可以做到。 - -[][10] +传统意义上的 DNS 请求是不会被加密的,因此你的 DNS 提供商或者是互联网服务提供商(ISP)可以监视或者是控制你的浏览行为。如果没有 DoH,你很容易被 DNS 提供商强制拦截和进行内容过滤,并且你的互联网服务提供商也同样可以做到。 然而 DoH 颠覆了这一点,可以让你得到一个私密的浏览体验。 @@ -51,7 +50,7 @@ ISPA 在他们的声明中表示,Mozilla 因为支持了 **DoH**(DNS-over-HT 既有用又没有用。 -当然了,从事情的一方面来看,DoH 可以帮助用户绕过 DNS 或者互联网服务提供商推行的内容过滤系统。如果说 DoH 有助于满足我们避开互联网审查的需求,那么它是一件好事情。 +当然了,从事情的一方面来看,DoH 可以帮助用户绕过 DNS 或者互联网服务提供商强制的内容过滤系统。如果说 DoH 有助于满足我们避开互联网审查的需求,那么它是一件好事情。 不过从事情的另一方面来看,如果你是一位家长,而你的孩子在 Mozilla Firefox 上使用了 DoH 的话,你就无法 [设置内容过滤器][12] 了。这取决于 [防火墙配置][13] 的好坏。 @@ -67,7 +66,7 @@ DoH 可能会成为一些人绕过家长监护的手段,这可能不是一件 你又是如何看待 ISPA 的决定的呢?你觉得他们这样的声明是不是在鼓励互联网审查和政府对网民的监控呢? -我个人觉得这个决定非常可笑。即使 DoH 并不是所有人都需要的那个终极功能,能够有一种保护个人隐私的选择也总不是件坏事。 +我个人觉得这个提名决定非常可笑。即使 DoH 并不是所有人都需要的那个终极功能,能够有一种保护个人隐私的选择也总不是件坏事。 在下面的评论区里发表你的看法吧。最后我想引用这么一句话: @@ -80,7 +79,7 @@ via: https://itsfoss.com/mozilla-internet-villain/ 作者:[Ankush Das][a] 选题:[lujun9972][b] 译者:[chen-ni](https://github.com/chen-ni) -校对:[校对者ID](https://github.com/校对者ID) +校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 From 0af8654ac7a91c46f4c391adafe49c7ccaf65d4c Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Sun, 7 Jul 2019 10:39:13 +0800 Subject: [PATCH 59/61] PUB @chen-ni https://linux.cn/article-11068-1.html --- ...en Nominated for the -Internet Villain- Award in the UK.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) rename {translated/tech => published}/20190706 Say WHAAAT- Mozilla has Been Nominated for the -Internet Villain- Award in the UK.md (98%) diff --git a/translated/tech/20190706 Say WHAAAT- Mozilla has Been Nominated for the -Internet Villain- Award in the UK.md b/published/20190706 Say WHAAAT- Mozilla has Been Nominated for the -Internet Villain- Award in the UK.md similarity index 98% rename from translated/tech/20190706 Say WHAAAT- Mozilla has Been Nominated for the -Internet Villain- Award in the UK.md rename to published/20190706 Say WHAAAT- Mozilla has Been Nominated for the -Internet Villain- Award in the UK.md index 60d85ab16a..feddddee95 100644 --- a/translated/tech/20190706 Say WHAAAT- Mozilla has Been Nominated for the -Internet Villain- Award in the UK.md +++ b/published/20190706 Say WHAAAT- Mozilla has Been Nominated for the -Internet Villain- Award in the UK.md @@ -1,8 +1,8 @@ [#]: collector: (lujun9972) [#]: translator: (chen-ni) [#]: reviewer: (wxy) -[#]: publisher: ( ) -[#]: url: ( ) +[#]: publisher: (wxy) +[#]: url: (https://linux.cn/article-11068-1.html) [#]: subject: (Say WHAAAT? Mozilla has Been Nominated for the “Internet Villain” Award in the UK) [#]: via: (https://itsfoss.com/mozilla-internet-villain/) [#]: author: (Ankush Das https://itsfoss.com/author/ankush/) From e14be5c440e679a06245aa14ea96175a5ed2c415 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Sun, 7 Jul 2019 11:18:05 +0800 Subject: [PATCH 60/61] PRF --- ...90627 How to use Tig to browse Git logs.md | 108 ++++++++---------- 1 file changed, 47 insertions(+), 61 deletions(-) diff --git a/translated/tech/20190627 How to use Tig to browse Git logs.md b/translated/tech/20190627 How to use Tig to browse Git logs.md index 16993a0012..59fe3efea7 100644 --- a/translated/tech/20190627 How to use Tig to browse Git logs.md +++ b/translated/tech/20190627 How to use Tig to browse Git logs.md @@ -1,6 +1,6 @@ [#]: collector: (lujun9972) [#]: translator: (geekpi) -[#]: reviewer: ( ) +[#]: reviewer: (wxy) [#]: publisher: ( ) [#]: url: ( ) [#]: subject: (How to use Tig to browse Git logs) @@ -9,14 +9,16 @@ 如何使用 Tig 浏览 Git 日志 ====== -Tig不仅仅是 Git 的文本界面。以下是它如何增强你的日常工作流程。 -![A person programming][1] -如果你使用 Git 作为你的版本控制系统,你可能已经让自己接受 Git 是一个复杂的野兽。它是一个很棒的工具,但在 Git 仓库查找可能很麻烦。因此像 [Tig][2] 这样的工具出现了。 +> Tig 可不仅仅是 Git 的文本界面。以下是它如何增强你的日常工作流程。 + +![](https://img.linux.net.cn/data/attachment/album/201907/07/111847v1zx3qk5qqhklyjp.png) + +如果你使用 Git 作为你的版本控制系统,你可能已经让自己接受了 Git 是一个复杂的野兽的事实。它是一个很棒的工具,但浏览 Git 仓库可能很麻烦。因此像 [Tig][2] 这样的工具出现了。 来自 [Tig 手册页][3]: -> Tig 是 git(1) 的基于 ncurses 的文本界面。它主要用作 Git 仓库浏览器,但也有助于在块级别暂存提交更改,并显示各种 Git 命令的输出。 +> Tig 是 `git`(1) 的基于 ncurses 的文本界面。它主要用作 Git 仓库浏览器,但也有助于在块级别暂存提交更改,并作为各种 Git 命令的输出分页器。 这基本上意味着 Tig 提供了一个可以在终端中运行的基于文本的用户界面。Tig 可以让你轻松浏览你的 Git 日志,但它可以做的远不止让你从最后的提交跳到前一个提交。 @@ -26,170 +28,154 @@ Tig不仅仅是 Git 的文本界面。以下是它如何增强你的日常工作 ### 安装 Tig - * Fedora 和 RHEL: **sudo dnf install tig** - * Ubuntu 和 Debian: **sudo apt install tig** - * MacOS:**:brew install tig** +* Fedora 和 RHEL: `sudo dnf install tig` +* Ubuntu 和 Debian: `sudo apt install tig` +* MacOS: `:brew install tig` - - -有关更多选项,请参阅官方[安装说明][5]。 +有关更多方式,请参阅官方[安装说明][5]。 ### 浏览当前分支中的提交 如果要浏览分支中的最新提交,请输入: - ``` -`tig` +tig ``` -这是这样。这个三字符命令将启动一个浏览器,你可以在其中导航当前分支中的提交。你可以将其视为 **git log** 的封装器。 +就是这样。这个三字符命令将启动一个浏览器,你可以在其中浏览当前分支中的提交。你可以将其视为 `git log` 的封装器。 -要浏览输出,可以使用向上和向下箭头键从一个提交移动到另一个提交。按回车键将会垂直分割窗口,右侧包含所选提交的内容。你可以继续在左侧的提交历史记录中上下浏览,你的更改将显示在右侧。使用 **k** 和 **j** 逐行上下浏览,**-** 和空格键在右侧上下翻页。使用 **q** 退出右侧窗格。 +要浏览这些输出,可以使用向上和向下箭头键从一个提交移动到另一个提交。按回车键将会垂直分割窗口,右侧包含所选提交的内容。你可以继续在左侧的提交历史记录中上下浏览,你的更改将显示在右侧。使用 `k` 和 `j` 可以逐行上下浏览,`-` 和空格键可以在右侧上下翻页。使用 `q` 退出右侧窗格。 -搜索 **tig** 输出也很简单。使用 **/** 向前搜索,使用 **?** 在左右窗格中向后搜索。 +搜索 `tig` 输出也很简单。使用 `/` (向前)或 `?` (向后)在左右窗格中搜索。 ![Searching Tig][6] -这足以让你开始浏览你的提交。这里有很多的键绑定,但单击 **h** 将显示“帮助”菜单,你可以在其中发现其导航和命令选项。你还可以使用 **/** 和 **?** 来搜索“帮助”菜单。使用 **q** 退出帮助。 +这些就足以让你浏览你的提交信息了。这里有很多的键绑定,但单击 `h` 将显示“帮助”菜单,你可以在其中发现其导航和命令选项。你还可以使用 `/` 和 `?` 来搜索“帮助”菜单。使用 `q` 退出帮助。 ![Tig Help][7] ### 浏览单个文件的修改 -由于 Tig 是 **git log** 的封装器,它可以方便地接受可以传递给 **git log** 的相同参数。例如,要浏览单个文件的提交历史记录,请输入: - +由于 Tig 是 `git log` 的封装器,它可以方便地接受可以传递给 `git log` 的相同参数。例如,要浏览单个文件的提交历史记录,请输入: ``` -`tig README.md` +tig README.md ``` 将其与被封装的 Git 命令的输出进行比较,以便更清楚地了解 Tig 如何增强输出。 - ``` -`git log README.md` +git log README.md ``` -要在原始 Git 输出中包含补丁,你可以添加 **-p** 选项: - +要在原始 Git 输出中包含补丁,你可以添加 `-p` 选项: ``` -`git log -p README.md` +git log -p README.md ``` 如果要将提交范围缩小到特定日期范围,请尝试以下操作: - ``` -`tig --after="2017-01-01" --before="2018-05-16" -- README.md` +tig --after="2017-01-01" --before="2018-05-16" -- README.md ``` 再一次,你可以将其与原始的 Git 版本进行比较: ``` -`git log --after="2017-01-01" --before="2018-05-16" -- README.md` +git log --after="2017-01-01" --before="2018-05-16" -- README.md ``` ### 浏览谁更改了文件 有时你想知道谁对文件进行了更改以及原因。命令: - ``` -`tig blame README.md` +tig blame README.md ``` -本质上是 **git blame** 的封装。正如你 所期望的那样,它允许你查看谁是编辑指定行的最后一人,它还允许你查看到引入该行的提交。这有点像 vim 的 **vim-fugitive**插件提供的**:Gblame**命令。 +器本质上是 `git blame` 的封装。正如你所期望的那样,它允许你查看谁是编辑指定行的最后一人,它还允许你查看到引入该行的提交。这有点像 vim 的 `vim-fugitive` 插件提供的 `:Gblame` 命令。 -### 浏览你的暂存 - -如果你像我一样,你可能会在你的暂存处有许多编辑。你很容易忘记它们。你可以通过以下方式查看暂存处中的最新项目: +### 浏览你的暂存区 +如果你像我一样,你可能会在你的暂存区做了许多修改。你很容易忘记它们。你可以通过以下方式查看暂存处中的最新项目: ``` -`git stash show -p stash@{0}` +git stash show -p stash@{0} ``` 你可以通过以下方式找到第二个最新项目: - ``` -`git stash show -p stash@{1}` +git stash show -p stash@{1} ``` -以此类推。如果你在需要它们时调用这些命令,那么你会有比我更清晰的内存。 - +以此类推。如果你在需要它们时调用这些命令,那么你会有比我更清晰的记忆。 与上面的 Git 命令一样,Tig 可以通过简单的调用轻松增强你的 Git 输出: - ``` -`tig stash` +tig stash ``` -尝试在有暂存的仓库中执行此命令。你将能够浏览_并搜索_你的暂存项,快速浏览你的那些修改。 +尝试在有暂存的仓库中执行此命令。你将能够浏览*并搜索*你的暂存项,快速浏览你的那些修改。 ### 浏览你的引用 -git ref 是你提交的东西的哈希值。这包括文件和分支。使用 **tig refs** 命令可以浏览所有引用并深入查看特定提交。 - +Git ref 是指你提交的东西的哈希值。这包括文件和分支。使用 `tig refs` 命令可以浏览所有的 ref 并深入查看特定提交。 ``` -`tig refs` +tig refs ``` -完成后,使用 **q** 回到前面的菜单。 +完成后,使用 `q` 回到前面的菜单。 ### 浏览 git 状态 -如果要查看哪些文件已被暂存,哪些文件未被跟踪,请使用 **tig status**,它是 **git status** 的封装。 +如果要查看哪些文件已被暂存,哪些文件未被跟踪,请使用 `tig status`,它是 `git status` 的封装。 ![Tig status][8] ### 浏览 git grep -你可以使用 **grep** 命令在文本文件中搜索表达式。命令 **tig grep** 允许你导览 **git grep** 的输出。例如: - +你可以使用 `grep` 命令在文本文件中搜索表达式。命令 `tig grep` 允许你浏览 `git grep` 的输出。例如: ``` -`tig grep -i foo lib/Bar` +tig grep -i foo lib/Bar ``` -它会导览 **lib/Bar** 目录中以大小写敏感的方式搜索 **foo** 的输出。 +它会让你浏览 `lib/Bar` 目录中以大小写敏感的方式搜索 `foo` 的输出。 ### 通过标准输入管道输出给 Tig -如果要将提交 ID 列表传递给 Tig,那么必须使用 **\--stdin** 标志,以便 **tig show** 从标准输入读取。否则,**tig show** 会在没有输入的情况下启动(出现空白屏幕)。 - +如果要将提交 ID 列表传递给 Tig,那么必须使用 `--stdin` 标志,以便 `tig show` 从标准输入读取。否则,`tig show` 会在没有输入的情况下启动(出现空白屏幕)。 ``` -`git rev-list --author=olaf HEAD | tig show --stdin` +git rev-list --author=olaf HEAD | tig show --stdin ``` ### 添加自定义绑定 你可以使用 [rc][9] 文件自定义 Tig。以下是如何根据自己的喜好添加一些有用的自定义键绑定的示例。 -在主目录中创建一个名为 **.tigrc** 的文件。在你喜欢的编辑器中打开 **~/.tigrc** 并添加: - +在主目录中创建一个名为 `.tigrc` 的文件。在你喜欢的编辑器中打开 `~/.tigrc` 并添加: ``` -# Apply the selected stash +# 应用选定的暂存内容 bind stash a !?git stash apply %(stash) -# Drop the selected stash item +# 丢弃选定的暂存内容 bind stash x !?git stash drop %(stash) ``` -如上所述,运行 **tig stash** 以浏览你的暂存。但是,通过这些绑定,你可以按 **a**将暂存中的项目应用到仓库,并按 **x** 从暂存中删除项目。请记住,你要在浏览暂存_列表_时,才能执行这些命令。如果你正在浏览暂存_项_,请输入 **q** 退出该视图,然后按 **a** 或 **x** 以获得所需效果。 +如上所述,运行 `tig stash` 以浏览你的暂存。但是,通过这些绑定,你可以按 `a` 将暂存中的项目应用到仓库,并按 `x` 从暂存中删除项目。请记住,你要在浏览暂存*列表*时,才能执行这些命令。如果你正在浏览暂存*项*,请输入 `q` 退出该视图,然后按 `a` 或 `x` 以获得所需效果。 有关更多信息,你可以阅读有关 [Tig 键绑定][10]。 ### 总结 -我希望这有助于演示 Tig 如何增强你的日常工作流程。Tig 可以做更强大的事情(比如暂存代码行),但这超出了这篇介绍性文章的范围。这里有足够的让你危险的信息,但还有更多值得探索的地方。 +我希望这有助于演示 Tig 如何增强你的日常工作流程。Tig 可以做更强大的事情(比如暂存代码行),但这超出了这篇介绍性文章的范围。这里有足够的让你置身于危险的信息,但还有更多值得探索的地方。 -------------------------------------------------------------------------------- @@ -198,7 +184,7 @@ via: https://opensource.com/article/19/6/what-tig 作者:[Olaf Alders][a] 选题:[lujun9972][b] 译者:[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/) 荣誉推出 From 578c9f8067030e408c66b3132bc4e255becb6b71 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Sun, 7 Jul 2019 11:19:03 +0800 Subject: [PATCH 61/61] PUB @geekpi https://linux.cn/article-11069-1.html --- .../20190627 How to use Tig to browse Git logs.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) rename {translated/tech => published}/20190627 How to use Tig to browse Git logs.md (99%) diff --git a/translated/tech/20190627 How to use Tig to browse Git logs.md b/published/20190627 How to use Tig to browse Git logs.md similarity index 99% rename from translated/tech/20190627 How to use Tig to browse Git logs.md rename to published/20190627 How to use Tig to browse Git logs.md index 59fe3efea7..53629b1d19 100644 --- a/translated/tech/20190627 How to use Tig to browse Git logs.md +++ b/published/20190627 How to use Tig to browse Git logs.md @@ -1,8 +1,8 @@ [#]: collector: (lujun9972) [#]: translator: (geekpi) [#]: reviewer: (wxy) -[#]: publisher: ( ) -[#]: url: ( ) +[#]: publisher: (wxy) +[#]: url: (https://linux.cn/article-11069-1.html) [#]: subject: (How to use Tig to browse Git logs) [#]: via: (https://opensource.com/article/19/6/what-tig) [#]: author: (Olaf Alders https://opensource.com/users/oalders/users/mbbroberg/users/marcobravo)