Seth Kenlon 发布的文章

不论云服务的开放程度如何,你都能为自己的环境选择合适的方式。

对于 Linux 用户来说,市场上有一种新型的电脑出现,我们称之为“云”。

如同你桌面上的个人电脑,背包里的笔记本电脑,或是你租用的虚拟私有服务器一样,你可以选择不同的云计算供应商。虽然品牌名称和你以往熟悉的硬件品牌不一致,但其核心概念是相同的。

要运行 Linux,你需要一台电脑。要在云上运行 Linux,你需要一个云服务供应商。就像你的电脑中的硬件和固件一样,你的计算堆栈可以使用多大的开源程度也是有区别的。

作为一个开源的用户,我更偏向于拥有尽量开放的计算集成环境。在对云计算市场进行详细的调研后,我形成了关于云服务供应商的三层观点。你可以根据这个体系作为指南,对你将选择的云供应商作出明确的决策。

开放堆栈

一个完全开放的云是从底层开始就建立在开源技术之上的云。由于云科技中有很大一部分从一开始就是开源的,因此技术层面的开放性堆栈并不难以实现。然而,也有云供应商以专有的方式重新发明轮子,这让用户很容易误入使用了许多封闭源码组件的云服务商的陷阱中。

如果你在寻找一个真正开放的云,那么你应该寻找一个提供 OpenStack 作为基础的云供应商。OpenStack 提供云的软件基础设施,包括通过 Neutron 实现的软件定义网络(SDN)、通过 Swift 实现的对象存储、身份和密钥管理、镜像服务等等。按照我的硬件电脑比喻,OpenStack 就是驱动云的“内核”。

当然,我并不是字面上的意思,但如果你的云供应商运行 OpenStack,那相当于你可以直接到达堆栈的底部。从用户的角度看,OpenStack 是你的云存在并拥有文件系统、网络等的原因所在。

在 OpenStack 的主体上,可能有一个像 Horizon 或 Skyline 这样的网络用户界面,可能有像 OpenShift 或 OKD(并不是一个缩写,但前身是 OpenShift Origin)这样的额外组件。所有这些都是开源的,它们帮助你运行容器,这些容器是内嵌应用程序的极简 Linux 镜像。

因为 OpenShift 和 OKD 不需要 OpenStack,这就构成了我对云世界的下一个视野级别。

开放平台

你并不总是可以选择你的云正在运行的堆栈。你的云可能运行的是 Azure、AWS,或者类似的东西,而不是 OpenStack。

这些就是云世界的“二进制碎片”。你对它们如何工作,或者为什么工作一无所知;你只知道你的云存在,并且有一个文件系统,一个网络堆栈,等等。

就像桌面计算一样,你可以在获得的服务器上运行一个“操作系统”。言下之意,有一种观点认为 OpenStack 本质上就是云计算的操作系统。然而,通常情况下,用户直接交互的是 OpenShift。

OpenShift 是一个你可以使用 Podman 和 Kubernetes 管理容器和 容器荚 Pod 的开源“桌面”或工作区。它让你在云上运行应用程序,就像你在笔记本电脑上启动一个应用一样。

开放标准

最后,同样重要的一点是,有些情况下你在选择云服务供应商上没有什么选择。你被放在一个运行着专有“内核”、专有“操作系统”的平台上,你能影响的只剩下你在那个环境里运行什么。

但掌握开源的力量,你就能建立你自己的平台。你可以选择在容器内部使用的组件。你可以,而且应该,围绕开源工具设计你的工作环境,因为这样一来,如果你有机会更换服务供应商,你可以将你的所有工作迁移到新的供应商那里。

这可能需要你自行实现一些在你当前受限(非开源)平台上已经内置的功能。例如,你的云供应商可能会用一个包含在他们平台“免费”提供的 API 管理系统或持续集成/持续交付(CI/CD)管道来吸引你,这需要你有清醒的认识。当一个非开放的应用被免费提供时,通常会以其他形式带来一些成本。其中一种成本是,一旦你开始在它的基础上构建,你会更加不愿意迁移,因为你会离开你已建立的一切。

你应当为自己重建这些封闭“特性”,并将其转化为开源服务。在容器中运行 JenkinsAPIMan。找出你的云提供商声称用专有代码解决的问题,然后使用开源解决方案来确保,当你离开寻找开放的供应商时,你可以迁移你已经构建的系统。

开源计算

对于太多的人来说,云计算是一个开源居于次要地位的领域。实际上,开源在云上的重要性与它在你的个人电脑和驱动互联网的服务器上同样重要。

寻找开源的云服务。

当你受困于无法获取源代码的环境时,就肩负起在你的云内使用开源软件的责任吧。

(题图:DA/9dc5a9d0-d664-492f-890a-b437ce39c4d6)


via: https://opensource.com/article/22/5/cloud-service-providers-open

作者:Seth Kenlon 选题:lkxed 译者:ChatGPT 校对:wxy

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

思考一下,如何在你的开源项目中真正定义安全性吧。

科技行业以创造“热词”而小有名气,当然,其他行业也是如此。譬如,“故事驱动”和“轻规则”是当下流行的桌游概念,“解构”的汉堡和墨西哥卷饼在高级餐厅颇受欢迎。然而,技术热词的问题在于,它们可能直接影响你的生活。当某人标榜应用程序“安全”,以此来吸引你使用他们的产品,产品实际上是在暗示一种承诺:“安全”的含义就是它是安全的,它值得你的使用与信任。但问题是,“安全”这个词可能指的是许多事情,技术行业常将它用作一个过于泛化的术语,以至于它逐渐失去了实际含义。

由于“安全”一词可能含义丰富,也可能一无是处,使用它就需要慎之又慎。事实上,最好是尽量避免使用这个词,取而代之的是,诉诸你真正要表达的东西。

当 “安全” 意味着加密

有时候,“安全” 会被作为 加密 的非常不明确的简短表述。在这种情况下,“安全” 指的是,对于外部观察者想要窃听你的数据,要经过一定的困难。

避免这样表述:“本网站稳如磐石且安全无忧。”

听起来很棒?你可能会想象一个拥有多重二次验证、零知识证明数据存储以及坚决的匿名策略的网站。

你可以这么说:“本网站承诺有 99% 的在线时间,并且其流量都通过 SSL 进行加密和验证。”

这样一来,承诺的含义变得清晰了,同时也明确了实现 “安全” 的方法(即使用 SSL)以及 “安全“ 的作用范围是什么。

注意,这里并未对隐私或匿名做出任何明确的承诺。

当 “安全” 意味着访问限制

有时,“安全” 这个词是指应用程序或设备的访问权限。如果没有明确的解释,“安全” 可能涵盖从无效的“隐蔽即安全”模式,到简单的 htaccess 密码,直到生物识别扫描器等各种概念。

避免这样表述:“我们已经为你防护好了系统。”

你可以这么说:“我们的系统采用了二步验证法。”

当 “安全” 意味着数据存储

“安全” 这个词也可以指你的数据在服务器或设备上的储存方法。

避免这样表述:“这个设备在数据存储上考虑了安全因素。”

你可以这么说:“这个设备利用全盘加密技术来保护你的数据。”

当提到远程存储时,“安全” 可能更多指的是谁可以访问存储数据。

避免这样表述:“你的数据是安全的。”

你可以这么说:“你的数据经过 PGP 加密,仅你持有私钥。”

当 “安全” 意味着隐私

今天,“隐私” 一词几乎和 “安全” 一样宽泛且模糊。一方面,“安全” 似乎必然就涉及 “隐私”,然而,这仅在 '安全' 有明确定义时才成立。是因为设有密码阻止外人进入所以称之为私有吗?还是因为数据已加密且仅你拥有密钥所以归为私有?又或者,由于存储你数据的厂商除了 IP 地址外对你一无所知,这才算是私有?光是口头声明 “隐私”,就像未经说明就声明 “安全” 一样,是不够的。

避免这样表述:“你的数据在我们这里是安全的。”

你可以这么说:“你的数据经 PGP 加密,且只有你拥有私钥。我们不需要你的任何个人信息,唯一能识别你的只有你的 IP 地址。”

一些网站会声明 IP 地址在日志中保留期限,及非经法律授权绝不向执法部门交出用户数据等诸多承诺。虽然这些并不属于技术 “安全” 的范畴,但它们全都涉及的是信任度,你不能将这些看作是技术规格。

明确所说

科技是个复杂的话题,极易引发混淆。沟通是至关重要的,虽然有时候简拼和专有名词在某些场合可能管用,但通常来说,讲明白总是比较好的。当你对你的项目的 “安全” 感到自豪,不要只用模糊的词语进行简述。向其他人明确你具体做了什么来保护你的用户,同时也要明确你认为哪些事物已超出你的考量范围,并要经常进行这样的沟通。“安全” 是个好特点,但它的涵盖面过广,所以请勿畏于夸赞自己在某个具体方向上的特别之处。

(题图:MJ/b8cc54ee-5556-4106-b9fa-b08539452aa7)


via: https://opensource.com/article/22/9/security-buzzword-alternatives

作者:Seth Kenlon 选题:lkxed 译者:ChatGPT 校对:wxy

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

我使用开源的 XFS 文件系统是为了其扩展属性带来的小小便利。扩展属性是一种为我的数据添加上下文的独特方式。

“文件系统” 是一个描述你的计算机怎样跟踪你创建的所有文件的完美词语。你的计算机存储有大量的数据,无论是文档、配置文件还是数以千计的照片。这需要一种对人和机器都友好的方式。诸如 Ext4、XFS、JFS、BtrFS 的文件系统是你的计算机用来跟踪文件的“语言”。

你的桌面或终端可以帮助你快速查找文件。例如,你的文件管理器可能有过滤功能,以便让你可以快速查看家目录内的图片,它也可能带有搜索功能以让你使用文件名定位文件。这些特性被称作文件属性,正如其名,它们是由文件头或者文件系统代码定义的文件对象的属性。大多数的文件系统记录了标准的文件属性,例如文件名、文件大小、文件类型、创建时间、上次访问时间等。

我在我的计算机上使用开源的 XFS 文件系统,不是为了其稳定性和高性能,而是为了其扩展属性带来的小小便利。

常见的文件属性

当你保存一个文件,文件相关的数据也会随同保存。常见的属性会告诉操作系统是否更新访问时间,什么时间同步数据到硬盘等逻辑细节。哪些属性被保存取决于底层文件系统的功能和特性。

在标准文件属性(如果有标准属性的话)之外,XFS、Ext4 和 BtrFS 文件系统都可以使用扩展属性。

扩展属性

XFS、Ext4 和 BtrFs 允许你创建自己的任意文件属性。由于是自己创建的,操作系统不会有内建支持,不过我以“标签”的方式使用它们,就像图片的 EXIF 数据一样。开发者们也许会选择使用扩展属性去开发应用内的自定义的功能。

XFS 中的属性有两个“命名空间”:用户(user)和根(root)。当创建属性时,你必须将其加入其中一个命名空间。要将属性添加到根命名空间,必须使用 sudo 命令或以 root 身份登录。

增加一个属性

你可以使用 attrsetfattr 命令在 XFS 文件系统中为文件增加属性。

attr 命令默认在 user 命名空间下进行,所以你只需要为属性设置一个名字(-s)和值(-V)。

$ attr -s flavor -V vanilla example.txt
Attribute "flavor" set to a 7 byte value for example.txt:
vanilla

setfattr 命令需要你指定目标命名空间:

$ setfattr --name user.flavor --value chocolate example.txt

列出扩展文件属性

使用 attr 或者 getfattr 命令可以看已添加到文件上的扩展属性。attr 命令默认使用 user 空间,使用 -g 以获取扩展属性:

$ attr -g flavor example.txt
Attribute "flavor" had a 9 byte value for example.txt:
chocolate

getfattr 命令需要属性的命名空间和名字:

$ getfattr --name user.flavor example.txt 
# file: example.txt
user.flavor="chocolate"

列出所有扩展属性

要看一个文件的所有扩展属性,你可以使用 attr -l

$ attr -l example.txt
Attribute "md5sum" has a 32 byte value for example.txt
Attribute "flavor" has a 9 byte value for example.txt

或者,你也可以使用 getfattr -d

$ getfattr -d example.txt
# file: example.txt
user.flavor="chocolate"
user.md5sum="969181e76237567018e14fe1448dfd11"

扩展文件属性可以使用 attrsetfattr 更新,就像你创建这些属性一样:

$ setfattr --name user.flavor --value strawberry example.txt

$ getfattr -d example.txt
# file: example.txt
user.flavor="strawberry"
user.md5sum="969181e76237567018e14fe1448dfd11"

其他文件系统上的属性

使用扩展属性最大的风险是忘记这些属性是特定于某个文件系统的。这意味着当你从一个磁盘或分区复制文件到另外一个磁盘或分区时,这些属性都会丢失,即使目标位置的文件系统也支持扩展属性。

为了避免丢失扩展属性,你需要使用支持保留这些属性的工具,例如 rsync 命令。

$ rsync --archive --xattrs ~/example.txt /tmp/

但无论你使用什么工具,如果你传输文件到一个不知道如何处理扩展属性的文件系统,这些属性都会被丢弃。

搜索属性

与扩展属性交互的机制并不多,所以使用这些添加的文件属性的方法也有限。我使用扩展属性作为标签机制,这让我可以将没有明显关系的文件联系起来。例如,假设我需要在一个项目中用“知识共享”的图形。假如我预见性地将 license 属性添加到了我的图形库中,我就可以使用 findgetfattr 在图形文件夹中寻找:

find ~/Graphics/ -type f \
    -exec getfattr \
    --name user.license \
    -m cc-by-sa {} \; 2>/dev/null

# file: /home/tux/Graphics/Linux/kde-eco-award.png
user.license="cc-by-sa"
user.md5sum="969181e76237567018e14fe1448dfd11"

文件系统的秘密

文件系统一般不会引起你的注意。它们实际是定义文件的系统。这不是计算机做的最让人兴奋的任务,也不是用户应该关心的东西。但是有些文件系统可以给你有趣、安全的特殊能力,扩展文件属性就是一个好例子。它的用途可能有限,但是扩展属性是你为数据增加上下文的独特方法。

(题图:MJ/06c0c478-7af7-49e4-836b-a9923db9dc0c)


via: https://opensource.com/article/22/6/linux-attr-command

作者:Seth Kenlon 选题:lkxed 译者:wznmickey 校对:wxy

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

充分利用现有的技术,提供书签以帮助用户。

介绍 pdftk-java 中, 我展示了如何在脚本中使用 pdftk-java 来快速修改 PDF 文件。

但是,pdftk-java 最有用的场景是处理那种动辄几百页的没有目录的大 PDF 文件。这里所谓的目录不是指文档前面供打印的目录,而是指显示在 PDF 阅读器侧边栏里的目录,它在 PDF 格式中的正式叫法是“ 书签 bookmarks ”。

 title=

如果没有书签,就只能通过上下滚动或全局搜索文本来定位想要的章节,这非常麻烦。

PDF 文件的另一个恼人的小问题是缺乏元数据,比如标题和作者。如果你打开过一个标题栏上显示类似 “Microsoft Word - 04\_Classics\_Revisited.docx” 的 PDF 文件,你就能体会那种感觉了。

pdftk-java 让我能够创建自己的书签,我再也不面对这些问题了。

在 Linux 上安装 pdftk-java

正如 pdftk-java 的名称所示的,它是用 Java 编写的。它能够在所有主流操作系统上运行,只要你安装了 Java。

Linux 和 macOS 用户可以从 AdoptOpenJDK.net 安装 Java(LCTT 译注:原文为 Linux,应为笔误)。

Windows 用户可以安装 Red Hat's Windows build of OpenJDK

在 Linux 上安装 pdftk-java:

  1. 从 Gitlab 仓库下载 pdftk-all.jar release,保存至 ~/.local/bin/其它路径 下.
  2. 用文本编辑器打开 ~/.bashrc,添加 alias pdftk='java -jar $HOME/.local/bin/pdftk-all.jar'
  3. 运行 source ~/.bashrc 使新的 Bash 设置生效。

数据转储

修改元数据的第一步是抽取 PDF 当前的数据文件。

现在的数据文件可能并没包含多少内容,但这也是一个不错的开端。

$ pdftk mybigfile.pdf \
  data_dump \
  output bookmarks.txt

生成的 bookmarks.txt 文件中包含了输入 PDF 文件 mybigfile.pdf 的所有元数据和一大堆无用数据。

编辑元数据

用文本编辑器(比如 AtomGedit)打开 bookmarks.txt 以编辑 PDF 元数据。

元数据的格式和数据项直观易懂:

InfoBegin
InfoKey: Creator
InfoValue: Word
InfoBegin
InfoKey: ModDate
InfoValue: D:20151221203353Z00'00'
InfoBegin
InfoKey: CreationDate
InfoValue: D:20151221203353Z00'00'
InfoBegin
InfoKey: Producer
InfoValue: Mac OS X 10.10.4 Quartz PDFContext
InfoBegin
InfoKey: Title
InfoValue: Microsoft Word - 04_UA_Classics_Revisited.docx
PdfID0: f049e63eaf3b4061ddad16b455ca780f
PdfID1: f049e63eaf3b4061ddad16b455ca780f
NumberOfPages: 42
PageMediaBegin
PageMediaNumber: 1
PageMediaRotation: 0
PageMediaRect: 0 0 612 792
PageMediaDimensions: 612 792
[...]

你可以将 InfoValue 的值修改为对当前 PDF 有意义的内容。比如可以将 Creator 字段从 Word 修改为实际的作者或出版社名称。比起使用导出程序自动生成的标题,使用书籍的实际标题会更好。

你也可以做一些清理工作。在 NumberOfPages 之后的行都不是必需的,可以删除这些行的内容。

添加书签

PDF 书签的格式如下:

BookmarkBegin
BookmarkTitle: My first bookmark
BookmarkLevel: 1
BookmarkPageNumber: 2
  • BookmarkBegin 表示这是一个书签。
  • BookmarkTitle 书签在 PDF 阅读器中显示的文本。
  • BookmarkLevel 书签层级。如果书签层级为 2,它将出现在上一个书签的小三角下。如果设置为 3,它会显示在上一个 2 级书签的小三角下。这让你能为章以及其中的节设置书签。
  • BookmarkPageNumber 点击书签时转到的页码。

为你需要的章节创建书签,然后保存文件。

更新书签信息

现在已经准备好了元数据和书签,你可以将它们导入到 PDF 文件中。实际上是将这些信息导入到一个新的 PDF 文件中,它的内容与原 PDF 文件相同:

$ pdftk mybigfile.pdf \
  update_info bookmarks.txt \
  output mynewfile.pdf

生成的 mynewfile.pdf 包含了你设置的全部元数据和书签。

体现专业性

PDF 文件中是否包含定制化的元数据和书签可能并不会影响销售。

但是,关注元数据可以向用户表明你重视质量保证。增加书签可以为用户提供便利,同时亦是充分利用现有技术。

使用 pdftk-java 来简化这个过程,用户会感激不尽。

(题图:MJ/f8869a66-562d-4ee4-9f2d-1949944d6a9c)


via: https://opensource.com/article/22/1/pdf-metadata-pdftk

作者:Seth Kenlon 选题:lujun9972 译者:toknow-gh 校对:wxy

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

Linux 主导着大多数互联网、大部分云计算和几乎所有的超级计算机。我也喜欢在 Linux 上进行游戏、办公工作和发挥创造力。

北极企鹅聚集在一起

开源朗读者 | 徐斯佳

当你习惯于一个操作系统时,很容易将其他操作系统看作是“应用程序”。如果你在桌面上使用一种操作系统,你可能会认为另一种操作系统是人们用来运行服务器的应用程序,而又一种操作系统是用来玩游戏的应用程序,依此类推。有时我们会忘记操作系统是计算机管理无数任务的部分(从技术上讲,每秒数百万个任务),它们通常设计成能够执行各种任务。当有人问我 Linux 能做什么 时,我通常会问他们想让它做什么。这没有一个单一的答案,所以这里有五个让我惊讶的 Linux 用途。

1、用 Linux 进行激光切割

由 MSRaynsford 制作的蓝图

在离我最近的创客空间里,有一台巨大的工业机器,大约和一张沙发一样大小,可以根据一个简单的线条图设计文件来切割各种材料。这是一台强大的激光切割机,令我惊讶的是,我第一次使用它时发现它只需要通过 USB 线连接到我的 Linux 笔记本电脑上。事实上,在许多方面,与许多台式打印机相比,连接这台激光切割机更容易,因为许多台式打印机需要过于复杂和臃肿的驱动程序。

使用 Inkscape 和 一个简单的插件,你可以为这台工业激光切割机设计切割线条。你可以为你的树莓派笔记本设计一个外壳,使用这些知识共享的设计方案来建造 一个密码锁盒、切割一个店面标牌,或者你心目中的其他任何想法。而且,你可以完全使用开源软件来完成这些操作。

2、在 Linux 上进行游戏

Lutris 桌面客户端

开源游戏一直都有,最近一段时间也有一些备受瞩目的 Linux 游戏。我建造的第一台游戏电脑就是一台 Linux 电脑,我觉得我邀请过来一起玩沙发合作游戏的人们都没有意识到他们是在 Linux 上进行游戏。这是一种流畅顺滑的体验,而且取决于你愿意在硬件上花费多少,可能上无止境吧。

更重要的是,不仅游戏正在进入 Linux,整个平台也在进一步发展。Valve 推出的 Steam Deck 是一款非常受欢迎的掌上游戏机,它运行的是 Linux。更好的是,许多开源软件也在 Steam 上发布,包括 BlenderKrita,这鼓励了更广泛的采用。

3、在 Linux 上进行办公工作

Calligra Words

Linux,就像生活一样,并不总是刺激的。有时,你需要一台计算机来完成一些普通的事情,比如支付账单、制定预算,或者为学校写论文或工作写报告。无论任务是什么,Linux 都可以作为一台日常的桌面电脑。你可以在 Linux 上进行“平常”的工作。

不仅局限于知名的应用程序。我在优秀的 LibreOffice 套件中做了很多工作,但在我最旧的电脑上,我使用更简洁的 Abiword。有时,我喜欢试试 KDE 的官方套件 Calligra,当需要进行精确的 设计工作(包括 专门的过程式设计工作)时,我使用 Scribus。

使用 Linux 进行日常任务最好的地方在于,最终没有人知道你用了什么工具来完成最终产品。你的工具链和工作流程属于你自己,结果和封闭的、非开源软件产生的结果一样好,甚至更好。我发现,使用 Linux 进行日常任务让这些任务对我来说更有趣,因为开源软件本质上允许我开发达到自己预期结果的路径。我可以尝试创建解决方案,帮助我 高效完成工作,或者帮助我 自动化重要任务,但我也享受系统的灵活性。我不想去适应我的工具链,而是调整我的工具,使它们为我工作。

4、在 Linux 上进行音乐制作

Ardour

我是一个业余音乐家,在开始将所有制作工作转移到计算机之前,我拥有几台合成器、音序器和多轨录音机。我转向计算机音乐之所以用了比较长的时间,是因为我觉得它对我来说不够模块化。当你习惯于将物理设备互相连接,通过滤波器、效果器、混音器和辅助混音器来路由声音时,全功能应用程序看起来有点令人失望。

并不是说全功能应用程序没有受到欣赏。我喜欢能够打开一个应用程序,如 LMMS,它恰好拥有我想要的一切。然而,在实际使用中,似乎没有一个计算机音乐应用程序真正拥有我所需要的一切。

当我转向 Linux 时,我发现它以模块化为基本原则构建了一个庞大的音乐制作环境。我找到了 音序器、合成器、混音器、录音器、补丁台等的应用程序。我可以在计算机上建立自己的工作室,就像我在现实生活中建立自己的工作室一样。在 Linux 上,音频制作得到了飞速发展,今天,开源 应用程序 可以作为统一的控制中心,同时保留了从系统其他位置提取声音的可扩展性。对于像我这样的拼贴式制作人来说,这是一个梦幻般的工作室。

5、在 Linux 上进行复古计算

Mageia 8

我不喜欢扔掉旧电脑,因为很少有旧电脑是真正报废的。通常,旧电脑只是被世界其他部分“超越”了。操作系统变得过于臃肿,旧电脑无法处理,因此你不再能获得操作系统和安全更新,应用程序开始要求你的旧电脑没有的资源,等等。

我倾向于 收留旧电脑,将它们用作实验室机器或家庭服务器。最近,我发现在旧电脑上添加一块固态硬盘作为根分区,并使用 XFCE 或类似的轻量级桌面环境,使得即使是十年前的电脑,也可以愉快地用于期望的工作。平面设计、网页设计、编程、定格动画等任务在低配置机器上都是小菜一碟,更不用说简单的办公工作了。有了 Linux 驱动的机器,真不知道为什么企业还要升级。

每个人都有自己喜欢的“救援”发行版。我个人喜欢 Slackware 和 Mageia,它们都还发布了 32 位的安装镜像。Mageia 也是基于 RPM 的,所以你可以使用像 dnfrpmbuild 这样的现代打包工具。

多说一句:Linux 服务器

好吧,我承认在服务器上使用 Linux 并不令人惊讶。实际上,对于那些了解 Linux 但自己不使用 Linux 的人来说,当提到 “Linux” 时,数据中心通常是他们首先想到的。然而,这种假设的问题在于它似乎明显地认为 Linux 在服务器上应该表现出色,好像 Linux 根本不需要努力一样。这是一种令人赞赏的情绪,但实际上,Linux 在服务器上表现出色是因为全球开发团队付出了巨大努力,让 Linux 在其所从事的工作上特别有效。

Linux 之所以成为强大的操作系统,主要是因为它驱动着大部分互联网、主导着大部分云计算、几乎所有现有的超级计算机以及更多应用领域。Linux 并非止步不前,尽管它有着丰富的历史,但它并没有深陷传统而无法进步。新技术正在不断发展,Linux 也是这一进步的一部分。现代 Linux 适应了不断变化的世界对增长需求的要求,使得系统管理员能够为全世界的人们提供网络服务。

这并不是 Linux 的全部能力,但也绝非小小的成就。

Linux 并不那么令人惊讶

我还记得第一次遇到一个从小就使用 Linux 的人的事情。在我使用 Linux 的大部分时间里,这种情况似乎很少发生,但最近这种情况相对较为普遍。我记得最令人惊讶的一次是遇到一个年轻的女士,带着幼儿,看到我当时穿着的那件极客风格的 T 恤衫,她随意地提到她也使用 Linux,因为她从小就接触它。这实际上让我有点嫉妒,但随后我想起,在我成长的过程中,桌面电脑上根本没有 Unix 的 存在。然而,想到 Linux 在过去几十年里的轻松发展,确实令人愉快。成为其中的一员更是乐趣无穷。

(题图:MJ/e529833a-8ec1-4fff-997b-2ef3f107bc68)


via: https://opensource.com/article/22/5/surprising-things-i-do-linux

作者:Seth Kenlon 选题:lkxed 译者:ChatGPT 校对:wxy

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

尝试用这个 KDE 程序做专业的视频编辑。

无论是雪日、季节性假期,或是任何假期,都是在你电脑前专心发挥创造力的好时候。我最喜欢的一种消遣就是剪视频。有时,我为了讲个故事来剪;其他时候,我则是为了表达我的心情、观点、为我发现或创作的音乐提供视觉效果。也许这是因为我在学校为从事这一领域的职业学习了剪视频,或就只是因为我喜欢强大的开源工具。至今,我最喜欢的视频剪辑程序是优秀的 Kdenlive,这是一个强大而专业的剪辑工具,提供了直观的工作流、大量的特效和转场。

在 Linux 上安装 Kdenlive

Kdenlive 可以通过大部分的 Linux 发行版的包管理器安装。在 Fedora、Mageia 或类似的发行版:

$ sudo dnf install kdenlive

在 Elementary、Mine 或其他基于 Debian 的发行版:

$ sudo apt install kdenlive

不过,我用 Flatpak 来安装 Kdenlive。

如何籍视频讲故事

到底“编辑”视频是什么意思?

剪辑视频有些夸张的误解。当然,它是使鸿篇巨制的大片影响全世界数百万人的过程,但当你在你的笔记本前坐下时,你不必那样想。剪辑视频就是一个十分简单的,移除“坏的”部分,直到只剩下“好的”部分的工作。

什么是“好”镜头还是“坏”镜头,完全取决于你自己的品味,甚至可能根据你想用你的创作 “说” 的内容而改变。如果你在剪辑你在后院发现的野生动物的镜头,你可能会剪掉那些突出你的垃圾桶或你踩着耙子的镜头。剩下的部分肯定会使你的后院看起来像一个神奇的秘密花园,里面有蜂鸟、蝴蝶、好奇的兔子和一只俏皮的狗。另一方面,留下这些 “坏” 镜头,你就可以创造一部喜剧,讲述一个郊区人在清理垃圾时,踩到了耙子上,把所有的动物都吓跑了,总之是在捣乱。这没有对错之分。无论你切掉什么,没有人知道曾经存在过。无论你保留什么,都会有一个故事。

导入镜头

当你启动 Kdenlive,你会有个空项目。Kdenlive 窗口包括在左上角 项目箱 Project Bin 、一个在中间的信息框,以及一个在右上的 项目监视器 Project Monitor 。在下面的是十分重要的部分—— 时间轴 Timeline 。时间轴是创建你的故事的地方。在你的项目结束时,时间轴中的所有内容都是你的观众所看到的。这就是你的影片。

在你开始在你的时间轴上构建故事前,你需要一些素材。假设你已经从相机或手机上获得了一些视频,你必须在项目箱中增加一些素材。右键点击项目箱面板的空位置,然后选择 添加素材或文件夹 Add Clip or Folder

 title=

裁剪镜头

Kdenlive 中有许多方式来裁剪视频镜头。

三点式编辑

以前,创建素材的正式方式是“三点式编辑”,包括如下几点:

  1. 素材监视器 Clip Monitor 中打开一个视频素材,找到你希望视频开始的点,然后点键盘上的 l 来标记 开始
  2. 然后找你想让视频停止的点,并按 O 来标记 结束
  3. 从素材监视器拖动视频素材到 Kdenlive 窗口底部的时间轴上的某一个位置。

 title=

这个方法依然在某些环境中保有重要地位,但对于很多用户来说太“书面化”了。

轴内编辑

另一个编辑的方法是拖动切片到 Kdenlive 的时间轴面板,并拖动切片的边缘,直到只留下好的部分。

 title=

离切的艺术

另一种编辑技巧是 离切 cut-away。这是个重要的技巧,它不只帮助你跳过视频切片中的坏的部分,而且可以为你的观众增加背景信息。在电影和电视中,你已经见过了许多离切,即使你不理解它。每当荧幕上的人看惊讶地抬头,然后你就能看到他们的视角,这就是离切。当一个新闻主播提到你们城市中的一处地方,然后那个地方的镜头跟随其后,这也是离切。

你可以轻易的在 Kdenlive 中完成离切操作,因为 Kdenlive 时间轴是叠层式的。默认情况下,Kdenlive 中有四个 “ 轨道 track ” ——最上面的两个分给视频,而下面的两个给伴奏的音频。当你在时间轴上放置视频素材,放在较高的视频轨道上的优先于放在下面的轨道。这意味着你可以在功能上编辑掉视频轨道的镜头,只需要通过在较高的轨道上放些更好的素材就行。

 title=

导出你的电影

当你的编辑都完成后,你可以导出你的电影,然后来把它发布到网上,让其他人看到。要做到这一点,点击在 Kdenlive 窗口顶端工具栏上的 渲染 Render 按钮。在显现的 渲染 Rendering 窗口中,选择你的视频托管服务支持的格式。WEBM 格式是近日很普遍的一种格式,除了是开源的,它也是可用于分发和存档的最佳格式之一。它能支持 4K、立体图像、广色域等更多的特性。而且所有的主流浏览器都可以播放它。

渲染需要时间,这取决于你的项目长度、你作出了多少编辑、以及你电脑的性能。

一个长效的解决方案

当我写这篇文章的时候,正好在十年前的今天,我发表了 关于 Kdenlive 的六篇介绍文章 。令我惊讶的是,这意味着我成为 Kdenlive 用户的时间比我在电影学院学习的专有编辑器的时间还要长。这是令人印象深刻的长寿,而且我今天仍然在使用它,因为它的灵活性和可靠性是其他编辑器无法比拟的。糟糕的是,我所学过的专有视频编辑器甚至都不存在了,至少不再以同样的形式存在(这让我希望我在一个开源平台上学习编辑!)。

Kdenlive 是一个功能强大的编辑器,有很多功能,但不要让这些吓倒你。我的介绍系列在今天和十年前一样相关而准确,在我看来,这是一个真正可靠的应用程序的特征。如果你想选择 Kdenlive 作为视频编辑器,一定要下载我们的 速查表,这样你就可以熟练使用键盘快捷键,减少点击次数,使编辑过程无缝进行。

现在去讲你的故事吧!

(题图:MJ/028511ed-687f-4894-b4aa-cf3f6c108a1a)


via: https://opensource.com/article/21/12/kdenlive-linux-creative-app

作者:Seth Kenlon 选题:lujun9972 译者:yjacks 校对:wxy

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