2021年8月

我们在这篇文章中总结了 KDE Plasma 5.23(即将到来)的新功能,包括主要特点、下载和测试说明。

KDE Plasma 桌面是当今最流行、最顶级的 Linux 桌面环境,而 KDE Plasma 的热度之高主要得益于其适应能力强、迭代发展迅速,以及性能不断提高。KDE Plasma 5.22 发布以来,KDE 团队一直忙于为即将到来的 KDE Plasma 5.23 合并更改和测试新功能。目前 KDE Plasma 5.23 仍在开发中,如下是暂定的时间表。

KDE Plasma 5.23 发布时间表

KDE Plasma 5.23 将于 2021 年 10 月 7 日发布,以下是时间表:

  • Beta 公测 – 2021 年 9 月 16 日
  • 最终发布 – 2021 年 10 月 7 日

正如每个 Plasma 版本更新一样,本次更新也同样承诺对核心 Plasma Shell 和 KDE 应用进行大幅更改、代码清理、性能改进、数百个 bug 修复、Wayland 优化等。我们在本篇文章中收集了一些重要的功能,让你对即将发布的新功能有基本了解。下面就让我们看看。

KDE Plasma 5.23 – 新功能

  • 本次版本更新基于 Qt 5.15 版本,KDE 框架 5.86 版本。

Plasma Shell 和应用程序更新

  • 本次 KDE Plasma 的 Kickoff 程序启动器将有大幅更新,包括 bug 修复、减少内存占用、视觉更新、键鼠导航优化。
  • Kickoff 程序启动器菜单允许使用固定按钮固定在桌面上,保持开启状态。
  • Kickoff 的标签不会在你滚动时切换(从应用标签到位置标签)。
  • Kickoff 里可以使用 CTRL+F 快捷键直接聚焦到搜索栏。
  • Kickoff 中的操作按钮(如关机等)可以设置为仅显示图标。
  • 现在可以针对所有 Kickoff 项目选择使用网格或列表视图(而不仅仅局限于收藏夹)。

KDE Plasma 5.23 中 Kickoff 程序启动器新增的选项

Kickoff 程序启动器的更改

  • 新增基于 QML 的全新概览视图(类似 GNOME 3.38 的工作区视图),用于展示所有打开的窗口(详见如下视频)。目前我找不到关于此合并请求的更多详情,而且这个新视图也很不稳定。

视频作者:KDE 团队

  • 该概览效果将替代现有的“展现窗口”特效和“虚拟桌面平铺网格”特效(计划中)。
  • 未连接触控板时将展示更易察觉的“未找到触摸板”提示。
  • “电源配置方案”设置现在呈现于 Plasma UI(电池和亮度窗口)中。电源配置方案功能从 Linux 内核 5.12 版本开始已经登陆戴尔和联想的笔记本电脑了。因此,如果你拥有这些品牌的较新款笔记本电脑,你可以将电源配置方案设置为高性能或省电模式。[注:Fedora 35(很大可能)会在 GNOME 41 中增加该功能]

新的“电源配置方案”设置

  • 如果你有多屏幕设置,包括垂直和横向屏幕,那么登录屏幕现在可以正确同步和对齐。这个功能的需求度很高。
  • 新的 Breeze 主题预计会有风格上的更新。
  • 如前序版本一样,预计会有全新的壁纸(目前壁纸大赛仍在进行中)。
  • 新增当硬件从笔记本模式切换到平板模式时是否缩放系统托盘图标的设置。
  • 你可以选择在登录时的蓝牙状态:总是启用、总是禁用、记住上一次的状态。该状态在版本升级后仍可保留。
  • 用户现在可以更改传感器的显示名称。
  • Breeze 风格的滚动条现在比之前版本的更宽。
  • Dolphin 文件管理器提供在文件夹前之前优先显示隐藏文件的新选项。
  • 你现在可以使用 DEL 键删除剪贴板弹窗中选中的项目。
  • KDE 现在允许你直接从 Plasma 桌面,向 store.kde.org 提交你制作的图标和主题。

Wayland 更新

  • 在 Wayland 会话中,运行程序时光标旁也会展示图标反馈动画。
  • 现在可以从通知中复制文字。
  • 中键单击粘贴功能现在可以在 Wayland 和 XWayland 应用程序中正常使用。

请务必牢记,每个版本都有数以百计的 bug 修复和改进。本文仅仅包括了我收集的表面层次的东西。因此,如果想了解应用程序和 Plasma Shell 的变更详情,请访问 GitLab 或 KDE Planet 社区。

不稳定版本下载

你现在可以通过下方的链接下载 KDE neon 的不稳定版本来体验上述全部功能。直接下载 .iso 文件,然后安装测试即可。请务必在发现 bug 后及时反馈。该不稳定版本不适合严肃场合及生产力设备使用。

结束语

KDE Plasma 5.23 每次发布都在改进底层、增加新功能。虽然这个版本不是大更新,但一切优化、改进最终都将累积成稳定性、适应性和更好的用户体验。当然,还有更多的 Wayland 改进(讲真,Wayland 兼容看上去一直都处在“正在进行中”的状态 - 就像十年过去了,却还在制作那样。当然这是另一个话题了)。

再会。


via: https://www.debugpoint.com/2021/08/kde-plasma-5-23/

作者:Arindam 选题:lujun9972 译者:imgradeone 校对:wxy

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

Linux 操作系统诞生 30 周年

1991 年 8 月 25 日,Linux 之父 Linus Torvalds 在 USENET comp.os.minix 上发布了一个帖子:“你最想在 MINIX 里见到什么?”,首次透露出自己正在开发一个免费、开源的操作系统,并且不使用任何一行 MINIX 的源代码。这个时间被许多爱好者视为 Linux 的真正诞生日期,而非第一个 Linux 内核 0.01 发布的 9 月 17 日,也不是第一个正式版 0.02 的 10 月 5 日。

忽忽 30 年,Linux 已经不仅仅是改变了世界,而且已经成为了这个世界不可或缺的一部分。感谢 Linus Torvalds,感谢为之致力的一切贡献者!

网红前往深圳公司寻求对方遵守 GPLv2 授权

据 Solidot 报道,一位波兰开发者根据 GPLv2 许可证要求深圳的一家手机制造商 Umidigi 提供内核源代码。Umidigi F2 运行了一个修改版的 Linux 内核,根据 GPLv2 许可证要求,该公司在发行产品时需要向消费者提供源代码。但该公司 Ben 的回答是如果要获得可共享的源代码可以在工作时间到该公司深圳办公室里来拿,并表示办公室员工只会说普通话。生活在深圳的 Youtube 网红机械妖姬,与这位波兰开发者在 Twitter 上达成协议,代替对方到深圳办公室去拿源代码。结果被告知 Ben 离开了。

就是需要有这样较真的人,虽然我之前不太喜欢这位机械妖姬。

三星远程让在南非被盗的电视机变砖

今年 7 月南非一些地区发生骚扰,三星公司在当地仓库中的电视机被盗。三星南非分公司宣布,它激活了所有被盗电视机的 TV Block 功能,如果电视机的系列号被监测出属于被盗产品,那么在联网时 TV Block 功能将会被激活,所有电视功能将被禁用。三星认为,这足以限制掠夺的动机,并减轻销售非法商品的市场的产生。电视屏蔽技术已经预装在所有的三星电视上,不会局限于南非市场。

这一招比较厉害,互联网化之后的电视的新功能。

巧用 Bash 脚本程序能帮助你完成很多极具挑战的任务。

 title=

系统管理员经常写脚本程序,不论长短,这些脚本可以完成某种任务。

你是否曾经查看过某个软件发行方提供的安装用的 脚本 script 程序?为了能够适应不同用户的系统配置,顺利完成安装,这些脚本程序经常包含很多函数和逻辑分支。多年来,我积累了一些改进脚本程序的一些技巧,这里分享几个,希望能对朋友们也有用。这里列出一组短脚本示例,展示给大家做脚本样本。

初步尝试

我尝试写一个脚本程序时,原始程序往往就是一组命令行,通常就是调用标准命令完成诸如更新网页内容之类的工作,这样可以节省时间。其中一个类似的工作是解压文件到 Apache 网站服务器的主目录里,我的最初脚本程序大概是下面这样:

cp january_schedule.tar.gz /usr/apache/home/calendar/
cd /usr/apache/home/calendar/
tar zvxf january_schedule.tar.gz

这帮我节省了时间,也减少了键入多条命令操作。时日久了,我掌握了另外的技巧,可以用 Bash 脚本程序完成更难的一些工作,比如说创建软件安装包、安装软件、备份文件系统等工作。

1、条件分支结构

和众多其他编程语言一样,脚本程序的条件分支结构同样是强大的常用技能。条件分支结构赋予了计算机程序逻辑能力,我的很多实例都是基于条件逻辑分支。

基本的条件分支结构就是 if 条件分支结构。通过判定是否满足特定条件,可以控制程序选择执行相应的脚本命令段。比如说,想要判断系统是否安装了 Java ,可以通过判断系统有没有一个 Java 库目录;如果找到这个目录,就把这个目录路径添加到可运行程序路径,也就可以调用 Java 库应用了。

if [ -d "$JAVA_HOME/bin" ] ; then
    PATH="$JAVA_HOME/bin:$PATH"

2、限定运行权限

你或许想只允许特定的用户才能执行某个脚本程序。除了 Linux 的权限许可管理,比如对用户和用户组设定权限、通过 SELinux 设定此类的保护权限等,你还可以在脚本里设置逻辑判断来设置执行权限。类似的情况可能是,你需要确保只有网站程序的所有者才能执行相应的网站初始化操作脚本。甚至你可以限定只有 root 用户才能执行某个脚本。这个可以通过在脚本程序里设置逻辑判断实现,Linux 提供的几个环境变量可以帮忙。其中一个是保存用户名称的变量 $USER, 另一个是保存用户识别码的变量 $UID 。在脚本程序里,执行用户的 UID 值就保存在 $UID 变量里。

用户名判别

第一个例子里,我在一个带有几个应用服务器实例的多用户环境里指定只有用户 jboss1 可以执行脚本程序。条件 if 语句主要是判断,“要求执行这个脚本程序的用户不是 jboss1 吗?”当此条件为真时,就会调用第一个 echo 语句,接着是 exit 1,即退出这个脚本程序。

if [ "$USER" != 'jboss1' ]; then
     echo "Sorry, this script must be run as JBOSS1!"
     exit 1
fi
echo "continue script"

根用户判别

接下来的例子是要求只有根用户才能执行脚本程序。根用户的用户识别码(UID)是 0,设置的条件判断采用大于操作符(-gt),所有 UID 值大于 0 的用户都被禁止执行该脚本程序。

if [ "$UID" -gt 0 ]; then
     echo "Sorry, this script must be run as ROOT!"
     exit 1
fi
echo "continue script"

3、带参数执行程序

可执行程序可以附带参数作为执行选项,命令行脚本程序也是一样,下面给出几个例子。在这之前,我想告诉你,能写出好的程序并不只是写出我们想要它执行什么的程序,程序还需要不执行我们不要它执行的操作。如果运行程序时没有提供参数造成程序缺少足够信息,我愿意脚本程序不要做任何破坏性的操作。因而,程序的第一步就是确认命令行是否提供了参数,判定的条件就是参数数量 $# 是否为 0 ,如果是(意味着没有提供参数),就直接终止脚本程序并退出操作。

if [ $# -eq 0 ]; then
    echo "No arguments provided"
    exit 1
fi
echo "arguments found: $#"

多个运行参数

可以传递给脚本程序的参数不止一个。脚本使用内部变量指代这些参数,内部变量名用非负整数递增标识,也就是 $1$2$3 等等递增。我只是扩展前面的程序,并在下面一行输出显示用户提供的前三个参数。显然,要针对所有的每个参数有对应的响应需要更多的逻辑判断,这里的例子只是简单展示参数的使用。

echo $1 $2 $3

我们在讨论这些参数变量名,你或许有个疑问,“参数变量名怎么跳过了 $0,(而直接从$1 开始)?”

是的,是这样,这是有原因的。变量名 $0 确实存在,也非常有用,它储存的是被执行的脚本程序的名称。

echo $0

程序执行过程中有一个变量名指代程序名称,很重要的一个原因是,可以在生成的日志文件名称里包含程序名称,最简单的方式应该是调用一个 echo 语句。

echo test >> $0.log

当然,你或许要增加一些代码,确保这个日志文件存放在你希望的路径,日志名称包含你认为有用的信息。

4、交互输入

脚本程序的另一个好用的特性是可以在执行过程中接受输入,最简单的情况是让用户可以输入一些信息。

echo "enter a word please:"
read word
echo $word

这样也可以让用户在程序执行中作出选择。

read -p "Install Software ?? [Y/n]: " answ
if [ "$answ" == 'n' ]; then
    exit 1
fi
    echo "Installation starting..."

5、出错退出执行

几年前,我写了个脚本,想在自己的电脑上安装最新版本的 Java 开发工具包(JDK)。这个脚本把 JDK 文件解压到指定目录,创建更新一些符号链接,再做一下设置告诉系统使用这个最新的版本。如果解压过程出现错误,在执行后面的操作就会使整个系统上的 Java 破坏不能使用。因而,这种情况下需要终止程序。如果解压过程没有成功,就不应该再继续进行之后的更新操作。下面语句段可以完成这个功能。

tar kxzmf jdk-8u221-linux-x64.tar.gz -C /jdk --checkpoint=.500; ec=$?
if [ $ec -ne 0 ]; then
     echo "Installation failed - exiting."
     exit 1
fi

下面的单行语句可以给你快速展示一下变量 $? 的用法。

ls T; ec=$?; echo $ec

先用 touch T 命令创建一个文件名为 T 的文件,然后执行这个单行命令,变量 ec 的值会是 0。然后,用 rm T 命令删除文件,再执行该单行命令,变量 ec 的值会是 2,因为文件 T 不存在,命令 ls 找不到指定文件报错。

在逻辑条件里利用这个出错标识,参照前文我使用的条件判断,可以使脚本文件按需完成设定操作。

结语

要完成复杂的功能,或许我们觉得应该使用诸如 Python、C 或 Java 这类的高级编程语言,然而并不尽然,脚本编程语言也很强大,可以完成类似任务。要充分发挥脚本的作用,有很多需要学习的,希望这里的几个例子能让你意识到脚本编程的强大。


via: https://opensource.com/article/20/1/improve-bash-scripts

作者:Alan Formy-Duval 选题:lujun9972 译者:fisherue 校对:wxy

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

在 Linux 系统中有一些其他开源项目可以结合或者替代 cron 系统使用。

 title=

Linux cron 系统 是一项经过时间检验的成熟技术,然而在任何情况下它都是最合适的系统自动化工具吗?答案是否定的。有一些开源项目就可以用来与 cron 结合或者直接代替 cron 使用。

at 命令

cron 适用于长期重复任务。如果你设置了一个工作任务,它会从现在开始定期运行,直到计算机报废为止。但有些情况下你可能只想设置一个一次性命令,以备不在计算机旁时该命令可以自动运行。这时你可以选择使用 at 命令。

at 的语法比 cron 语法简单和灵活得多,并且兼具交互式和非交互式调度方法。(只要你想,你甚至可以使用 at 作业创建一个 at 作业。)

$ echo "rsync -av /home/tux/ me@myserver:/home/tux/" | at 1:30 AM

该命令语法自然且易用,并且不需要用户清理旧作业,因为它们一旦运行后就完全被计算机遗忘了。

阅读有关 at 命令 的更多信息并开始使用吧。

systemd

除了管理计算机上的进程外,systemd 还可以帮你调度这些进程。与传统的 cron 作业一样,systemd 计时器可以在指定的时间间隔触发事件,例如 shell 脚本和命令。时间间隔可以是每月特定日期的一天一次(例如在星期一的时候触发),或者在 09:00 到 17:00 的工作时间内每 15 分钟一次。

此外 systemd 里的计时器还可以做一些 cron 作业不能做的事情。

例如,计时器可以在一个事件 之后 触发脚本或程序来运行特定时长,这个事件可以是开机,可以是前置任务的完成,甚至可以是计时器本身调用的服务单元的完成!

如果你的系统运行着 systemd 服务,那么你的机器就已经在技术层面上使用 systemd 计时器了。默认计时器会执行一些琐碎的任务,例如滚动日志文件、更新 mlocate 数据库、管理 DNF 数据库等。创建自己的计时器很容易,具体可以参阅 David Both 的文章 使用 systemd 计时器来代替 cron

anacron 命令

cron 专门用于在特定时间运行命令,这适用于从不休眠或断电的服务器。然而对笔记本电脑和台式工作站而言,时常有意或无意地关机是很常见的。当计算机处于关机状态时,cron 不会运行,因此设定在这段时间内的一些重要工作(例如备份数据)也就会跳过执行。

anacron 系统旨在确保作业定期运行,而不是按计划时间点运行。这就意味着你可以将计算机关机几天,再次启动时仍然靠 anacron 来运行基本任务。anacron 与 cron 协同工作,因此严格来说前者不是后者的替代品,而是一种调度任务的有效可选方案。许多系统管理员配置了一个 cron 作业来在深夜备份远程工作者计算机上的数据,结果却发现该作业在过去六个月中只运行过一次。anacron 确保重要的工作在 可执行的时候 发生,而不是必须在安排好的 特定时间点 发生。

点击参阅关于 使用 anacron 获得更好的 crontab 效果 的更多内容。

自动化

计算机和技术旨在让人们的生活更美好,工作更轻松。Linux 为用户提供了许多有用的功能,以确保完成重要的操作系统任务。查看这些可用的功能,然后试着将这些功能用于你自己的工作任务吧。(LCTT 译注:作者本段有些语焉不详,读者可参阅譬如 Ansible 自动化工具安装、配置和快速入门指南 等关于 Linux 自动化的文章)


via: https://opensource.com/article/21/7/alternatives-cron-linux

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

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

VISA 花 15 万美元购买了第一个 CryptoPunk NFT

CryptoPunks 被认为是原始的 NFT,在 2017 年推出。尚出现在现在的 NFT 标准 ERC721 之前。这些是一万张怪人的像素艺术图片的集合。Vist 的加密货币主管,“我们觉得 CryptoPunks 将是对我们的文物收藏的一个很好的补充,可以描绘和庆祝商业的过去、现在和未来。” 他们认为 CryptoPunks “开创了 NFT 技术和 NFT 商业浪潮”,所以想要拥有一个。CryptoPunks 在刚刚过去的 24 小时交易量突破 1 亿美元。

要是从把 NFT 当成文物来收藏这个角度看,就感觉可以理解了。

数十万基于 Realtek 的设备受到物联网僵尸网络的攻击

至少有 65 家供应商的数十万台路由器等设备中使用的 Realtek 芯片组存在一个危险的漏洞,目前正受到一个 DDoS 僵尸网络团伙的攻击。这些攻击从上周开始,在安全公司发布了有关该漏洞的细节后仅三天就开始了。这些芯片由 Realtek 制造,其他公司将其作为自己设备的基本系统芯片(SoC)。

用 Realtek 芯片的设备太多了,尤其是各种路由器。看看你的路由器中招了没。

在苹果 M1 上运行的 GNOME 桌面

Asahi Linux 团队的一名成员展示了在苹果 M1 芯片上运行的 GNOME 桌面。该团队说,“不是很好,但可以使用”。该团队自 1 月份以来一直致力于苹果 M1 GPU 的逆向工程,其目标是“在苹果 M1 Mac 上实现完美的 Linux 体验”。根据截图上的终端显示,它正在运行 5.14 Linux 内核的预发布版、Debian Linux 和 GNOME 3.38.4。但是该团队说,“它不是 GPU 加速的。”新的演示是今年 1 月份 Corellium 早期实验的一个相当大的进步,采用了“双缓冲”机制以减少撕裂现象。

距离成功又近了一步,Linus 快能用上啦。

在 Linux 上安装好“虚拟专用网络” 之后,是时候使用它了。

 title=

0penVPN 在两点之间创建了一个加密通道,以阻止第三方访问你的网络流量数据。通过设置你的 “虚拟专用网络” 服务,你可以成为你自己的 “虚拟专用网络” 服务商。许多流行的 “虚拟专用网络” 服务都使用 0penVPN,所以当你可以掌控自己的网络时,为什么还要将你的网络连接绑定到特定的提供商呢?

本系列的 第一篇文章 安装了一个“虚拟专用网络” 的服务器,第二篇文章 介绍了如何安装和配置一个 0penVPN 服务软件,第三篇文章 解释了如何配置防火墙并启动你的 0penVPN 服务。第四篇也是最后一篇文章将演示如何从客户端计算机使用你的 0penVPN 服务器。这就是你做了前三篇文章中所有工作的原因!

创建客户端证书

请记住,0penVPN 的身份验证方法要求服务器和客户端都拥有某些东西(证书)并知道某些东西(口令)。是时候设置它了。

首先,为你的客户端计算机创建一个客户端证书和一个私钥。在你的 0penVPN 服务器上,生成证书请求。它会要求你输入密码;确保你记住它:

$ cd /etc/openvpn/ca
$ sudo /etc/openvpn/easy-rsa/easyrsa \
  gen-req greglaptop

本例中,greglaptop 是创建证书的客户端计算机主机名。

无需将请求导入证书颁发机构(CA),因为它已经存在。审查它以确保请求存在:

$ cd /etc/openvpn/ca
$ /etc/openvpn/easy-rsa/easyrsa \
  show-req greglaptop

你也可以以客户端身份签署请求:

$ /etc/openvpn/easy-rsa/easyrsa \
  sign-req client greglaptop

安装 0penVPN 客户端软件

在 Linux 系统上,网络管理器可能已经包含了一个 0penVPN 客户端。如果没有,你可以安装插件:

$ sudo dnf install NetworkManager-openvpn

在 Windows 系统上,你必须从 0penVPN 下载网页下载和安装 0penVPN 客户端。启动安装程序并按照提示操作。

复制证书和私钥到客户端

现在你的客户端需要你为其生成的身份验证凭据。你在服务器上生成了这些,因此你必须将它们传输到你的客户端。我推荐使用 SSH 来完成传输。在 Linux 系统上,通过 scp 命令实现。在 Windows 系统上,你可以以管理员身份运行 WinSCP 来推送证书和密钥。

假设客户端名称为 greglaptop,那么证书和私钥的文件名以及服务的位置如下:

/etc/openvpn/ca/pki/issued/greglaptop.crt
/etc/openvpn/ca/pki/private/greglaptop.key
/etc/openvpn/ca/pki/issued/ca.crt

在 Linux 系统上,复制这些文件到 /etc/pki/tls/certs 目录。在 Windows 系统上,复制它们到 C:\Program Files\OpenVPN\config 目录。

复制和自定义客户端配置文件

在 Linux 系统上,你可以复制服务器上的 /etc/openvpn/client/OVPNclient2020.ovpn 文件到 /etc/NetworkManager/system-connections/ 目录,或者你也可以导航到系统设置中的网络管理器添加一个“虚拟专用网络” 连接。

连接类型选择“ 证书(TLS) Certificates(TLS) ”。告知网络管理器你从服务器上复制的证书和密钥。

 title=

在 Windows 系统上,以管理员身份运行 WinSCP,将服务器上的客户端配置模板 /etc/openvpn/client/OVPNclient2020.ovpn 文件复制到客户端上的 C:\Program Files\OpenVPN\config 目录。然后:

  • 重命名它以匹配上面的证书。
  • 更改 CA 证书、客户端证书和密钥的名称以匹配上面从服务器复制的名称。
  • 修改 IP 信息,以匹配你的网络。

你需要超级管理员权限来编辑客户端配置文件。最简单的方式就是以管理员身份启动一个 CMD 窗口,然后从管理员 CMD 窗口启动记事本来编辑此文件。

将你的客户端连接到服务器

在 Linux 系统上,网络管理器会显示你的 “虚拟专用网络” 连接。选择它进行连接。

 title=

在 Windows 系统上,启动 0penVPN 图形用户界面。它会在任务栏右侧的 Windows 系统托盘中生成一个图标,通常位于 Windows 桌面的右下角。右键单击图标以连接、断开连接或查看状态。

对于第一次连接,编辑客户端配置文件的 remote 行以使用 0penVPN 服务器的内部 IP 地址。通过右键单击 Windows 系统托盘中的 0penVPN 图标并单击“ 连接 Connect ”,从办公室网络内部连接到服务器。调试此连接,这应该可以找到并解决问题,而不会出现任何防火墙问题,因为客户端和服务器都在防火墙的同一侧。

接下来,编辑客户端配置文件的 remote 行以使用 0penVPN 服务器的公共 IP 地址。将 Windows 客户端连接到外部网络并进行连接。调试有可能的问题。

安全连接

恭喜!你已经为其他客户端系统准备好了 0penVPN 网络。对其余客户端重复设置步骤。你甚至可以使用 Ansible 来分发证书和密钥并使其保持最新。

本文基于 D.Greg Scott 的 博客,经许可后重新使用。


via: https://opensource.com/article/21/7/openvpn-client

作者:D. Greg Scott 选题:lujun9972 译者:perfiffer 校对:wxy

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