是否可以每小时更改一次桌面主题
答案1
这里我给你写了一些使用 gconf 进行随机设置的脚本。
更改GTK主题
#!/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
换背景
#!/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
更改图标
#!/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
更改Metacity主题
#!/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
希望这些能帮到你。
答案2
您无需编写 bash 脚本,只需使用 cron 即可完成所有操作。如果您不是 bash 专家,我猜您也不是 cron 专家,因此请从 Ubuntu 软件中心下载 Gnome-Schedule。这基本上是一个使用 cron 的 GUI。然后只需设置一个每小时运行一次的任务,其中包含以下命令(您需要为每个命令设置一个单独的任务,但它们可以同时运行。
GTK 主题:
gconftool-2 --type=string -s /desktop/gnome/interface/gtk_theme PUT_THE_THEME_NAME_HERE
元城市:
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 运行的任务,将主题更改为 Theme1。另一个每天运行的流程每天运行,将主题更改为 Theme2,等等。最好的实现此目的的方法是编写脚本,但这是一个简单的解决方法。