Script escrito en Perl
Bueno ayer no tuve tiempo de hacer el tutorial en perl como cada semana,pero hoy me puse a escribir un script muy pequeño pero muy eficiente,lo que hace es cambiar el fondo de pantalla cada cierto tiempo,a diferencia de los demas que hemos visto este script esta escrito en perl,los otros que hemos visto estan hechos en bash y de hecho este tambien se podia hacer en bash pero mejor use el poder que tienen los arrays de perl para hacerlo mas simple,y de hecho en el próximo tutorial de perl veremos los arrays,este script aunque esta en perl llama muchas funciones del sistema con las comillas invertidas,que también veremos después en un tutorial,pero de momento les dejo el script que es para cambiar el fondo de pantalla de gnome shell o unity,bueno yo no uso unity pero conociendo el sistema se cambian con el mismo comando,bueno si son ubunteros y no les sirve comenten para cambiar titulo y ver si puedo hacer uno para unity
Tutorial
1.Abre tu editor de texto favorito
Copia esto
EnlaceSi no funciona este es otro enlace
Enlace
Vamos a explicar el código como si fuese un tutorial de perl con #
#!/usr/bin/perl # Hashbang
# Lo necesario para que se ejecute nuestro script
use strict; # Vamos a usar strict asi que lo pedimos
use warnings; # Vamos a usar warnigs así que lo pedimos
# Principal
# Ruta de las imagenes
my $folder = "/home/hackloper775/Downloads/wallpapers/"; # Cambia esta locación por tu carpeta
# Tiempo que va a esperar para cabiar el wallpaper
my $tiempo = 180; # Cambia esta parte por los segundos que quieras
my @fotos = `ls $folder | grep [jJ][pP][eE]*[gG]`; # Variable array que buscara las imágenes con comandos del sistema
my $wallpaper; # Escribimos variable del wallpaper
while( 1 ) # Iniciamos bucle
{
$wallpaper = $fotos[rand($#fotos)]; # Definimos variable wallpaper
`gsettings set org.gnome.desktop.background picture-uri "file:"$folder$wallpaper`; # Iniciamos el programa(lo que sera visible) con un comando del sistema encomillado invertido
sleep($tiempo); # Iniciamos la espera que definimos antes y se repite al ser un bucle infinito pero una nueva imagen cada vez
}
Un poco mas de aclaración
En la variable folder es donde tenemos nuestras imagenes,para que no tengan problemas creen una carpeta en donde quieran y metan las imágenes que van a usar luego copien la ruta.
Por ejemplo si usan nautilus
Usen el script abrir en terminal
En terminal
touch ~/.gnome2/nautilus-scripts/Abrir-con-terminal && echo '#!/bin/bash' >> ~/.gnome2/nautilus-scripts/Abrir-con-terminal && echo "gnome-terminal" >> ~/.gnome2/nautilus-scripts/Abrir-con-terminal && chmod +x ~/.gnome2/nautilus-scripts/Abrir-con-terminal
Mas info
Y luego den clic derecho abrir en terminal y usan el comando
pwd
Les devolverá como salida su locación
Lo copian y lo pegan en la variable my $folder con su editor favorito por ejemplo yo estoy usando ee desde terminal
La renombramos como queramos y la salvamos en nuestra carpeta personal,pero sin extensión,por ejemplo yo le puse
wallchanperl
Ahora abrimos terminal y le damos permisos de ejecución
chmod +x wallchanperl
Y como les he dicho yo tengo una carpeta de scripts para modificar el sistema,les recomiendo una
mkdir ~/scripts
Y movemos el script
mv wallchanperl ~/scripts/
Ahora ya esta pero antes lo probamos
cd ~/scripts/
perl wallchanperl
Si todo va bien debe de haber cambiado el fondo de su escritorio,si no revisen el problema(dirá en terminal) y copian y pegan el problema como comentario para ayudarles
Si todo va bien detienen el script
ctrl+c
Y solo falta hacer que inicie al inicio
Si usan unity
En el engrane de la esquina superior derecha
aplicaciones al inicio >> añadir
Y ponen esto
En nombre: wallchanperl
En comando: /home/tu_usuario/scripts/wallchanperl
En comentario: Lo que quieran
Y listo cierran sesión y ya
Si usan gnome-shell como yo
En terminal
gnome-session-properties
Y le dan añadir(add) y ponen esto
En nombre: wallchanperl
En comando: /home/tu_usuario/scripts/wallchanperl
En comentario: Lo que quieran
Cierran sesión y listo
Bueno eso es todo,el único problema es que al iniciar sesión se ve el fondo de color unos segundos hasta que inicie el script,tal vez haya otros problemas,comenten haber que puedo hacer.
Vídeo de demostración
No hay comentarios.:
Publicar un comentario
Los comentarios serán revisados antes de ser publicados.