如何定期更改桌面主题

Tac*_*ons 5 wallpaper themes customization

是否可以每小时更改桌面主题

Tay*_*rez 2

在这里,我为您编写了一些使用 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
Run Code Online (Sandbox Code Playgroud)

换背景

#!/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
Run Code Online (Sandbox Code Playgroud)

更改图标

#!/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
Run Code Online (Sandbox Code Playgroud)

更改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
Run Code Online (Sandbox Code Playgroud)

希望这些对你有帮助。


the*_*r86 1

您可以使用 cron 来完成这一切,而不是编写 bash 脚本。如果您不是 bash 专家,我猜您也不是 cron 专家,所以请从 Ubuntu 软件中心下载 Gnome-Schedule。这基本上是一个用于 cron 的 GUI。然后只需设置一个任务每小时运行一次,其中包含以下命令(每个命令需要一个单独的任务,但它们可以同时运行。

GTK主题:

gconftool-2 --type=string -s /desktop/gnome/interface/gtk_theme PUT_THE_THEME_NAME_HERE
Run Code Online (Sandbox Code Playgroud)

元城:

gconftool-2 --type=string -s /apps/metacity/general/theme PUT_THE_THEME_NAME_HERE
Run Code Online (Sandbox Code Playgroud)

图标:

gconftool-2 --type=string -s /desktop/gnome/interface/icon_theme PUT_THE_ICON_THEME_NAME_HERE
Run Code Online (Sandbox Code Playgroud)

墙纸:

gconftool-2 -t str --set /desktop/gnome/background/picture_filename "PUT_THE_PATH_TO_THE_WALLPAPER_IMAGE_HERE"
Run Code Online (Sandbox Code Playgroud)

重要提示 每次您希望主题更改时,您都需要创建一个单独的任务,并且对于每个不同的主题,它将更改为使用此过程。因此,您需要创建一个每天 1:00 运行的任务,将主题更改为 Theme1。另一个每天运行的进程每天运行以将主题更改为 Theme2 等。执行此操作的最佳方法是编写脚本,但这将是一个简单的解决方法。