Xdialog ¿Nos ayudamos?

+1
0
-1

Yo pensé que fuera de Windows, ya no existía nada más. Veía esa manzanita tan bonita, en otro ordenadores, pero me parecía como si estuviera muy lejos de mi, por lo que crecí con Windows.

En su día me abrieron la "fenetre" , los ojos, y me enseñaron que hay más mundo todavía, y que no está tan lejos como yo creía, y fue cuando conocí LINUX, me enseñaron sus ventajas y descubrí también inconvenientes que encontré. Empecé trasteando con Ubuntu 5.04 y la experiencia fue muy grata, pues aprendí a desenvolverme en un mundo nuevo para mi. Pero el no poder tener internet por no poderse configurar la wifi, al menos yo no sabia, y lo que pude buscar y encontrar al respecto no me sirvió, me hicieron renegar y seguir con mi Windows.

Aunque no lo utilizaba mucho, siempre lo tenia actualizado a la ultima, y no fue hasta la versión que tengo actualmente, cuando me dio por abandonar, sin desinstalar, Windows para quedarme con mi Ubuntu 9.04. Sí es verdad que hecho mucha cosas en falta, y se que muchas cosas de las que hecho en falta las puedo conseguir mediante comandos, pero la pereza, vagancia, flojera, muchas veces me puede. Un día googleando, di con Xdialog (más información), para que lo entendais, ponerle ventanitas a los script bash. Me interesó y me puse a probar.

No me toméis como un gran entendedor de Xdialog, porque no lo soy, simplemente soy uno más que se ha puesto a hacer/intentar script y ponerles ventanitas para que sea algo mas bonito.
Con esto pretendo dar a conocer lo que he aprendido, mostrando ejemplos que he hecho y mejorarlas entre todos y alreves.

Un día me puse a probar Xdialog con un script que te muestra los procesos (ps -A) y matando el que quisiéramos (kill). No es una maravilla.

Matar.sh


#!/bin/bash
################################ Carpetas de "instalación" ###########################################

dir_instalacion=/tmp/utilidades_jb
dir_tmp=${dir_instalacion}/tmp
mkdir -p ${dir_tmp} 2>/dev/null

######## comando: ps -A (ver todos los procesos) ########

ps -A > ${dir_tmp}/matar_proceso.txt

sudo Xdialog \
--title "Matar Proceso" \
--no-cancel \
--textbox ${dir_tmp}/matar_proceso.txt 0 0 |
sudo Xdialog \
--title "Matar Proceso" \
--inputbox "¿ PID ?" 0 0 2>${dir_tmp}/matar_proceso_pid.txt


op=$?
n_PID=`cat ${dir_tmp}/matar_proceso_pid.txt`

if [ $op != 0 ]; then
	rm -r ${dir_instalacion}
	exit
else
	sudo kill -9 ${n_PID}
	rm -r ${dir_instalacion}
fi

Así tal y como está no me funciona, pues me pide la clave de mi usuario cuando ejecuto el script por consola. Mi intención es suprimir el manejo de la consola, por lo que, al no ver otra solución, cree un script Xdialog para mostrar un arbol de archivos y directorios y poder ejecutar mis Xdialog sin consola.

Lanzador.sh


#!/bin/bash
################################ Carpetas de "instalación" ###########################################
dir_instalacion=/tmp/utilidades_jb
dir_tmp=${dir_instalacion}/tmp
dir_util=Utilidades	# Carpeta de utilidades Xdialog
mkdir -p ${dir_tmp} 2>/dev/null


sudo Xdialog \
--title "X-Lanzador v1.2" \
--fselect Utilidades 50 100 \
2>${dir_tmp}/archivo.txt

archivos=`sudo cat ${dir_tmp}/archivo.txt`

cortar=`sudo cat ${dir_tmp}/archivo.txt | cut -d "/" -f 8`

gksudo $dir_util/./$cortar

Me gustaría ver cabezas pensantes que sean capaz de aportar algo, todo sea por aprender.

Comentarios

Imagen de bean

cómo hacer partir a xdialog

sudo apt-get install xdialog
Ok.
y luego ¿qué sucede ?

Xdialog --title "Mi primer Xdialog" --msgbox "Hola mundo" 0 0

Gtk-WARNING (recursed) **: Failed to load module "libcanberra-gtk-module.so": libcanberra-gtk-module.so: cannot open shared object file: No such file or directory

De todos modos abrió la ventanita Hola Mundo Ok y al clickear en ella volvimos a $.

Gracias por el aporte y a JoséLuis que ya había andado estos caminos muy, muy interesantes.
Un saludo.