web-dev-qa-db-fra.com

Comment définir des fonds d'écran dans Ubuntu?

L’une des premières personnalisations que tout nouvel utilisateur d’un système d’exploitation aime faire est de définir son propre fond d’écran! Oui, cela peut aussi être fait dans Ubuntu. Tant que l'utilisateur s'en tient aux quelques fonds d'écran intégrés à Ubuntu, cela ne devrait pas poser de problème. L'utilisateur doit donc jouer dans le bac à sable pour éviter les maux de tête inutiles. Dès que l’utilisateur commence à sélectionner ses propres images ou l’un des fonds d’écran librement disponibles sur le Web, la situation se complique.

Problème n ° 1:

desktop

  1. L'utilisateur stocke un fichier d'image JPEG nommé bird.jpg dans /home/user/Desktop.
  2. L'utilisateur clique avec le bouton droit sur l'icône du fichier et sélectionne "définir comme fond d'écran".
  3. Le fichier est copié de /home/user/Desktop vers /home/user/Pictures/Wallpapers, et le fichier est défini comme papier peint du bureau.

Pourquoi le fichier doit-il être copié? Pour la sécurité? Dans le cas où le fichier original est déplacé ou supprimé?

Problème n ° 2:

bird

  1. L'utilisateur ouvre /home/user/Pictures/Wallpapers.
  2. L'utilisateur clique avec le bouton droit sur l'icône de fichier pour bird.jpg et sélectionne "définir comme fond d'écran".
  3. Le fichier est dupliqué sous forme d'oiseau (copie) .jpg dans le dossier actuel et le fichier est défini comme fond d'écran.
  4. L'utilisateur clique à nouveau sur bird.jpg et sélectionne à nouveau "définir comme fond d'écran".
  5. Le fichier est dupliqué en tant qu'oiseau (une autre copie) .jpg dans le dossier actuel et le fichier est défini comme fond d'écran.

Pourquoi est-il nécessaire de créer des dupes pour définir un certain fichier comme fond d'écran?

Problème n ° 3:

appearanceappearance2wallpapers

  1. L'utilisateur ouvre /home/user/Pictures/Wallpapers et supprime tous les fichiers qu'il contient.
  2. L'utilisateur ouvre la boîte de dialogue Apparence.
  3. L'utilisateur clique sur le bouton plus pour ajouter une image à la liste "Fonds d'écran".
  4. L'utilisateur accède à /home/user/Desktop, sélectionne bird.jpg et clique sur le bouton Ouvrir.
  5. La photo est ajoutée, mais pas à la liste "Fonds d'écran". Il est ajouté à la liste "Dossier d'images".
  6. L'utilisateur accède à /home/user/Pictures/ et trouve un dossier vide (à l'exception d'un sous-dossier).
  7. L'utilisateur accède à /home/user/Pictures/Wallpapers et trouve un dossier vide.

Pourquoi le fichier image est-il ajouté à la liste "Dossier d'images" et non à la liste "Fonds d'écran"?

Si le fichier est ajouté à la liste "Dossier Images", pourquoi le dossier /home/user/Pictures est-il vide? Si "Dossier Images" représente un nom de dossier, quel est son chemin de recherche?

Problème n ° 4:

appearance2appearance3

  1. L'utilisateur effectue les étapes 2 à 4 de la description précédente du problème.
  2. L'utilisateur ferme la boîte de dialogue Apparence.
  3. L'utilisateur ouvre la boîte de dialogue Apparence.
  4. La liste "Dossier Images" est maintenant vide comme par magie.

Ce que je voudrais faire est de désigner un dossier spécifique dans lequel je conserverai toutes les images que je veux pouvoir sélectionner et utiliser comme fond d'écran.

La raison pour laquelle je me limite à un dossier est due aux problèmes que j'ai décrits ci-dessus. Je suis disposé à le faire de cette façon afin d'éviter les dupes, car je change habituellement le fond d'écran en trouvant le fichier que je veux utiliser. Je ne cherche pas d'abord la boîte de dialogue des paramètres appropriés, puis le fichier. (Je suppose que je le fais mal du point de vue des évangélistes d'Ubuntu.) J'utilise ensuite le menu contextuel du clic de la souris pour faire exactement ce que je veux, et Ubuntu a cette option, mais c'est mal implémenté.

Je suis donc disposé à remédier à cette lacune et à utiliser la boîte de dialogue Apparence (la "bonne" manière) et un dossier spécifique dans lequel je peux sélectionner des fonds d'écran à l'aide de la boîte de dialogue. Mais même pour que cela fonctionne, je dois me débarrasser du problème 4, dans lequel la boîte de dialogue Apparence ne souhaite pas afficher les fichiers ou les emplacements que j'ai choisis précédemment, afin de pouvoir s'afficher sous forme de liste.

Comment gérez-vous cela? Il suffit de coller aux fonds d'écran par défaut ??? ...

7
Samir

Il y a différentes forces en jeu. Le moyen canonique de modifier les fonds d'écran consiste à utiliser le schéma et la clé org.gnome.desktop.background picture-uri. La partie importante est que l'image doit être un fichier local.

En cas de problème n ° 4, le schéma est modifié directement; notez que toutes les options disponibles dans les paramètres d’apparence proviennent de dossiers locaux.

en cas d’autres problèmes que vous avez spécifiés, cela se fait par l’intermédiaire de Nautilus, qui a la possibilité d’accéder aux disques partagés en réseau, ce qui signifie que l’utilisateur peut tenter de définir une image d’arrière-plan à partir de là. Eh bien, rappelez-vous ce que j'ai dit - l'image doit être locale? C'est la raison pour laquelle Nautilus va copier le fichier.

Le code exact pour cela est défini dans le fichier nautilus-view.c

static void
action_set_as_wallpaper_callback (GtkAction    *action,
                                  NautilusView *view)
{
        GList *selection;

        /* Copy the item to Pictures/Wallpaper since it may be
           remote. Then set it as the current wallpaper. */

Comment travailler autour de ça? Il n'y a vraiment aucun moyen car c'est codé en dur dans le nautile. Vous voudrez peut-être déposer une demande de fonctionnalité auprès des développeurs ou modifier le source vous-même.

3