2 votes

Nautilus peut définir le fond d'écran du bureau. Comment peut-il définir le fond d'écran de l'écran de connexion et de l'écran de verrouillage ?

Dans Nautilus, une option de menu permet d'utiliser l'image actuelle comme fond d'écran :

Nautilus Wallpaper

Comment puis-je utiliser l'image actuelle comme fond d'écran pour l'écran de connexion et l'écran de verrouillage ?

3voto

WinEunuuchs2Unix Points 91128

Après avoir utilisé Nautilus pour naviguer et afficher un fichier .png ou .jpg approprié à utiliser comme écran de connexion et fond d'écran de verrouillage, Nautilus peut le définir pour vous à l'aide d'un script :

Set Login Wallpaper.gif

Remarque : Dans Ubuntu 18.04, seul le fond d'écran de verrouillage est modifié. Une technique différente sera nécessaire pour changer le fond d'écran de connexion.

Pour créer le script, utilisez :

cd ~/.local/share/nautilus/scripts/
gedit set-login-wallpaper

Collez ces lignes :

#!/bin/bash

## Set login wallpaper

# strip new line char passed by Nautilus
FILENAME=$(echo $NAUTILUS_SCRIPT_SELECTED_FILE_PATHS | sed -e 's/\r//g')

# Multiple files can't be selected.
LINE_COUNT=$(wc -l <<< "$NAUTILUS_SCRIPT_SELECTED_FILE_PATHS")
LINE_COUNT=$((LINE_COUNT-1))

if [[ $LINE_COUNT > 1 ]] ; then
    zenity --error --text "Ony one file can be selected at a time! "
    exit 1
fi

# Object type must be "file..." (ie no directories, etc.)
if [ -d "${FILENAME}" ] ; then
    zenity --error --text "$FILENAME is a directory!";
    exit 1
else
    if [ -f "${FILENAME}" ]; then
        : # Bash noop
    else
        zenity --error --text "${FILENAME} is not a file!";
        exit 2
    fi
fi

# Build working file in /tmp
echo "[com.canonical.unity-greeter]" > /tmp/set-login-wallpaper.tmp
echo "draw-user-backgrounds=false" >> /tmp/set-login-wallpaper.tmp
echo "background='$FILENAME'" >> /tmp/set-login-wallpaper.tmp

# Must run as sudo
if [ "$EUID" -ne 0 ] ; then

    # Get sudo password
    PASSWORD=$(zenity --password --title="Set Login Wallpaper" --timeout=20)

    # copy working file to real file using sudo
    echo $PASSWORD | sudo -S cp /tmp/set-login-wallpaper.tmp \
/usr/share/glib-2.0/schemas/10_unity_greeter_background.gschema.override

    # compile using sudo
    echo $PASSWORD | sudo -S glib-compile-schemas /usr/share/glib-2.0/schemas

else
    # Already sudo so simply copy and compile
    # copy working file to real file
    cp /tmp/set-login-wallpaper.tmp \
/usr/share/glib-2.0/schemas/10_unity_greeter_background.gschema.override

    # compile
    glib-compile-schemas /usr/share/glib-2.0/schemas
fi

exit 0

Enregistrez le fichier et quittez l'application gedit éditeur.

Marquez maintenant le script comme exécutable en utilisant :

chmod +x set-login-wallpaper

Ouvrez Nautilus et naviguez jusqu'au répertoire contenant les images de fond d'écran. Trouvez une image appropriée et cliquez dessus avec le bouton droit de la souris. Ce menu déroulant apparaît :

Nautilus Right Click Drop Down

Cliquez sur la troisième option Scripts . Un autre menu déroulant apparaît avec tous vos scripts :

Nautilus set-login-wallpaper Drop Down

Sélectionner set-login-wallpaper .

Lorsque le script s'exécute, vous devez saisir votre sudo mot de passe.

Redémarrez et profitez de votre nouveau fond d'écran de connexion.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X