Можно ли менять тему рабочего стола в каждый час?
Вместо написания bash-скрипта вы можете делать все это с помощью cron. И если вы не эксперт по bash, я думаю, что вы не являетесь экспертом по cron, поэтому загрузите Gnome-Schedule из Ubuntu Software Center. Это в основном графический интерфейс для работы с cron. Затем просто настройте задачу для запуска каждый час, которая включает в себя следующие команды (вам потребуется отдельная задача для каждой команды, но они могут выполняться одновременно.
Тема GTK:
gconftool-2 --type=string -s /desktop/gnome/interface/gtk_theme PUT_THE_THEME_NAME_HERE
[ 117] Metacity:
gconftool-2 --type=string -s /apps/metacity/general/theme PUT_THE_THEME_NAME_HERE
Иконки:
gconftool-2 --type=string -s /desktop/gnome/interface/icon_theme PUT_THE_ICON_THEME_NAME_HERE
Обои:
gconftool-2 -t str --set /desktop/gnome/background/picture_filename "PUT_THE_PATH_TO_THE_WALLPAPER_IMAGE_HERE"
Важное примечание Вам нужно сделать отдельная задача для каждого раза, когда вы хотите, чтобы тема менялась, и для каждой отдельной темы она будет меняться на использование этого процесса. Таким образом, вы должны создать задачу, которая выполняется каждый день в 1:00, чтобы сменить тему на Theme 1. Еще один процесс, который запускается каждый день, каждый день работает, чтобы сменить тему на Theme2 и т. д. лучший способ сделать это - написать скрипт, но это будет простой обходной путь.
здесь я записал Вам некоторые сценарии, чтобы сделать случайные настройки с помощью gconf.
ChangeGTKTheme
#!/bin/bash
if [ "$1" == "random" ]; then
files=(~/.themes/*)
base=$(basename "${files[RANDOM % ${#files[@]}]}")
gconftool-2 --type=string -s /desktop/gnome/interface/gtk_theme $base
else
if [ "$1" == "" ]; then
echo "Usage: $0 GTK_theme_name"
echo "or $0 random / for a random pick"
else
#GTK theme
gconftool-2 --type=string -s /desktop/gnome/interface/gtk_theme $1
fi
fi
ChangeBackground
#!/bin/bash
if [ "$1" == "random" ]; then
files=(~/.backgrounds/*)
gconftool-2 -t str --set /desktop/gnome/background/picture_filename "${files[RANDOM % ${#files[@]}]}"
else
if [ "$1" == "" ]; then
echo "Usage: $0 path/to/background"
echo "or $0 random / for a random pick"
else
#Wallpaper
gconftool-2 -t str --set /desktop/gnome/background/picture_filename $1
fi
fi
ChangeIcons
#!/bin/bash
if [ "$1" == "random" ]; then
files=(~/.icons/*)
base=$(basename "${files[RANDOM % ${#files[@]}]}")
gconftool-2 --type=string -s /desktop/gnome/interface/icon_theme $base
else
if [ "$1" == "" ]; then
echo "Usage: $0 icon_theme_name"
echo "or $0 random / for a random pick"
else
#Icons
gconftool-2 --type=string -s /desktop/gnome/interface/icon_theme $1
fi
fi
ChangeMetacityThemes
#!/bin/bash
if [ "$1" == "random" ]; then
files=(~/.themes/*)
base=$(basename "${files[RANDOM % ${#files[@]}]}")
gconftool-2 --type=string -s /apps/metacity/general/theme $base
else
if [ "$1" == "" ]; then
echo "Usage: $0 metacity_theme_name"
echo "or $0 random / for a random pick"
else
#Metacity
gconftool-2 --type=string -s /apps/metacity/general/theme $1
fi
fi
Надеюсь, что они помогают Вам.