如何設定 GNOME 顯示自定義幻燈片

Ken Vandine發表於2018-04-23

使用一個簡單的 XML,你就可以設定 GNOME 能夠在桌面上顯示一個幻燈片。

在 GNOME 中,一個非常酷、但卻鮮為人知的特性是它能夠將幻燈片顯示為牆紙。你可以從 GNOME 控制中心的 “背景設定” 皮膚中選擇牆紙幻燈片。在預覽的右下角顯示一個小時鐘標誌,可以將幻燈片的牆紙與靜態牆紙區別開來。

一些發行版帶有預裝的幻燈片桌布。 例如,Ubuntu 包含了庫存的 GNOME 定時桌布幻燈片,以及 Ubuntu 桌布大賽勝出的牆紙。

如果你想建立自己的自定義幻燈片用作桌布怎麼辦?雖然 GNOME 沒有為此提供一個使用者介面,但是在你的主目錄中使用一些簡單的 XML 檔案來建立一個是非常容易的。 幸運的是,GNOME 控制中心的背景選擇支援一些常見的目錄路徑,這樣就可以輕鬆建立幻燈片,而不必編輯你的發行版所提供的任何內容。

開始

使用你最喜歡的文字編輯器在 $HOME/.local/share/gnome-background-properties/ 建立一個 XML 檔案。 雖然檔名不重要,但目錄名稱很重要(你可能需要建立該目錄)。 舉個例子,我建立了帶有以下內容的 /home/ken/.local/share/gnome-background-properties/osdc-wallpapers.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE wallpapers SYSTEM "gnome-wp-list.dtd">
<wallpapers>
 <wallpaper deleted="false">
   <name>Opensource.com Wallpapers</name>
   <filename>/home/ken/Pictures/Wallpapers/osdc/osdc.xml</filename>
   <options>zoom</options>
 </wallpaper>
</wallpapers>

每一個你需要包含在 GNOME 控制中心的 “背景皮膚”中的每個幻燈片或靜態桌布,你都要在上面的 XML 檔案需要為其增加一個 <wallpaper> 節點。

在這個例子中,我的 osdc.xml 檔案看起來是這樣的:

<?xml version="1.0" ?>
<background>
  <static>
    <!-- Duration in seconds to display the background -->
    <duration>30.0</duration>
    <file>/home/ken/Pictures/Wallpapers/osdc/osdc_2.png</file>
  </static>
  <transition>
    <!-- Duration of the transition in seconds, default is 2 seconds -->
    <duration>0.5</duration>
    <from>/home/ken/Pictures/Wallpapers/osdc/osdc_2.png</from>
    <to>/home/ken/Pictures/Wallpapers/osdc/osdc_1.png</to>
  </transition>
  <static>
    <duration>30.0</duration>
    <file>/home/ken/Pictures/Wallpapers/osdc/osdc_1.png</file>
  </static>
  <transition>
    <duration>0.5</duration>
    <from>/home/ken/Pictures/Wallpapers/osdc/osdc_1.png</from>
    <to>/home/ken/Pictures/Wallpapers/osdc/osdc_2.png</to>
  </transition>
</background>

上面的 XML 中有幾個重要的部分。 XML 中的 <background> 節點是你的外部節點。 每個背景都支援多個 <static><transition> 節點。

<static> 節點定義用 <file> 節點要顯示的影像以及用 <duration> 顯示它的持續時間。

<transition> 節點定義 <duration>(變換時長),<from><to> 定義了起止的影像。

全天更換桌布

另一個很酷的 GNOME 功能是基於時間的幻燈片。 你可以定義幻燈片的開始時間,GNOME 將根據它計算時間。 這對於根據一天中的時間設定不同的桌布很有用。 例如,你可以將開始時間設定為 06:00,並在 12:00 之前顯示一張牆紙,然後在下午和 18:00 再次更改。

這是通過在 XML 中定義 <starttime> 來完成的,如下所示:

<starttime>
    <!-- A start time in the past is fine -->
    <year>2017</year>
    <month>11</month>
    <day>21</day>
    <hour>6</hour>
    <minute>00</minute>
    <second>00</second>
</starttime>

上述 XML 檔案定義於 2017 年 11 月 21 日 06:00 開始動畫,時長為 21,600.00,相當於六個小時。 這段時間將顯示你的早晨桌布直到 12:00,12:00 時它會更改為你的下一張桌布。 你可以繼續以這種方式每隔一段時間更換一次桌布,但確保所有持續時間的總計為 86,400 秒(等於 24 小時)。

GNOME 將計算開始時間和當前時間之間的增量,並顯示當前時間的正確牆紙。 例如,如果你在 16:00 選擇新桌布,則GNOME 將在 06:00 開始時間之後顯示 36,000 秒的適當桌布。

有關完整示例,請參閱大多數發行版中由 gnome-backgrounds 包提供的 adwaita-timed 幻燈片。 它通常位於 /usr/share/backgrounds/gnome/adwaita-timed.xml 中。

瞭解更多資訊

希望這可以鼓勵你深入瞭解建立自己的幻燈片桌布。 如果你想下載本文中引用的檔案的完整版本,那麼你可以在 GitHub 上找到它們。

如果你對用於生成 XML 檔案的實用程式指令碼感興趣,你可以在網際網路上搜尋 gnome-backearth-generator


via: https://opensource.com/article/17/12/create-your-own-wallpaper-slideshow-gnome

作者:Ken Vandine 譯者:Auk7F7 校對: wxy

本文由 LCTT 原創編譯,Linux中國 榮譽推出

相關文章