如何拥有 GNOME 壁纸的用户目录

如何拥有 GNOME 壁纸的用户目录

我的壁纸按尺寸存储在 Dropbox 上,我希望 GNOME 可以使用它们。然而,我发现这很难做到,因为即使在各种引擎上进行复杂的搜索也会产生无用的结果。

我不能将它们存储在全局路径 ( /usr/share/backgrounds) 中,因为这台计算机有很多用户,他们不应该能够选择我的壁纸。另外,我想将它们存储在每个维度的不同目录中。如果我添加另一个目录,我不介意更新 5 或 6 行。

用户的默认路径在哪里(如果有的话),或者我如何启用它并拥有自己的壁纸?

答案1

是的,我同意这很难做到。我发现正确的方法是将 XML 文件添加到~/.local/share/gnome-background-properties/.此 XML 应包含对所有壁纸的引用。您可能可以在 中找到示例文件/usr/share/gnome-background-properties

我知道这并不能真正回答你的问题,但它可能会让你开始。我得到的大部分来自这里

答案2

我希望使用一个应用程序来执行此操作。以下是我过去在 Fedora 和 CentOS 上使用过的两种方法,但我认为这两种方法也适用于 Arch。

瓦帕波兹

是一个在 GNOME 任务栏中运行的小程序。

  • 您可以从以下位置下载 RPM:这里适用于各种 Fedora/CentOS 版本。
  • 它的主要网站是这里
  • 主要的 github 树是这里

沃尔帕波兹党卫军

外壳脚本

这是一个 bash 脚本,它将循环浏览图像列表。

#!/bin/bash
#Default values
pictdir="$HOME/Pictures"
time=1h

#Wallpaper names
fnme=('wp1.jpg' 'wp2.jpg' 'wp3.jpg')

fin=${#fnme[@]}
let bck=$fin-1

#Exit if the script is already running, just in case
#Got this part of script somewhere in this forum
if pidof -x $(basename $0) > /dev/null; then
  for p in $(pidof -x $(basename $0)); do
    if [ $p -ne $$ ]; then
      echo "Script $0 is already running: exiting"
      exit
    fi
  done
fi

#This is where the desktop wallpaper changes
for (( i=0;i<$fin;i++ )); do
    sleep $time #wait for $time second(s)
    gconftool-2 --type string --set /desktop/gnome/background/picture_filename $pictdir/${fnme[${i}]}
    if [ $i -eq $bck ]; then
         let i=-1
    fi
done

它利用gconftool-2.我还没试过这个CentOS 6.x但所以它可能需要一些调整,但我已经用过它了软呢帽CentOS 5.x。该脚本是礼貌的Linux问题线程

瓦尔奇

可用的这里。还没有尝试过,但据说它可以工作GNOME 2 & 3。 Wallch 的评论不错这里

党卫军瓦尔赫

Dropbox

使用这两种方法中的任何一种,您只需将它们指向保存图像的 DropBox 同步文件夹即可。我使用类似的 SparkleShare 在我的各个系统之间同步我的壁纸图像。

相关内容