Как получить каталог пользователя для обоев GNOME

У меня есть мои обои, хранящиеся на Dropbox, организованные по размеру, и я хотел бы, чтобы они были доступны для GNOME. Тем не менее, я нашел, что это абсурдно трудно сделать, так как даже сложные поиски на разных двигателях дают бесполезные результаты.

Я не могу их хранить на глобальном пути ( /usr/share/backgrounds ), так как на этом компьютере много пользователей, и они не должны выбирать мои обои. Кроме того, я хотел бы сохранить их в разных каталогах для каждого измерения. Я не возражаю обновлять 5 или 6 строк, если я добавлю другой каталог.

Где путь по умолчанию для пользователей, если есть, или как я могу включить это и иметь свои собственные обои?

    Я бы хотел использовать приложение для этого. Вот два способа, которые я использовал в Fedora и CentOS в прошлом, но я бы предположил, что оба эти подхода будут работать и для Arch.

    Wallpapoz

    Является ли апплет, запущенный на панели задач GNOME.

    • Вы можете скачать RPM здесь для различных версий Fedora / CentOS.
    • Основной сайт для него здесь .
    • Главное дерево github находится здесь .

    ss wallpapoz

    Сценарий оболочки

    Вот сценарий 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 1 #!/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, так что это может потребовать некоторой настройки, но я использовал его на Fedora и CentOS 5.x. Сценарий любезно предоставлен этим потоком linuxquestions .

    Wallch

    Доступно здесь . Не пробовал, но он намерен работать над GNOME 2 & 3 . Здесь есть хороший обзор Валлха.

    ss wallch

    Dropbox

    С помощью любого из этих подходов вы можете просто указать их в свою синхронизированную папку DropBox, где хранятся изображения. Я использую что-то подобное, используя SparkleShare для синхронизации изображений обоев на разных системах.

    Да, я согласен с тем, что это невероятно сложно. Я выяснил, что правильный способ сделать это – добавить XML-файл в ~/.local/share/gnome-background-properties/ . Этот XML должен содержать ссылки на все ваши обои. Вероятно, вы можете найти пример файла в /usr/share/gnome-background-properties .

    Я знаю, что это на самом деле не отвечает на ваш вопрос, но это может заставить вас начать. Я получил большую часть этого отсюда