mirror of
https://github.com/LCTT/TranslateProject.git
synced 2025-02-25 00:50:15 +08:00
Merge remote-tracking branch 'LCTT/master'
This commit is contained in:
commit
af1d46c789
@ -1,101 +1,120 @@
|
||||
23 款开源的声音视觉生产工具
|
||||
23 款开源的声音、视觉生产工具
|
||||
======
|
||||
|
||||

|
||||
> 无论你是要进行音频、图形、视频、动画还是它们的任意组合,都有一个开源工具可以帮助你产生专业水平的结果。
|
||||
|
||||

|
||||
|
||||
“开源”在云基础设施、网站托管、嵌入式设备和其他领域已经建立的相当完善。很少数人知道开源在生产专业级的声音视觉素材上也是一个不错的选择。
|
||||
|
||||
作为一名产品经理(有时候也是市场支持),我为终端用户提供很多内容:文档,文章,视频教学,甚至是展台物料,白纸,采访等等。我找到了很多可以帮我制作音频、视频,排版,截屏的开源软件。人们选择开源软件而不是专有软件的[原因][1]有很多,而我也为以下人群编制了一份开源音视频工具清单:
|
||||
作为一名产品经理(有时候也是市场支持),我为终端用户提供很多内容:文档、文章、视频教学,甚至是展台物料、白皮书、采访等等。我找到了很多可以帮我制作音频、视频、排版、截屏的开源软件。人们选择开源软件而不是专有软件的[原因][1]有很多,而我也为以下人群编制了一份开源音视频工具清单:
|
||||
|
||||
* 想要入坑 GNU/Linux,但需要在原来的操作系统上慢慢开始使用跨平台软件
|
||||
* 热爱开源,但对音视频开源软件所知甚少,不知道该如何选择
|
||||
* 想要为创造力充电而探索新的工具,并且不想使用其他人使用过的方法工具
|
||||
* 存在某些其他的原因使用开源音视频解决方案(如果是你,不妨在评论里分享一下)
|
||||
* 想要入坑 GNU/Linux,但需要在原来的操作系统上慢慢从使用跨平台软件开始
|
||||
* 热爱开源,但对音视频开源软件所知甚少,不知道该如何选择
|
||||
* 想要为创造力充电而探索新的工具,并且不想使用其他人使用过的方法工具
|
||||
* 存在某些其他的原因使用开源音视频解决方案(如果是你,不妨在评论里分享一下)
|
||||
|
||||
幸运的是,存在着很多开源音视频软件的创造者,也存在着很多硬件来支持这些应用。本文清单里的所有软件都符合以下标准:
|
||||
幸运的是,存在着很多开源的音视频创作软件,也存在着很多硬件来支持这些应用。本文清单里的所有软件都符合以下标准:
|
||||
|
||||
* 跨平台
|
||||
* 开源(软件和驱动)
|
||||
* 稳定
|
||||
* 积极维护
|
||||
* 良好的文档与技术支持
|
||||
* 跨平台
|
||||
* 开源(软件和驱动)
|
||||
* 稳定
|
||||
* 积极维护
|
||||
* 良好的文档与技术支持
|
||||
|
||||
我将清单中的解决方案划分为图形,音频,视频和动画。注意,本文中提到的应用程序并不完全等同于一些有名的私有软件,它们需要花时间来学习,并且可能需要改变你的工作流程,但是学习新的工具能够让体验全新的创造方式。
|
||||
我将清单中的解决方案划分为图形、音频、视频和动画。注意,本文中提到的应用程序并不完全等同于一些有名的私有软件,它们需要花时间来学习,并且可能需要改变你的工作流程,但是学习新的工具能够让体验全新的创造方式。
|
||||
|
||||
### 图形
|
||||
|
||||
我制作过很多出版和网站使用的图形,包括 logo,横幅,视频标题,模型。这里是一些我用过的开源应用,也包括一起使用的硬件。
|
||||
我制作过很多出版和网站使用的图形,包括徽标、横幅、视频节目、草图。这里是一些我用过的开源应用,也包括一同使用的硬件。
|
||||
|
||||
#### 软件
|
||||
|
||||
**1.[Inkscape][2]** (矢量图)
|
||||
**1、[Inkscape][2]**(矢量图)
|
||||
|
||||
Inkscape 是一款不错的矢量图编辑器,用来制作 RGB 颜色空间下的 SVG 和 PDF 文件。(它可以制作 CMYK 图像,但不是主要用途)它是为 web 应用制作 SVG 格式的地图和图表的人的救命稻草。你不仅可以使用集成的 XML 编辑器打开文件,也可以用它查看对象的所有参数。但有一个缺点:它在 Mac 上的优化不是很好。有很多样例,可以看[Inkscape 画廊][3]。
|
||||
|
||||
**2.[GIMP][4]** (图片编辑器)
|
||||
GIMP 是我最喜欢的图片编辑程序,它包括了色彩调整,裁剪和拉伸,并且(尤其是)对于网页使用的文件大小进行了优化(很多使用 Photoshop 的同事让我帮他们做这最后一步)。你也可以从头制作并绘制一张图片,但 GIMP 并不是我最喜欢用来做这件事的工具。在 [GIMP Artists on DevianArt][5] 上查看众多的样例。
|
||||
**2、[GIMP][4]**(图片编辑器)
|
||||
|
||||
GIMP 是我最喜欢的图片编辑程序,它包括了色彩调整、裁剪和拉伸,并且(尤其是)对于网页使用的文件大小进行了优化(很多使用 Photoshop 的同事让我帮他们做这最后一步)。你也可以从头制作并绘制一张图片,但 GIMP 并不是我最喜欢用来做这件事的工具。在 [GIMP Artists on DevianArt][5] 上查看众多的样例。
|
||||
|
||||
**3、[Krita][6]**(数字绘画)
|
||||
|
||||
**3.[Krita][6]** (数字绘画)
|
||||
当你桌子上摆着一个漂亮的 Wacom 数位板,你肯定想试试真正的数字绘画应用。Krita 就是你创作漂亮插画所需要的工具。在 [Krita 画廊][7] 里看看我说的东西吧。
|
||||
|
||||
**4.[Scribus][8]** (桌面印刷系统)
|
||||
你可以使用 Scribus 来创建一个完整的文档,或者通过 Inkscape 或 Libre Office 将 PDF 从 RGB 转换到 CMYK 。有一个功能我非常喜欢:你可以试着模拟视觉障碍人士使用 Scribus 时的体验。当我发送 PDF 文件给商用打印机时全指望 Scribus。尽管出版社可能使用像 InDesign 这样的私有软件创建文档,但如果你用 Scribus 正确的完成一份文档,那么打印时就不会出现任何问题。免费建议:第一次发送文件给打印机时,不要告诉打印机创建该文档所使用的软件。你可以在 [Scribus 教程][9]中寻找创建文档的例子。
|
||||
**4、[Scribus][8]**(桌面印刷系统)
|
||||
|
||||
你可以使用 Scribus 来创建一个完整的文档,或者只是把用 Inkscape 或 Libre Office 制作的 PDF 从 RGB 转换到 CMYK。有一个功能我非常喜欢:你可以试着模拟视觉障碍人士使用 Scribus 时的体验。当我发送 PDF 文件给商业印刷公司时全指望 Scribus。尽管出版社可能使用像 InDesign 这样的私有软件创建文档,但如果你用 Scribus 正确的完成一份文档,那么打印时就不会出现任何问题。免费建议:第一次发送文件给印刷公司时,不要告诉印刷公司创建该文档所使用的软件。你可以在 [Scribus 教程][9]中寻找创建文档的例子。
|
||||
|
||||
**5、[RawTherapee][10]**(RAW 图像开发工具)
|
||||
|
||||
**5.[RawTherapee][10]** (RAW 图像开发工具)
|
||||
RawTherapee 是我所知道唯一跨平台可替代 Lightroom 的软件。你可以将相机调整到 RAW 模式,然后使用 RawTherapee 来修图。它提供了非常强大的引擎和对图片没有破坏的编辑器。例如,可以见 [Raw Therapee 截图][11]。
|
||||
|
||||
**6.[LibreOffice Draw][12]** (桌面印刷系统)
|
||||
尽管你可能认为 LibraOffice Draw 不是一款专业的桌面印刷解决方案,但它仍然能够在很多情况下帮助你。例如,制作白皮书,图表,或其他人(尽管是那些不懂图形软件的人)以后可以修改的海报。它不仅方便使用,而且当创建有趣的文档时也是 Impress 或 PowerPoint 的绝佳替代软件。
|
||||
**6、[LibreOffice Draw][12]**(桌面印刷系统)
|
||||
|
||||
尽管你可能认为 LibraOffice Draw 不是一款专业的桌面印刷解决方案,但它仍然能够在很多情况下帮助你。例如,制作其他人(尽管是那些不懂图形软件的人)以后可以修改的白皮书、图表或海报。它不仅方便使用,而且当创建有趣的文档时也是 Impress 或 PowerPoint 的绝佳替代软件。
|
||||
|
||||
#### 图形硬件
|
||||
|
||||
**绘图板**
|
||||
[Wacom][13] 数位板(和配件)通常支持所有的操作系统。
|
||||
|
||||
[Wacom][13] 数位板(和兼容设备)通常支持所有的操作系统。
|
||||
|
||||
**颜色校正**
|
||||
|
||||
颜色校正产品通常可用于所有操作系统,也包括了 GNU/Linux。Datacolor 生产的 [Spyder][14] 在所有平台上都有应用程序的支持。
|
||||
|
||||
**扫描仪和打印机**
|
||||
图形艺术家需要输出(无论是打印还是数字存储)精确的颜色。但是真正跨平台的设备,以及所有平台都易于安装的驱动,并不像你想的那样普遍。你的最佳选择是兼容 TWAIN 的扫描仪和兼容 Postscript 的打印机。以我的经验,Epson 和 Xerox 的专业级扫描仪和打印机更不容易出现驱动问题,并且它们通常也是开箱即用,拥有漂亮精确的颜色。
|
||||
|
||||
图形艺术家需要输出(无论是打印还是电子版)的颜色是精确的。但是真正跨平台的设备,以及所有平台都易于安装的驱动,并不像你想的那样普遍。你的最佳选择是兼容 TWAIN 的扫描仪和兼容 Postscript 的打印机。以我的经验,Epson 和 Xerox 的专业级扫描仪和打印机更不容易出现驱动问题,并且它们通常也是开箱即用,拥有漂亮精确的颜色。
|
||||
|
||||
### 音频
|
||||
|
||||
有许多可供音乐家,视频制作者,游戏制作者,音乐出版商等等人群选择的开源音频软件。这里有一些我曾经用来进行内容创作与声音录制时所使用的软件。
|
||||
有许多可供音乐家、视频制作者、游戏制作者、音乐出版商等等人群选择的开源音频软件。这里有一些我曾经用来进行内容创作与声音录制时所使用的软件。
|
||||
|
||||
#### 软件
|
||||
|
||||
**7. [Ardour][15] **(数字音频录制)
|
||||
对录音与编辑来说,最专业级的工具选择当然是唾手可得的 Ardour。听起来很棒,它的混音部分非常的完整灵活,能够提供给你喜欢的插件,并且易于回放、编辑、对比修改。我经常用它进行声音录制和视频混音。要找出一些使用 Ardour 录制好的音乐并不容易,因为音乐家们很少相信它们使用的软件。然而,你可以查看它的[截图][16]和一些特性来了解它的功能。
|
||||
**7、[Ardour][15]**(数字音频录制)
|
||||
|
||||
(如果你在寻求一种声音制作方面的“模拟感觉”,你可以试试 [Harrison Mixbus][17],它并不是一个开源项目,但是高度基于 Ardour,拥有模拟显示的终端。我非常喜欢用它进行工作,我的客户也喜欢用它制作的声音。Mixbus 也是跨平台的)
|
||||
对录音与编辑来说,最专业级的工具选择当然是唾手可得的 Ardour。听起来很棒,它的混音部分非常的完整灵活,能够提供给你喜欢的插件,并且易于回放、编辑、对比修改。我经常用它进行声音录制和视频混音。要找出一些使用 Ardour 录制好的音乐并不容易,因为音乐家们很少表明他们使用的软件。然而,你可以查看它的[截图][16]和一些特性来了解它的功能。
|
||||
|
||||
(如果你在寻求一种声音制作方面的“模拟体验”,你可以试试 [Harrison Mixbus][17],它并不是一个开源项目,但是高度基于 Ardour,拥有模拟显示的终端。我非常喜欢用它进行工作,我的客户也喜欢用它制作的声音。Mixbus 也是跨平台的)
|
||||
|
||||
**8、[Audacity][18]** (声音编辑)
|
||||
|
||||
**8.[Audacity][18]** (声音编辑)
|
||||
Audacity 属于“瑞士军刀”级的声音制作软件。它并不完美,但你几乎可以用它做所有的事情。加上非常易于使用,任何人都能在几分钟之内上手。像 Ardour 一样,很难找到一份归功于 Audacity 的作品,但你可以从这些[截图][19]中了解如何使用它。
|
||||
|
||||
**9.[LMMS][20]** (音乐制作)
|
||||
LMMS,设计的就像 FL Studio 的替代品,也许并不那么广泛,但它非常完整并易于使用。你可以使用自己最喜欢的插件,使用“钢琴键”编辑乐器,使用<ruby>步定序器<rt>step sequencer</rt></ruby>播放鼓点,混合音轨...几乎能做任何事情。在我没有时间给音乐家录音的时候我就使用它为视频创建声音片段。查看[最好的 LMMS][21] 榜单来看看一些例子。
|
||||
**9、[LMMS][20]** (音乐制作)
|
||||
|
||||
**10.[Mixxx][22]** (DJ,音乐混音)
|
||||
如果你需要强大的混音和播放 DJ 软件,Mixx 就可以满足你的需求。它与大多数 MIDI 控制器,唱片,专用声卡所兼容。你可以用它管理音乐库,添加音效,做一些有趣的事情。查看它的[功能][23]来了解它是如何工作的。
|
||||
LMMS,设计作为 FL Studio 的替代品,也许使用并不那么广泛,但它非常完整并易于使用。你可以使用自己最喜欢的插件,使用“钢琴键”编辑乐器,使用<ruby>步定序器<rt>step sequencer</rt></ruby>播放鼓点,混合音轨...几乎能做任何事情。在我没有时间为音乐家录音的时候我就使用它为视频创建声音片段。查看[最好的 LMMS][21] 榜单来看看一些例子。
|
||||
|
||||
**10、[Mixxx][22]** (DJ,音乐混音)
|
||||
|
||||
如果你需要强大的混音和播放 DJ 软件,Mixxx 就可以满足你的需求。它与大多数 MIDI 控制器、唱片、专用声卡所兼容。你可以用它管理音乐库、添加音效,做一些有趣的事情。查看它的[功能][23]来了解它是如何工作的。
|
||||
|
||||
#### 音频接口硬件
|
||||
|
||||
尽管你可以使用任何一个计算机的声卡录制音频,但要录制的很好,就需要一个音频接口——一个录制高质量音频输入的专用的外部声卡。对于跨平台兼容性来说,大多数“兼容 USB”和“兼容 IOS”的音频接口设备应该都能录制 MIDI 或其他音频。下面是一些我用过的一些有名气的跨平台设备。
|
||||
尽管你可以使用任何一个计算机的声卡录制音频,但要录制的很好,就需要一个音频接口——一个录制高质量音频输入的专用的外部声卡。对于跨平台兼容性来说,大多数“兼容 USB”和“兼容 iOS”的音频接口设备应该都能录制 MIDI 或其他音频。下面是一些我用过的一些有名气的跨平台设备。
|
||||
|
||||
**[Behringer U-PHORIA UMC22][24]**
|
||||
|
||||
UMC22 是你可以考虑的最便宜的选择。但它的前置放大器噪音太大,<ruby>音腔<rt>box</rt></ruby>质量也比较低。
|
||||
|
||||
**[Presonus AudioBox USB][25]**
|
||||
AudioBox USB 是第一个兼容 USB(因此也跨平台) 的录音系统。它非常的耐用,经常在二手市场也能见到。
|
||||
|
||||
AudioBox USB 是第一个兼容 USB(因此也跨平台)的录音系统。它非常的耐用,经常在二手市场也能见到。
|
||||
|
||||
**[Focusrite Scarlett][26]**
|
||||
|
||||
Scarlett 在我看来是目前最高质量的跨平台声卡。不同种类的设备可以涵盖 2-18 个输入/输出端口。你可以在二手市场找到它的最初版本,而最新的第二代具有更好的前置放大器与规格。[2i2][27] 型号是我经常使用的那一款。
|
||||
|
||||
**[Arturia AudioFuse][28]**
|
||||
|
||||
AudioFuse 几乎可以让你接入任何设备,从麦克风到黑胶唱片机再到各种数字输入设备。它具有优质的声音与良好的设计,也是我目前用的最多的一款设备。它是跨平台的,但目前配置软件还不能在 GUN/Linux 上使用。即使我把它从 Windows 电脑上断开,它仍然保留着我的配置。但是讲真,Arturia,劳烦认真考虑做一个 Linux 的软件。
|
||||
|
||||
#### MIDI 控制器
|
||||
|
||||
MIDI 控制器是一种乐器——例如电子琴,鼓垫等等。可以让你控制音乐软件或者硬件。现有的大多数 USB MIDI 控制器都跨平台并兼容主流的录音编辑软件。基于网页的教程可以帮你对不同的软件进行配置。尽管找到有关 GNU/Linux 的配置信息可能比较困难,但它们仍然是可以使用的。我用过许多 Akai 和 M-Audio 设备,没有任何问题。在买乐器之前最好先试一下,至少去听一下它们的音质或体验一下按键触感。
|
||||
MIDI 控制器是一种乐器——例如电子琴、鼓垫等等。可以让你控制音乐软件或者硬件。现有的大多数 USB MIDI 控制器都跨平台并兼容主流的录音编辑软件。基于网页的教程可以帮你对不同的软件进行配置。尽管找到有关在 GNU/Linux 上配置的信息可能比较困难,但它们仍然是可以使用的。我用过许多 Akai 和 M-Audio 设备,没有任何问题。在买乐器之前最好先试一下,至少去听一下它们的音质或体验一下按键触感。
|
||||
|
||||
#### 音频编解码器
|
||||
|
||||
@ -107,38 +126,46 @@ MIDI 控制器是一种乐器——例如电子琴,鼓垫等等。可以让你
|
||||
|
||||
#### 软件
|
||||
|
||||
**11.[VLC][31]** (视频播放器与转换器)
|
||||
**11、[VLC][31]** (视频播放器与转换器)
|
||||
|
||||
最初是为流媒体而开发的,VLC 现在因能够在所有设备上读取所有的视频格式被人们熟知。它非常的实用,例如,你可以使用它将视频转换成其他编解码格式或容器,也可以用来恢复破损的视频。
|
||||
|
||||
**12.[OpenShot][32]** (视频编辑)
|
||||
OpenShot 是一个简单的软件,但它却可以制作出很好的效果,尤其是在短视频上。(在编辑或改善音质方面有一定的限制,但它也能够完成)我非常喜欢它的移动,拉伸,裁剪工具;用它创建视频的开头或结尾,导出之后使用更复杂的编辑器进行编辑,非常的完美。你可以在 OpenShot 的网站上看这些[例子][33](并获取更多信息)。
|
||||
**12、[OpenShot][32]** (视频编辑)
|
||||
|
||||
OpenShot 是一个简单的软件,但它却可以制作出很好的效果,尤其是在短视频上。(在编辑或改善音质方面有一定的限制,但它也能够完成)我非常喜欢它的移动、拉伸、裁剪工具;用它创建视频的开头或结尾,导出之后使用更复杂的编辑器进行编辑,非常的完美。你可以在 OpenShot 的网站上看这些[例子][33](并获取更多信息)。
|
||||
|
||||
**13、[Shotcut][34]** (视频编辑)
|
||||
|
||||
**13.[Shotcut][34]** (视频编辑)
|
||||
我认为 Shotcut 是比 OpenShot 更完整一些的工具——它在你的操作系统上比起其他较为基础的编辑器更具有竞争力,并且它支持 4K 分辨率,具有专业的解码器。尝试一下,我相信你会爱上它的。你可以在这些[视频教程][35]里看一些范例。
|
||||
|
||||
**14.[Blender Velvets][36]** (视频编辑,合成,特效)
|
||||
尽管这一章节不是本文的学习重点,但 Blender Velvets 是你能找到的最强大的解决方案之一。它是由一些视频创作者所制作的一系列扩展工具和脚本的合集,是通过 Blender 3D 制作软件转换成的 2D 视频编辑器。 尽管它的复杂度意味着不是我的首选视频编辑器,但你仍可以在 YouTube 和其他网站上找到它的教程,并且一旦你学习了它,你就能通过它做任何事情。观看这个[视频教程][37]来了解它的功能与运作方式。
|
||||
**14、[Blender Velvets][36]** (视频编辑、合成、特效)
|
||||
|
||||
尽管这一章节不是本文的学习重点,但 Blender Velvets 是你能找到的最强大的解决方案之一。它是由一些视频创作者所制作的一系列扩展工具和脚本的合集,是通过 Blender 3D 制作软件转换成的 2D 视频编辑器。尽管它的复杂度意味着不是我的首选视频编辑器,但你仍可以在 YouTube 和其他网站上找到它的教程,并且一旦你学习了它,你就能通过它做任何事情。观看这个[视频教程][37]来了解它的功能与运作方式。
|
||||
|
||||
**15、[Natron][38]**(合成)
|
||||
|
||||
**15.[Natron][38]** (合成)
|
||||
我不使用 Natron,但我听说它广受好评。它是 Adobe After Effects 的替代品,但运作方式并不同。想了解更多可以观看一些视频教程,比如这些 Natron 的 [YouTube 频道][39]。
|
||||
|
||||
**16.[OBS][40]** (实时编辑,录制,流媒体)
|
||||
Open Broadcaster Software (OBS)是一个领先的在 YouTube 或 Twitch 上进行现场录制或现场直播电子竞技,电视游戏的解决方案。我经常使用它记录用户的屏幕,会议和聚会。获取更多信息,查看我曾经在 Opensource.com 上写的关于录制现场汇报的教程,[第一部分:选择你的设备][42]和[第二部分:软件安装][43]。
|
||||
**16、[OBS][40]** (实时编辑、录制、流媒体)
|
||||
|
||||
Open Broadcaster Software(OBS)是一个领先的在 YouTube 或 Twitch 上进行现场录制或现场直播电子竞技、电视游戏的解决方案。我经常使用它记录用户的屏幕、会议和聚会。要获取更多信息,查看我曾经在 Opensource.com 上写的关于录制现场汇报的教程,[第一部分:选择你的设备][42]和[第二部分:软件安装][43]。
|
||||
|
||||
#### 视频硬件
|
||||
|
||||
结论先行:你需要一个强大的工作站以及快速的硬盘和更新后的软件和驱动。
|
||||
结论先行:你需要一个强大的工作站以及快速的硬盘和更新的软件和驱动。
|
||||
|
||||
**图形处理单元(GPU)**
|
||||
|
||||
一部分包含在清单里的软件比如 Blender 和 Shotcut 使用 OpenGL 和硬件加速,这些都高度依赖 GPU。我建议你使用可以负担起的最强大的 GPU。我所使用过的 AMD 和 Nvidia 都有着良好的体验,这取决于使用的平台。不要忘记安装最新的驱动。
|
||||
|
||||
**硬件驱动**
|
||||
大体上来说,驱动做的越快越大,对视频越好。不要忘记在软件里配置好正确的路径。
|
||||
**硬盘**
|
||||
|
||||
大体上来说,越快越大的硬盘,对视频越好。不要忘记在软件里配置好正确的路径。
|
||||
|
||||
**视频录制硬件**
|
||||
|
||||
* [Blackmagic Design][44]: Blackmagic 提供了非常好,专业级的视频录制和回放硬件。驱动支持 Mac,Windows,和 GNU/Linux(但不是所有的发行版)
|
||||
* [Epiphan][45]: 在 Epiphan 的专业级 USB 视频录制设备中有一款新型产品,它适用于 HDMI 和高分辨率的屏幕。然而,你也可以在二手市场找到旧的 VGA 设备,因为他们还在继续为 GNU/Linux 和 Windows 上提供专用的驱动程序。
|
||||
* [Blackmagic Design][44]: Blackmagic 提供了非常好的、专业级的视频录制和回放硬件。驱动支持 Mac、Windows 和 GNU/Linux(但不是所有的发行版)
|
||||
* [Epiphan][45]: 在 Epiphan 的专业级 USB 视频录制设备中有一款新型产品,它适用于 HDMI 和高分辨率的屏幕。然而,你也可以在二手市场找到旧的 VGA 设备,因为他们还在继续为 GNU/Linux 和 Windows 上提供专用的驱动程序。
|
||||
|
||||
#### 视频编解码
|
||||
|
||||
@ -152,13 +179,16 @@ Open Broadcaster Software (OBS)是一个领先的在 YouTube 或 Twitch 上
|
||||
|
||||
#### 软件
|
||||
|
||||
**17. [Blender][48] ** (3D 模型和渲染)
|
||||
Blender 是顶级的开源跨平台 3D 建模和渲染软件。你可以直接在 Blender 中完成整个项目的工作,或者使用它为电影或视频创建 3D 效果。你能够在网上找到许多视频教程,因此即使它不是一个简单的软件,但非常容易上手。Blender 是一个非常活跃的项目,经常还会制作一些微电影来展示他们的技术。你可以在 [Blender Open Movies][49] 上观看。
|
||||
**17、[Blender][48]** (3D 模型和渲染)
|
||||
|
||||
**18.[Synfig Studio][50]** (2D 动画)
|
||||
第一次用 Synfig 时,它让我想起了那个不错的 Macromedia 老式 Flash 编辑器。在那之后,它已经发展成一个全功能的 2D 动画工作室。你可以使用它制作畅销故事,商业广告,演示,开场或结尾动画以及视频中的转场,或者甚至用它制作全动画的电影。见[ Synfig 作品集][51]。
|
||||
Blender 是顶级的开源跨平台 3D 建模和渲染软件。你可以直接在 Blender 中完成整个项目的工作,或者使用它为电影或视频创建 3D 效果。你能够在网上找到许多视频教程,因此即使它不是一个简单的软件,但也非常容易上手。Blender 是一个非常活跃的项目,经常还会制作一些微电影来展示他们的技术。你可以在 [Blender Open Movies][49] 上观看。
|
||||
|
||||
**18、[Synfig Studio][50]** (2D 动画)
|
||||
|
||||
第一次用 Synfig 时,它让我想起了那个不错的 Macromedia 老式 Flash 编辑器。在那之后,它已经发展成一个全功能的 2D 动画工作室。你可以使用它制作宣传故事、商业广告、演示、开场或结尾动画以及视频中的转场,或者甚至用它制作全动画的电影。见 [Synfig 作品集][51]。
|
||||
|
||||
**19、[TupiTube][52]** (定格 2D 动画)
|
||||
|
||||
**19.[TupiTube][52]** (定格 2D 动画)
|
||||
使用 TupiTube 是一个学习基本 2D 动画的极好方法。你可以将一系列绘画或其他图片转换成一个视频或者创建一个 GIF 循环动画。它是一个相当简单的软件,但非常完整。查看 [TupiTude 的 YouTube][53] 频道获取一些教程和范例。
|
||||
|
||||
#### 硬件
|
||||
@ -169,18 +199,22 @@ Blender 是顶级的开源跨平台 3D 建模和渲染软件。你可以直接
|
||||
|
||||
### Linux 上的选择
|
||||
|
||||
如果你是 GUN/Linux 用户,那么我为您提供了更多不错的选择。它们并不是完全跨平台的,但部分拥有 Windows 版本,还有一些可以在 Mac 上使用 Macports 安装。
|
||||
如果你是 GUN/Linux 用户,那么我为你提供了更多不错的选择。它们并不是完全跨平台的,但部分拥有 Windows 版本,还有一些可以在 Mac 上使用 Macports 安装。
|
||||
|
||||
**20.[Kdenlive][54]** (视频编辑)
|
||||
伴随着最新版本的发布(几个月之前),Kdenlive 成为了我最喜欢的视频编辑器,尤其是当我在 Linux 机器上处理一些长视频的时候。如果你经常使用流行的非线性视频编辑器,Kdenlive(全称是 <ruby>KDE 非线性视频编辑器<rt>KDE Non-Linear Video Editor</rt></ruby>)对你来说将非常简单。他拥有很棒的视频和音频特效,强大的细节处理能力。并且在 BSD 和 MacOS(尽管它对准的是 GNU/Linux)都能使用,还有望移植到 Windows 上。
|
||||
**20、[Kdenlive][54]** (视频编辑)
|
||||
|
||||
伴随着最新版本的发布(几个月之前),Kdenlive 成为了我最喜欢的视频编辑器,尤其是当我在 Linux 机器上处理一些长视频的时候。如果你经常使用流行的非线性视频编辑器,Kdenlive(全称是 <ruby>KDE 非线性视频编辑器<rt>KDE Non-Linear Video Editor</rt></ruby>)对你来说将非常简单。它拥有很棒的视频和音频特效,强大的细节处理能力。并且在 BSD 和 MacOS(尽管它对准的是 GNU/Linux)都能使用,还有望移植到 Windows 上。
|
||||
|
||||
**21、[Darktable][55]** (RAW 图像开发)
|
||||
|
||||
**21.[Darktable][55]** (RAW 图像开发)
|
||||
Darktable 是一款由摄影师制作的非常完整的 DxO PhotoLab 替代品。一些研究型项目使用它当做开发平台并测试一些图像处理算法。它是一个非常活跃的项目,我已经等不及的见到它的跨平台版本了。
|
||||
|
||||
**22.[MyPaint][56]** (digital painting数字绘画)
|
||||
MyPaint 就像数字绘画领域的 light table。(译注:集成开发环境)它在 Wacom 设备上表现良好,并且它的笔刷引擎尤其值得赞赏,因此 GIMP 开发人员正在密切的关注它。
|
||||
**22、[MyPaint][56]** (digital painting数字绘画)
|
||||
|
||||
MyPaint 就像数字绘画领域的 light table(LCTT 译注:集成开发环境)。它在 Wacom 设备上表现良好,并且它的笔刷引擎尤其值得赞赏,因此 GIMP 开发人员正在密切的关注它。
|
||||
|
||||
**23、[Shutter][57]** (桌面截图)
|
||||
|
||||
**23.[Shutter][57]** (桌面截图)
|
||||
当我写这篇教程的时候,我使用了许多截图来进行展示。我最喜欢的 GNU/Linux 截图工具就是 Shutter。事实上,我都找不到在 Windows 或 Mac 上能与之抗衡的一些功能。有一点小遗憾:我很期待 Shutter 在将来能够增加新的功能来创建几秒动态的 GIF 截图。
|
||||
|
||||
我希望这些足以说服你开源软件是一种非常卓越且可行的音视频内容生产解决方案。如果你正在使用其他开源软件,或者对于使用跨平台软件和硬件进行音视频项目有好的建议,请在评论中分享你的观点。
|
||||
@ -191,7 +225,7 @@ via: https://opensource.com/article/18/2/open-source-audio-visual-production-too
|
||||
|
||||
作者:[Antoine Thomas][a]
|
||||
译者:[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/) 荣誉推出
|
||||
|
@ -1,23 +1,24 @@
|
||||
[#]: collector: (lujun9972)
|
||||
[#]: translator: (geekpi)
|
||||
[#]: reviewer: ( )
|
||||
[#]: publisher: ( )
|
||||
[#]: url: ( )
|
||||
[#]: reviewer: (wxy)
|
||||
[#]: publisher: (wxy)
|
||||
[#]: url: (https://linux.cn/article-11640-1.html)
|
||||
[#]: subject: (Nvidia quietly unveils faster, lower power Tesla GPU accelerator)
|
||||
[#]: via: (https://www.networkworld.com/article/3482097/nvidia-quietly-unveils-faster-lower-power-tesla-gpu-accelerator.html)
|
||||
[#]: author: (Andy Patrizio https://www.networkworld.com/author/Andy-Patrizio/)
|
||||
|
||||
Nvidia 悄悄推出更快、更低功耗的 Tesla GPU 加速器
|
||||
======
|
||||
Nvidia 升级了其 Volta 系列的 Tesla GPU 加速卡,使其能够以旧型号的相同功率更快地工作。
|
||||
|
||||
> Nvidia 升级了其 Volta 系列的 Tesla GPU 加速卡,使其能够以旧型号的相同功率更快地工作。
|
||||
|
||||

|
||||
|
||||
Nvidia 上周举行了 Supercomputing 19 大会,不出意外的是公布了很多新闻,这些我们将稍后提到。但被忽略的一条或许是其中最有趣的:一张更快、功耗更低的新一代图形加速卡。
|
||||
|
||||
多名与会者与多个新闻站点发现了这点,Nvidia 向我证实这确实是一张新卡。Nvidia 的 “Volta” 这代 Tesla GPU 加速卡在 2017 年就已淘汰,因此升级工作应该早已过期。
|
||||
|
||||
[[Get regularly scheduled insights by signing up for Network World newsletters.]][1]
|
||||
|
||||
V100S 目前仅提供 PCI Express 3 接口,但有望最终支持 Nvidia 的 SXM2 接口。SXM 是 Nvidia 的双插槽卡设计,与 PCIe 卡不同,它不需要连接电源。SXM2 允许 GPU 通过 Nvidia 的 NVLink(一种高带宽,节能互连)相互之间或与 CPU 进行通信,其数据传输速度比 PCIe 快十倍。
|
||||
V100S 目前仅提供 PCI Express 3 接口,但有望最终支持 Nvidia 的 SXM2 接口。SXM 是 Nvidia 的双插槽卡设计,与 PCIe 卡不同,它不需要连接电源。SXM2 允许 GPU 通过 Nvidia 的 NVLink(一种高带宽、节能的互连)相互之间或与 CPU 进行通信,其数据传输速度比 PCIe 快十倍。
|
||||
|
||||
借助此卡,Nvidia 声称拥有单精度 16.4 TFLOPS,双精度 8.2 TFLOPS 并且 Tensor Core 性能高达 130 TFLOPS。这仅比 V100 SXM2 设计提高了 4% 至 5%,但比 PCIe V100 变体提高了 16% 至 17%。
|
||||
|
||||
@ -25,18 +26,15 @@ V100S 目前仅提供 PCI Express 3 接口,但有望最终支持 Nvidia 的 SX
|
||||
|
||||
通常情况下,性能提升将同时导致功率增加,但在这里,PCIe 卡的总体功率为 250 瓦,与上一代 PCIe 卡相同。因此,在相同功耗下,该卡可额外提供 16-17% 的计算性能,并增加 26% 的内存带宽。
|
||||
|
||||
**其他新闻**
|
||||
### 其他新闻
|
||||
|
||||
Nvidia 在会上还发布了其他新闻:
|
||||
|
||||
* 其 GPU 加速的基于 Arm 的高性能计算参考服务器的新参考设计和生态系统支持。该公司表示,它得到了 HPE/Cray、Marvell、富士通和 Ampere 的支持,Ampere 是 Intel 前高管勒尼·詹姆斯(Renee James)领导的一家初创公司,它希望建立基于 Arm 的服务器处理器。
|
||||
* 这些公司将使用 Nvidia 的参考设计(包括硬件和软件组件)来使用 GPU 构建从超大规模云提供商到高性能存储和百亿亿次超级计算等。该设计还带来了 CUDA-X,这是 Nvidia 用于 Arm 处理器的 CUDA GPU 的特殊版本开发语言。
|
||||
* 推出 Nvidia Magnum IO 套件,旨在帮助数据科学家和 AI 以及高性能计算研究人员在几分钟而不是几小时内处理大量数据。它经过优化,消除了存储和 I/O 瓶颈,可为多服务器、多 GPU 计算节点提供高达 20 倍的数据处理速度。
|
||||
* Nvidia 和 DDN (AI 以及多云数据管理开发商)宣布将 DDN 的 A3ITM 数据管理系统与 Nvidia 的 DGX SuperPOD 系统捆绑在一起,以便客户能够以最小的复杂性和更短的时限部署 HPC 基础架构。SuperPOD 还带有新的 NVIDIA Magnum IO 软件栈。
|
||||
* DDN 表示,SuperPOD 能够在数小时内部署,并且单个设备可扩展至 80 个节点。不同的深度学习模型的基准测试表明,DDN 系统可以使 DGXSuperPOD 系统完全保持数据饱和。
|
||||
|
||||
|
||||
在 [Facebook][4] 和 [LinkedIn][5] 加入 Network World 社区评论热门主题。
|
||||
* 其 GPU 加速的基于 Arm 的高性能计算参考服务器的新参考设计和生态系统支持。该公司表示,它得到了 HPE/Cray、Marvell、富士通和 Ampere 的支持,Ampere 是 Intel 前高管勒尼·詹姆斯(Renee James)领导的一家初创公司,它希望建立基于 Arm 的服务器处理器。
|
||||
* 这些公司将使用 Nvidia 的参考设计(包括硬件和软件组件)来使用 GPU 构建从超大规模云提供商到高性能存储和百亿亿次超级计算等。该设计还带来了 CUDA-X,这是 Nvidia 用于 Arm 处理器的 CUDA GPU 的特殊版本开发语言。
|
||||
* 推出 Nvidia Magnum IO 套件,旨在帮助数据科学家和 AI 以及高性能计算研究人员在几分钟而不是几小时内处理大量数据。它经过优化,消除了存储和 I/O 瓶颈,可为多服务器、多 GPU 计算节点提供高达 20 倍的数据处理速度。
|
||||
* Nvidia 和 DDN (AI 以及多云数据管理开发商)宣布将 DDN 的 A3ITM 数据管理系统与 Nvidia 的 DGX SuperPOD 系统捆绑在一起,以便客户能够以最小的复杂性和更短的时限部署 HPC 基础架构。SuperPOD 还带有新的 NVIDIA Magnum IO 软件栈。
|
||||
* DDN 表示,SuperPOD 能够在数小时内部署,并且单个设备可扩展至 80 个节点。不同的深度学习模型的基准测试表明,DDN 系统可以使 DGXSuperPOD 系统完全保持数据饱和。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
@ -45,7 +43,7 @@ via: https://www.networkworld.com/article/3482097/nvidia-quietly-unveils-faster-
|
||||
作者:[Andy Patrizio][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/) 荣誉推出
|
||||
|
@ -0,0 +1,70 @@
|
||||
[#]: collector: (lujun9972)
|
||||
[#]: translator: ( )
|
||||
[#]: reviewer: ( )
|
||||
[#]: publisher: ( )
|
||||
[#]: url: ( )
|
||||
[#]: subject: (Ampere preps an 80-core Arm processor for the cloud)
|
||||
[#]: via: (https://www.networkworld.com/article/3482248/ampere-preps-an-80-core-arm-processor-for-the-cloud.html)
|
||||
[#]: author: (Andy Patrizio https://www.networkworld.com/author/Andy-Patrizio/)
|
||||
|
||||
Ampere preps an 80-core Arm processor for the cloud
|
||||
======
|
||||
A new Ampere chip due out next year is single-threaded to avoid the 'noisy neighbor' problem that can impede customer workloads in multi-tenant cloud-provider networks.
|
||||
Thinkstock
|
||||
|
||||
[Ampere Computing][1], the semiconductor startup led by former Intel president Renee James that designs Arm-based server processors, is preparing to launch its next-generation CPU by mid-2020.
|
||||
|
||||
The upcoming chip will have 80 cores, much more than the 32-core processor the company shipped last year and vastly more than x86 CPUs by Intel and AMD. Ampere’s design is different. Instead of multiple threads per core, each core is single threaded.
|
||||
|
||||
[[Get regularly scheduled insights by signing up for Network World newsletters.]][2]
|
||||
|
||||
Jeff Wittich, Ampere’s senior vice president of products, said that was by design, to avoid some of the CPU vulnerabilities that crept into x86 chips but also to avoid the “noisy neighbor” problem in cloud service-provider networks.
|
||||
|
||||
[][3]
|
||||
|
||||
BrandPost Sponsored by HPE
|
||||
|
||||
[Take the Intelligent Route with Consumption-Based Storage][3]
|
||||
|
||||
Combine the agility and economics of HPE storage with HPE GreenLake and run your IT department with efficiency.
|
||||
|
||||
Because of their many cores and threads, users of AWS and other cloud providers never get a CPU all to themselves unless they pay dearly for it. More often than not your instance is sharing CPU cycles with someone else, and if their app makes a lot of hits on the CPU cache, especially the L1 cache, it can impede your performance.
|
||||
|
||||
“We designed the product to be single-threaded and many cores to provide as much isolation as possible, with no sharing of threads,” he says. “We intentionally made the product single-threaded, so there is no sharing L1 cache or registers between threads.”
|
||||
|
||||
Ampere is specifically targeting cloud providers and hyperscale data-center operators, which includes the usual suspects – Google, Facebook, Amazon – and second-tier cloud providers as well and companies like Twitter and Uber. That may not be a lot of vendors but they buy in the tens if not hundreds of thousands of servers every quarter.
|
||||
|
||||
“We’re taking a different approach to this in that we have a product targeted at the cloud vs a product targeted at general data centers trying to shoehorn that into every workload,” he said. “The services and infrastructure architecture [hyperscalers] are deploying are totally different from what people were doing 15 to 20 years ago when x86 came in to play. Things like multi-tenant, quality of service, isolation, and manageability are what’s important now.”
|
||||
|
||||
He also notes that hyperscalers have spent the last 10 years optimizing their entire software stack, with custom Linux distributions and their own hypervisor. What they haven’t done is optimize or customize the CPU, because they can’t.
|
||||
|
||||
To that end, Ampere is operating like a software provider using Agile development techniques, which means an annual release of new CPUs, faster iterations than seen by Intel, AMD, and Marvell, which owns the Cavium line of Arm server processors. This means extensive simulation testing and less time updating and fixing actual silicon.
|
||||
|
||||
Wittich said each core has considerably more performant than the eMAG generation, but he was waiting for silicon to do actual benchmarks. Wittich declined to go into detail on the new processor, even on the product name, beyond that it would run at a TDW of 45 to 200 watts, come in single- and dual-socket designs, use PCI Express Gen 4 and eight channels of memory.
|
||||
|
||||
The new processor takes the company into workloads that do run in the cloud now, like database, storage, analytics, media, and machine-learning inference.
|
||||
|
||||
It has a few ODM wins so far, China’s Wiwynn and Lenovo and Gigabyte as well. While the company is targeting the public cloud providers it will go after the private cloud to a certain extent if there are opportunities “that make sense,” as he put it.
|
||||
|
||||
Silicon samples will be coming back this month and sent to partners before end of year. Taiwan’s TSMC is making the chips using 7nm designs. Wittich said the company is targeting mid-year 2020 for high-volume production.
|
||||
|
||||
Join the Network World communities on [Facebook][4] and [LinkedIn][5] to comment on topics that are top of mind.
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://www.networkworld.com/article/3482248/ampere-preps-an-80-core-arm-processor-for-the-cloud.html
|
||||
|
||||
作者:[Andy Patrizio][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.networkworld.com/author/Andy-Patrizio/
|
||||
[b]: https://github.com/lujun9972
|
||||
[1]: https://www.networkworld.com/article/3306447/a-new-arm-based-server-processor-challenges-for-the-data-center.html
|
||||
[2]: https://www.networkworld.com/newsletters/signup.html
|
||||
[3]: https://www.networkworld.com/article/3440100/take-the-intelligent-route-with-consumption-based-storage.html?utm_source=IDG&utm_medium=promotions&utm_campaign=HPE20773&utm_content=sidebar ( Take the Intelligent Route with Consumption-Based Storage)
|
||||
[4]: https://www.facebook.com/NetworkWorld/
|
||||
[5]: https://www.linkedin.com/company/network-world
|
@ -0,0 +1,82 @@
|
||||
[#]: collector: (lujun9972)
|
||||
[#]: translator: ( )
|
||||
[#]: reviewer: ( )
|
||||
[#]: publisher: ( )
|
||||
[#]: url: ( )
|
||||
[#]: subject: (What we risk when we open up to customers (and why it's worth it))
|
||||
[#]: via: (https://opensource.com/open-organization/19/12/customer-empowerment-trust)
|
||||
[#]: author: (Tracy Giuliani https://opensource.com/users/tgiuliani23)
|
||||
|
||||
What we risk when we open up to customers (and why it's worth it)
|
||||
======
|
||||
Empowering your customers means opening up to them—but it won't work if
|
||||
you don't trust each other.
|
||||
![Open for business][1]
|
||||
|
||||
Customer empowerment is one consequence of digital transformation. And as we explained in the [first part of this series][2], it's a powerful one. Empowering customers can deepen their relationship with your organization—but it won't work if they don't trust you.
|
||||
|
||||
In this article, we'll explain how acting openly can create that foundation of trust—and why it can lead to business success.
|
||||
|
||||
### A foundation of trust
|
||||
|
||||
At the heart of customer empowerment is trust—sharing and creating opportunities to _use_ information and knowledge. After all, if we don't share information and create opportunities, then customers will have trouble using the information or taking any action. They're limited.
|
||||
|
||||
We can think of the empowered customer as a type of mature "user experience," asking: "What kinds of information and opportunities could customers use to [insert verb here] our products, services, and external processes better?" and "How and where in our products, services, and processes do we provide opportunities to use information and knowledge?" Those questions may not be consecutive; we might need to answer them at the same time.
|
||||
|
||||
Trust is the foundation of customer empowerment. We need to trust that our customers are capable, wise, and so on; we must _assume_ they are trustworthy (difficult when we don't know them, since trust is based on personal relationships and consistent actions). Still, when we create opportunities to empower, we need to build them with trust in mind (and sometimes with ways to remove the opportunity if necessary).
|
||||
|
||||
In open source software communities, for instance, we note that opportunities to contribute are part of the openness and meritocracy of the community. Communities often _extend trust by default_, allowing anyone to join and modify code—and only if behavior doesn't meet community policy and membership agreement is access revoked. The community assumed participants' positive intent, extending trust in the first place.
|
||||
|
||||
Trust is the foundation of customer empowerment.
|
||||
|
||||
The question of customer empowerment isn't a "yes or no" question. It's a question of degree. As we mentioned above, empowered customers exist on a continuum. Enabling a _little_ empowerment still qualifies as customer empowerment. But as such empowerment increases, so does the risk involved for the business (and the more reward if the empowerment benefits the business). We could say that customer empowerment is a function of the relationship between customer and business in terms of the:
|
||||
|
||||
* Amount and quality of information
|
||||
* Amount and quality of opportunities
|
||||
* Frequency of interactions and opportunities
|
||||
* And other characteristics pertaining to the unique situation
|
||||
|
||||
|
||||
|
||||
Think about a synthesizer—an adjustable knob for each quality that influences customer empowerment. There is no single, perfect way to empower customers.
|
||||
|
||||
### Managing risk
|
||||
|
||||
As we mentioned earlier: Trust is an important aspect in these relationships—trust between a business and its employees, or trust between businesses. Beginning such a relationship by empowering a customer 100% is difficult, and even so you probably don't want to. But you _can_ begin somewhere.
|
||||
|
||||
When you risk something, you can ask for your relational partner to risk something too—that way, there's something at stake for both parties.
|
||||
|
||||
Between businesses, empowering partners and trusted customers is a great way to start and build empowerment. When you risk something, you can ask for your relational partner to risk something too—that way, there's something at stake for both parties. Confidentiality agreements. Sales data. Customer references. System environment details. Multiproduct stacks built with a few competitor products. Reputation for contribution. Whatever it you choose to share, you'll need to view the relationships as a "give and take" of risk. For instance, a business might provide test case data to a trusted partner, with the intention of improving testing within the organization, but it might ask for the partner to share anonymous details in an online forum about product testing.
|
||||
|
||||
Empowerment cannot be a one-way street, or it won't be empowerment. Reach _agreements_ on what can be done (or not done) with the information and activities that are available.
|
||||
|
||||
### What's in it for the business?
|
||||
|
||||
In [employee empowerment][3], open leaders get the benefit of a more agile and nimble organization, ready to respond to many multi-faceted issues at once.
|
||||
|
||||
What do leaders get if they empower customers and partners? In the past, an organization's business model might have been to profit from specific knowledge it possess or by using specific, proprietary processes. But customer empowerment means that those are more "open"? So what's the benefit?
|
||||
|
||||
* Increased customer satisfaction: Just like job satisfaction increases with transparency and meaningful work for associates, customers are more satisfied by themselves being empowered.
|
||||
* Deeper expertise for the originating business: And as a result, improved knowledge and processes as they mature further. In other words, by opening current knowledge and processes, the business can elevate its knowledge and processes that maintain profitability or make the business more profitable.
|
||||
* Stronger customer centricity: Through increased collaboration with customers, businesses can enhance their current customer experience by using data capturing and analytics to improve their customer-centric perspectives and marketing programs
|
||||
|
||||
|
||||
|
||||
None of this comes for free. The cost is trust—the work of developing stronger and more trusting relationships with customers and partners. You'll need to decide what that looks like, and what the benefit is, for your own organization.
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://opensource.com/open-organization/19/12/customer-empowerment-trust
|
||||
|
||||
作者:[Tracy Giuliani][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/tgiuliani23
|
||||
[b]: https://github.com/lujun9972
|
||||
[1]: https://opensource.com/sites/default/files/styles/image-full-size/public/lead-images/BUSINESS_openseries.png?itok=rCtTDz5G (Open for business)
|
||||
[2]: https://opensource.com/open-organization/19/11/customer-empowerment-open-communities
|
||||
[3]: https://opensource.com/open-organization/19/4/managed-enabled-empowered
|
@ -1,132 +0,0 @@
|
||||
[#]: collector: (lujun9972)
|
||||
[#]: translator: (geekpi)
|
||||
[#]: reviewer: ( )
|
||||
[#]: publisher: ( )
|
||||
[#]: url: ( )
|
||||
[#]: subject: (Using multitail on Linux)
|
||||
[#]: via: (https://www.networkworld.com/article/3445228/using-multitail-on-linux.html)
|
||||
[#]: author: (Sandra Henry-Stocker https://www.networkworld.com/author/Sandra-Henry_Stocker/)
|
||||
|
||||
Using multitail on Linux
|
||||
======
|
||||
|
||||
[Glen Bowman][1] [(CC BY-SA 2.0)][2]
|
||||
|
||||
The **multitail** command can be very helpful whenever you want to watch activity on a number of files at the same time – especially log files. It works like a multi-windowed **tail -f** command. That is, it displays the bottoms of files and new lines as they are being added. While easy to use in general, **multitail** does provide some command-line and interactive options that you should be aware of before you start to use it routinely.
|
||||
|
||||
### Basic multitail-ing
|
||||
|
||||
The simplest use of **multitail** is to list the names of the files that you wish to watch on the command line. This command splits the screen horizontally (i.e., top and bottom), displaying the bottom of each of the files along with updates.
|
||||
|
||||
[[Get regularly scheduled insights by signing up for Network World newsletters.]][3]
|
||||
|
||||
```
|
||||
$ multitail /var/log/syslog /var/log/dmesg
|
||||
```
|
||||
|
||||
The display will be split like this:
|
||||
|
||||
[][4]
|
||||
|
||||
BrandPost Sponsored by HPE
|
||||
|
||||
[Take the Intelligent Route with Consumption-Based Storage][4]
|
||||
|
||||
Combine the agility and economics of HPE storage with HPE GreenLake and run your IT department with efficiency.
|
||||
|
||||
```
|
||||
+-----------------------+
|
||||
| |
|
||||
| |
|
||||
+-----------------------|
|
||||
| |
|
||||
| |
|
||||
+-----------------------+
|
||||
```
|
||||
|
||||
The lines displayed from each of the files would be followed by a single line per file that includes the assigned file number (starting with 00), the file name, the file size, and the date and time the most recent content was added. Each of the files will be allotted half the space available regardless of its size or activity. For example:
|
||||
|
||||
```
|
||||
content lines from my1.log
|
||||
more content
|
||||
more lines
|
||||
|
||||
00] my1.log 59KB - 2019/10/14 12:12:09
|
||||
content lines from my2.log
|
||||
more content
|
||||
more lines
|
||||
|
||||
01] my2.log 120KB - 2019/10/14 14:22:29
|
||||
```
|
||||
|
||||
Note that **multitail** will not complain if you ask it to display non-text files or files that you have no permission to view; you just won't see the contents.
|
||||
|
||||
You can also use wild cards to specify the files that you want to watch:
|
||||
|
||||
```
|
||||
$ multitail my*.log
|
||||
```
|
||||
|
||||
One thing to keep in mind is that **multitail** is going to split the screen evenly. If you specify too many files, you will see only a few lines from each and you will only see the first seven or so of the requested files if you list too many unless you take extra steps to view the later files (see the scrolling option described below). The exact result depends on the how many lines are available in your terminal window.
|
||||
|
||||
Press **q** to quit **multitail** and return to your normal screen view.
|
||||
|
||||
### Dividing the screen
|
||||
|
||||
**Multitail** will split your terminal window vertically (i.e., left and right) if you prefer. For this, use the **-s** option. If you specify three files, the right side of your screen will be divided horizontally as well. With four, you'll have four equal-sized windows.
|
||||
|
||||
```
|
||||
+-----------+-----------+ +-----------+-----------+ +-----------+-----------+
|
||||
| | | | | | | | |
|
||||
| | | | | | | | |
|
||||
| | | | +-----------+ +-----------+-----------+
|
||||
| | | | | | | | |
|
||||
| | | | | | | | |
|
||||
+-----------+-----------+ +-----------+-----------+ +-----------+-----------+
|
||||
2 files 3 files 4 files
|
||||
```
|
||||
|
||||
Use **multitail -s 3 file1 file2 file3** if you want to split the screen into three columns.
|
||||
|
||||
```
|
||||
+-------+-------+-------+
|
||||
| | | |
|
||||
| | | |
|
||||
| | | |
|
||||
| | | |
|
||||
| | | |
|
||||
+-------+-------+-------+
|
||||
3 files with -s 3
|
||||
```
|
||||
|
||||
### Scrolling
|
||||
|
||||
You can scroll up and down through displayed files, but you need to press **b** to bring up a selection menu and then use the up and arrow buttons to select the file you wish to scroll through. Then press the **enter** key. You can then scroll through the lines in an enlarged area, again using the up and down arrows. Press **q** when you're done to go back to the normal view.
|
||||
|
||||
### Getting Help
|
||||
|
||||
Pressing **h** in **multitail** will open a help menu describing some of the basic operations, though the man page provides quite a bit more information and is worth perusing if you want to learn even more about using this tool.
|
||||
|
||||
**Multitail** will not likely be installed on your system by default, but using **apt-get** or **yum** should get you to an easy install. The tool provides a lot of functionality, but with its character-based display, window borders will just be strings of **q**'s and **x**'s. It's a very handy when you need to keep an eye on file updates.
|
||||
|
||||
Join the Network World communities on [Facebook][5] and [LinkedIn][6] to comment on topics that are top of mind.
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://www.networkworld.com/article/3445228/using-multitail-on-linux.html
|
||||
|
||||
作者:[Sandra Henry-Stocker][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.networkworld.com/author/Sandra-Henry_Stocker/
|
||||
[b]: https://github.com/lujun9972
|
||||
[1]: https://www.flickr.com/photos/glenbowman/7992498919/in/photolist-dbgDtv-gHfRRz-5uRM4v-gHgFnz-6sPqTZ-5uaP7H-USFPqD-pbtRUe-fiKiYn-nmgWL2-pQNepR-q68p8d-dDsUxw-dbgFKG-nmgE6m-DHyqM-nCKA4L-2d7uFqH-Kbqzk-8EwKg-8Vy72g-2X3NSN-78Bv84-buKWXF-aeM4ok-yhweWf-4vwpyX-9hu8nq-9zCoti-v5nzP5-23fL48r-24y6pGS-JhWDof-6zF75k-24y6nHS-9hr19c-Gueh6G-Guei7u-GuegFy-24y6oX5-26qu5iX-wKrnMW-Gueikf-24y6oYh-27y4wwA-x4z19F-x57yP4-24BY6gc-24y6nPo-QGwbkf
|
||||
[2]: https://creativecommons.org/licenses/by-sa/2.0/legalcode
|
||||
[3]: https://www.networkworld.com/newsletters/signup.html
|
||||
[4]: https://www.networkworld.com/article/3440100/take-the-intelligent-route-with-consumption-based-storage.html?utm_source=IDG&utm_medium=promotions&utm_campaign=HPE20773&utm_content=sidebar ( Take the Intelligent Route with Consumption-Based Storage)
|
||||
[5]: https://www.facebook.com/NetworkWorld/
|
||||
[6]: https://www.linkedin.com/company/network-world
|
@ -0,0 +1,109 @@
|
||||
[#]: collector: (lujun9972)
|
||||
[#]: translator: ( )
|
||||
[#]: reviewer: ( )
|
||||
[#]: publisher: ( )
|
||||
[#]: url: ( )
|
||||
[#]: subject: (Holiday gift guide: Linux and open source tech gadgets)
|
||||
[#]: via: (https://opensource.com/article/19/12/gadgets-holiday-wishlist)
|
||||
[#]: author: (Joshua Allen Holm https://opensource.com/users/holmja)
|
||||
|
||||
Holiday gift guide: Linux and open source tech gadgets
|
||||
======
|
||||
Each of these gadgets encourages learning, exploring, and tinkering,
|
||||
qualities that reflect the values and interests of open source
|
||||
enthusiasts.
|
||||
![new techie gadgets representing innovation][1]
|
||||
|
||||
Everything on Opensource.com's annual selection of tech gadgets would make an excellent holiday gift for your friends and family—or even something to add to your own holiday wishlist. Each of these gadgets encourages learning, exploring, and tinkering, qualities that reflect the values and interests of open source enthusiasts.
|
||||
|
||||
### Circuit Playground Express
|
||||
|
||||
![Circuit Playground Express][2]
|
||||
|
||||
The [Circuit Playground Express][3] packs a wide array of interesting tech into a tiny, programmable package, which makes it an excellent choice for wearable projects. It features a motion sensor, temperature sensor, light sensor, sound sensor, speaker, 10 lights that can display any color, and much more. It can be programmed using block-based, drag-and-drop coding or JavaScript using [Microsoft MakeCode for Adafruit][4], or it can be programmed in Python using [CircuitPython][5]. Advanced users can use the [Arduino IDE][6] to program the board.
|
||||
|
||||
### FreedomBox
|
||||
|
||||
![FreedomBox][7]
|
||||
|
||||
[FreedomBox][8] is a self-hosted, privacy-focused alternative to a wide variety of online services. With FreedomBox, you can handle your email with a web-based IMAP client, calendar, online chatting, file storage, and [more][9] without being tied to services outside of your control. The FreedomBox software is built around Debian GNU/Linux, and all the services it can provide are open source. If you want a ready-to-go home server, you can purchase the [Pioneer edition FreedomBox Home Server][10]. If you want to be more "hands-on," you can download the [FreedomBox software][11] and install it on the supported hardware of your choice.
|
||||
|
||||
### Hack laptop
|
||||
|
||||
![Hack computer][12]
|
||||
|
||||
The [Hack][13] laptop is an ASUS E406MA laptop preloaded with a version of [Endless OS][14] that adds learning activities designed to teach children how to program. With only 4GB of RAM and a 64GB eMMC drive for storage, the Hack laptop is not a super-powerful computer, but it is a nice laptop for basic tasks like word processing, web browsing, and email. If the pre-installed Endless OS is not right for the user, the hardware is compatible with recent releases of most other Linux distributions.
|
||||
|
||||
### Kano Computer Kit
|
||||
|
||||
![Kano Computer Kit][15]
|
||||
|
||||
The [Kano Computer Kit][16] is a computer kit based around a custom Raspberry Pi 3 and running the open source [Kano OS][17]. Users follow step-by-step instructions to build their own computer. Once the computer is assembled, there are more than 100 programming activities that provide even more learning and entertainment. The Kano Computer Kit comes with everything needed to get started, except a monitor. The more expensive [Computer Kit Touch][18] comes with a touchscreen display.
|
||||
|
||||
### micro:bit
|
||||
|
||||
![micro:bit][19]
|
||||
|
||||
The [micro:bit][20] is a tiny, programmable circuit board that is great for learning and making. The board features an array of lights on one side of the circuit board, and the board can be programmed to respond to button presses, light, motion, and temperature. It can be programmed using drag-and-drop block or JavaScript using the [MakeCode editor][21], or it can be programmed in Python.
|
||||
|
||||
### pi-top [4]
|
||||
|
||||
![pi-top \[4\]][22]
|
||||
|
||||
The [pi-top [4]][23] is a kit designed to work with the Raspberry Pi 4. This kit includes a case, cables, and a selection of programmable sensors, buttons, and LEDs. The pi-top [4] is designed to work with [pi-topOS][24], but the kit can work reasonably well with other Raspberry Pi [operating systems][25].
|
||||
|
||||
### Raspberry Pi 4 (and other models)
|
||||
|
||||
![Raspberry Pi 4][26]
|
||||
|
||||
Of all the single-board computers on the market, the Raspberry Pi is probably the most well-known. Part of the reason for the Raspberry Pi's fame is the copious amount of ancillary material available for learning about projects that can be made using a Raspberry Pi. The [_MagPi Magazine_][27] is published monthly, contains tons of interesting projects, and is free to download. So if you give or receive the official [Raspberry Pi 4 Desktop Kit][28], another Raspberry Pi kit from a vendor, or a custom project built around a Raspberry Pi, you are sure to have an excellent gift, one that can keep on giving as _MagPi_ publishes more and more tutorials.
|
||||
|
||||
### Bonus: Tux Super Key Sticker
|
||||
|
||||
![Tux Super Key Keyboard Sticker][29]
|
||||
|
||||
Sure, a sticker is not a tech gadget, but this [Tux sticker][30] from Think Penguin can turn the Windows key on any computer keyboard into a Tux key. This inexpensive sticker can provide a little extra Linux-ness to any computer keyboard. The sticker is also a great item to buy in bulk and give out throughout the year as a Linux advocacy item.
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://opensource.com/article/19/12/gadgets-holiday-wishlist
|
||||
|
||||
作者:[Joshua Allen Holm][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/holmja
|
||||
[b]: https://github.com/lujun9972
|
||||
[1]: https://opensource.com/sites/default/files/styles/image-full-size/public/lead-images/innovation_virtual_gadgets_device_drone.png?itok=JTAgRb-1 (new techie gadgets representing innovation)
|
||||
[2]: https://opensource.com/sites/default/files/uploads/circuit_playground_express.jpg (Circuit Playground Express)
|
||||
[3]: https://learn.adafruit.com/adafruit-circuit-playground-express/overview
|
||||
[4]: https://learn.adafruit.com/makecode
|
||||
[5]: https://www.adafruit.com/category/956
|
||||
[6]: https://www.arduino.cc/en/Main/Software
|
||||
[7]: https://opensource.com/sites/default/files/uploads/freedombox_pioneer_edition.jpg (FreedomBox)
|
||||
[8]: https://freedombox.org
|
||||
[9]: https://wiki.debian.org/FreedomBox/Features
|
||||
[10]: https://freedombox.org/buy/
|
||||
[11]: https://freedombox.org/download/
|
||||
[12]: https://opensource.com/sites/default/files/uploads/endless_hack_laptop.jpg (Hack computer)
|
||||
[13]: https://hack-computer.com/
|
||||
[14]: https://endlessos.com/download/
|
||||
[15]: https://opensource.com/sites/default/files/uploads/kano_computer_kit.jpeg (Kano Computer Kit)
|
||||
[16]: https://kano.me/store/us/products/computer-kit
|
||||
[17]: https://kano.me/downloadable/us
|
||||
[18]: https://kano.me/us/store/products/computer-kit-touch
|
||||
[19]: https://opensource.com/sites/default/files/uploads/microbit.png (micro:bit)
|
||||
[20]: https://www.microbit.org/
|
||||
[21]: https://makecode.microbit.org/
|
||||
[22]: https://opensource.com/sites/default/files/uploads/pi-top_4.png (pi-top [4])
|
||||
[23]: https://www.pi-top.com/products/pi-top-4
|
||||
[24]: https://www.pi-top.com/products/os
|
||||
[25]: https://www.raspberrypi.org/downloads/
|
||||
[26]: https://opensource.com/sites/default/files/uploads/raspberry_pi_4_model_b.jpg (Raspberry Pi 4)
|
||||
[27]: https://magpi.raspberrypi.org/
|
||||
[28]: https://www.raspberrypi.org/blog/whats-inside-the-raspberry-pi-4-desktop-kit/
|
||||
[29]: https://opensource.com/sites/default/files/uploads/tux_key_sticker.jpg (Tux Super Key Keyboard Sticker)
|
||||
[30]: https://www.thinkpenguin.com/gnu-linux/tux-super-key-keyboard-sticker
|
@ -1,5 +1,5 @@
|
||||
[#]: collector: (lujun9972)
|
||||
[#]: translator: ( )
|
||||
[#]: translator: (geekpi)
|
||||
[#]: reviewer: ( )
|
||||
[#]: publisher: ( )
|
||||
[#]: url: ( )
|
||||
|
@ -0,0 +1,63 @@
|
||||
[#]: collector: (lujun9972)
|
||||
[#]: translator: ( )
|
||||
[#]: reviewer: ( )
|
||||
[#]: publisher: ( )
|
||||
[#]: url: ( )
|
||||
[#]: subject: (An idiot's guide to Kubernetes, low-code developers, and other industry trends)
|
||||
[#]: via: (https://opensource.com/article/19/12/technology-advice-and-other-industry-trends)
|
||||
[#]: author: (Tim Hildred https://opensource.com/users/thildred)
|
||||
|
||||
An idiot's guide to Kubernetes, low-code developers, and other industry trends
|
||||
======
|
||||
A weekly look at open source community, market, and industry trends.
|
||||
![Person standing in front of a giant computer screen with numbers, data][1]
|
||||
|
||||
As part of my role as a senior product marketing manager at an enterprise software company with an open source development model, I publish a regular update about open source community, market, and industry trends for product marketers, managers, and other influencers. Here are five of my and their favorite articles from that update.
|
||||
|
||||
## [An idiot's guide to Kubernetes][2]
|
||||
|
||||
> Kubernetes has already grown to encompass new features which have made it a better container platform for enterprise software. Elements like security and advanced networking have been pulled into the main body of the upstream Kubernetes code, and are now available for everyone to use.
|
||||
>
|
||||
> It is, however, true that there will always be supplementary needs to cover other aspects of an enterprise solution; things like logging and performance monitoring. This is where secondary packages like Istio come into play, bringing extra functionality, but keeping the Kubernetes core to a reasonable size and set of features.
|
||||
|
||||
**The impact**: I've always found that it is easy to take awareness of technology developments for granted. When everyone you interact with is also on the "cutting edge" your perspective gets skewed to the point where you might even think that someone who doesn't know about the latest in (INSERT PREFERRED TECHNOLOGY HERE) just isn't keeping up, when really it just hasn't started to impact their ability to do what they need to. Those people aren't idiots; they're our friends, customers, partners, collaborators, and communities.
|
||||
|
||||
## [Gartner: What to consider before adopting low-code development][3]
|
||||
|
||||
> Despite the focus on business IT teams, Gartner finds an increasingly important developer community is the central IT professional developers needing rapid development of simple applications, or to build minimum viable products or multi-experience capabilities. And when application leaders use low-code within conventional application projects, they might want to use a standard IT DevOps automation approach alongside low-code tooling.
|
||||
|
||||
**The impact**: A growing range of use cases and user experiences can be addressed and delivered through applications that require less time and skill to create. And low-code developers will also probably coalesce into a distinct group with their own norms and subculture.
|
||||
|
||||
## [Nokia argues cloud-native is essential to 5G core][4]
|
||||
|
||||
> Nokia outlined five key business objectives for 5G that can only be delivered by a cloud-native environment. Those include: better bandwidth, latency, and density; the extension of services via network slicing to new enterprises, industries, and [IoT][5] markets; rapid service deployments defined by agility and efficiency; new services that go beyond traditional broadband, voice, and messaging; and the advent of digital services that harness end-to-end networking to capture more revenue.
|
||||
|
||||
**The impact**: This is most meaningful in the context of the increasing number of things that will be hooked up to the network. 4G was primarily about more and more mobile phones; 5G is only really necessary when you start connecting everything else. Whereas 4G meant richer apps on our phones, 5G has very little to do with phones at all.
|
||||
|
||||
## [APIs: The hidden business accelerator][6]
|
||||
|
||||
> For organisations to have a successful digital transformation, an API strategy is critical. From unlocking valuable data to speeding up development time, APIs are the humble heroes of the digital era. Those already experimenting with APIs are already feeling the benefits. For example, research has shown that 53 percent of businesses that have used APIs cite them as increasing productivity, and 29 percent claim they experienced revenue growth as a direct result of API use. When treated as discoverable and reusable products that live beyond one project, APIs help lay a flexible foundation for continuous change.
|
||||
|
||||
**The impact**: The hidden business accelerator is actually the idea that capability should be packaged in a way that allows it to be repurposed and combined in contexts that its original provider didn't anticipate.
|
||||
|
||||
_I hope you enjoyed this list of what stood out to me from last week and come back next Monday for more open source community, market, and industry trends._
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://opensource.com/article/19/12/technology-advice-and-other-industry-trends
|
||||
|
||||
作者:[Tim Hildred][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/thildred
|
||||
[b]: https://github.com/lujun9972
|
||||
[1]: https://opensource.com/sites/default/files/styles/image-full-size/public/lead-images/data_metrics_analytics_desktop_laptop.png?itok=9QXd7AUr (Person standing in front of a giant computer screen with numbers, data)
|
||||
[2]: https://www.cbronline.com/feature/an-idiots-guide-to-kubernetes
|
||||
[3]: https://www.computerweekly.com/feature/Gartner-What-to-consider-before-adopting-low-code-development
|
||||
[4]: https://www.sdxcentral.com/articles/news/nokia-argues-cloud-native-is-essential-to-5g-core/2019/11/
|
||||
[5]: https://www.sdxcentral.com/5g/iot/ (IoT)
|
||||
[6]: https://www.cbronline.com/opinion/digital-transformation-3
|
@ -0,0 +1,99 @@
|
||||
[#]: collector: (lujun9972)
|
||||
[#]: translator: ( )
|
||||
[#]: reviewer: ( )
|
||||
[#]: publisher: ( )
|
||||
[#]: url: ( )
|
||||
[#]: subject: (App Highlight: Caligator is a Beautiful Calculator & Converter)
|
||||
[#]: via: (https://itsfoss.com/caligator/)
|
||||
[#]: author: (Ankush Das https://itsfoss.com/author/ankush/)
|
||||
|
||||
App Highlight: Caligator is a Beautiful Calculator & Converter
|
||||
======
|
||||
|
||||
You will find [lots of useful applications for Linux][1], however, not all of them focus primarily on the user experience.
|
||||
|
||||
Sure, the user interface may end up being something nice and simple but not necessarily pleasing to look at.
|
||||
|
||||
For the very same reason, I wanted to have a calculator and converter app on Linux similar to [Numi][2] (which is available only for macOS). I know we already have a superb calculator app like [Qalculate][3] but I am not a fan of its simple looking (read boring) interface.
|
||||
|
||||
Recently, I came across something very similar – ‘[Caligator][4]‘ made by [Team XenoX][5].
|
||||
|
||||
### It’s Not Your Typical Calculator
|
||||
|
||||
![][6]
|
||||
|
||||
When compared to traditional calculator apps – this is something different. It lets you calculate or convert by simply typing on it (as you can see in the image above).
|
||||
|
||||
Just like you type in to search for something on Google (or on [privacy-oriented Google alternatives][7]), the user has to just type the instruction naturally to get the output.
|
||||
|
||||
Not just limited to the ability to understand instructions for conversions, it also displays the output as you type. So, you do not have to wait and press another button to get the result.
|
||||
|
||||
![How Caligator Works][8]
|
||||
|
||||
### Feature Overview
|
||||
|
||||
![Caligator Screenshot][9]
|
||||
|
||||
For now, you can perform any kind of arithmetic calculations and convert things like Currency, Length, Weight, and more.
|
||||
|
||||
You can choose between a dark or light theme. However, for now, the app might get stuck when you try to change the theme. Atleast, I’m facing this issue right now on Pop!_OS 19.04.
|
||||
|
||||
They would fix the issue in the next update probably.
|
||||
|
||||
In addition to what’s possible, the developers have planned (as per the [official announcement][10]) the following features for the next update:
|
||||
|
||||
* Font size preferences
|
||||
* Export options
|
||||
* Click to copy
|
||||
* More themes
|
||||
|
||||
|
||||
|
||||
### Getting Caligator on Linux
|
||||
|
||||
You can directly head on to find its [GitHub releases][11] page and download the asset suitable for you.
|
||||
|
||||
For Linux, they have three file formats available: AppImage, Deb files and source code.
|
||||
|
||||
I suggest downloading the [AppImage][12] file. You just have to give it execute permission and then you can run Caligator on any Linux distribution.
|
||||
|
||||
In addition to Linux, you can also try it on your Mac/Windows machine.
|
||||
|
||||
[Caligator][4]
|
||||
|
||||
**Wrapping Up**
|
||||
|
||||
Caligator is still under development so you may encounter bugs. If you do, please open a bug report for the developers on their GitHub repository.
|
||||
|
||||
While this may be in its early stage of development now, it is definitely an impressive project which should incorporate interesting features in the near future.
|
||||
|
||||
I remember that elementary OS also has a [similar application called NaSC][13]. You may want to check it out as well.
|
||||
|
||||
What do you think about ‘Caligator’? Also, if you know about some interesting new open source projects for desktop Linux, let us know in the comments below.
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://itsfoss.com/caligator/
|
||||
|
||||
作者:[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://itsfoss.com/essential-linux-applications/
|
||||
[2]: https://numi.app/
|
||||
[3]: https://itsfoss.com/qalculate/
|
||||
[4]: https://caligator.now.sh/
|
||||
[5]: https://dev.to/teamxenox
|
||||
[6]: https://i0.wp.com/itsfoss.com/wp-content/uploads/2019/10/caligator-screenshot.png?ssl=1
|
||||
[7]: https://itsfoss.com/privacy-search-engines/
|
||||
[8]: https://i0.wp.com/itsfoss.com/wp-content/uploads/2019/10/caligator-works.gif?ssl=1
|
||||
[9]: https://i0.wp.com/itsfoss.com/wp-content/uploads/2019/10/caligator-screenshot-1.jpg?ssl=1
|
||||
[10]: https://dev.to/teamxenox/introducing-caligator-a-simple-yet-powerful-open-source-calculator-convertor-5f86
|
||||
[11]: https://github.com/sarthology/caligator/releases
|
||||
[12]: https://itsfoss.com/use-appimage-linux/
|
||||
[13]: https://itsfoss.com/math-ubuntu-nasc/
|
@ -0,0 +1,189 @@
|
||||
[#]: collector: (lujun9972)
|
||||
[#]: translator: ( )
|
||||
[#]: reviewer: ( )
|
||||
[#]: publisher: ( )
|
||||
[#]: url: ( )
|
||||
[#]: subject: (How to write a security integration module for Ansible)
|
||||
[#]: via: (https://opensource.com/article/19/12/how-write-security-integration-module-ansible)
|
||||
[#]: author: (Adam Miller https://opensource.com/users/maxamillion)
|
||||
|
||||
How to write a security integration module for Ansible
|
||||
======
|
||||
Ansible automation offers a lot of potential for the information
|
||||
security industry. Learn how to take advantage of it in this summary of
|
||||
an AnsibleFest 2019 talk.
|
||||
![Security monster][1]
|
||||
|
||||
[Ansible][2] is a [radically simple IT automation platform][3] that makes your applications and systems easier to deploy. It allows you to avoid writing scripts or custom code to deploy and update your applications, systems, and various classifications of network-attached devices. Ansible allows you to automate in a language that approaches plain English with no agents to install on remote systems and uses native protocols based on device type—such as SSH for Unix-style operating systems, WinRM for Windows systems, REST APIs (**httpapi**) for REST API appliances, and many more.
|
||||
|
||||
### Background
|
||||
|
||||
At [AnsibleFest 2019][4], my colleague [Sumit Jaiswal][5] and I gave a talk, titled "[Ansible development deep dive: How to write a security integration module and collection for Ansible][6]," about something that we have been working on. This article recaps the finer points of our talk; I hope it will highlight the potential of what Ansible is—and can be capable of—in the realm of information security automation.
|
||||
|
||||
A lot of this started with my colleague [Massimo Ferrari's][7] statement that "Ansible automation can be the _lingua franca_ to integrate and orchestrate the many security platforms spread across different domains." We spent a lot of time mulling this over; it may be obvious to DevOps and automation professionals who've discovered the power of Ansible, but infosec doesn't have similar tools that target the industry's problems in the same way. Therefore, Ferrari's statement offers a lot of potential for the infosec industry.
|
||||
|
||||
In this article, I'll summarize two major points we highlighted in our AnsbileFest 2019 talk:
|
||||
|
||||
* Ansible recommended development practices
|
||||
* Classify what you're integrating with and how you connect to it (API or CLI?)
|
||||
|
||||
|
||||
|
||||
### Ansible recommended development practices
|
||||
|
||||
The Ansible engineering team likes to never write the words "best practice," because we can't possibly know what's best for you in your specific situation. You are the expert on topics as they apply to your unique environment and requirements. However, we can provide _recommendations_, which I'll outline from the perspective of an Ansible module developer.
|
||||
|
||||
#### Modules
|
||||
|
||||
Modules are user-focused and self-contained. This mostly means that the code contained in your module should be self-contained within your [module][8] or in a **[module_util][9]**. The latter is what allows us to share code between modules, but everything must be as self-contained as possible, as we don't want to introduce too many external dependencies. We also want each module to perform some sort of state management. Each module should be [idempotent][10], which basically means "inflict change if needed, otherwise, do not." A module should not attempt to contain a workflow (that's what [playbooks][11] are for), and we want to leave that up to the user. Modules shouldn't attempt to "do too much," such that you have one massive module that takes 100 arguments and, based on values provided by the user, performs wildly different actions on the target device.
|
||||
|
||||
An example of what we generally want to avoid could go something like this:
|
||||
|
||||
|
||||
```
|
||||
\- name: Create a virtual machine
|
||||
some_module:
|
||||
thing_to_do: "create_virtual_machine"
|
||||
name: "bobs_awesome_vm"
|
||||
storage_size: 100G
|
||||
ram: 24G
|
||||
vcpus: 4
|
||||
|
||||
\- name: Create a virtual storage volume
|
||||
some_module:
|
||||
thing_to_do: "create_virtual_storage_vol"
|
||||
name: "bobs_awesome_storage"
|
||||
storage_size: 1000G
|
||||
lun_id: 12
|
||||
```
|
||||
|
||||
In this example, the fictitious **some_module** is performing completely disjointed actions based on the value of **thing_to_do**. This is not a discrete, self-contained unit of work from the perspective of an Ansible module. These should be two separate modules that could even share code on the backend through a custom module_util (if that makes the developer's life easier). Either way, they should be separate modules so the user can easily define, read, and understand the task as written. As a developer, you want to make the module's interaction user-focused.
|
||||
|
||||
Another aspect of being user-focused is that the user should not need any knowledge of the destination API in order to use the module effectively. The module should provide useful defaults, documentation, and examples that allow users to pick their own automation path.
|
||||
|
||||
#### Collections
|
||||
|
||||
[Ansible collections][12] are a relatively new concept, but they are generally seen as the future for Ansible content of all shapes and sizes. They allow Ansible content, such as modules, module_utils, plugins of all kinds, roles, docs, tests, playbooks, and whatever the community dreams up next, to exist as a cohesive unit to be tested, verified, and distributed as an entity. What's more (and this is its real advantage for developers) is that it decouples the content from the [Ansible Core runtime][13]. This allows Ansible content to be lifecycle-managed separately from Ansible itself, meaning it can be released as often or as infrequently as the content author or maintainer desires. No longer will new features have to wait six months for the next Ansible release. The collection authors can release as often as they desire.
|
||||
|
||||
Collections are meant to be a simple progression into a brave new world where the Ansible Core execution engine is symbolically similar to [CPython][14]. Ansible collections are symbolically similar to Python modules found on [PyPI][15]. [Ansible Galaxy][16] is symbolically similar to PyPI as the de facto distribution mechanism.
|
||||
|
||||
From a developer standpoint, you simply need to drop your files in the correct location and update any custom module_utils Python import paths. From a user perspective, you just need to add the **collection** namespace and name to the [play][11] or [block][17] that intends to use that content.
|
||||
|
||||
### Classify what you're integrating with and how you connect to it
|
||||
|
||||
In the security realm, appliance devices or software that is meant to be used like an appliance (network devices, embedded systems, and so on) sometimes present the administrator both an [application programming interface][18] (API) and a [command-line interface][19] (CLI). As a module developer, you must make some decisions in service of ease of development, maintainability of code, and, ultimately, consistent user experience.
|
||||
|
||||
#### CLI
|
||||
|
||||
If you are potentially going to wrap a CLI, ask yourself whether that CLI offers a consistent interface with output you can reasonably and consistently parse. Beyond that, does the CLI offer the ability to formulate idempotent transactions? While the majority of CLIs offer **get** and **set** types of transactions (especially on Unix/Linux systems), some of them do not, and this is something module authors need to consider.
|
||||
|
||||
When considering CLI implementations with network or embedded devices that have a standard CLI but don't offer a traditional Unix shell, you should look into implementing a [cliconf plugin][20]. This type of plugin enables your users to interact with appliances or embedded devices in a way that's natural to the seasoned Ansible user and beginner alike. Alternatively, should you find yourself with a device that allows you to execute local Python code (_local_ to the device or system itself; a "managed host" in Ansible terminology), then consider the **[run_command][21]** module_util. The latter situation is effectively just a traditional [module development][22] workflow, as it would be for a traditional GNU/Linux distribution.
|
||||
|
||||
#### API
|
||||
|
||||
If the technology you are attempting to integrate with offers an API, determine whether that API is a local on-system API (local to the remote "managed host" system) or a remote API such as a [REST][23] API?
|
||||
|
||||
In the event you find yourself with a local Python API and it's advantageous to use it instead of the REST API (in the event both are available), this situation is effectively the same as a traditional [module development][22] workflow in a GNU/Linux distribution.
|
||||
|
||||
However, if the only option is a REST API, or if the available REST API is determined to be the best option, then writing an [httpapi connection plugin][24] is best for general ease of implementation, maintenance, and handling things like AuthN, AuthZ, sessions, and so on. It also offers an idiomatic pattern for talking to these types of devices, even though they have a considerably different means of communication than most others that Ansible works with.
|
||||
|
||||
An example to illustrate this point is probably common to anyone who has automated a web service with a module that doesn't provide an httpapi connection plugin. Typically in these scenarios, the play, block, or task must be run against **localhost**, and the various information for the connection to the web service must be passed to each invocation of the module for each task.
|
||||
|
||||
|
||||
```
|
||||
\---
|
||||
\- name: talk to foo device
|
||||
hosts: localhost
|
||||
tasks:
|
||||
- name: do something
|
||||
foo_device_do_thing:
|
||||
url: foo.example.com
|
||||
username: "{{ foo_device_username }}"
|
||||
passwd: "{{ foo_device_password }}"
|
||||
validate_certs: true
|
||||
thing_state: present
|
||||
some_param: bar
|
||||
```
|
||||
|
||||
If this module had been implemented against an httpapi connection plugin instead, then the various connection-specific parameters would be host variables or group variables and wouldn't have to be carried around at the task level in playbooks.
|
||||
|
||||
Here's an inventory entry to handle the AuthN/AuthZ connection for all Ansible modules, written against the httpapi connection plugin. It also performs session handling for increased performance:
|
||||
|
||||
|
||||
```
|
||||
[foo_devices]
|
||||
foo.example.com
|
||||
|
||||
[foo_devices:vars]
|
||||
ansible_network_os=foo_device
|
||||
ansible_user=foo_device_username
|
||||
ansible_httpapi_pass=foo_device_password
|
||||
ansible_httpapi_validate_certs=true
|
||||
```
|
||||
|
||||
This playbook would be considerably more idiomatic. The **foo_devices** are a first-class device type and [host pattern][25] for the playbook.
|
||||
|
||||
|
||||
```
|
||||
\---
|
||||
\- name: talk to foo device
|
||||
hosts: foo_devices
|
||||
tasks:
|
||||
- name: do something
|
||||
foo_device_do_thing:
|
||||
thing_state: present
|
||||
some_param: bar
|
||||
```
|
||||
|
||||
A playbook has to define information for every task, so imagine one that has 20 or 100 tasks. The overhead would be considerable. This doesn't feel much like directly automating the hosts defined in the host field. However, the httpapi connection plugin negates the need to define the connection information over and over, and it also talks natively to devices over a REST API, just as you would on a Linux system over SSH in a playbook.
|
||||
|
||||
Something to note about httpapi connection plugins is that, even though the user defines hosts, groups, host vars, and group vars, just in like a traditional Unix/Linux or Windows-managed host, these modules actually execute against the localhost (the "control host" in Ansible nomenclature). This is something to keep in mind when you're developing.
|
||||
|
||||
### What the what?
|
||||
|
||||
If you're new to Ansible module development, this might seem like a lot to take in at once. To be fair, it is. However, as you become more seasoned in the finer points of Ansible module development for a wide array of device types and technology solution classifications, the motivation for different development strategies starts to make sense. Some device classifications have idiosyncrasies, and this model helps Ansible developers and users deal with those in a consistent and predictable way.
|
||||
|
||||
### Wrapping up
|
||||
|
||||
If you have questions about Ansible module development models, feel free to reach out through the vibrant [Ansible Community][26], and more specifically, the [Ansible Security Automation Working Group][27].
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://opensource.com/article/19/12/how-write-security-integration-module-ansible
|
||||
|
||||
作者:[Adam Miller][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/maxamillion
|
||||
[b]: https://github.com/lujun9972
|
||||
[1]: https://opensource.com/sites/default/files/styles/image-full-size/public/lead-images/security_password_chaos_engineer_monster.png?itok=J31aRccu (Security monster)
|
||||
[2]: https://www.ansible.com
|
||||
[3]: https://opensource.com/article/19/2/quickstart-guide-ansible
|
||||
[4]: https://www.ansible.com/ansiblefest
|
||||
[5]: https://github.com/justjais
|
||||
[6]: https://www.ansible.com/development-deep-dive-how-to-write-a-security-integration-module-for-ansible
|
||||
[7]: https://www.linkedin.com/in/massimoferrari/
|
||||
[8]: https://docs.ansible.com/ansible/latest/dev_guide/developing_modules_general.html#developing-modules-general
|
||||
[9]: https://docs.ansible.com/ansible/latest/dev_guide/developing_module_utilities.html
|
||||
[10]: https://en.wikipedia.org/wiki/Idempotence
|
||||
[11]: https://docs.ansible.com/ansible/latest/user_guide/playbooks.html
|
||||
[12]: https://docs.ansible.com/ansible/latest/dev_guide/developing_collections.html
|
||||
[13]: https://github.com/ansible/ansible
|
||||
[14]: https://en.wikipedia.org/wiki/CPython
|
||||
[15]: https://pypi.org
|
||||
[16]: https://galaxy.ansible.com
|
||||
[17]: https://docs.ansible.com/ansible/latest/user_guide/playbooks_blocks.html
|
||||
[18]: https://en.wikipedia.org/wiki/Application_programming_interface
|
||||
[19]: https://en.wikipedia.org/wiki/Command-line_interface
|
||||
[20]: https://docs.ansible.com/ansible/latest/plugins/cliconf.html
|
||||
[21]: https://docs.ansible.com/ansible/latest/reference_appendices/module_utils.html#ansible.module_utils.basic.AnsibleModule.run_command
|
||||
[22]: https://docs.ansible.com/ansible/latest/dev_guide/developing_modules_general.html
|
||||
[23]: https://en.wikipedia.org/wiki/Representational_state_transfer
|
||||
[24]: https://docs.ansible.com/ansible/latest/network/dev_guide/developing_plugins_network.html#developing-plugins-httpapi
|
||||
[25]: https://docs.ansible.com/ansible/latest/user_guide/intro_patterns.html
|
||||
[26]: https://www.ansible.com/community
|
||||
[27]: https://github.com/ansible/community/wiki/Security-Automation
|
@ -0,0 +1,123 @@
|
||||
[#]: collector: (lujun9972)
|
||||
[#]: translator: ( )
|
||||
[#]: reviewer: ( )
|
||||
[#]: publisher: ( )
|
||||
[#]: url: ( )
|
||||
[#]: subject: (Using Ansible to organize your SSH keys in AWS)
|
||||
[#]: via: (https://fedoramagazine.org/using-ansible-to-organize-your-ssh-keys-in-aws/)
|
||||
[#]: author: (Daniel Leite de Abreu https://fedoramagazine.org/author/dabreu/)
|
||||
|
||||
Using Ansible to organize your SSH keys in AWS
|
||||
======
|
||||
|
||||
![][1]
|
||||
|
||||
If you’ve worked with instances in Amazon Web Services (AWS) for a long time, you may run into this common issue. It’s not technical, but more to do with the human nature of getting too comfortable. When you launch a new instance in a region you haven’t used recently, you may end up creating a new SSH key pair. This leads to having too many keys, which can become complicated and disordered.
|
||||
|
||||
This article shows you a way to have your public key in all regions. A recent [Fedora Magazine article][2] includes one solution. But the solution in this article is automated even further, and in a more concise and scalable way.
|
||||
|
||||
Say you have a Fedora 30 or 31 desktop system where your key is stored, and Ansible is installed as well. These two things together provide the solution to this problem and many more.
|
||||
|
||||
With Ansible’s [ec2_key module][3], you can create a simple playbook that will maintain your SSH key pair in all regions. If you need to add or remove keys, it’s as simple as adding and removing lines from a file.
|
||||
|
||||
### Setting up and running the playbook
|
||||
|
||||
To use the playbook, first install necessary dependencies for the _ec2_key_ module:
|
||||
|
||||
```
|
||||
$ sudo dnf install python3-boto python3-boto3
|
||||
```
|
||||
|
||||
The playbook is simple: you need only to change your key and its name as in the example below. After that, run the playbook and it iterates over all the public AWS regions listed. The example also includes the restricted regions in case you have access. To include them, uncomment each line as needed, save the file, and then run the playbook again.
|
||||
|
||||
```
|
||||
---
|
||||
- name: Maintain an ssh key pair in ec2
|
||||
hosts: localhost
|
||||
connection: local
|
||||
gather_facts: no
|
||||
vars:
|
||||
ansible_python_interpreter: python
|
||||
tasks:
|
||||
- name: Make available your ssh public key in ec2 for new instances
|
||||
ec2_key:
|
||||
name: "YOUR KEY NAME GOES HERE"
|
||||
key_material: 'YOUR KEY GOES HERE'
|
||||
state: present
|
||||
region: "{{ item }}"
|
||||
with_items:
|
||||
- us-east-2 #US East (Ohio)
|
||||
- us-east-1 #US East (N. Virginia)
|
||||
- us-west-1 #US West (N. California)
|
||||
- us-west-2 #US West (Oregon)
|
||||
- ap-east-1 #Asia Pacific (Hong Kong)
|
||||
- ap-south-1 #Asia Pacific (Mumbai)
|
||||
- ap-northeast-2 #Asia Pacific (Seoul)
|
||||
- ap-southeast-1 #Asia Pacific (Singapore)
|
||||
- ap-southeast-2 #Asia Pacific (Sydney)
|
||||
- ap-northeast-1 #Asia Pacific (Tokyo)
|
||||
- ca-central-1 #Canada (Central)
|
||||
- eu-central-1 #EU (Frankfurt)
|
||||
- eu-west-1 #EU (Ireland)
|
||||
- eu-west-2 #EU (London)
|
||||
- eu-west-3 #EU (Paris)
|
||||
- eu-north-1 #EU (Stockholm)
|
||||
- me-south-1 #Middle East (Bahrain)
|
||||
- sa-east-1 #South America (Sao Paulo)
|
||||
# - us-gov-east-1 #AWS GovCloud (US-East)
|
||||
# - us-gov-west-1 #AWS GovCloud (US-West)
|
||||
# - ap-northeast-3 #Asia Pacific (Osaka-Local)
|
||||
# - cn-north-1 #China (Beijing)
|
||||
# - cn-northwest-1 #China (Ningxia)
|
||||
```
|
||||
|
||||
This playbook requires AWS access via API, as well. To do this, use environment variables as follows:
|
||||
|
||||
```
|
||||
$ AWS_ACCESS_KEY="aws-access-key-id" AWS_SECRET_KEY="aws-secret-key-id" ansible-playbook ec2-playbook.yml
|
||||
```
|
||||
|
||||
Another option is to install the aws cli tools and add the credentials as explained in a [previous Fedora Magazine article][4]. It is **not recommended** to insert these values in the playbook if you store it anywhere online! You can find this playbook code on [GitHub][5].
|
||||
|
||||
After the playbook finishes, confirm that your key is available on the AWS console. To do that:
|
||||
|
||||
1. Log into your AWS console
|
||||
2. Go to **EC2 > Key Pairs**
|
||||
3. You should see your key listed. The only limitation is that you have to check region-by-region with this method.
|
||||
|
||||
|
||||
|
||||
Another way is to use a quick command in a shell to do this check for you.
|
||||
|
||||
First create a variable with all regions on the playbook:
|
||||
|
||||
```
|
||||
AWS_REGION="us-east-1 us-west-1 us-west-2 ap-east-1 ap-south-1 ap-northeast-2 ap-southeast-1 ap-southeast-2 ap-northeast-1 ca-central-1 eu-central-1 eu-west-1 eu-west-2 eu-west-3 eu-north-1 me-south-1 sa-east-1"
|
||||
```
|
||||
|
||||
Then do a for loop and you will get the result from aws API:
|
||||
|
||||
```
|
||||
for each in ${AWS_REGION} ; do aws ec2 describe-key-pairs --key-name <YOUR KEY GOES HERE> ; done
|
||||
```
|
||||
|
||||
Keep in mind that to do the above you need to have the aws cli installed.
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://fedoramagazine.org/using-ansible-to-organize-your-ssh-keys-in-aws/
|
||||
|
||||
作者:[Daniel Leite de Abreu][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/dabreu/
|
||||
[b]: https://github.com/lujun9972
|
||||
[1]: https://fedoramagazine.org/wp-content/uploads/2019/12/ansible-aws-keys-816x345.jpg
|
||||
[2]: https://fedoramagazine.org/ssh-key-aws-regions/
|
||||
[3]: https://docs.ansible.com/ansible/latest/modules/ec2_key_module.html
|
||||
[4]: https://fedoramagazine.org/aws-tools-fedora/
|
||||
[5]: https://github.com/dlabreu/aws
|
@ -0,0 +1,72 @@
|
||||
[#]: collector: (lujun9972)
|
||||
[#]: translator: ( )
|
||||
[#]: reviewer: ( )
|
||||
[#]: publisher: ( )
|
||||
[#]: url: ( )
|
||||
[#]: subject: (Why use the Pantheon desktop for Linux Elementary OS)
|
||||
[#]: via: (https://opensource.com/article/19/12/pantheon-linux-desktop)
|
||||
[#]: author: (Seth Kenlon https://opensource.com/users/seth)
|
||||
|
||||
Why use the Pantheon desktop for Linux Elementary OS
|
||||
======
|
||||
This article is part of a special series on Linux desktops. Get a
|
||||
much-loved Mac OS feature on Linux with the Pantheon desktop for
|
||||
Elementary OS.
|
||||
![A person programming][1]
|
||||
|
||||
Would you pay $20 for a Linux desktop? I would, and in fact, I regularly choose to pay more than that when I download free software! The reason I do this is that open source is worth it. For a copy of [Elementary OS][2], US$ 20 happens to be the default asking price (you can download it for $1 or even $0 if you can't afford anything more). What you get in return is an excellent and heavily curated distribution that ships with its own Pantheon desktop design.
|
||||
|
||||
You may find Pantheon included in a software repository, as it is open source, but more likely, you'll have to download and install [Elementary][3] Linux to experience it. If you're not ready to install Elementary on your computer as the main OS, you can install it into a virtual machine, like [GNOME Boxes][4].
|
||||
|
||||
The Pantheon desktop is clean, attractive, and features many of the little things many users want in a desktop but could never quite get from the usual Linux desktops.
|
||||
|
||||
### Pantheon desktop tour
|
||||
|
||||
At first glance, the Pantheon desktop looks a little like Cinnamon or Budgie or the Classic mode of GNOME 3. However, the most exciting features of Pantheon are the smallest touches. It excels in all the places you notice the very least, until that place is the only thing you're looking at one day, and you realize that the way it works has literally improved your quality of life, to say nothing of making your day a lot nicer.
|
||||
|
||||
The clearest example of this is **file name highlighting**. For decades, Mac OS has had a much-loved feature whereby you can highlight the displayed name of an important file. People use this feature as a quick visual indicator to tell themselves which file is the "best" version of several, or which file should be sent to a friend, or which file still needs work. They're arbitrary colors and can mean whatever the user wants them to mean. Most importantly, it's noticeable visual metadata.
|
||||
|
||||
Users switching from Mac OS tend to miss this feature in GNOME and KDE and every other desktop option Linux has on offer. Pantheon quietly and casually solves that problem.
|
||||
|
||||
![A highlighted file in the Pantheon desktop][5]
|
||||
|
||||
Of course, that's just one example of many. Pantheon is filled with small features that you don't think about until you need them.
|
||||
|
||||
The desktop is refined and attractive, with all the intuitive parts that have disappeared from many other desktops. In many ways, it has taken the best of the good ideas of many different interfaces and refrained from implementing the excesses.
|
||||
|
||||
![Pantheon desktop on Elementary OS][6]
|
||||
|
||||
### Customizing the Pantheon desktop
|
||||
|
||||
The Pantheon desktop represents a pretty clear vision of how a computer ought to be operated. The "problem" with this kind of design (outside of open source, at least) is that one person's preference may not be another person's efficiency.
|
||||
|
||||
But this is open source. Things can be changed, and whatever can't be changed can be discarded for a different option. Pantheon is definitely a desktop for a specific set of users, but even those of us with our own expectations of how a desktop ought to work might find Pantheon refreshingly more flexible than it first appears. There are overrides for many built-in designs, and when you can't adjust something to your liking, you can easily choose an alternative application. The theme engine ensures that your replacement application looks integrated with the rest of your desktop, and the usual Linux system buses ensure that all of your chosen applications communicate with one another as expected.
|
||||
|
||||
![Which one is the guest?][7]
|
||||
|
||||
As compromises go, this one does a lot to meet you halfway.
|
||||
|
||||
### A welcome addition
|
||||
|
||||
Etymology aside, this desktop truly is an answer to the prayers of many Linux users. Whether it's your style or not, the Pantheon desktop is an important and welcome addition to the Linux user experience. Try it for yourself and see if it's the good news you've been waiting for.
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://opensource.com/article/19/12/pantheon-linux-desktop
|
||||
|
||||
作者:[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/computer_keyboard_laptop_development_code_woman.png?itok=vbYz6jjb (A person programming)
|
||||
[2]: https://elementary.io/
|
||||
[3]: http://elementary.io
|
||||
[4]: https://opensource.com/article/19/5/getting-started-gnome-boxes-virtualization
|
||||
[5]: https://opensource.com/sites/default/files/uploads/advent-pantheon-highlight.jpg (A highlighted file in the Pantheon desktop)
|
||||
[6]: https://opensource.com/sites/default/files/uploads/advent-pantheon.jpg (Pantheon desktop on Elementary OS)
|
||||
[7]: https://opensource.com/sites/default/files/uploads/advent-pantheon-pcmanfm.jpg (Which one is the guest?)
|
121
translated/tech/20191017 Using multitail on Linux.md
Normal file
121
translated/tech/20191017 Using multitail on Linux.md
Normal file
@ -0,0 +1,121 @@
|
||||
[#]: collector: (lujun9972)
|
||||
[#]: translator: (geekpi)
|
||||
[#]: reviewer: ( )
|
||||
[#]: publisher: ( )
|
||||
[#]: url: ( )
|
||||
[#]: subject: (Using multitail on Linux)
|
||||
[#]: via: (https://www.networkworld.com/article/3445228/using-multitail-on-linux.html)
|
||||
[#]: author: (Sandra Henry-Stocker https://www.networkworld.com/author/Sandra-Henry_Stocker/)
|
||||
|
||||
在 Linux 上使用 Multitail
|
||||
======
|
||||
|
||||
[Glen Bowman][1] [(CC BY-SA 2.0)][2]
|
||||
|
||||
当你想同时查看多个文件(尤其是日志文件)的活动时,**multitail** 命令会非常有用。它的工作方式类似于多窗口形式的 **tail -f** 命令。也就是说,它显示文件底部和添加的新行。虽然通常使用简单,但是 **multitail** 提供了一些命令行和交互式选项,在开始使用它之前,你应该了解它们。
|
||||
|
||||
|
||||
### 基本 multitail 使用
|
||||
|
||||
**multitail** 的最简单用法是在命令行中列出你要查看的文件名称。此命令水平分割屏幕(即顶部和底部),并显示每个文件的底部以及更新。
|
||||
|
||||
```
|
||||
$ multitail /var/log/syslog /var/log/dmesg
|
||||
```
|
||||
|
||||
显示内容将像这样拆分:
|
||||
|
||||
```
|
||||
+-----------------------+
|
||||
| |
|
||||
| |
|
||||
+-----------------------|
|
||||
| |
|
||||
| |
|
||||
+-----------------------+
|
||||
```
|
||||
|
||||
每个文件都有一行显示该文件的文件编号(从 00 开始)、文件名、文件大小、最新内容的添加日期和时间。每个文件将被分配一半空间,而不论它的大小和活动情况。比如:
|
||||
|
||||
```
|
||||
content lines from my1.log
|
||||
more content
|
||||
more lines
|
||||
|
||||
00] my1.log 59KB - 2019/10/14 12:12:09
|
||||
content lines from my2.log
|
||||
more content
|
||||
more lines
|
||||
|
||||
01] my2.log 120KB - 2019/10/14 14:22:29
|
||||
```
|
||||
|
||||
请注意,如果你要求 **multitail** 显示非文本文件或者你无权查看的文件,它不会报错。你只是看不到内容。
|
||||
|
||||
你还可以使用通配符指定要查看的文件:
|
||||
|
||||
```
|
||||
$ multitail my*.log
|
||||
```
|
||||
|
||||
要记住的一件事是,**multitail** 将平均分割屏幕。如果指定的文件太多,那么除非你采取额外的步骤查看之后的文件(参考下面的滚动选项),否则你将只会看到前面 7 个文件的前面几行。确切的结果取决于终端窗口中有多少行可用。
|
||||
|
||||
按 **q** 退出 **multitail** 并返回到正常的屏幕视图。
|
||||
|
||||
### 分割屏幕
|
||||
|
||||
如果你愿意,**multitail** 将垂直分割你的终端窗口(即,左和右)。为此,请使用 **-s** 选项。如果指定了三个文件,那么屏幕右侧的窗口将会水平分隔。四个文件的话,你将拥有四个大小相等的窗口。
|
||||
|
||||
```
|
||||
+-----------+-----------+ +-----------+-----------+ +-----------+-----------+
|
||||
| | | | | | | | |
|
||||
| | | | | | | | |
|
||||
| | | | +-----------+ +-----------+-----------+
|
||||
| | | | | | | | |
|
||||
| | | | | | | | |
|
||||
+-----------+-----------+ +-----------+-----------+ +-----------+-----------+
|
||||
2 个文件 3 个文件 4 个文件
|
||||
```
|
||||
|
||||
如果要将屏幕分为三列,请使用 **multitail -s 3 file1 file2 file3**。
|
||||
|
||||
```
|
||||
+-------+-------+-------+
|
||||
| | | |
|
||||
| | | |
|
||||
| | | |
|
||||
| | | |
|
||||
| | | |
|
||||
+-------+-------+-------+
|
||||
3 个文件带上 -s 3 选项
|
||||
```
|
||||
|
||||
### 滚动
|
||||
|
||||
你可以上下滚动文件,但是需要按下 **b** 弹出选择菜单,然后使用向上和向下箭头按钮选择要滚动浏览的文件。然后按下回车键。然后,你可以再次使用向上和向下箭头在放大的区域中滚动浏览各行。完成后按下 **q** 返回正常视图。
|
||||
|
||||
### 获得帮助
|
||||
|
||||
在 **multitail** 中按下 **h** 将打开一个帮助菜单,其中描述了一些基本操作,但是手册页提供了更多信息,如果莫想了解更多有关使用此工具的信息,请仔细阅读。
|
||||
|
||||
默认情况下,你的系统商不会安装 **multitail**,但是使用 **apt-get** 或 **yum** 可以使你轻松安装。该工具提供了许多功能,但是通过基于字符的显示,窗口边框将只是 **q** 和 **x** 的字符串。 当你需要关注文件更新时,它非常方便。
|
||||
|
||||
加入 [Facebook][5] 和 [LinkedIn][6] 上的 Network World 社区,评论热门主题。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://www.networkworld.com/article/3445228/using-multitail-on-linux.html
|
||||
|
||||
作者:[Sandra Henry-Stocker][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://www.networkworld.com/author/Sandra-Henry_Stocker/
|
||||
[b]: https://github.com/lujun9972
|
||||
[1]: https://www.flickr.com/photos/glenbowman/7992498919/in/photolist-dbgDtv-gHfRRz-5uRM4v-gHgFnz-6sPqTZ-5uaP7H-USFPqD-pbtRUe-fiKiYn-nmgWL2-pQNepR-q68p8d-dDsUxw-dbgFKG-nmgE6m-DHyqM-nCKA4L-2d7uFqH-Kbqzk-8EwKg-8Vy72g-2X3NSN-78Bv84-buKWXF-aeM4ok-yhweWf-4vwpyX-9hu8nq-9zCoti-v5nzP5-23fL48r-24y6pGS-JhWDof-6zF75k-24y6nHS-9hr19c-Gueh6G-Guei7u-GuegFy-24y6oX5-26qu5iX-wKrnMW-Gueikf-24y6oYh-27y4wwA-x4z19F-x57yP4-24BY6gc-24y6nPo-QGwbkf
|
||||
[2]: https://creativecommons.org/licenses/by-sa/2.0/legalcode
|
||||
[5]: https://www.facebook.com/NetworkWorld/
|
||||
[6]: https://www.linkedin.com/company/network-world
|
Loading…
Reference in New Issue
Block a user