it-swarm-es.tech

¿Cómo funciona la configuración de fondos de pantalla en Ubuntu?

¡Una de las primeras personalizaciones que le gusta hacer a cualquier usuario nuevo en cualquier sistema operativo es establecer su propio fondo de pantalla! Sí, esto también se puede hacer en Ubuntu. Mientras el usuario se quede con los pocos fondos de pantalla que vienen integrados con Ubuntu, no debería ser un problema. Por lo tanto, el usuario tiene que jugar en el sandbox para evitar dolores de cabeza innecesarios. Tan pronto como el usuario comienza a seleccionar sus propias imágenes o uno de los fondos de pantalla disponibles gratuitamente en la Web, las cosas comienzan a complicarse.

Problema # 1:

desktop

  1. El usuario almacena un archivo de imagen JPEG llamado bird.jpg en /home/user/Desktop.
  2. El usuario hace clic derecho en el icono del archivo y selecciona "establecer como fondo de pantalla".
  3. El archivo se copia de /home/user/Desktop a /home/user/Pictures/Wallpapers, y el archivo se configura como fondo de escritorio.

¿Por qué el archivo necesita ser copiado? ¿Por seguridad? En caso de que el archivo original se mueva o se elimine?

Problema # 2:

bird

  1. El usuario abre /home/user/Pictures/Wallpapers.
  2. El usuario hace clic derecho en el icono del archivo para bird.jpg y selecciona "establecer como fondo de pantalla".
  3. El archivo se duplica como bird (copy) .jpg en la carpeta actual, y el archivo se configura como fondo de escritorio.
  4. El usuario vuelve a hacer clic derecho en bird.jpg y selecciona "establecer como fondo de pantalla" nuevamente.
  5. El archivo se duplica como bird (otra copia) .jpg en la carpeta actual, y el archivo se configura como fondo de escritorio.

¿Por qué es necesario crear duplicados para establecer un determinado archivo como fondo de pantalla?

Problema # 3:

appearanceappearance2wallpapers

  1. El usuario abre /home/user/Pictures/Wallpapers y elimina todos los archivos que contiene.
  2. El usuario abre el cuadro de diálogo Apariencia.
  3. El usuario hace clic en el botón más para agregar una imagen a la lista "Fondos de pantalla".
  4. El usuario navega a /home/user/Desktop, selecciona bird.jpg y hace clic en el botón Abrir.
  5. La imagen se agrega, pero no a la lista "Fondos de pantalla". Se agrega a la lista "Carpeta de imágenes".
  6. El usuario navega a /home/user/Pictures/ y encuentra una carpeta vacía (excepto una subcarpeta).
  7. El usuario navega a /home/user/Pictures/Wallpapers y encuentra una carpeta vacía.

¿Por qué se agrega el archivo de imagen a la lista "Carpeta de imágenes" y no a la lista "Fondos de pantalla"?

Si el archivo se agrega a la lista "Carpeta de imágenes", ¿por qué está vacía la carpeta /home/user/Pictures? Si "Carpeta de imágenes" representa un nombre de carpeta, ¿cuál es su ruta de búsqueda?

Problema # 4:

appearance2appearance3

  1. El usuario realiza los pasos 2 a 4 de la descripción del problema anterior.
  2. El usuario cierra el cuadro de diálogo Apariencia.
  3. El usuario abre el cuadro de diálogo Apariencia.
  4. La lista de "Carpeta de imágenes" ahora ha quedado mágicamente vacía.

Lo que me gustaría hacer es designar una carpeta específica en la que guardaré todas las imágenes que quiero poder seleccionar y usar como fondo de escritorio.

La razón por la que me limito a una carpeta es por los problemas que describí anteriormente. Estoy dispuesto a hacerlo de esta manera para evitar engaños, porque generalmente cambio el fondo de pantalla al encontrar el archivo que quiero usar. No busco primero el cuadro de diálogo de configuración correcto y luego el archivo. (Supongo que estoy haciéndolo mal desde la perspectiva de los evangelistas de Ubuntu.) Luego uso el menú contextual del clic del mouse para hacer exactamente lo que quiero, y Ubuntu tiene esta opción, Pero está mal implementado.

Por lo tanto, estoy dispuesto a solucionar este inconveniente y usar el cuadro de diálogo Apariencia (la forma "correcta"), y una carpeta específica desde la cual puedo seleccionar fondos de pantalla usando el cuadro de diálogo. Pero incluso para que esto funcione, necesito deshacerme del problema número 4 donde el cuadro de diálogo Apariencia no quiere mostrar los archivos o las ubicaciones que seleccioné anteriormente para que me muestre como una lista.

¿Cómo lidian con esto? Solo quédate con los fondos de pantalla predeterminados ??? ...

7
Samir

Hay diferentes fuerzas en juego. La forma canónica de alterar los fondos de pantalla es usando el esquema y la clave org.gnome.desktop.background picture-uri. La parte importante es que la imagen tiene que ser un archivo local.

En caso del problema # 4, el esquema se está alterando directamente; tenga en cuenta que todas las opciones disponibles en la configuración de apariencia son de carpetas locales.

en caso de otros problemas que haya especificado, se está realizando a través de nautilus, y nautilus tiene la posibilidad de acceder a unidades compartidas en red, lo que significa que el usuario puede intentar configurar la imagen de fondo desde allí. Bueno, recuerda lo que dije: ¿la imagen debe ser local? Esa es la razón por la cual nautilus copiará el archivo.

El código exacto para eso se establece en el archivo 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. */

¿Cómo evitar eso? Realmente no hay forma, ya que está codificado en nautilus. Es posible que desee presentar una solicitud de función con los desarrolladores o modificar la fuente usted mismo.

3