分类 技术 下的文章

你大概知道怎么在 Ubuntu 中使用 apt 命令安装软件包。那些软件包都是来自 Ubuntu 的官方存储库。

那第三方或者外部存储库呢?不,我这里并不是要讲 PPA。

早晚你会碰到那种至少四行的安装说明:你需要安装名为 apt-transport-https 的包、操作一下 GPG 和 源列表 source list 之后,你才能正常安装软件包。

没有什么印象的话,那我分享一个 在 Ubuntu 上安装最新版本的 Yarn 的例子:

sudo apt install apt-transport-https curl
curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
sudo sh -c 'echo "deb https://dl.yarnpkg.com/debian/ stable main" >> /etc/apt/sources.list.d/yarn.list'
sudo apt update && sudo apt install yarn

当你需要直接从开发者那里安装编程工具的时候,大概率会碰到这种安装方式。

许多人只是按照说明进行操作,并不会去思考其中的原理。这也没什么不对,但了解该过程实际上可以提升你在这方面的知识,而且有助于之后排除故障。

我来解释一下这些代码背后的逻辑。

理解从外部存储库安装的过程

在你继续往下阅读之前,我强烈建议你先看看下面这两篇文章,方便理解后续的概念:

为了让你有点印象,这里有一张软件包存储库和 Linux 中的包管理器 的图片。

Illustration of repository and package manager

整件事情其实就是在系统中添加一个新的外部存储库。这样,你就可以从这个新存储库下载并安装可用的软件包。如果这个存储库提供了包版本的更新,你可以在更新系统的同时更新这些软件包(apt update && apt upgrade)。

那么,这是什么工作原理呢?让我们一条一条地过一遍。

第 1 部分:为 apt 获取 HTTPS 支持

第一行是这样的:

sudo apt install apt-transport-https curl

curl 是一个 Linux 终端下载文件的工具。这里主要的部分是安装 apt-transport-https,但事实上已经不需要了。

明白了吗?这个 apt-transport-https 包让你的系统通过 HTTPS 协议安全访问存储库。按照设计,Ubuntu 的存储库使用 http 而不是 https 协议。

看看下面的截图。 https 这张图是我已经添加到系统中的外部存储库。Ubuntu 的存储库和 PPA 使用 http 协议。

在旧版本的 apt 包管理器中,不支持 https 协议。apt-transport-https 包为 apt 添加了 https 支持。要新增一个使用 https 的存储库,首先就得先安装此包。

我之前不是说不需要安装这个包了吗?是的,因为较新版本的 apt(高于 1.5)已经支持 https,所以你不需要再安装 apt-transport-https

但是你依然看到我在说明中提到了这个包。这更多是出于遗留原因,而且可能还有很旧的发行版在使用旧版本的 apt 包。

现在,你可能想知道既然 https 是安全协议,那为什么 Ubuntu 的存储库还要使用 http 而不是 https。这难道没有安全风险吗?接着往下看你就知道答案了。

第 2 部分:添加远程存储库的 GPG 密钥

Linux 存储库内置了基于 GPG 密钥的安全机制。每个存储库都将其 GPG 公钥添加到你的系统信任密钥中。来自存储库的包由这个 GPG 密钥“ 签名 signed ”,并且通过这份存储的公钥,系统能够验证软件包正是来自这个存储库。

如果 密钥之间不匹配,你的系统会发出提醒,而不会继续从该存储库安装或者更新软件包。

到目前为止,一切都很顺利。下一步是将外部存储库的 GPG 公钥添加到你的 Linux 系统,以便它能接收来自该存储库的软件包。

curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -

在上面的命令中,你使用 curl 从指定的 URL 下载 GPG 密钥。选项 -sS 能够让你不看多余的输出(静默模式),但会显示错误(如果有的话)。最后一个 - 告诉 apt-key 使用 标准输入 stdin 而不是文件(在本例中是 curl 命令的输出)。

apt-key add 命令已经将下载的密钥添加到系统中。

你可以通过 apt-key list 命令查看系统中各种存储库添加的 GPG 密钥。

List GPG keys

这是将 GPG 密钥添加到系统的一种方法。你会看到一些其它的命令,看起来略有不同,但效果一样,都是将存储库的公钥添加到你的系统里面。

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys E298A3A825C0D65DFD57CBB651716619E084DAB9

你会注意到 apt-key 已被弃用的警告。在 Ubuntu 22.04 之前,你还可以使用 apt-key 命令,但它最终会被删除。现在不需要杞人忧天。

第 3 部分:将外部存储库添加到源列表

下个命令是在系统的源列表中添加一个新条目。这样,你的系统就会知道它得检查该存储库中的包和更新。

sudo sh -c 'echo "deb https://dl.yarnpkg.com/debian/ stable main" >> /etc/apt/sources.list.d/yarn.list'

有一个文件 /etc/apt/sources.list 包含 Ubuntu 存储库的详细信息。最好不要随便动这个文件。所有新增的存储库都应放在 /etc/apt/sources.list.d 目录中相应的文件里(约定以 .list 结尾)。

External repository should have their own sources list file in the /etc/apt/sources.list.d directory

这使得包管理变得更容易。如果你要从系统中删除一个存储库,只需删除相应的源文件即可。无需修改主 sources.list 文件。

让我们再仔细地看一下这行命令。

sudo sh -c 'echo "deb https://dl.yarnpkg.com/debian/ stable main" >> /etc/apt/sources.list.d/yarn.list'

使用 sh 可以在一个新的 shell 进程中运行命令,而不是 子 shel​​l-c 选项告诉 sh 命令从参数而不是标准输入读取命令。然后它运行 echo 命令,也就是把 deb https://dl.yarnpkg.com/debian/ stable main 这一行添加到 /etc/apt/sources.list.d/yarn.list 文件(会创建该文件)。

现在,你可以通过各种方法在指定目录中创建 .list 文件并在其中添加包含存储库详细信息的数据行。你也可以像这样使用:

echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list

明白了吧?

第 4 部分:从新添加的存储库安装应用程序

到目前为止,你已经将存储库的 GPG 密钥和存储库的 URL 添加到系统中。

但是系统仍然不晓得这个新存储库中有哪些可用的包。这就是为什么你需要先使用下面这个命令更新包元数据的本地缓存:

sudo apt update

这时你的系统就已经知道新增存储库中可用软件包的信息,现在可以试试安装软件包:

sudo apt install yarn

为了节省时间,你可以在 同一行挨着运行这两个命令e。

sudo apt update && sudo apt install yarn

&& 可以确保第二个命令只会在前一个命令没有任何报错的前提下运行。

整个流程就是这样。

有没有豁然开朗呢,还是一脸懵逼?

我已经解释了在 Ubuntu 中使用外部存储库背后的逻辑。希望你现在能更好地理解它,当然可能还有很多细节会让你困惑。

如果你还不清楚或者还有其他问题,可以联系我。如果你发现了技术上的纰漏,记得在评论区告诉我。


via: https://itsfoss.com/adding-external-repositories-ubuntu/

作者:Abhishek Prakash 选题:lujun9972 译者:nophDog 校对:wxy

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

如果你正在寻找一种快速的从你的 Windows 计算机传输文件到你的 Linux 计算机的方法,那么开源的 WinSCP 实用程序会使其很容易地通过网络传输文件或文件夹。

有时,你需要通过文件传输文件。有很多文件共享服务,但是大多数的共享服务都要求你发送你的文件到互联网上。当两台计算机并排在一起或在一栋建筑物中时,通过互联网传输文件,这似乎看起来绕了很远的路(更不用说隐私问题)。开源的 WinSCP 实用程序会使其很轻易地通过网络将一个文件或一个文件夹从你的 Windows 计算机传输到你的 Linux 计算机。

IP 地址

在你可以传输之前,你必须知道目标计算机的 IP 地址或完全限定域名。假设它是一台在你的同一个网络上的计算机,并且你没有运行 DNS 服务器来解析计算机名称,你可以在 Linux 计算机上使用 ip 命令来找到目标 IP 地址:

[linux]$ ip addr show |grep 'inet '
inet 127.0.0.1/8 scope host lo  
inet 192.168.1.23/24 brd 10.0.1.255 scope global noprefixroute eth0

127.0.0.1 是一个 环回地址 loopback address ,计算机仅使用它来自我通信,因此在这个示例中,正确的地址是 192.168.1.23 。在你的系统中,IP 地址可能会看起来有所不同。如果你不确定哪个是哪个,你可以逐个尝试到你找到正确的 IP 地址 (然后,在一些地方写下来!)

或者,你可以查找你的路由器设置,它列出了所有通过 DHCP 分配的地址。

防火墙和地址

WinSCP 命令使用 OpenSSH 协议,因此,你的 Linux 计算机必需运行 OpenSSH 服务器软件,并且你的 Linux 计算机的防火墙必需允许 SSH 通信。

如果你不确定你的 Linux 机器是否在运行 SSH ,那么在 Linux 机器的终端上运行这个命令:

[linux]$ sudo systemctl enable --now sshd

为确保你的防火墙允许 SSH 通信,运行这个命令:

[linux]$ sudo firewall-cmd --add-servicessh--permanent

关于 Linux 上的防火墙的更多信息,阅读 增强 Linux 防火墙

使用 WinSCP

WinSCP 是一款针对微软 Windows 的开源 SSH 文件传输应用程序。为使用它,你必须先 下载安装 它。

在你安装完成后,打开 WinSCP ,并在 “ 文件协议 File Protocol ” 字段中选择 “SCP” 选项。

在 “ 主机名称 Host name ” 字段中添加你的 Linux 计算机的 IP 地址或 DNS 名称,并在 “ 端口号 Port number ” 字段中输入 22 。针对该 Linux 计算机,输入你的用户名称和密码,然后单击 WinSCP 窗口底部的 “ 登录 Login ” 按钮。

Image of the WinSCP login window.

验证你是否获取了登录 Linux 计算机的身份授权。在验证成功后,你的 Linux 计算机的 IP 地址或 DNS 名称将显示在窗口的顶部。

Image of a WinSCP window showing where IP adress is located.

现在,你可以从左侧的 Windows 面板中拖拽一个文件(如示例,我使用 winscp-test.txt 文件)到右侧的目标 Linux 计算机目标,接下来文件会传输。

Image of drag and drop window in WinSCP.

或者,你可以在左侧的面板中右键单击一个文件,然后上传它到右侧的远程目标的面板。

Image of a right click option to upload files in WinSCP.

验证副本

打开一个 Linux 终端,然后使用 ls 命令来查看已传输的 winscp-test.txt 文件。在我的示例中,它出现在我的主目录, /home/sysadmin

$ ls
Desktop
Documents
Downloads
Music
Pictures
pscp-test.txt[...]

你已经通过网络成功地将一个文件从一台 Windows 计算机传输到一台 Linux 计算机!

当然,你也可以使用类似上述的技术,将文件和文件夹从一台 Linux 计算机传输到一台 Windows 计算机。

远程复制

使用强大的开源 WinSCP 应用程序,你可以访问在你家中或工作场所的任意一台计算机、你拥有账户的服务器、甚至是移动设备、边缘设备、物联网设备。使用这个极好的工具来传输文件就像你在本地目录下将一个文件复制到另一个本地目录一样容易!


via: https://opensource.com/article/22/11/transfer-files-folders-windows-linux-winscp

作者:Paul 选题:lkxed 译者:robsean 校对:wxy

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

systemd 的速度和易用性使其成为管理现代 Linux 系统的流行方式。

 title=

系统管理员知道,在一台运行着的现代计算机上会发生很多事情:应用程序在后台运行、预定事件等待在特定时间被触发、事件写入日志文件、发送状态报告。在以前,不同的进程可以通过一系列 Unix 工具,来进行有效地管理和监控。然而,现代的计算机运作更为复杂了:本地服务与容器化应用程序一同运行、能够轻松访问云及其运行的集群、实时进程、以及有比以往都多的数据。

拥有统一的管理方法不但是用户想要的,也是忙碌的系统管理员所迫切渴望的。为了完成这项重要的任务, 系统守护进程 system daemon systemd) 被开发出来,并迅速被所有主要的 Linux 发行版所采用了。

当然,systemd 并不是管理 Linux 系统的唯一方式,还有许多其他可供选择的初始化系统,包括 sysvinit、OpenRC、runit、s6 和 BusyBox,但 systemd 将 Linux 视为一个统一的数据集,意味着 systemd 能用强大的工具对 Linux 进行一致的操作和查询。对于忙碌的系统管理员和许多用户来说,systemd 的速度和易用性是一个重要的特性。有以下的五个原因。

启动管理

启动 Linux 计算机可能是一件非常罕见的事情。服务器的正常运行时间通常以 来计算,而不是月或周。笔记本电脑和台式机可能会频繁地关闭和启动,但更多的时候它们是被挂起或休眠了。无论哪种类型,最近一次开机的时刻都可用于检查一段时间内的计算机健康情况,因为当你在监视系统或诊断问题时,这一时刻能够限制查看的数据量大小,从而让你快速地找到问题所在。

如果你不记得上次启动计算机的时间,你可以使用 systemd 的日志记录工具 journalctl,来列出计算机的所有启动会话:

$ journalctl --list-boots
-42 7fe7c3... Fri 2020-12-04 05:13:59 - Wed 2020-12-16 16:01:23
-41 332e99... Wed 2020-12-16 20:07:39 - Fri 2020-12-18 22:08:13
[...]
-1 e0fe5f... Mon 2021-03-29 20:47:46 - Mon 2021-03-29 21:59:29
 0 37fbe4... Tue 2021-03-30 04:46:13 - Tue 2021-03-30 10:42:08

最近一次启动会话输出在结果列表的底部,因此你可以通过管道将输出传输到 tail,来查看最近一次启动会话。

左侧的数字(在本例中为 42、41、1 和 0)是每个启动会话的索引号。换句话说,如果你要查看某一特定启动会话的日志,你可以使用这个索引号作为参数。

日志检查

查看日志是推断系统信息的一种重要方法。日志提供了计算机运行的大部分事件的历史记录,这些记录都是在没有你直接监督的情况下生成的。通过日志,你可以知道某一服务何时启动、定时任务何时运行、哪些服务在后台运行、哪些事件运行失败等等信息。故障排除的初始步骤是使用 systemd 的 journalctl 来查看日志:

$ journalctl --pager-end

--pager-end 选项(简写为 -e)会从 journalctl 的输出末尾开始查看日志,因此要查看更早发生的日志,你需要向上滚动。

systemd 维护一个错误信息的“目录”,错误信息包含错误记录、可能的解决方案、支持论坛的链接和开发人员文档。这个错误信息的“目录”能为日志事件提供重要的上下文,否则它可能会成为海量日志中的一个令人困惑的信息,或者更糟的是,错误信息可能会完全被忽视。要将错误消息与日志中的解释性文本放在一起输出,你可以使用 --catalog 选项(简写为 -x):

$ journalctl --pager-end --catalog

要进一步限定日志输出,你可以指定要查看哪个启动会话的日志。因为每个启动会话都有索引,所以你可以使用 --boot 选项,来指定某个启动会话,并仅查看该启动会话的日志:

$ journalctl --pager-end --catalog --boot 42

你还可以查看特定 systemd 单元的日志。例如,要解决 SSH 服务的问题,你可以指定 --unit sshd 选项,来仅查看适用于 sshd 守护程序的日志:

$ journalctl --pager-end \
    --catalog --boot 42 \
    --unit sshd

服务管理

systemd 的第一个任务就是启动你的计算机,systemd 会迅速、高效且有效地执行这一任务。但 systemd 一直需要管理的任务是服务管理,因为 systemd 需要确保你要运行的服务确实在你的会话期间启动,并继续运行。systemd 的这一功能非常稳健,因为理论上即使是一个崩溃的服务也可以在没有你干预的情况下重新启动。

你可以通过使用 systemctl 命令来让 systemd 管理服务,并能查看定义服务的 单元文件 unit file

$ systemctl cat sshd
# /usr/lib/systemd/system/sshd.service
[Unit]
Description=OpenSSH server daemon
Documentation=man:sshd(8) man:sshd_config(5)
After=network.target sshd-keygen.target
Wants=sshd-keygen.target

[Service]
Type=notify
EnvironmentFile=-/etc/crypto-policies/back-ends/opensshserver.config
EnvironmentFile=-/etc/sysconfig/sshd
ExecStart=/usr/sbin/sshd -D $OPTIONS $CRYPTO_POLICY
ExecReload=/bin/kill -HUP $MAINPID
KillMode=process
Restart=on-failure
RestartSec=42s

[Install]
WantedBy=multi-user.target

大多数单元文件都在 /usr/lib/systemd/system/ 目录下,但是你也可以用局部更改来修改配置,请使用以下的方式:

$ systemctl edit sshd

你可以通过 is-active 选项,来查看某一服务当前是否处于活动状态:

$ systemctl is-active sshd
active
$ systemctl is-active foo
inactive

同样地,你可以通过 is-failed 选项,来查看某一服务是否运行失败了。

$ systemctl is-failed sshd

使用以下命令,来启动或者停止某一服务:

$ systemctl stop sshd
$ systemctl start sshd

使用以下命令,让某一服务在开机时自启动:

$ systemctl enable sshd

添加 --now 选项,让某一服务在开机时启动并在当前会话中立即启动。

定时器管理

在以前,当你想在 Linux 上自动执行一项任务时,你可以使用的工具是 cron。如今,cron 命令仍能使用,但对于在 Linux 上自动执行一项任务,也有一些其他好用的替代方案。例如,anacron 命令 是一个多功能的、类似于 cron 的系统,它能够运行在停机期间可能会错过的任务。

计划的事件就是在特定时间需要激活的服务。systemd 管理一个名为 定时器 的工具,它类似 cron 的功能。你可以使用以下命令,来列出活动中的定时器:

$ systemctl list-timers
NEXT                          LEFT      
Tue 2021-03-30 12:37:54 NZDT  16min left [...]
Wed 2021-03-31 00:00:00 NZDT  11h left [...]
Wed 2021-03-31 06:42:02 NZDT  18h left [...]

3 timers listed.
Pass --all to see loaded but inactive timers, too.

你可以使用以下命令,来像启用服务一样启用定时器:

$ systemctl enable myMonitor.timer

目标管理

目标 target 是 systemd 的最后一个主要组成部分。像服务和定时器一样,目标也是一个单元文件,也可以以相同的方式启动和启用。目标的独特之处在于它们可以将其他单元文件任意分组。例如,你可能希望开机启动到文本控制台界面而不是图形桌面,因此有一个 multi-user 目标。但是,multi-user 目标只是没有包括桌面单元文件的 graphical 目标。

简而言之,目标是一种将服务、定时器甚至其他的目标集合在一起,以表示机器的预期状态的简单方法。

事实上,在 systemd 中,重启、关机或关闭操作只是一个目标而已。

你可以使用 list-unit-files 选项,用 --type 选项将其限制为 target 来列出所有可用的目标:

$ systemctl list-unit-files --type target

使用 systemd 对计算机进行控制管理

现代的 Linux 使用 systemd 进行服务管理和日志检查。从个人的 Linux 系统到企业服务器,systemd 都能提供有效的监控,并且十分易于维护。你越频繁地使用 systemd,systemd 对你而言就会变得越容易预测和直观,你就会明白系统的不同部分是如何相互关联的。

为了更好地熟悉 systemd,请现在就开始使用它吧。请 下载关于 systemd 相关命令的备忘录,你可以在实际使用 systemd 中经常参考这个备忘录,这样你就能更快熟悉使用 systemd 啦!


via: https://opensource.com/article/21/4/sysadmins-love-systemd

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

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

Pantheon 是 elementary OS 的默认桌面环境。本快速指南解释了在 Arch Linux 中安装 Pantheon 桌面环境的步骤。

Pantheon 是 elementary OS 使用的一个漂亮的桌面环境。它基于 GTK3(GTK4 移植正在进行中)和 Vala,是一个漂亮而干净的桌面,为你提供了一个精致的 Linux 桌面体验。

该桌面主要由 elementary OS 使用。elementary OS 提供了 Pantheon 桌面的修改版,它是基于 GNOME 的。

elementary OS 基于 Ubuntu LTS 版本。因此,在基于 Ubuntu 的发行版中安装 Pantheon 桌面是超级容易的。这意味着如果你想在不安装 elementary OS 的情况下体验 Pantheon,在 Ubuntu 中这只需要一两个命令就可以安装。

在 Fedora 中,你也可以使用组包进行安装。然而,一个以 Fedora 为基础,名为 Ultramarine Linux 的发行版默认提供了它。

但是,在 Arch Linux 中安装 Pantheon 需要一些工作。它不是用简单的 pacman 命令就能直接完成的,而且不能开箱即用。需要一些配置,这可能会破坏你的系统。

这里我给你提供了在 Arch Linux 中安装 Pantheon 桌面的指南和步骤。

警告: 第一次可能不顺利,所以我建议你在物理系统上安装前先在虚拟机上进行。因为在 Arch 中安装 Pantheon 并不像在 Arch Linux 中安装 GNOME、Xfce 和 KDE Plasma 桌面那样流畅。它还需要一些额外的手动配置。

下面是在 Arch Linux 中安装 Pantheon 桌面的步骤。

在 Arch Linux 中安装 Pantheon 桌面

第 1 步:安装基础系统

确保你按照 本指南的自动 archinstall 脚本 安装了 Arch Linux 基础系统。如果你已经在完成了 Arch 安装,你可以跳过这一步,按照下一步进行。

第 2 步:更新你的系统

在你的 Arch 中打开一个终端。并通过运行以下命令确保系统是最新的:

pacman -Syu

第 3 步:安装 yay AUR 助手

Pantheon 所需的许多包在 Arch 官方仓库中不可用。它们存在于 Arch 用户仓库(AUR)中。因此你需要安装 yay 以获得额外的软件包。按照 本指南安装 yay AUR 助手

第 4 步:在 Arch Linux 中安装 Pantheon 桌面

使用以下命令安装以下软件包。这些是 Arch 官方仓库中可用的必需软件包,包括所有必要的组件、wingpanel、图标和壁纸。

  • pantheon
  • lightdm-pantheon-greeter
  • sound-theme-elementary
  • switchboard
  • lightdm-gtk-greeter
  • elementary-icon-theme
  • elementary-wallpapers
  • pantheon-applications-menu
  • wingpanel-indicator-session
  • wingpanel-indicator-datetime
pacman -S --needed pantheon lightdm-pantheon-greeter sound-theme-elementary switchboard lightdm-gtk-greeter elementary-icon-theme elementary-wallpapers pantheon-applications-menu wingpanel-indicator-session wingpanel-indicator-datetime inter-font firefox

从 Arch 用户仓库安装以下包。这些是 Arch 官方仓库中不可用的一些附加包。这些可能需要一些时间来安装。

  • pantheon-session-git
  • gnome-settings-daemon-elementary
  • pantheon-default-settings
  • switchboard-plug-pantheon-tweaks-git
  • urutau-icons-git
  • pantheon-dock-git
yay -S pantheon-session-git pantheon-default-settings switchboard-plug-pantheon-tweaks-git urutau-icons-git pantheon-dock-git

下一步是安装显示服务器和管理器。使用 lightdm 作为 Arch 中 Pantheon 的显示管理器。我尝试将其他显示管理器与 Pantheon 一起使用,但结果并不理想。

pacman -S --needed xorg lightdm

第 5 步:配置

默认欢迎程序需要一些修改。运行以下命令以检查可用会话。

ls -1 /usr/share/xgreeters

greeters 列表

打开 lightdm 配置文件并将 greeter-session 更改为 io.elementary.greeter

sudo nano /etc/lightdm/lightdm.conf
greeter-session=io.elementary.greeter

保存并关闭文件(CTRL+O回车CTRL+X)。

lightdm 配置

在 systemd 中启用显示管理器和网络管理器。

systemctl enable lightdmsystemctl enable NetworkManager

重启系统。

systemctl reboot

如果一切顺利,你应该会看到以下登录屏幕(我知道,它看起来一点也不酷)。从顶部下拉菜单更改会话并使用用户名和密码登录。

Pantheon 在 Arch 中的登录页面

第 6 步:安装后配置

当我第一次登录到我的测试系统时,很多东西都不起作用。以下是列表及其可能的解决方案。

a、壁纸:壁纸模块似乎根本不起作用。因此,默认情况下没有壁纸。甚至“更改壁纸”选项也没有打开。如果遇到这种情况,请安装 dconf 编辑器并通过以下步骤更改壁纸。

pacman -S --needed dconf-editor

接着从菜单启动 dconf 编辑器。进入 org > gnome > desktop > background > picture-uri。关闭默认值并添加自定义值 file:////usr/share/backgrounds/Ashim DSilva.jpg。你也可以使用任何其他图像。保存并关闭。

使用 dconf-editor 更改背景属性

b、图标:通过 “ 设置 Settings > 优化 Tweaks ” 更改图标。然后将图标和光标更改为 urutau-icons

在完成所有配置和安装之后,你应该已经在 Arch Linux 中设置了 Pantheon 桌面。这是我的测试机的截图。

Arch Linux 中的 Pantheon 桌面

结束语

我希望本指南能帮助你最终在 Arch Linux 中安装 Pantheon 桌面。我花了几天时间才终于能够将各个部分组合在一起并使它们发挥作用。

尽管一些小功能仍然无法使用,但有一个可用的 Pantheon 桌面。

唯一让我惊喜的是 Pantheon 在 Arch 中的表现。在我的同一台测试机上,elementary OS 安装不是那么快。但 Pantheon 基础版在 Arch 中的速度比原始 elementary OS 快。如果你喜欢 Pantheon,可以试试。

如果你遇到任何错误,请使用下面的评论栏告诉我。


via: https://www.debugpoint.com/pantheon-arch-linux-install/

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

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

Fedora Silverblue 是 基于 Fedora Linux 构建的桌面操作系统。它非常适合日常使用、开发和基于容器的工作流程。它提供了 众多优势,例如能够在出现任何问题时回滚。如果你想在 Fedora Silverblue 系统上更新或变基到 Fedora Linux 37(这些说明与 Fedora Kinoite 类似),本文将告诉你如何操作。它不仅向你展示了该做什么,而且还向你展示了在发生不可预见的事情时如何恢复。

在实际对 Fedora Linux 37 进行变基之前,你应该应用任何待定的更新。在终端中输入以下内容:

$ rpm-ostree update

或通过 GNOME 软件 Software 应用安装更新并重新启动。

使用 GNOME 软件应用变基

在更新页面上,GNOME 软件 Software 应用向你显示有新版本的 Fedora Linux 可用。

Fedora 37 更新可用

你需要做的第一件事是下载新镜像,因此请点击“ 下载 Download ”按钮。这需要一些时间。完成后,你将看到更新已准备好安装。

Fedora 37 更新准备好安装

点击 “ 重启并更新 Restart & Upgrade ” 按钮。此步骤只需要几分钟,最后计算机将重启。重启后,你将获得全新的 Fedora Linux 37 版本。很简单,不是吗?

使用终端变基

如果你喜欢在终端中完成所有操作,那么本指南的这一部分适合你。

使用终端变基到 Fedora Linux 37 很容易。首先,检查 37 分支是否可用:

$ ostree remote refs fedora

你应该在输出中看到以下内容:

fedora:fedora/37/x86_64/silverblue

如果你想置顶当前部署(该部署将作为 GRUB 中的选项保留,直到你删除它),你可以通过运行以下命令来完成:

# 0 is entry position in rpm-ostree status
$ sudo ostree admin pin 0

要删除置顶部署,请使用以下命令:

# 2 is entry position in rpm-ostree status
$ sudo ostree admin pin --unpin 2

其中 2 是 rpm-ostree 状态中的位置。

接下来,将你的系统重新设置为 Fedora Linux 37 分支。

$ rpm-ostree rebase fedora:fedora/37/x86_64/silverblue

最后,要做的最后一件事是重新启动计算机并引导至 Fedora Linux 37。

如何回滚

如果发生任何不好的事情,例如,如果你根本无法启动到 Fedora Linux 37,这很容易回滚。在引导时选择 GRUB 菜单中的上一个条目(如果你没有看到它,请尝试在引导过程中按 ESC),你的系统将以切换到 Fedora Linux 37 之前的先前状态启动。要使此更改永久生效,请使用以下命令:

$ rpm-ostree rollback

就是这样。现在你知道如何将 Fedora Silverblue 变基到 Fedora Linux 37 并回滚。那么为什么不在今天做呢?


via: https://fedoramagazine.org/how-to-rebase-to-fedora-linux-37-on-silverblue/

作者:Michal Konečný 选题:lujun9972 译者:geekpi 校对:wxy

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

这是有关如何在 Oracle VirtualBox 中启用 USB 的指南。

当你在虚拟机环境中工作时,USB 通常插入主机系统。但是从客体系统访问 USB 内容有点困难。

在 VirtualBox 中,你需要安装一些扩展并启用一些设置才能访问 USB。方法如下。

本文假设你已经安装了 VirtualBox,并且还在其中安装了一些 Linux 发行版或操作系统。

如果没有,请查看 这篇文章

请注意,Oracle VM VirtualBox 扩展包采用 Oracle 的个人使用和评估许可证(PUEL)。该许可证与 VirtualBox 不同,后者采用的是 GPL。如果你将下面的步骤用于商业目的,请确保你仔细阅读 本页面

在 VirtualBox 7.0 中启用 USB

安装 VirtualBox 扩展包

打开 VirtualBox 下载页面并从 此链接 下载适用于所有支持平台的 VirtualBox 扩展包。

下载扩展包

然后单击 “ 文件 File > 工具 Tools > 扩展包管理器 Extension Pack Manager ”。

单击工具栏中的 “ 安装 Install ” 按钮并选择下载的 .vbox-extpak 文件。

点击 “ 安装 Install ”。接受条款,并为安装提供管理员密码。

安装扩展包管理器

接受条款后安装扩展包管理器

安装成功后,可以在已安装列表中看到。

重启主机系统。重启是强制性的。

在客体机中启用 USB

将 U 盘插入你的宿主机系统,你希望从虚拟机中访问该系统。

启动 VirtualBox 并右键单击要启用 USB 的虚拟机名称。选择“ 设置 Settings ”。

虚拟机的启动设置

在左窗格中,单击 USB。然后选择控制器版本。例如,你可以选择 USB 3.0。然后单击小加号图标添加 USB 过滤器。

在此列表中,你应该看到你的 U 盘名称(你插入的)。对于这个例子,我可以看到我插入的 Transcend Jetflash 驱动器。

选择它并按 “OK”。

选择 U 盘

现在,启动你的虚拟机。打开文件管理器,你应该会看到 U 盘已启用并挂载到你的虚拟机上。

在此演示中,你可以看到我的 Arch-Xfce 虚拟机的 Thunar 文件管理器正在显示我的 U 盘中的内容。

启用 USB 并从 VirtualBox 访问内容

使用说明

现在,这里有几件事你应该记住。

当你在主机系统中插入 U 盘时,请保持挂载状态。但在启动虚拟机之前不要打开或访问任何文件。

启动虚拟机后,U 盘将在主机系统中卸载并自动挂载到客体系统中,即你的虚拟机。

使用完 U 盘后,确保在虚拟机中将其弹出或卸载。然后它将能再从你的主机系统内访问。

总结

VirtualBox 是一个功能强大的程序,提供易于使用的功能来设置的你虚拟机。这些步骤很简单,并确保你的 U 盘在主机系统中被正确检测到以正常工作。

另外,请记住,通过扩展包检测 U 盘与 VirtualBox 客户端增强包无关。它们完全不相关并提供独立的功能。

最后,如果本指南对你有帮助,请在评论栏中告诉我。


via: https://www.debugpoint.com/enable-usb-virtualbox/

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

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