GNU/Linux >> LINUX-Kenntnisse >  >> Linux

So ändern Sie den GNOME-Hintergrund automatisch in Intervallen mit BASH

Wollten Sie schon immer diesen automatischen Hintergrund haben? Umschalten der Funktion in Ihrer GNOME-Linux-Distribution? Ich habe diese Funktion vermisst, nachdem ich von Cinnamon zu GNOME gewechselt bin 🙁 Ich habe im Software-Center nach Apps gesucht und leider konnte ich keine finden. Heute freue ich mich jedoch, Ihnen mitteilen zu können, dass es eine Problemumgehung für diese fehlende Funktion durch die Verwendung der BASH-Skriptsprache gibt.

Anforderung

Nicht viel, alles, was Sie brauchen, ist ein Texteditor, um einige Codezeilen in der Skriptdatei zu bearbeiten. Und die Möglichkeit, Textdateien zu erstellen und zu speichern. Das war's 🙂 Falls Sie ein Programmierer sind, ich habe Kommentare (den Code dokumentiert) im Skript weggelassen, damit Sie es verstehen können.

Schritt 1:Erstellen Sie die Skriptdatei

Öffnen Sie Ihren bevorzugten Texteditor und speichern Sie die Datei unter .change_wallpapers  in Ihrem Home-Verzeichnis.

Beachten Sie den Punkt (.) vor dem Dateinamen. Wir möchten, dass diese Datei ausgeblendet wird, daher ist es wichtig, ihr einen Punkt vor dem Dateinamen voranzustellen.\

Kopieren Sie dann das folgende Skript und fügen Sie es in Ihre neu erstellte Skriptdatei ein.

#!/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[*]}

Schritt 2:Ändern des Skripts

​Sie müssen Ihren eigenen benutzerdefinierten Pfad in die Umgebungsvariable wallpaper_path eingeben . Wenn sich Ihr Hintergrundbild- (oder Bild-)Verzeichnis beispielsweise in /home/abc/Pictures/Wallpapers befindet, müssen Sie diese Zeile ändern:export wallpaper_path= zu

export wallpaper_path=/home/abc/Pictures/WallpapersDarüber hinaus habe ich die gängigsten Bilddateierweiterungen zur Array-Variable wallpapers hinzugefügt . Aber Ihr bevorzugtes Bilddateiformat wurde möglicherweise übersehen. Vielleicht haben Ihre Bilder das Format TIFF oder etwas anderes. Stellen Sie sicher, dass Sie diese fehlenden Erweiterungen selbst hinzufügen. Wenn ich beispielsweise Unterstützung für tif hinzufügen möchte, muss ich diese Aussage direkt darunter einfügen

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

Schritt 3:Wählen Sie eine der beiden folgenden Optionen aus

Wählen Sie nur eine davon … und überspringen Sie die andere. Andernfalls werden Sie auf Probleme stoßen.

Die erste Option ist, wenn Sie möchten, dass sich Ihr Hintergrundbild in sequenzieller Reihenfolge ändert, dh. beginnend mit dem ersten Bild und fortgesetzt bis zum letzten. Und dann wiederholen Sie den gleichen Vorgang immer und immer wieder. Sie bleiben also nicht beim letzten Bild hängen, wenn die Schleife abgelaufen ist. Kopieren Sie den folgenden Code und fügen Sie ihn in die letzte Zeile Ihrer Skriptdatei ein.

Hintergrund in sequenzieller Reihenfolge ändern

# 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

Hintergrund in zufälliger Reihenfolge ändern

Wenn Sie die Randomisierung der sequentiellen Reihenfolge vorziehen, in der Ihre Hintergrundbilder zufällig angezeigt werden. Kopieren Sie den folgenden Code und fügen Sie ihn in die letzte Zeile Ihrer Skriptdatei ein.

# 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

Schritt 4:Fertigstellung

Ihre .change_wallpapers  Skript ist fertig. Jetzt bleibt nur noch eines zu tun; Starten Sie dieses Skript, wenn Sie sich anmelden.

€‹Dazu müssen wir Ihrem .profile einen Code hinzufügen Datei, um dieses Skript zu starten. Wenn Sie Ihren Texteditor immer noch geöffnet haben, starten Sie Ihre .profile-Datei und kopieren diese vier Codezeilen in die letzte Zeile.

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

Falls Sie Ihre versteckte Datei .profile im Dialogfeld „Öffnen“ nicht finden konnten, drücken Sie STRG + H, um alle versteckten Dateien anzuzeigen.

Später können Sie dieselbe Tastenkombination drücken, um das Anzeigen versteckter Dateien und Ordner von Ihrem Dateiverwaltungsprogramm aus zu deaktivieren.

Nachdem Sie fertig sind, starten Sie Ihre Sitzung entweder neu oder melden Sie sich erneut an, damit das Skript wirksam wird.

Schlussfolgerung

Ich hoffe, Sie fanden dieses Tutorial einfach und leicht zu befolgen. Und Ihr Skript hat erfolgreich funktioniert 🙂 Teilen Sie mir Ihre Erfahrungen im Kommentarbereich unten mit. Übrigens, wenn Sie dieses automatische Skript zum Wechseln des Hintergrunds in Zukunft jemals deaktivieren möchten, müssen Sie nur diese .change_wallpapers löschen script-Datei und entfernen Sie diese zusätzlichen vier Zeilen aus Ihrem .profile Datei.


Linux
  1. So ändern Sie das memory_limit in der .htaccess-Datei

  2. Hintergrundfarbe des Gnome-Terminals im laufenden Betrieb ändern?

  3. Wie schreibe ich mit Bash Integer in eine Binärdatei?

  4. Wie fülle ich eine Datei mit FF mit dd auf?

  5. Wie ändere ich die Kodierung, die mein SFTP-Server verwendet?

So leiten Sie stderr in Bash auf stdout um

So ändern Sie den Hintergrund des GDM-Anmeldebildschirms in Ubuntu

So ändern Sie den Anmelde- / Sperrbildschirmhintergrund in Ubuntu

So ändern Sie Dateiberechtigungen mit FileZilla

So ändern Sie Dateiberechtigungen

Gewusst wie:Eine Einführung in die Verwendung von Git