分类 技术 下的文章

今天我将和大家分享一些 LibreOffice 的键盘快捷键和排版技巧,希望能够帮你省下宝贵的时间。

LibreOffice 是我首选的生产力应用程序。它是向教育工作者和学生推荐 Linux 发行版的最有力理由之一,无论是 PK-12 还是高等教育。新的学年快到了,我想也是时候推荐一些 LibreOffice 快捷方式和技巧,它们可以为你节省宝贵的时间。

使用键盘快捷键让你工作更快捷

我平时经常使用键盘快捷键,以下是适用于所有 LibreOffice 应用程序的最常见的快捷键

  • Ctrl+N — 创建新文档
  • Ctrl+O — 打开一个文档
  • Ctrl+S — 保存文档
  • Ctrl+Shift+S — 另存为
  • Ctrl+P — 打印文档

这些是仅适用于 LibreOffice Writer 的快捷键:

  • Home — 移动到当前行的初始位置
  • End — 移动至当前行的结尾位置
  • Ctrl+Home — 将光标移动到文档的初始位置
  • Ctrl+End — 将光标移动到文档的结尾位置
  • Ctrl+A — 全选
  • Ctrl+D — 双下划线
  • Ctrl+E — 居中
  • Ctrl+H — 查找并替换
  • Ctrl+L — 左对齐
  • Ctrl+R — 右对齐

功能键也大有用处:

  • F2 — 打开公式栏
  • F3 — 自动补完
  • F5 — 打开导航器
  • F7 — 打开拼写和语法
  • F11 — 打开格式和排版
  • Shift+F11 — 创建新样式

文档格式

文档格式有很多种,LibreOffice 支持其中很多文档格式。默认情况下,LibreOffice 将文档保存为 开放文档格式 Open Document Format (ODF),这是一种开源标准,将样式表和数据存储在 ZIP 容器中,文本文档标记为 ODT,电子表格标记为 ODS,演示文稿标记为 ODP。它是一种灵活的格式,由 LibreOffice 社区和文档基金会维护。

ODF 是默认启用的,因此你无需执行任何操作即可让 LibreOffice 使用这种格式。

另一种文档开放规范是微软的 Office Open XML(OOXML)格式。它是一个 ISO 标准,并得到所有主要办公解决方案的良好支持。

如果你与使用微软 Office 的人一起工作(它本身不是开源的,但它确实使用开放的 OOXML 格式),那么他们肯定习惯于 DOCX、XLSX 和 PPTX 格式,并且可能无法打开 ODT、ODS 或 ODP 文件。你可以通过在 LibreOffice 中将 OOXML 设置为默认格式来避免很多混乱。

将 OOXML 设置为你的首选格式:

  1. 单击 “ 工具 Tools ” 菜单并选择菜单底部的 “ 选项 Options ”。
  2. 在 “ 选项 Options ” 窗口中,单击左侧面板中的 “ 加载/保存 Load/Save ” 类别,然后选择 “ 常规 General ”。
     title=
  3. 导航到 “ 默认文件格式和 ODF 设置 Default File Format and ODF Settings ” 部分。
  4. 在 “ 文档类型 Document type ” 选择 “ 文本文档 Text document ”,并在 “ 始终另存为 Always save as ” 下拉列表选择 “Open XML (Transitional) (*.docx) ”。
  5. 点击 “ 应用 Apply ” 然后点击 “ 确定 OK ”。
  6. 取消选择 “ 未以 ODF 或默认格式保存时发出警告 Warn when not saving in ODF or default format ” 以避免在保存时出现确认对话框。  title=

按照相同的逻辑重复,重复相同的过程用于 XLSX 和 PPTX 文档。

让办公更自由

LibreOffice 项目由蓬勃发展的用户和开发人员社区与文档基金会共同管理。这包括工程指导委员会、董事会、独立开发人员、设计师和翻译人员等。这些团队始终欢迎各位的贡献,因此如果你渴望参与一个超赞的开源项目,请不要犹豫 参与进来


via: https://opensource.com/article/21/9/libreoffice-tips

作者:Don Watkins 选题:lujun9972 译者:XiaotingHuang22 校对:wxy

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

本教程让你通过编写一个 “猜数字” 游戏来探索 Basic。

用多种语言编写同一个应用是学习新的编程语言的好方法。大多数编程语言都有某些共同点,如:

  • 变量
  • 表达式
  • 语句

这些概念是大多数编程语言的基础。当你理解了它们,你就可以开始研究其他的东西了。

编程语言通常有一些相似之处。当你了解了一种编程语言,你就可以通过认识其差异来学习另一种语言的基础知识。

用标准程序进行练习是学习新语言的一个好方法。它使你能够专注于语言,而不是程序的逻辑。在这个系列文章中,我使用了一个“猜数字”的程序,在这个程序中,计算机在 1 到 100 之间挑选一个数字,并要求你猜出来。程序循环进行,直到你猜对数字为止。

这个程序锻炼了编程语言中的几个概念:

  • 变量
  • 输入
  • 输出
  • 条件判断
  • 循环

这是学习一种新的编程语言的很好的实践。本文主要介绍 Basic。

在(Bywater)Basic 中猜数字

对于 Basic 编程语言,没有真正的标准。维基百科说:“BASIC( 初学者通用符号指令代码 Beginners' All-purpose Symbolic Instruction Code )是一个通用的高级编程语言系列,旨在方便使用”。BWBasic 的实现是在 GPL 下提供的。

你可以通过编写一个“猜数字”游戏来探索 Basic。

在 Linux 上安装 Basic

在 Debian 或 Ubuntu 中,你可以用以下方法安装 Basic:

$ apt install -y bwbasic

下载 Fedora、CentOS、Mageia 和其他任何 Linux 发行版的最新版本 tarball。解压并设置可执行,然后从终端运行它:

$ tar --extract --file bwbasic*z

$ chmod +x bywater

$ ./bywater

在 Windows 上,下载 .exe 版本

Basic 代码

下面是我的实现:

10 value$ = cint(rnd * 100) + 1
20 input "enter guess"; guess$
30 guess$ = val(guess$)
40 if guess$ < value$ then print "Too low"
50 if guess$ > value$ then print "Too high"
60 if guess$ = value$ then 80
70 goto 20
80 print "That's right"

Basic 程序可以是编号的,也可以是不编号的。通常情况下,写程序时最好不编号,但用编号的行来写,可以更容易地引用各个行。

按照惯例,编码者将行写成 10 的倍数。这种方法允许在现有的行之间插入新的行,以便进行调试。下面是我对上述方法的解释:

  • 10 行:使用内置的 rnd 函数计算一个 1 到 100 之间的随机值,该函数生成一个 0 到 1 之间的数字,不包括 1。
  • 20 行:询问一个猜测,并将该值放入 guess$ 标量变量。30 行将该值转换为一个数字。
  • 40 行和 50 行:根据比较结果,给猜测者以反馈。
  • 70 行:回到循环的起点。
  • 60 行:通过将控制权转移到 80 行来打破循环。80 行是最后一行,所以程序在这之后退出。

输出示例

下面是将该程序放入 program.bas 后的一个例子:

$ bwbasic program.bas
Bywater BASIC Interpreter/Shell, version 2.20 patch level 2
Copyright (c) 1993, Ted A. Campbell
Copyright (c) 1995-1997, Jon B. Volkoff

enter guess? 50
Too low
enter guess? 75
Too low
enter guess? 88
Too high
enter guess? 80
Too low
enter guess? 84
Too low
enter guess? 86
Too high
enter guess? 85
That's right

开始学习

这个“猜数字”游戏是学习新的编程语言的一个很好的入门程序,因为它以一种相当直接的方式锻炼了几个常见的编程概念。通过在不同的编程语言中实现这个简单的游戏,你可以展示这些语言的一些核心概念,并比较它们的细节。

你有喜欢的编程语言吗?你会如何用它来写“猜数字”的游戏?请关注本系列文章,看看你可能感兴趣的其他编程语言的例子吧!


via: https://opensource.com/article/23/2/learn-basic-coding-game

作者:Moshe Zadka 选题:lkxed 译者:geekpi 校对:wxy

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

systemd 内置了很多管理系统日志的功能。在本指南中,我们将介绍如何管理系统日志,并对其采取轮换、归档和清除日志等操作。我们还解释了手动系统日志清理方法和使用配置文件的变化。

如果你的 Linux 发行版支持 systemd,那么从启动时开始,它每秒钟都会从系统的所有进程和应用程序中收集日志。所有这些日志事件都由 systemd 的 journald 守护程序管理。journald 收集所有的日志(信息、警告、错误等),并将其作为二进制数据存储在磁盘文件中。

由于日志保留在磁盘中,而且每秒钟都在收集,所以它占用了巨大的磁盘空间;特别是对于旧的系统、服务器来说。例如,在我的一个运行了一年左右的测试系统中,日志文件的大小是 GB 级的。

如果你管理多个系统、服务器,建议一定要正确管理 journald 日志,以便高效运行。让我们来看看如何管理日志文件。

systemd 日志维护

使用 systemd 的 journalctl 工具,你可以查询这些日志,对其进行各种操作。例如,查看不同启动时的日志文件,检查特定进程或应用程序的最后警告和错误。如果你对这些不了解,我建议你在学习本指南之前先快速浏览一下此教程:使用 journalctl 查看和分析 systemd 日志(附实例) 》。

物理日记的日志文件在哪里?

systemd 的 journald 守护进程在每次启动时都会收集日志。这意味着,它根据启动情况对日志文件进行分类。

日志以二进制形式存储在路径 /var/log/journal,文件夹为机器 ID。

比如说:

日志文件位置的截图-1

日志文件位置的截图-2

另外,请记住,根据系统配置,运行时日志文件被存储在 /run/log/journal/。而这些在每次启动时都会被删除。

我可以手动删除日志文件吗?

你可以,但不要这样做。相反,请按照下面的说明,使用 journalctl 工具清除日志文件以释放磁盘空间。

systemd 的日志文件占用了多少磁盘空间?

打开一个终端,运行以下命令。

journalctl --disk-usage

这应该为你提供系统中的日志文件实际使用的数量。

journalctl 磁盘使用命令

如果你有一个图形化的桌面环境,你可以打开文件管理器,浏览路径 /var/log/journal,并检查属性。

systemd 日志清理过程

清理日志文件的有效方法应该是通过 journald.conf 配置文件来完成。正常情况下,即使 journalctl 提供了删除日志文件的工具,你也不应该手动删除这些文件。

让我们来看看如何 手动 删除它,然后我将解释 journald.conf 中的配置变化,这样你就不需要时不时地手动删除文件;相反,systemd 会根据你的配置自动处理它。

手动删除

首先,你必须 flushrotate 日志文件。 轮换 rotate 是将当前活动的日志文件归档,并立即开始创建一个新的日志文件继续记录日志。 冲洗 flush 开关要求日志守护进程将存储在 /run/log/journal/ 中的所有日志数据冲入 /var/log/journal/,如果持久性存储被启用的话。

然后,在 flushrotate 之后,你需要用 vacuum-sizevacuum-timevacuum-files 选项运行 journalctl 来强制 systemd 清除日志。

例 1:

sudo journalctl --flush --rotate
sudo journalctl --vacuum-time=1s

上面这组命令会删除所有存档的日志文件,直到最后一秒。这有效地清除了一切。因此,在运行该命令时要小心。

日志清理-例子

清理完毕后:

清理后--日志的占用空间

你也可以根据你的需要在 --vacuum-time 的数字后面提供以下后缀:

  • s:秒
  • m:分钟
  • h:小时
  • days:天
  • months:月
  • weeks:周
  • years:年

例 2:

sudo journalctl --flush --rotate
sudo journalctl --vacuum-size=400M

这将清除所有存档的日志文件,并保留最后 400MB 的文件。记住这个开关只适用于存档的日志文件,不适用于活动的日志文件。你也可以使用后缀,如下所示。

  • K:KB
  • M:MB
  • G:GB

例 3:

sudo journalctl --flush --rotate
sudo journalctl --vacuum-files=2

vacuum-files 选项会清除所有低于指定数量的日志文件。因此,在上面的例子中,只有最后两个日志文件被保留,其他的都被删除。同样,这只对存档的文件有效。

如果你愿意,你可以把两种选项结合起来,但我建议不要这样做。然而,如果同时使用两个选项,请确保先用 --rotate 选项运行。

使用配置文件自动删除

虽然上述方法很好,也很容易使用,但建议你使用 journald 配置文件来控制日志文件的清理过程,该文件存在于 /etc/systemd/journald.conf

systemd 为你提供了许多参数来有效管理日志文件。通过组合这些参数,你可以有效地限制日志文件所占用的磁盘空间。让我们来看看。

journald.conf 参数描述实例
SystemMaxUse指定日志在持久性存储中可使用的最大磁盘空间SystemMaxUse=500M
SystemKeepFree指定在将日志条目添加到持久性存储时,日志应留出的空间量。SystemKeepFree=100M
SystemMaxFileSize控制单个日志文件在被轮换之前在持久性存储中可以增长到多大。SystemMaxFileSize=100M
RuntimeMaxUse指定在易失性存储中可以使用的最大磁盘空间(在 /run 文件系统内)。RuntimeMaxUse=100M
RuntimeKeepFree指定将数据写入易失性存储(在 /run 文件系统内)时为其他用途预留的空间数量。RuntimeMaxUse=100M
RuntimeMaxFileSize指定单个日志文件在被轮换之前在易失性存储(在 /run 文件系统内)所能占用的空间量。RuntimeMaxFileSize=200M

如果你在运行中的系统的 /etc/systemd/journald.conf 文件中添加这些值,那么在更新文件后,你必须重新启动 journald。要重新启动,请使用以下命令。

sudo systemctl restart systemd-journald

核实日志文件

在你清理完文件后,检查日志文件的完整性是比较明智的。要做到这一点,请运行下面的命令。该命令显示了日志文件是否通过(PASS)、失败(FAIL)。

journalctl --verify

验证日志文件

总结

希望本指南能帮助你了解 systemd 日志管理流程的基本情况。通过这些,你可以通过限制空间、清除旧的日志文件来管理系统或服务器中的日志文件所使用的磁盘空间。这些只是指导性的命令,你可以通过多种方式组合这些命令来实现你的系统需求。


via: https://www.debugpoint.com/systemd-journald-clean/

作者:Arindam 选题:lkxed 译者:Chao-zhi 校对:wxy

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

用于操控无线调制解调器的 AT 设备包是 RTOS 最流行的扩展功能之一。

RTOS 是一个开源的 嵌入式设备操作系统,由 RT-Thread 开发。它为开发者提供了标准化的、友好的基础架构,开发者可以基于各种设备编写代码,它包含大量有用的类库和工具包,使开发过程更加便捷。

RTOS 使用的是模块方式,以便于扩展,这一点跟 Linux 类似。各种软件包可以让开发者将 RTOS 用于任何想要的目标设备。RTOS 最常用的一种扩展是 AT 设备包,它包含各种不同 AT 设备(例如调制解调器)的移植文件和示例代码。

在超过 62,000 次下载中(截止至撰写本文时),最流行的 RTOS 扩展之一是 AT 设备包,其中包括用于不同 AT 设备的移植文件和示例代码。

关于 AT 命令

起初,AT 命令是一个协议,用于控制拨号调制解调器。随着调制解调器技术发展到较高的带宽,它仍然可以用作轻量级而高效的设备控制协议,主流的移动电话厂商也联手开发了一系列 AT 命令,用于控制移动电话上的 GSM 模块。

如今,AT 命令仍然在网络通信领域具有通用性,很多设备,例如 WiFi、蓝牙、4G,都支持 AT 命令。

如果你正在创建用于边缘计算输入、监控或物联网(IoT)的专用设备,则你可能接触到一些 RTOS 支持的 AT 设备,包括 ESP8266、ESP32、M26、MC20、RW007、MW31、SIM800C、W60X、SIM76XX、A9/A9G、BC26、AIR720、ME3616、M 6315、BC28 和 EC200X。

RT-Thread 包含套接字抽象层(SAL)组件,SAL 实现了多种网络协议和接口的抽象,为上层提供了一系列标准的 BSD 套接字 API。SAL 进而接管了 AT 的套接字接口,所以开发者只需要考虑网络应用层提供的网络接口。

这个软件包实现了设备(包括上述设备)上的 AT 套接字功能,支持通过标准套接字接口以 AT 命令的形式通信。RT-Thread 编程指南 中就有关于这些功能的详细介绍。

at\_device 软件包是在 LGPLv2.1 许可证下分发的,借助 RT-Thread Env 工具 可以方便地获取到。该工具包含一个配置器和一个包管理器,它们分别用于配置内核和组件功能,可以用于定制组件并管理在线包。有了这些工具,开发者可以像搭积木一样构建系统。

获取 AT 设备包

为了使用配置了 RTOS 的 AT 设备,你必须启用 AT 组件库和 AT 套接字功能,需要:

  • RT\_Thread 4.0.2+
  • RT\_Thread AT 组件 1.3.0+
  • RT\_Thread SAL 组件
  • RT-Thread netdev 组件

AT 设备包已经针对多种版本进行了相应的更新。版本不同,配置选项也相应地不同,因此必须针对相应的系统版本进行适配。目前最常用的 AT 设备包版本有:

  • V1.2.0: 针对低于 V3.1.3 的 RT-Thread,V1.0.0 的 AT 组件
  • V1.3.0: 针对低于 V3.1.3 的 RT-Thread,V1.1.0 的 AT 组件
  • V1.4.0: 针对低于 V3.1.3 或等于 V4.0.0 的 RT-Thread,V1.2.0 的 AT 组件
  • V1.5.0: 针对低于 V3.1.3 或等于 V4.0.0 的 RT-Thread,V1.2.0 的 AT 组件
  • V1.6.0: 针对低于 V3.1.3 或等于 V4.0.1 的 RT-Thread,V1.2.0 的 AT 组件
  • V2.0.0/V2.0.1: 针对高于 V3.1.3 的 RT-Thread,V1.3.0 的 AT 组件
  • 最新版: 针对高于 V3.1.3 的 RT-Thread,V1.3.0 的 AT 组件

获取正确的版本的过程主要是在生成菜单时自动完成的。它基于现有的系统环境提供最合适的 AT 设备包。

正如前文提到的,不同的版本需要不同的配置选项。例如,

RT-Thread online packages  --->
     IoT - internet of things  --->
        -*- AT DEVICE: RT-Thread AT component porting or samples for different device  
        [ ]   Enable at device init by thread
              AT socket device modules (Not selected, please select)  --->    
              Version (V1.6.0)  --->

按线程启用 AT 设备初始化的选项决定了配置是否创建一个单独的线程来初始化设备网络。

2.x 版本支持同时启用多个 AT 设备:

RT-Thread online packages  --->
     IoT - internet of things  --->
        -*- AT DEVICE: RT-Thread AT component porting or samples for different device
        [*]   Quectel M26/MC20  --->
          [*]   Enable initialize by thread
          [*]   Enable sample
          (-1)    Power pin
          (-1)    Power status pin
          (uart3) AT client device name
          (512)   The maximum length of receive line buffer
        [ ]   Quectel EC20  --->
        [ ]   Espressif ESP32  --->
        [*]   Espressif ESP8266  --->
          [*]   Enable initialize by thread
          [*]   Enable sample
          (realthread) WIFI ssid
          (12345678) WIFI password
          (uart2) AT client device name
          (512)   The maximum length of receive line buffer
        [ ]   Realthread RW007  --->
        [ ]   SIMCom SIM800C  --->
        [ ]   SIMCom SIM76XX  --->
        [ ]   Notion MW31  --->
        [ ]   WinnerMicro W60X  --->
        [ ]   AiThink A9/A9G  --->
        [ ]   Quectel BC26  --->
        [ ]   Luat air720  --->
        [ ]   GOSUNCN ME3616  --->
        [ ]   ChinaMobile M6315  --->
        [ ]   Quectel BC28  --->
        [ ]   Quectel ec200x  --->
        Version (latest)  --->

这个版本包含了很多其他选项,其中也有启用示例代码的选项,这对初学者或使用不熟悉的设备的开发者很有帮助。

你也可以设置相应选项,选择你想用来给你的组件供电的针脚、指示电源状态的针脚、样本设备使用的串行设备的名称,以及样本设备接收数据的最大长度。在合适的设备上,你也可以设置 SSID 和密码。

简而言之,控制选项是够用的。

  • V2.x.x 版本支持同时启用多个 AT 设备,欲查看启用的设备信息,在 finsh shell 中执行 ifocnfig 命令即可。
  • V2.X.X 版本需要设备在使用前先注册;注册可以在样例目录中进行,或在应用层以自定义方式进行。
  • 针脚选项,例如电源针脚和电源状态针脚是按照设备的硬件连接来配置的。如果硬件的开启功能不可用,它们就会被设置为 -1
  • 一台AT 设备应当对应一个序列名称,每台设备的 AT 客户端名称应当是不同的。

AT 组件配置选项

当选择了 AT 组件包,启用了设备支持,AT 组件的客户端功能也就默认选择完成了。对 AT 组件来说,这就意味着有更多的选项要设置:

RT-Thread Components  --->
    Network  --->
        AT commands  --->
    [ ]   Enable debug log output
    [ ]   Enable AT commands server 
    -*-   Enable AT commands client
    (1)     The maximum number of supported clients
    -*-     Enable BSD Socket API support by AT commnads
    [*]     Enable CLI(Command-Line Interface) for AT commands
    [ ]     Enable print RAW format AT command communication data
    (128)   The maximum length of AT Commonds buffer

与 AT 设备包有关的配置选项有:

  • 支持的客户端最大个数:选择 AT 设备包中的多台设备时,需要将该选项配置为对应的设备台数;
  • 通过 AT 命令启用 BSD 套接字 API 功能:当选择 AT 设备包时默认选择该选项。
  • AT 命令的最大长度:AT 命令可发送的数据的最大长度

一切皆有可能

当你开始进行嵌入式系统编程,你会很快意识到,你可以创造自己想象得到得任何东西。RTOS 旨在帮助你实现它,它的那些功能包为你提供了良好的开端。现在,设备的互联也是可期待的。边缘的物联网技术必须能够通过各种协议进行通信,而 AT 协议是关键。


via: https://opensource.com/article/21/3/rtos-embedded-development

作者:Alan Smithee 选题:lkxed 译者:cool-summer-021 校对:wxy

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

如果你正在寻找最稳定的 Linux 发行版,当然,Debian 是正确的选择。

特别是如果你打算在服务器上使用它。

但是,在桌面方面,情况就有点不同了。我的意思是,你得到的软件包至少是一年前的,对新时代硬件的支持甚至更糟。

那么,在这种情况下,你会怎么做呢?好吧,你可以使用 Debian 测试版 Testing

但在跳到解释部分之前,让我们简单了解一下 Debian 测试版。

什么是 Debian 测试版?

Debian 社区为你提供 3 种不同的 Debian:

  • Debian 稳定版 Stable (你从他们的主页上默认得到的东西)。
  • Debian 测试版 Testing (有新的软件包,比 Debian 不稳定版更少出现故障)。
  • Debian 不稳定版 Unstable (拥有最新的软件包,是所有版本中最脆弱的)。

因此,Debian 测试版可以被认为是稳定性和新软件包之间的一个折中点。

我已经玩了一段时间的 Debian 测试版,没有遇到任何问题。

事实上,许多 Debian 用户喜欢测试版而不是稳定版。尽管名字叫“测试”,但它是相当可用的。

但是,我还是建议你在虚拟机上进行实验,尝试用你的主要工具来使用它,如果事情进展顺利,你可以在主系统中应用这些变化。

从 Debian 稳定版切换到 Debian 测试版

警告:你不能从 Debian 测试版降级到 Debian 稳定版,因为安装脚本和安装工具只是为了用新版本替换旧版本而设计的。

另外,我建议在你的主机上应用上述步骤之前,使用 timeshift 创建一个备份

首先,使用给定的命令更新现有的软件包:

sudo apt update && sudo apt upgrade -y

接下来,复制原始的 sources.list 文件:

sudo cp /etc/apt/sources.list sources.list.backup

现在,让我们开始第一步的工作。

步骤 1:编辑 sources.list 文件

有两种方法可以编辑 sources.list 文件。要么你可以用 testing 手动改变当前版本的名称,要么你可以 使用 sed 命令 来完成。

而我要用第二种方法来使整个过程更简单。你只需要使用给定的命令,它就会为你把 bullseye 替换成 testing

sudo sed -i 's/bullseye/testing/g' /etc/apt/sources.list

现在,打开你的终端,使用给定的命令来打开 sources.list 文件:

sudo nano /etc/apt/sources.list

并注释掉有 security.debian.org 和任何以 updates 结尾的行,如下所示:

comment out security sources

如果你像我一样使用 nano,你可以按 Alt + / 跳到该行的最后。然后你要添加以下一行:

deb http://security.debian.org testing-security main

add line to keep track of testing in debian

然后 保存修改并退出 nano 文本编辑器。

步骤 2:更新仓库并安装新的软件包

现在,更新仓库索引,它会显示大量的更新等待:

sudo apt update

update repository in linux

现在,你可以使用给定的命令,它将为你提供最新的软件包:

sudo apt upgrade

坐下来,放松一下,因为这将需要一些时间。

完成后,它将向你展示从 Debian 稳定版切换到测试版时的变化列表:

packages that are updated when switched to debian testing

如果你愿意,你可以阅读,或者你可以直接按 q 继续。

现在,它会告诉你,你系统上安装的一些库需要重新启动。按 TAB 键,它将选择 “OK”,然后按回车:。

libraries needs to be restarted after update

接下来,它会问你是否要在软件包升级期间重启服务。这里你有一个选择。由于我只做桌面使用,我将选择 “YES”。

restart services during package upgrades without asking?

完成后,你可以重启你的系统,然后使用下面的命令,让你刚才的改变完全生效:

sudo apt full-upgrade

现在,重启你的系统,你就会拥有最新的软件包。比如我进入系统时我在运行 GNOME 43

running gnome 43 in debian

总结

在本教程中,我解释了如何从 Debian 稳定版切换到 Debian 测试版。我希望这对你会有帮助。

如果你遇到任何问题或有任何疑问,请在评论中告诉我。


via: https://itsfoss.com/switch-debian-stable-testing/

作者:Sagar Sharma 选题:lkxed 译者:geekpi 校对:wxy

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

使用下面的步骤在 GNOME Boxes 应用中的宿主机和客体机之间共享一个文件夹。

GNOME Boxes 是一个创建和管理虚拟机的前端应用。它主要是为 GNOME 桌面开发的。然而,你可以在其他桌面环境中使用它,如 KDE Plasma 和其他环境。

在后端,它使用 QEMU、KVM 和 libvirt 技术,并提供一个易于使用的用户界面来管理多个虚拟机。

如果你想了解更多,你也可以参考关于 GNOME Boxes 创建虚拟机的 这些指南

在之前的文章中,我们已经解释了如何在 virt-managerVirtualBox 中共享文件夹。而下面的步骤也解释了 GNOME Boxes 的情况。

如何在 GNOME Boxes 中共享文件夹和文件

GNOME Boxes 主要支持 SPICE 协议 来实现远程访问、共享和许多虚拟化功能。SPICE 是虚拟化领域中最古老的开源包之一。

1、初始设置

首先,确保在客体机系统中安装以下 spice 软件包

sudo apt install spice-vdagent spice-webdavd   # for Ubuntu-based distros
sudo dnf install spice-vdagent spice-webdavd   # Fedora, RHEL, etc
pacman -S --needed spice spice-gtk spice-protocol spice-vdagent # Arch Linux (optional)

在你安装完上述内容后,重启宿主机和客体机系统。

在宿主机系统中(对于 GNOME 桌面),打开 “ 设置 Settings ”,进入 “ 共享 Sharing ” 面板。

使用顶部的切换按钮启用共享

然后,点击 “ 文件共享 File Sharing 启用文件共享。请确保启用网络。密码是可选的。如果你想为你的共享文件夹启用基于密码的认证,请启用它。

在设置中启用共享

启用文件共享

关闭设置窗口。

打开 GNOME Boxes。右键单击虚拟机并选择 “ 偏好 Preferences ”。

在偏好设置窗口中点击 “ 设备和共享 Devices and Shares ”,并点击共享文件夹下的 “[+]” 按钮。

在 “ 本地文件夹 Local Folder ” 下:从你的宿主机中选择你想在客体机中访问的文件夹。

在 “ 名称 Name ” 中,给予你想要的任何名称。这个名称将在客人的文件管理器中可见。

点击 “ 保存 Save ”。

在宿主机中添加一个共享文件夹

2、为客体机设置

启动你的客体机虚拟机。

在客体机虚拟机内,打开文件管理器。如果你使用的是 GNOME 桌面,打开 Nautilus(即 “ 文件 Files ” 应用)。

点击 “ 其他位置 Other Locations ”。你应该在 “ 网络 Networks ” 下看到 “ Spice 客户端文件夹 Spice client folder ”。

双击它,你应该看到你的宿主机系统的文件夹内容。

有时,上述文件夹需要一些时间才能出现。如果它不可见,请等待 1 或 2 分钟。通过 F5 刷新文件管理器窗口。

客体机中的 Spice 客户端文件夹

3、一些故障排除

此外,如果你看到以下错误,那么你需要手动访问该路径。

Unable to access location - HTTP Error: Could not connect: Connection refused

访问 spice 客户端文件夹时出错

在文件管理器中按下 CTRL+L,调出地址栏。在地址栏中,输入以下内容:

dav://localhost:9843

然后点击回车。然后你应该看到文件夹的内容。SPICE 服务器使用 dav 协议,它在 9843 端口连接客体机和宿主机。

通过 dav 协议访问

就这样了。现在你可以在 GNOME Boxes 中使用客体机和宿主机之间的文件共享。

下面是一个客体机和宿主机访问同一个文件夹的截图。

在 GNOME Boxes 中在客体机和宿主机之间共享文件夹及其内容(示例)

如果你遇到任何错误,请在下方发表评论。

这篇文章中使用了一些来自 GitLab 的参考资料。


via: https://www.debugpoint.com/share-folder-gnome-boxes/

作者:Arindam 选题:lkxed 译者:geekpi 校对:wxy

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