linux自动更换壁纸
Posted at 2020-09-22 linux
每隔一段时间更换linux的壁纸。
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
package mainimport ( "encoding/json" "io/ioutil" "log" "math/rand" "os/exec" "time")type Config struct { List []string Interval int}var config = Config{}func randomPaper(args []string) { index := rand.Int31n(int32(len(config.List))) args[3] = config.List[index]}func init() { data,err := ioutil.ReadFile("config.json") if err != nil { log.Fatal("read config file err:",err) } err = json.Unmarshal(data,&config) if err != nil{ log.Fatal("unmarshal err:",err) } if len(config.List) <= 0 { log.Fatal("list no exist") } if config.Interval < 3 { log.Fatal("interval is too fast") }}func main() { args := []string{ "set","org.gnome.desktop.background","picture-uri","", } for { randomPaper(args) cmd := exec.Command("gsettings",args...) cmd.Run() i := time.Second * (time.Duration(config.Interval)) time.Sleep(i) }}
12345678
{ "list": [ "file:/home/test/Downloads/th2.jpeg", "file:/home/test/Downloads/th1.jpg", "file:/home/test/Downloads/th.jpeg" ], "interval":10}
Previous post: C-内存和类型 Next post: C-AES加解密