分类 分享 下的文章

备受关注的 LinuxCon 2017(北京)即将在一周后在北京首秀,而国内已经连续举办了 11 届的中国 Linux 内核开发者大会(CLK)也将在金秋十月的北京举办第 12 届。值此 Linux 界两大盛会举办之际,我特意收集了一些 Linux 内核方面的文章分享给大家。

让我们先以一篇漫画开端:《漫画赏析:Linux 内核到底长啥样》,这篇并不算严谨的漫画,来自极客漫画站 TurnOff.us,由 LCTT 翻译组进行汉化和点评,以有趣的方式向大众展示了内核里面都发生了些什么:

Linux 内核都有啥

当然, 作为非专业陈述,就不必深究细节了,但是这篇漫画成功地引起了诸多(伪)Linux 内核爱好者的兴趣。

如果你对 Linux 内核发生了兴趣,想要知道 Linux 内核是如何构建的,那这里也有一篇文章可以指导你,这是一篇由 GitHub 上 0xAX 写的一系列 Linux 内核文章中的一篇, LCTT 成员 @mudongliang 参与了组织翻译。

此系列我们还翻译了数篇数据结构方面的文章,如:双向链表基数树位数组,这些在你做内核开发和研究时肯定会用到。当然,Linus Torvalds 大神向来以对进入内核的代码审核严苛而著称,比如说,他曾经就如何写出具有 “good taste” 的代码而发表过演讲。

说起来,现在内核的变化太快了,简直是日新月异,比如说,我们就注意到 BPF 进入了 4.9 内核,它相当于 BSD 中的 DTrace 一样。另外,据闻 Linux 内核将新增一种异构内存管理,将会加快 Linux 上的机器学习处理能力。

这么多的新特性的涌现,背后代表着大量的代码和贡献人员的辛勤付出。据 2016 年度《Linux 内核开发》报告,自版本 3.18 于 2014 年 12 月 7 日发布以来,已合并了近 115000 个变更,这些贡献来自近 500 家公司的 5062 名开发人员。

当然,Linux 内核发展这么迅速,随着影响力的提升,也越来越引起各界的注意,比如说,华盛顿邮报就曾经批评 Linux “没有一个系统性的机制以在骇客之前发现和解决安全问题,或引入更新的防御技术”,“Linux 内核开发社区没有一个首席安全官”等等。针对这篇文章,LWN 上也有人对此进行了一些回应,并就一些问题进行了辨析和反思。

所以,现在 Linux 内核不仅仅需要更好的安全机制的出现和贡献者的努力,也需要解决 Linux 内核代码审查人员短缺问题

前面说了很多 Linux 内核开发人员更关注的话题, 对于普通的 Linux 用户来说,可能更关注的是如何在 CentOSUbuntu 上升级内核。不过,现在的内核已经支持升级后不重启了,对于某些内核补丁,可以热应用而不用重启。这对于生产环境中的 Linux 服务器很重要,比如 UbuntuOracle Linux 等发行版已经支持了。

作为 Linux 的使用者,尤其是 Linux 服务器的运维人员,密切监控 Linux 的各项性能指标也是必需的工作,无论是传统工具: top、ps、pstree、vmstatiostat,还是 htopnmonntopng 这样的新工具;而且不但有 cpustatCoreFreq 这样专门监控 CPU 的工具,也有各种大而全的全面监控系统,如 GlancesnetdataMunin。总之,用于监控的工具和系统不要太多了

那么,你喜欢 Linux ,喜欢研究下 Linux 内核么?如果是,那么这两场大会你一定要关注:

认识 71 个 AWS 云服务的术语 ! 通过了解 AWS 世界中使用的术语开始你的 AWS 云服务使用生涯 !

AWS,即 亚马逊 Web 服务 Amazon Web Services ,是一个提供了一系列按使用计费的 web 服务的云平台。 它是迄今为止最为著名的云平台之一。由于其灵活性、有效性、弹性、可测量性和无须维护,所以有一些企业正逐步把他们的业务迁移到云端。 由于许多公司目前在使用这些服务,所以对于系统管理员和运维人员来说应该了解一下 AWS。

这篇文章旨在列出这些 AWS 提供的服务并且解释在 AWS 中出现的术语。

截止到目前为止(2017 年 3 月),AWS 提供了分为 17 组的共计 71 种服务:

计算型服务

这是一个提供了虚拟服务器配置功能的服务,即所谓的云计算。它提供了包括以下这一系列的服务。

  1. EC2:EC2 代表弹性计算云。这种服务提供了可根据个人需求扩展的 虚拟机。
  2. EC2 容器服务:其高性能,高可扩展性使其可在 EC2 集群环境中运行服务。
  3. Lightsail:该服务使用户非常容易地启动和管理虚拟服务器(EC2)。
  4. Elastic Beanstalk:该服务能够自动管理你的应用程序的容量配置、负载平衡、扩展以及健康监控从而减少你的管理压力。
  5. Lambda:它允许你只在你需要的时候运行代码而不用去管理服务器。
  6. Batch:它使用户能够以自定义的管理方式运行计算工作负载(批处理)。

存储型服务

它是一种云存储服务,即由 Amazon 提供的云存储设施。 该组服务包括:

  1. S3:S3 代表简单存储服务(3 个 S)。 它给你提供了在线存储服务,你可随时从任何地方存储/检索任何数据。
  2. EFS:EFS 代表弹性文件系统。 它是一个可以和 EC2 服务器一起使用的在线存储服务。
  3. Glacier:它是一种低成本/低性能数据存储解决方案,主要针对存档或长期备份。
  4. Storage Gateway:这种服务的接口会将你的内部应用程序(托管在 AWS 之外)与 AWS 存储连接。

数据库

AWS 还提供在其基础设施上托管数据库,以便客户可以利用亚马逊最先进的技术来获得更快/高效/安全的数据处理。 该组包括:

  1. RDS:RDS 代表关系数据库服务。 用于在云上设置,操作和管理关系数据库。
  2. DynamoDB:其 NoSQL 数据库提供了快速处理和高可扩展性。
  3. ElastiCache:这是一种为你的 Web 应用程序管理内存缓存以便更快运行它们的方案 !
  4. Redshift:它是一个巨大的(PB 级)的完全可升级的云端数据仓库服务。

网络 & 内容分发

由于 AWS 提供云端的 EC2 服务器,因此网络相关内容也将在出现在这里。 内容分发用于向位于最近位置的用户提供文件。 现如今有许多非常有名的加速网站。

  1. VPC:VPC 代表虚拟私有云。 它是你自己的虚拟网络,是你的专用 AWS 帐户。
  2. CloudFront:这是 AWS 的内容分发网络(CDN)服务。
  3. Direct Connect:它是将数据中心/场所与 AWS 连接起来的网络方式,以提高吞吐量,降低网络成本,并避免由于基于互联网的连接而导致的连接问题。
  4. Route 53:它是一个云端的域名系统的 DNS Web 服务。

迁移

它提供了一系列服务来帮助你实现本地服务到 AWS 的迁移工作。 这包括 :

  1. Application Discovery Service:专门用于分析您的服务器、网络、应用程序以帮助/加速迁移的服务。
  2. DMS:DMS 指的是数据库迁移服务。 它用于将数据从本地数据库迁移到 EC2 上托管的 RDS 或 DB。
  3. Server Migration:也称为 SMS(服务器迁移服务)是一种无代理服务,将您的工作负载从本地移动到 AWS。
  4. Snowball: 当你想要使用物理存储设备(而不是基于互联网/基于网络的传输)将大量数据传入/迁出 AWS 时,你应该使用它。

开发者工具

顾名思义, 这是一系列帮助开发者简化在云端编码的服务。

  1. CodeCommit:它是一个安全的、可扩展的、可管理的源代码管理服务,用于托管代码仓库。
  2. CodeBuild:这是一个云端的代码生成器。主要用于执行、测试代码和构建部署软件包。
  3. CodeDeploy:这是一个可在 AWS 服务器或本地进行自动化应用程序部署的部署服务。
  4. CodePipeline:这个部署服务可以使编码人员可以在发布之前将其应用程序可视化。
  5. X-Ray:它可以使用事件调用分析应用程序。

管理工具

这是一组可帮助你管理 AWS 上的 Web 服务的服务。

  1. CloudWatch:监控你的 AWS 资源或应用程序的监控服务。
  2. CloudFormation:基础设施即代码!以集体有序的方式管理 AWS 架构的方式。
  3. CloudTrail:AWS 帐户的审计和合规工具。
  4. Config : AWS 的资源清单、配置历史记录和配置更改通知,以实现安全性和治理。
  5. OpsWorks:它可以自动化地配置,部署 EC2 或内部部署计算。
  6. Service Catalog:创建和管理被批准在你/公司帐户中使用的 IT 服务目录。
  7. Trusted Advisor:它的 AWS AI 可以通过审查你的 AWS 基础设施使你的 AWS 基础设施更好,更省钱。
  8. Managed Service:提供持续的基础设施管理。

安全性、身份和合规

这是一组很重要的 AWS 服务以确保你的 AWS 空间的安全性。

  1. IAM:IAM 即身份和访问管理,控制用户访问你的 AWS 资源和服务。
  2. Inspector:自动安全评估可帮助你在 AWS 上的应用安全和合规。
  3. Certificate Manager:为 AWS 应用程序提供,管理和部署 SSL / TLS 证书。
  4. Directory Service:相当于 AWS 的 Microsoft Active Directory。
  5. WAF & Shield:WAF 即 Web 应用防火墙。 监控和控制对 CloudFront 或负载均衡器上的内容的访问。
  6. Compliance Reports:AWS 基础设施空间的合规报告,以确保您的应用程序符合您的策略。

数据分析

AWS 空间的数据分析服务,以帮助您查看、计划和对帐户中的事件采取行动。

  1. Athena:它是一个基于 SQL 查询的服务,用于分析 S3 存储的数据。
  2. EMR:EMR 的全写是 Elastic Map Reduce。 是一个主要用于大数据处理和分析的服务。
  3. CloudSearch:AWS 在应用和服务中的搜索功能。
  4. Elasticsearch Service:它可以创建一个域并在 AWS Cloud 中部署、操作和扩展 Elasticsearch 集群。
  5. Kinesis:这种服务可以实现实时的大量流数据处理。
  6. Data Pipeline:它可以帮助我们在不同的 AWS 服务之间实现数据迁移。
  7. QuickSight:收集、分析和呈现 AWS 的业务数据。

人工智能

AWS 的 AI!

  1. Lex:它可以帮助我们在一些使用语音和文本的应用中构建会话界面。
  2. Polly:这是一个提供文字到语音转换的服务。
  3. Rekognition:使您能够将图像分析添加到应用程序。
  4. Machine Learning:它具有学习数据中的模式的算法。

物联网

这个服务保证了 AWS 在不同设备上的高可用性。

  1. AWS IoT:它使联网硬件设备与 AWS 的应用程序能够交互。

游戏开发

顾名思义,这个服务旨在游戏开发。

  1. Amazon GameLift:该服务旨在部署、管理用于会话的多人游戏的专用游戏服务器。

移动服务

这是一组主要针对手持设备的服务。

  1. Mobile Hub:帮助您创建移动应用的后台功能并将其集成到移动应用。
  2. Cognito:在连接了互联网设备上控制移动用户的身份验证和 AWS 的访问。
  3. Device Farm:移动应用测试服务使你可以在 Android 上托管的真实手机上跨 Android、iOS 测试应用。
  4. Mobile Analytics:在 AWS 上测量、跟踪和分析移动应用数据。
  5. Pinpoint:针对性的推送通知和移动互动。

应用服务

这是一组可以和你在 AWS 上的应用一起使用的服务。

  1. Step Functions:定义和使用应用程序中的各种功能。
  2. SWF:SWF 代表简单的工作流服务。其云工作流程管理可帮助开发人员在应用程序生命周期的不同阶段进行协调和贡献。
  3. API Gateway:帮助开发人员创建、管理和托管 API。
  4. Elastic Transcoder:帮助开发人员将媒体文件转换为在各种设备上可以播放的格式。

消息

AWS 中的通知和消息服务。

  1. SQS:SQS 表示简单队列服务。完全管理的消息队列服务,用于在 AWS 中的服务和应用之间进行通信。
  2. SNS:SNS 代表简单通知服务。 为 AWS 用户推送通知服务,提醒他们有关其在 AWS 空间中的服务。
  3. SES:SES 代表简单电子邮件服务。 这是 AWS 为自己的客户提供高性价比的电子邮件服务。

企业生产率

一组帮你提高业务生产率的服务。

  1. WorkDocs:协同文件共享、存储和编辑服务。
  2. WorkMail:安全的商务邮件、日程服务。
  3. Amazon Chime:在线的企业会议!

桌面和应用程序流式传输

实现桌面应用程序通过云端进行流传输。

  1. WorkSpaces:完全管理且安全的云计算服务。
  2. AppStream 2.0:来自云端的流式桌面应用。

(题图:rackaid.com)


via: http://kerneltalks.com/virtualization/aws-cloud-terminology/

作者:Shrikant Lavhate 译者:chenxinlong 校对:wxy

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

内容分发网络可以加速你的网站图片、CSS、JS、以及其他静态内容。

 title=

CDN 或称内容分发网络是位于世界各地的策略性放置的服务器网络,用于更快地向用户传输文件。传统 CDN 能够加速你的网站的图像、CSS、JS 和任何其他静态内容的访问。它允许网站所有者加速自己的所有内容,并为他们提供额外的功能和配置选项,而这些高级服务通常需要根据项目使用的带宽量进行支付。

但是,如果你的项目无法证明值得实施传统 CDN ,那么使用开源 CDN 可能更合适。通常这些类型的 CDN 能让你链接到流行的 Web 库(例如 CSS/JS 框架),可以让你从免费的 CDN 服务器上传输给你的访问者。虽然开源库的 CDN 服务不允许你将自己的内容上传到服务器,但它们可以帮助你加速全局库并提高网站的冗余性。

CDN 在庞大的服务器网络上托管项目,因此网站维护者需要修改网站 HTML 代码中的资源链接来反映开源 CDN 的URL,后面跟上资源路径。根据你是否链接到 JavaScript 或 CSS 库,链接将包含在 <script><link> 标签中。

我们来探讨开源库的四大流行 CDN 服务。

JsDelivr

JsDelivr 是一个使用高级 CDN 提供商(KeyCDN、Stackpath、Cloudflare)的开源 CDN 提供者来分发开源项目资源。jsDelivr 的一些亮点包括:

  • 支持 2100 多个库
  • 110 个接入点
  • CDN 可在亚洲和中国使用
  • 支持 API
  • 没有流量限制
  • 完整的 HTTPS 支持

所有片段都以自定义 jsDelivr URL https://cdn.jsdelivr.net/ 开始,然后是项目名称、版本号等。你还可以配置 jsDelivr 生成带脚本标签的 URL 并启用 SRI(子资源完整性)以增加安全性。

Cdnjs

Cdnjs 是另一个流行的开源 CDN 提供者,类似于 jsDelivr。此服务还提供了一系列流行的 JavaScript 和 CSS 库,你可以在 Web 项目中进行链接。 该服务由 CDN 提供商 Cloudflare 和 KeyCDN 赞助。cdnjs 的一些亮点包括:

  • 支持 2900 多个库
  • 超过一百万个网站使用
  • 支持 HTTP/2
  • 支持 HTTPS

与 jsDelivr 类似,使用 cdnjs,你也可以选择使用或者不使用脚本标签和 SRI 来复制资源 URL。

Google 托管库

Google 托管库网站允许你链接到托管在 Google 强大的开源 CDN 网络上的流行 JavaScript 库。这个开源的 CDN 解决方案不提供像 jsDelivr 或 cdnjs 一样多的库或者功能。然而,当连接到 Google 托管库时,你可以期待高度的可靠性和信任。Google 开源 CDN 的几个亮点包括:

  • HTTPS 支持
  • 文件提供 CORS 和 Timing-Allow 头
  • 提供每个库的最新版本

所有 Google 的托管库文件都以URL https://ajax.googleapis.com/ 开头,后跟项目的名称、版本号和文件名。

Microsoft Ajax CDN

Microsoft Ajax CDN与 Google 托管库非常类似,因为它只托管流行的库。但是,将 Microsoft Ajax CDN 与 Google 托管库区分开的两个主要区别是 Microsoft 提供了 CSS 和 JS 库,并且还提供了各种库的各种版本。Microsoft Ajax CDN 的几个亮点包括:

  • HTTPS 支持
  • 每个库的以前版本通常都可用

所有的 Microsoft Ajax 文件都以 URL http://ajax.aspnetcdn.com/ajax/ 开头,并且和其它文件一样,后面是库的名字,版本号等。

如果你的项目或网站尚未准备好利用优质的 CDN 服务,但你仍然希望加速网站的重要方面,那么使用开源 CDN 是一个很好的解决方案。它能够加速第三方库的传输,否则它们将从原始服务器发送,从而导致远方用户不必要的加载以及更慢的速度。

你喜欢使用哪个开源 CDN 提供商?为什么?

(图片版权:Open Clip Art Library,它明确将其公开于公共领域见此处)。由 Jen Wike Huger 修改。)


作者简介:

Cody Arsenault - Cody 热衷于网络性能,SEO 以及创业活动。他是 KeyCDN 的网络性能倡导者,致力于使网络更快。


via: https://opensource.com/article/17/4/top-cdn-services

作者:Cody Arsenault 译者:geekpi 校对:wxy

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

Markdown

首先,对 Markdown 进行一个简单的介绍。Markdown 是由 John Gruber 和 Aaron Swartz 共同创建的一种轻量级纯文本格式语法。Markdown 可以让用户“以易读、易写的纯文本格式来进行写作,然后可以将其转换为有效格式的 XHTML(或 HTML)“。Markdown 语法只包含一些非常容易记住的符号。其学习曲线平缓;你可以在炒蘑菇的同时一点点学习 Markdown 语法(大约 10 分钟)。通过使用尽可能简单的语法,错误率达到了最小化。除了拥有友好的语法,它还具有直接输出干净、有效的(X)HTML 文件的强大功能。如果你看过我的 HTML 文件,你就会知道这个功能是多么的重要。

Markdown 格式语法的主要目标是实现最大的可读性。用户能够以纯文本的形式发布一份 Markdown 格式的文件。用 Markdown 进行文本写作的一个优点是易于在计算机、智能手机和个人之间共享。几乎所有的内容管理系统都支持 Markdown 。它作为一种网络写作格式流行起来,其产生一些被许多服务采用的变种,比如 GitHub 和 Stack Exchange 。

你可以使用任何文本编辑器来写 Markdown 文件。但我建议使用一个专门为这种语法设计的编辑器。这篇文章中所讨论的软件允许你使用 Markdown 语法来写各种格式的专业文档,包括博客文章、演示文稿、报告、电子邮件以及幻灯片等。另外,所有的应用都是在开源许可证下发布的,在 Linux、OS X 和 Windows 操作系统下均可用。

Remarkable

让我们从 Remarkable 开始。Remarkable 是一个 apt 软件包的名字,它是一个相当有特色的 Markdown 编辑器 — 它并不支持 Markdown 的全部功能特性,但该有的功能特性都有。它使用和 GitHub Markdown 类似的语法。

你可以使用 Remarkable 来写 Markdown 文档,并在实时预览窗口查看更改。你可以把你的文件导出为 PDF 格式(带有目录)和 HTML 格式文件。它有强大的配置选项,从而具有许多样式,因此,你可以把它配置成你最满意的 Markdown 编辑器。

其他一些特性:

在 Debian、Ubuntu、Fedora、SUSE 和 Arch 系统上均有 Remarkable 的可用的简易安装程序。

主页: https://remarkableapp.github.io/ 许可证: MIT 许可

Atom

毫无疑问, Atom 是一个神话般的文本编辑器。超过 50 个开源包集合在一个微小的内核上,从而构成 Atom 。伴有 Node.js 的支持,以及全套功能特性,Atom 是我最喜欢用来写代码的编辑器。Atom 的特性在杀手级开源应用的文章中有更详细介绍,它是如此的强大。但是作为一个 Markdown 编辑器,Atom 还有许多不足之处,它的默认包不支持 Markdown 的特性。例如,正如上图所展示的,它不支持等价渲染。

但是,开源拥有强大的力量,这是我强烈提倡开源的一个重要原因。Atom 上有许多包以及一些复刻,从而添加了缺失的功能特性。比如,Markdown Preview Plus 提供了 Markdown 文件的实时预览,并伴有数学公式渲染和实时重加载。另外,你也可以尝试一下 Markdown Preview Enhanced。如果你需要自动滚动特性,那么 markdown-scroll-sync 可以满足你的需求。我是 Markdown-WriterMarkdown-pdf的忠实拥趸,后者支持将 Markdown 快速转换为 PDF、PNG 以及 JPEG 文件。

这个方式体现了开源的理念:允许用户通过添加扩展来提供所需的特性。这让我想起了 Woolworths 的 n 种杂拌糖果的故事。虽然需要多付出一些努力,但能收获最好的回报。

主页: https://atom.io/ 许可证: MIT 许可

Haroopad

Haroopad 是一个优秀的 Markdown 编辑器,是一个用于创建适宜 Web 的文档的处理器。使用 Haroopad 可以创作各种格式的文档,比如博客文章、幻灯片、演示文稿、报告和电子邮件等。Haroopad 在 Windows、Mac OS X 和 Linux 上均可用。它有 Debian/Ubuntu 的软件包,也有 Windows 和 Mac 的二进制文件。该应用程序使用 node-webkit、CodeMirror,marked,以及 Twitter 的 Bootstrap 。

Haroo 在韩语中的意思是“一天”。

它的功能列表非常可观。请看下面:

  • 主题、皮肤和 UI 组件

    • 超过 30 种不同的编辑主题 - tomorrow-night-bright 和 zenburn 是近期刚添加的
    • 编辑器中的代码块的语法高亮
    • Ruby、Python、PHP、Javascript、C、HTML 和 CSS 的语法高亮支持
    • 基于 CodeMirror,这是一个在浏览器中使用 JavaScript 实现的通用文本编辑器
  • 实时预览主题

    • 基于 markdown-css 的 7 个主题
  • 语法高亮

    • 基于 hightlight.js 的 112 种语言以及 49 种样式
  • 定制主题

    • 基于 CSS (层叠样式表)的样式
  • 演示模式 - 对于现场演示非常有用
  • 绘图 - 流程图和序列图
  • 任务列表
  • 扩展 Markdown 语法,支持 TOC(目录)、 GitHub 风味 Markdown 以及数学表达式、脚注和任务列表等
  • 字体大小

    • 使用首选窗口和快捷键来设置编辑器和预览字体大小
  • 嵌入富媒体内容

    • 视频、音频、3D、文本、开放图形以及 oEmbed
    • 支持大约 100 种主要的网络服务(YouTude、SoundCloud、Flickr 等)
    • 支持拖放
  • 显示模式

    • 默认:编辑器|预览器,倒置:预览器|编辑器,仅编辑器,仅预览器(View -> Mode)
  • 插入当前日期和时间

    • 多种格式支持(Insert -> Data & Time)
  • HtML 到 Markdown

    • 拖放你在 Web 浏览器中选择好的文本
  • Markdown 解析选项
  • 大纲预览
  • 纯粹主义者的 Vim 键位绑定
  • Markdown 自动补全
  • 导出为 PDF 和 HTML
  • 带有样式的 HTML 复制到剪切板可用于所见即所得编辑器
  • 自动保存和恢复
  • 文件状态信息
  • 换行符或空格缩进
  • (一、二、三)列布局视图
  • Markdown 语法帮助对话框
  • 导入和导出设置
  • 通过 MathJax 支持 LaTex 数学表达式
  • 导出文件为 HTML 和 PDF
  • 创建扩展来构建自己的功能
  • 高效地将文件转换进博客系统:WordPress、Evernote 和 Tumblr 等
  • 全屏模式-尽管该模式不能隐藏顶部菜单栏和顶部工具栏
  • 国际化支持:英文、韩文、西班牙文、简体中文、德文、越南文、俄文、希腊文、葡萄牙文、日文、意大利文、印度尼西亚文土耳其文和法文

主页 http://pad.haroopress.com/ 许可证: GNU GPL v3 许可

StackEdit

StackEdit 是一个功能齐全的 Markdown 编辑器,基于 PageDown(该 Markdown 库被 Stack Overflow 和其他一些 Stack 交流网站使用)。不同于在这个列表中的其他编辑器,StackEdit 是一个基于 Web 的编辑器。在 Chrome 浏览器上即可使用 StackEdit 。

特性包括:

  • 实时预览 HTML,并通过绑定滚动连接特性来将编辑器和预览的滚动条相绑定
  • 支持 Markdown Extra 和 GitHub 风味 Markdown,Prettify/Highlight.js 语法高亮
  • 通过 MathJax 支持 LaTex 数学表达式
  • 所见即所得的控制按键
  • 布局配置
  • 不同风格的主题支持
  • la carte 扩展
  • 离线编辑
  • 可以与 Google 云端硬盘(多帐户)和 Dropbox 在线同步
  • 一键发布到 Blogger、Dropbox、Gist、GitHub、Google Drive、SSH 服务器、Tumblr 和 WordPress

主页: https://stackedit.io/ 许可证: Apache 许可

MacDown

MacDown 是在这个列表中唯一一个只运行在 macOS 上的全特性编辑器。具体来说,它需要在 OX S 10.8 或更高的版本上才能使用。它在内部使用 Hoedown 将 Markdown 渲染成 HTML,这使得它的特性更加强大。Heodown 是 Sundown 的一个复活复刻。它完全符合标准,无依赖,具有良好的扩展支持和 UTF-8 感知。

MacDown 基于 Mou,这是专为 Web 开发人员设计的专用解决方案。

它提供了良好的 Markdown 渲染,通过 Prism 提供的语言识别渲染实现代码块级的语法高亮,MathML 和 LaTex 渲染,GTM 任务列表,Jekyll 前端以及可选的高级自动补全。更重要的是,它占用资源很少。想在 OS X 上写 Markdown?MacDown 是我针对 Web 开发者的开源推荐。

主页: https://macdown.uranusjr.com/ 许可证: MIT 许可

ghostwriter

ghostwriter 是一个跨平台的、具有美感的、无干扰的 Markdown 编辑器。它内建了 Sundown 处理器支持,还可以自动检测 pandoc、MultiMarkdown、Discount 和 cmark 处理器。它试图成为一个朴实的编辑器。

ghostwriter 有许多很好的功能设置,包括语法高亮、全屏模式、聚焦模式、主题、通过 Hunspell 进行拼写检查、实时字数统计、实时 HTML 预览、HTML 预览自定义 CSS 样式表、图片拖放支持以及国际化支持。Hemingway 模式按钮可以禁用退格键和删除键。一个新的 “Markdown cheat sheet” HUD 窗口是一个有用的新增功能。主题支持很基本,但在 GitHub 仓库上也有一些可用的试验性主题。

ghostwriter 的功能有限。我越来越欣赏这个应用的通用性,部分原因是其简洁的界面能够让写作者完全集中在策划内容上。这一应用非常值得推荐。

ghostwirter 在 Linux 和 Windows 系统上均可用。在 Windows 系统上还有一个便携式的版本可用。

主页: https://github.com/wereturtle/ghostwriter 许可证: GNU GPL v3 许可

Abricotine

Abricotine 是一个为桌面构建的、旨在跨平台且开源的 Markdown 编辑器。它在 Linux、OS X 和 Windows 上均可用。

该应用支持 Markdown 语法以及一些 GitHub 风味的 Markdown 增强(比如表格)。它允许用户直接在文本编辑器中预览文档,而不是在侧窗栏。

该应用有一系列有用的特性,包括拼写检查、以 HTML 格式保存文件或把富文本复制粘贴到邮件客户端。你也可以在侧窗中显示文档目录,展示语法高亮代码、以及助手、锚点和隐藏字符等。它目前正处于早期的开发阶段,因此还有一些很基本的 bug 需要修复,但它值得关注。它有两个主题可用,如果有能力,你也可以添加你自己的主题。

主页: http://abricotine.brrd.fr/ 许可证: GNU 通用公共许可证 v3 或更高许可

ReText

ReText 是一个简单而强大的 Markdown 和 reStructureText 文本编辑器。用户可以控制所有输出的格式。它编辑的文件是纯文本文件,但可以导出为 PDF、HTML 和其他格式的文件。ReText 官方仅支持 Linux 系统。

特性包括:

  • 全屏模式
  • 实时预览
  • 同步滚动(针对 Markdown)
  • 支持数学公式
  • 拼写检查
  • 分页符
  • 导出为 HTML、ODT 和 PDF 格式
  • 使用其他标记语言

主页: https://github.com/retext-project/retext 许可证: GNU GPL v2 或更高许可


via: https://www.ossblog.org/markdown-editors/

作者:Steve Emms 译者:ucasFL 校对:wxy

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

你是否曾经想要创建你自己的家庭影院系统?如果是的话,这里有一个为你准备的指南!在本篇文章中,我们将会介绍如何设置一个由 OpenELEC 以及 Kodi 驱动的家庭娱乐系统。我们将会介绍如何制作安装介质,哪些设备可以运行该软件,如何安装它,以及其他一切需要知道的事情等等。

选择一个设备

在开始设定媒体中心的软件前,你需要选择一个设备。OpenELEC 支持一系列设备。从一般的桌面设备到树莓派 2/3 等等。选择好设备以后,考虑一下你怎么访问 OpenELEC 系统中的媒体并让其就绪。

*注意: *OpenELEC 基于 Kodi,有许多方式加载一个可播放的媒体(比如 Samba 网络分享,外设,等等)。

制作安装磁盘

OpenELEC 安装磁盘需要一个 USB 存储器,且其至少有 1GB 的容量。这是安装该软件的唯一方式,因为开发者没有发布 ISO 文件。取而代之的是需要创建一个 IMG 原始文件。选择与你设备相关的链接并且下载原始磁盘镜像。当磁盘镜像下载完毕,打开一个终端,并且使用命令将数据从压缩包中解压出来。

在Linux/macOS上

cd ~/Downloads
gunzip -d OpenELEC*.img.gz

在Windows上

下载 7zip,安装它,然后解压压缩文件。

当原始的 .IMG 文件被解压后,下载 Etcher USB creation tool,并且依据在界面上的指示来安装它并创建 USB 磁盘。

注意: 对于树莓派用户,Etcher 也支持将文件写入到 SD 卡中。

安装 OpenELEC

OpenELEC 安装进程可能是安装流程最简单的操作系统之一了。将 USB 设备加入,然后配置设备使其以 USB 方式启动。同样,这个过程也可以通过按 DEL 或者 F2 来替代。然而并不是所有的 BIOS 都是一样的,所以最好的方式就是看看手册什么的。

一旦进入 BIOS,修改设置使其从 USB 磁盘中直接加载。这将会允许电脑从 USB 磁盘中启动,这将会使你进入到 Syslinux 引导屏幕。在提示符中,键入 installer,然后按下回车键。

默认情况下,快速安装选项已经是选中的。按回车键来开始安装。这将会使安装器跳转到磁盘选择界面。选择 OpenELEC 要被安装到的地方,然后按下回车键来开始安装过程。

一旦完成安装,重启系统并加载 OpenELEC。

配置 OpenELEC

在第一次启动时,用户必须配置一些东西。如果你的媒体中心拥有一个无线网卡,OpenELEC 将会提示用户将其连接到一个热点上。选择一个列表中的网络并且输入密码。

在下一步“ 欢迎来到 OpenELEC Welcome to OpenELEC ”屏上,用户必须配置不同的分享设置(SSH 以及 Samba)。建议你把这些设置开启,因为可以用命令行访问,这将会使得远程传输媒体文件变得很简单。

增加媒体

在 OpenELEC(Kodi)中增加媒体,首先选择你希望添加的媒体到的部分。以同样的流程,为照片、音乐等添加媒体。在这个指南中,我们将着重讲解添加视频。

点击在主页的“ 视频 Video ”选项来进入视频页面。选择“ 文件 Files ”选项,在下一个页面点击“ 添加视频... Add videos… ”,这将会使得用户进入Kodi 的添加媒体页面。在这个页面,你可以随意的添加媒体源了(包括内部和外部的)。

OpenELEC 会自动挂载外部的设备(像是 USB,DVD 碟片,等等),并且它可以通过浏览文件挂载点来挂载。一般情况下,这些设备都会被放在“/run”下,或者,返回你点击“ 添加视频... Add videos… ”的页面,在那里选择设备。任何外部设备,包括 DVD/CD,将会直接展示在那里,并可以直接访问。这是一个很好的选择——对于那些不懂如何找到挂载点的用户。

现在这个设备在 Kodi 中被选中了,界面将会询问用户去浏览设备上私人文件夹,里面有私人文件——这一切都是在媒体中心文件浏览器工具下执行的。一旦找到了放置文件的文件夹,添加它,给予文件夹一个名字,然后按下 OK 按钮来保存它。

当一个用户浏览“ 视频 Videos ”,他们将会看到可以点击的文件夹,这个文件夹中带有从外部设备添加的媒体。这些文件夹可以很容易地在系统上播放。

使用 OpenELec

当用户登录他们将会看见一个“主界面”,这个主界面有许多部分,用户可以点击它们并且进入,包括:图片,视频,音乐,程序等等。当悬停在这些部分的时候,子部分就会出现。例如,当悬停在“图片”上时,子部分”文件“以及”插件”就会出现。

如果一个用户点击了一个部分中的子部分,例如“插件”,Kodi 插件选择就会出现。这个安装器将会允许用户浏览新的插件内容,来安装到这个子部分(像是图片关联插件,等等)或者启动一个已经存在的图片关联插件,当然,这个插件应该已经安装到系统上了。

此外,点击任何部分的文件子部分(例如视频)将会直接给显示用户该部分可用的文件。

系统设置

Kodi 有丰富的设置区域。为了找到这些设置,使鼠标在右方悬停,目录选择器将会滚动右方并且显示” 系统 System “。点击来打开全局系统设定区。

用户可以修改任何设置,从安装 Kodi 仓库的插件,到激活各种服务,到改变主题,甚至天气。如果想要退出设定区域并且返回主页面,点击右下方角落中的“home”图标。

结论

通过 OpenELEC 的安装和配置,你现在可以随意体验使用你自己的 Linux 支持的家庭影院系统。在所有的家庭影院系统 Linux 发行版中,这个是最用户友好的。请记住,尽管这个系统是以“OpenELEC”为名,但它运行着的是 Kodi ,并兼容任何 Kodi 的插件,工具以及程序。


via: https://www.maketecheasier.com/build-media-center-with-openelec/

作者:Derrik Diener 译者:svtter 校对:wxy

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

Remmina 是一款在 Linux 和其他类 Unix 系统下的自由开源、功能丰富、强大的远程桌面客户端,它用 GTK+ 3 编写而成。它适用于那些需要远程访问及使用许多计算机的系统管理员和在外出行人员。

它以简单、统一、同质、易用的用户界面支持多种网络协议。

Remmina 功能

  • 支持 RDP、VNC、NX、XDMCP 和 SSH。
  • 用户能够以组的形式维护一份连接配置列表。
  • 支持用户直接输入服务器地址的快速连接。
  • 具有更高分辨率的远程桌面,可以在窗口和全屏模式下滚动/缩放。
  • 支持窗口全屏模式;当鼠标移动到屏幕边缘时,远程桌面会自动滚动。
  • 还支持全屏模式的浮动工具栏;使你能够在不同模式间切换、触发键盘获取、最小化等。
  • 提供选项卡式界面,可以按组管理。
  • 还提供托盘图标,允许你快速访问已配置的连接文件。

在本文中,我们将向你展示如何在 Linux 中安装 Remmina,以及使用它通过支持的不同协议实现桌面共享。

先决条件

  • 在远程机器上允许桌面共享(让远程机器允许远程连接)。
  • 在远程机器上设置 SSH 服务。

如何在 Linux 中安装 Remmina 远程共享工具

Remmina 及其插件包已经在所有主流的 Linux 发行版的大多数官方仓库中提供。运行下面的命令以安装它和所有支持的插件:

------------ 在 Debian/Ubuntu 中 ------------ 
$ sudo apt-get install remmina remmina-plugin-*
------------ 在 CentOS/RHEL 中 ------------ 
# yum install remmina remmina-plugin-*
------------ 在 Fedora 22+ 中 ------------ 
$ sudo dnf copr enable hubbitus/remmina-next
$ sudo dnf upgrade --refresh 'remmina*' 'freerdp*'

一旦安装完成后,在 Ubuntu 或 Linux Mint 菜单中搜索 remmina,接着运行它:

Remmina Desktop Sharing Client

Remmina 桌面共享客户端

你可以通过图形界面或者编辑 $HOME/.remmina 或者 $HOME/.config/remmina 下的文件来进行配置。

要设置到一个新的远程服务器的连接,按下 Ctrl+N 并点击 Connection -> New,如下截图中配置远程连接。这是基本的设置界面。

Remmina Basic Desktop Preferences

Remmina 基础桌面配置

点击界面上的 “Advanced”,配置高级连接设置。

Remmina Advance Desktop Settings

Remmina 高级桌面设置

要配置 SSH,点击界面中的 SSH。

Remmina SSH Settings

Remmina SSH 设置

在完成所有的必要配置后,点击 “Save” 保存设置,在主界面中你会如下看到所有已配置远程连接。

Remmina Configured Servers

Remmina 配置的服务器

使用 sFTP 连接到远程机器

选择连接配置并编辑设置,在 “Protocols” 下拉菜单中选择 sFTP - Secure File Transfer。接着设置启动路径(可选),并指定 SSH 验证细节。最后点击连接

Remmina sftp Connection

Remmina sftp 连接

这里输入你的 SSH 用户密码。

Enter SSH Password

输入 SSH 密码

如果你看到下面的界面,那么代表 sFTP 连接成功了,你现在可以在两台机器键传输文件了

Remmina Remote sFTP Filesystem

Remmina 远程 sFTP 文件系统

使用 SSH 连接到远程机器

选择连接配置并编辑设置,在 “Protocols” 下拉菜单中选择 SSH - Secure Shell,并可选设置启动程序以及 SSH 验证细节。最后点击连接并输入 SSH 密码。

Remmina SSH Connection

Remmina SSH 连接

当你看到下面的界面,这意味着你的连接成功了,你现在可以使用 SSH 控制远程机器了。

Remmina Remote SSH Connection

Remmina 远程 SSH 连接

使用 VNC 连接到远程机器

选择连接配置并编辑设置,在 “Protocols” 下拉菜单中选择 VNC - Virtual Network Computing。为该连接配置基础、高级以及 ssh 设置,点击连接,接着输入用户 SSH 密码。

Remmina VNC Connection

Remmina VNC 连接

一旦你看到下面的界面时,这意味着你已经成功使用 VNC 协议连接到远程机器上了。

如下截图所示,在桌面登录界面输入用户登录密码。

Remmina Remote Desktop Login

Remmina 远程桌面登录

Remmina Remote Desktop Sharing

Remmina 远程桌面共享

使用上面的步骤可以很简单地使用其他的协议访问远程机器。

Remmina 主页: https://www.remmina.org/wp/

就是这样了!在本文中,我们向你展示了如何在 Linux 中安装与使用 Remmina 远程连接客户端中的几种支持的协议。你可以在下面的评论栏中分享你的任何想法。

(题图:Pixabay,CC0)


作者简介:

Aaron Kili 是 Linux 和 F.O.S.S 爱好者,将来的 Linux 系统管理员和网络开发人员,目前是 TecMint 的内容创作者,他喜欢用电脑工作,并坚信分享知识。


via: http://www.tecmint.com/remmina-remote-desktop-sharing-and-ssh-client/

作者:Aaron Kili 译者:geekpi 校对:wxy

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