使用动态壁纸让您的 Linux 桌面看起来更漂亮

当谈到定制时,Linux 可能不是您想到的第一个操作系统,但事实恰恰相反。 虽然大多数 Linux 发行版在第一次启动时可能看起来简单而乏味,但有无数的自定义选项可以让您的桌面流行并看起来独一无二。

如果您是一名熟练的 Linux 用户,您可能已经意识到 Linux 可以根据您使用的桌面环境和窗口管理器提供更多的个性化。 让我们迈出更好的桌面外观并切换到动态壁纸的第一步。

什么是动态壁纸?

静态壁纸是那些不会在一段时间内自动更改的壁纸。 这些是您的 Linux 发行版和桌面环境中内置的壁纸类型。 但是,您可以超越常规的静态壁纸,向动态壁纸迈进。

动态壁纸 是一个简单的 bash 允许您使用 cron 作业调度程序根据当前时间设置壁纸的脚本。 对这意味着什么感到困惑? 简而言之,它允许您为一天中的不同时间设置不同的壁纸。 想象一下,白天使用较亮的墙纸,晚上使用较暗的墙纸。 使用动态壁纸,您可以使您的桌面看起来很被动。

尽管有超过 25 种不同分辨率的壁纸集,从 HD 到 5K,您也可以创建自己的壁纸集以获得自定义外观。 它还支持 pywal一种工具,可从图像中的主要颜色生成调色板,然后将颜色应用于系统范围和所有您喜欢的程序。

你可以使用动态壁纸吗?

大多数 Linux 桌面环境和窗口管理器都支持动态壁纸。 这是动态壁纸使用的所有桌面环境和窗口管理器的官方列表:

桌面环境:

  • KDE
  • 万神殿
  • 侏儒
  • 深入
  • 肉桂
  • Xfce
  • LXDE
  • 伴侣

窗口管理器:

  • 开箱
  • i3wm
  • bspwm
  • 很棒的WM
  • 通量盒
  • FVWM
  • 摇摆

如果您的桌面环境或窗口管理器不在此列表中,请不要担心。 您仍然可以尝试并使用测试脚本来确认它是否适用于您的系统。

在 Linux 上安装动态壁纸

开始安装之前 (动态壁纸),您必须安装所有必要的依赖项才能使其正常工作。 根据您正在运行的 Linux 发行版,运行下面给出的两个命令之一来安装依赖项。

对于 Arch Linux 和基于 Arch 的发行版:

sudo pacman -Sy feh cronie python-pywal xorg-xrandr

如果您没有运行 Xfce 桌面环境,请随意删除 xorg-xrandr 从上述命令打包,因为如果您使用其他桌面环境,则不需要它。 您还可以删除 pywal 如果您不打算使用它。

对于 Ubuntu 和其他基于 Debian 的发行版:

sudo apt-get install x11-xserver-utils feh cron

同样,您可以删除 x11-xserver-utils 如果您没有运行 Xfce 桌面环境,请打包。

现在您已经安装了所有依赖项,是时候安装实际的 工具。 这是一个简单的过程,您可以从克隆 git 存储库开始。 以下是如何做到这一点:

git clone https://github.com/adi1090x/dynamic-wallpaper.git
cd dynamic-wallpaper

如果你想测试 bash 在继续安装脚本之前,您可以运行 测试.sh 使用以下命令编写脚本:

./test.sh

您可能已经注意到,您可以从超过 25 种不同的壁纸组中进行选择。 为了 example如果你想应用 工厂 壁纸设置为测试脚本,你可以运行这个命令:

./test.sh -s factory

您会注意到您的壁纸已根据一天中的时间自动更改为您想要的壁纸集。

测试后,如果您没有遇到任何问题,您可能需要安装脚本。 在目录中,您将找到一个专用的 安装.sh 正是出于这个目的的脚本。 安装 ,你所要做的就是运行这个脚本。

./install.sh

你去吧。 您已成功安装 在你的 Linux 机器上。 您可以在不同的壁纸集之间切换,并且 将根据时间自动应用集合中的适当壁纸。

但这还不是全部。 此时,您将手动运行 每隔几个小时编写一次脚本来更新你的壁纸。 为避免这种情况,您可以设置一个 cron 作业并自动执行此过程,您将在下一节中看到。

使用 Cron 作业实现动态壁纸自动化

最后,要自动切换壁纸,您需要设置一个 cron 作业。 Cron 是一个 Linux 命令,您可以使用它来安排在未来某个时间重复执行命令或任务。 在您的情况下,您需要一个 cron 作业才能运行 每隔一小时。 您可以从启用 cron 使用下面给出的命令在您的系统上提供服务。

基于 Arch 的发行版:

sudo systemctl enable cronie.service --now

要在 Ubuntu 和其他基于 Debian 的发行版上启用 cron 服务:

sudo systemctl enable cron

完成后,您需要先找出一些环境变量的值,然后才能继续创建 cron 作业。 在终端上运行此命令并记下值:

echo "$SHELL | $PATH | $DISPLAY | $DESKTOP_SESSION | $DBUS_SESSION_BUS_ADDRESS | $XDG_RUNTIME_DIR"

终端上的输出可能与上图中显示的不同。 不要担心,因为它在不同的设备上有所不同。 现在您可以开始了,让我们使用 crontab 创建一个 cron 作业。

crontab -e

您将看到一个文本编辑器打开,供您添加新的 cron 作业。 将下面给出的命令粘贴到编辑器中,但请确保将环境变量替换为您自己的值。

0 * * * * env PATH=<path-variable> DISPLAY=<display-variable> DESKTOP_SESSION=<desktop-session-variable> DBUS_SESSION_BUS_ADDRESS="<dbus-sesssion-bus-address>" /usr/bin/dwall -s <wallpaper-set>

在上面的命令中,确保替换里面的所有值 <> 使用您自己的环境变量并删除 <>. 就是这样,您已经成功创建了一个用于动态切换壁纸的 cron 作业。

要删除之前的 cron 作业并使用不同的壁纸集,可以运行以下命令:

crontab -r
crontab -e

文本编辑器窗口将再次出现。 这一次,您可以通过更换 <壁纸集> 具有新值的变量。

使用动态壁纸享受生动的桌面

动态壁纸是开始个性化 Linux 体验的最佳方式之一。 借助 KDE Plasma 等以定制为中​​心的桌面环境或 i3 等窗口管理器,您甚至可以将其提升到一个新的水平。 不过,它确实需要您进行一些修补。

喜欢 macOS 的外观和感觉吗? 猜猜看,Linux 也可以做到这一点。 以下是关于如何自定义 GNOME、Xfce、KDE ​​Plasma、Unity 或 Cinnamon 桌面环境以模仿 macOS 外观的综述。