GNU/Linux >> Belajar Linux >  >> Linux

Cara Mengubah Latar Belakang GNOME Secara Otomatis Dalam Interval Menggunakan BASH

Pernahkah Anda ingin memiliki latar belakang otomatis mengganti fitur di distro Linux GNOME Anda? Saya melewatkan fitur itu setelah saya beralih dari Cinnamon ke GNOME Mencari aplikasi di pusat perangkat lunak dan sayangnya tidak ada yang dapat saya temukan. Namun, hari ini saya dengan senang hati memberi tahu Anda bahwa ada solusi untuk fitur yang hilang ini melalui penggunaan bahasa skrip BASH.

Persyaratan

Tidak banyak, yang Anda butuhkan hanyalah editor teks untuk mengedit beberapa baris kode pada file skrip. Dan kemampuan untuk membuat dan menyimpan file teks. Itu saja Jika Anda seorang programmer, saya telah meninggalkan komentar (mendokumentasikan kode) dalam skrip sehingga Anda dapat memahaminya.

Langkah 1:Buat file skrip

Buka program editor teks favorit Anda dan simpan file sebagai .change_wallpapers  di direktori beranda Anda.

Perhatikan titik (.) yang diawali dengan nama file. Kami ingin file tersebut disembunyikan, jadi penting untuk mengawalinya dengan titik sebelum nama file.\

Kemudian salin &tempel skrip di bawah ini ke file skrip yang baru Anda buat.

#!/bin/bash
# script to set random background wallpapers on my GNOME desktop
# set base path
export wallpaper_path=
shopt -s nullglob
# store all the image file names in wallpapers array
wallpapers=(
    $wallpaper_path/*.jpg
    $wallpaper_path/*.jpeg
    $wallpaper_path/*.png
    $wallpaper_path/*.bmp
    $wallpaper_path/*.svg
)
# get array size
wallpapers_size=${#wallpapers[*]}

Langkah 2:Memodifikasi skrip

​Anda harus memasukkan jalur kustom Anda sendiri pada variabel lingkungan wallpaper_path . Misalnya, jika direktori wallpaper (atau gambar) Anda ada di /home/abc/Pictures/Wallpapers, Anda harus mengubah baris itu:export wallpaper_path= untuk

export wallpaper_path=/home/abc/Pictures/WallpapersSelain itu, saya telah menambahkan ekstensi file gambar yang paling umum pada variabel larik wallpaper . Tetapi format file gambar pilihan Anda mungkin terlewatkan. Mungkin gambar Anda dalam format TIFF atau yang lainnya. Pastikan Anda menambahkan sendiri ekstensi yang hilang itu. Misalnya, jika saya ingin menambahkan dukungan untuk tif, saya harus menambahkan pernyataan ini tepat di bawah

$wallpaper_path/*.svg line as in:
$wallpaper_path/*.svg $wallpaper_path/*.tif

Langkah 3:Pilih salah satu dari dua opsi di bawah ini

Pilih hanya salah satu dari mereka ... dan lewati yang lain. Jika tidak, Anda akan mengalami masalah.
​
Opsi pertama adalah jika Anda ingin wallpaper Anda berubah secara berurutan, yaitu mulai dari gambar pertama dan berlanjut hingga yang terakhir. Dan kemudian ulangi proses yang sama berulang-ulang. Jadi Anda tidak terjebak dengan gambar terakhir saat loop habis. Salin &tempel kode di bawah ini pada baris terakhir file skrip Anda.

Ubah latar belakang secara berurutan

# set wallpapers in incremental order
index=0
while [ $index -lt $wallpapers_size ]
do
    gsettings set org.gnome.desktop.background picture-uri ${wallpapers[$index]}
    # index is maxing out, so reset it
    if [ $(($index+1)) -eq $wallpapers_size ]
    then
        index=0
    else
        index=$(($index + 1))
    fi
    # keep the wallpaper for the specified time
    sleep 15m
done

Ubah latar belakang secara acak

Jika Anda lebih suka pengacakan daripada urutan berurutan di mana wallpaper Anda ditampilkan secara acak. Salin &tempel kode di bawah ini pada baris terakhir file skrip Anda.

# set random wallpapers
# loop infinitely
while true
do
    # generate random index
    random_index=$(($RANDOM % $wallpapers_size))
    # then set a random wallpaper
    gsettings set org.gnome.desktop.background picture-uri ${wallpapers[$random_index]}
    # keep the wallpaper for the specified time
    sleep 15m
done

Langkah 4:Menyelesaikan

 .change_wallpapers  . Anda skrip selesai. Sekarang hanya ada satu hal yang harus dilakukan; memulai skrip tersebut saat Anda masuk.

€‹Untuk itu, kami harus menambahkan beberapa kode di .profil your Anda file untuk memulai skrip itu. Jika editor teks Anda masih terbuka, luncurkan file .profile dan salin empat baris kode ini di baris terakhir.

# start my custom script for setting random background wallpapers
if [ -f "$HOME/.change_wallpapers" ] ; then
    bash $HOME/.change_wallpapers &
fi

Jika Anda tidak dapat menemukan file .profile tersembunyi Anda pada kotak dialog yang terbuka, tekan CTRL + H untuk menampilkan semua file yang tersembunyi.

Kemudian, Anda dapat menekan kombinasi tombol yang sama untuk menonaktifkan menampilkan file dan folder tersembunyi dari program pengelola file Anda.

Setelah selesai, reboot atau login ulang sesi Anda agar skrip mulai berlaku.

Kesimpulan

Saya harap Anda telah menemukan tutorial ini sederhana dan mudah diikuti. Dan berhasil membuat skrip Anda berfungsi Beri tahu saya pengalaman Anda di bagian komentar di bawah. Omong-omong, jika Anda ingin menonaktifkan skrip peralihan latar belakang otomatis ini di masa mendatang, yang harus Anda lakukan hanyalah menghapus .change_wallpapers tersebut. file skrip dan hapus empat baris tambahan tersebut di .profil . Anda mengajukan.


Linux
  1. Cara mengganti spasi pada nama file menggunakan skrip bash

  2. Bagaimana cara menulis integer ke file biner menggunakan Bash?

  3. Bagaimana cara mengisi file dengan FF menggunakan dd?

  1. Bagaimana mengubah memory_limit di file .htaccess

  2. Bagaimana cara mengubah pengkodean yang digunakan server SFTP saya?

  3. Bagaimana cara menghapus file tanpa menggunakan rm?

  1. Bagaimana Cara Mengubah Cron Shell (sh ke Bash)?

  2. Ubah Warna Latar Belakang Terminal Gnome Saat Terbang?

  3. Bagaimana cara mengurai file CSV di Bash?