Hacer una búsqueda en Google revela el comando
xfconf-query -c xfce4-desktop -p /backdrop/screen0/monitor0/image-path -s <image-path>
La primera vez que ejecuto este comando recibí un mensaje que decía que la propiedad / backdrop / screen0 / monitor0 / image-path no existe en el canal xfce4-desktop.
Entonces, creé esta propiedad:
xfconf-query -c xfce4-desktop -p /backdrop/screen0/monitor0/image-path -n -t string -s <image-path>
Pero aún así el fondo no cambió.
Luego cambié el fondo de space-03.jpg a space-04.jpg normalmente, desde la aplicación Configuración de escritorio de XUbuntu. Entonces corro:
$ xfconf-query -c xfce4-desktop -p /backdrop -lv
/backdrop/screen0/image-path /usr/share/backgrounds/space-03.jpg
/backdrop/screen0/monitor0/image-path /usr/share/backgrounds/space-03.jpg
/backdrop/screen0/monitor0/image-show true
/backdrop/screen0/monitor1/image-path /usr/share/backgrounds/space-03.jpg
/backdrop/screen0/monitor1/image-show true
/backdrop/screen0/monitorLVDS1/workspace0/color-style 0
/backdrop/screen0/monitorLVDS1/workspace0/image-style 5
/backdrop/screen0/monitorLVDS1/workspace0/last-image /usr/share/backgrounds/space-04.jpg
Como puede ver, la propiedad /backdrop/screen0/monitorLVDS1/workspace0/last-image
ha cambiado (!).
Si cambio esta propiedad, funciona bien, pero es que necesito encontrar una forma general para implementarla en mi programa (Wallch).
Incluso Variety
(que es un programa muy bueno, por cierto) no funciona correctamente en mi máquina y elige cambiar la propiedad /backdrop/screen0/monitor0/image-path
que no hace nada.
Una forma sería crear todas las propiedades posibles y cambiarlas todas cuando sea necesario, simultáneamente. No me gusta esta solución por 2 razones:
- Se necesitarán varias llamadas al sistema
- En un momento tendré que tomar la ruta de la imagen actual (para abrir su carpeta, copiarla, eliminarla y algunas otras funciones que proporciona el programa). No sabría qué propiedad mantiene el camino de la imagen realmente establecida para que esté disponible para el programa.
Tampoco entiendo por qué XFCE lo ha hecho tan complejo. ¿Por qué una propiedad no sería suficiente como en gsettings?
fuente
Respuestas:
Creo que eso debería hacer el trabajo
Use el siguiente código para obtener los dispositivos conectados y contarlos:
entonces tiene que manipular sobre ellos y elegir si establecer el valor para ruta de imagen o última imagen
Suponga que 1.jpeg es cualquier archivo que solo se necesita para crear la cadena de forma predeterminada. Y 2.png es la imagen deseada que se establecerá. Agregué la primera línea solo para asegurarme de que xfce4-desktop existe.
Este script fue probado en mi máquina y está funcionando bien.
Espero que ayude a mi amigo
EDITAR: Aquí se encontró una lista de nombres de puertos de esta manera:
Para más información consultar aquí
fuente