El lunes, 27 abr 2015, a las 00:45 UTC+2 horas, Frederit Mogollon escribió:
>Buenas tardes listeros... > > Primero el contexto para esta consulta: > > Ando en un sistema Debian 7 Wheezy + IceWM, con 512 MB de RAM, 476 MB > de swap y un HD de 10 GB, con la home en una partición separada. > Aun lo estoy terminando de configurar... :) y se que estoy rompiendo > la regla de que la swap debe ser el doble de la RAM. Todavía me pregunto por qué se ha hecho tan famosa esa regla. > Antes de todo, aviso que no se nada de programación, pero estoy > intentando aprender modificando scripts existentes y observando el > resultado de su ejecución. > > Tengo 2 scripts llamados por mi como "gxmessage-memfree" y "memfree", > pero inicialmente tomados desde >https://debianfacil.wordpress.com/2010/03/19/gxmessage/ y >http://geekland.eu/limpiar-nuestro-sistema/, respectivamente. > > Ambos tienen permisos de ejecución y sus contenidos, modificados por > mi persona, son: > > gxmessage-memfree > > ############################################################################ > #!/bin/bash > > gxmessage -center -geometry 280x200 -title "Memfree" -buttons > "Ok:1","Exit:2" -default "Exit" -font "Sans > bold 12" -wrap "Cuidado: Usar sólo si la cantidad de memoria SWAP > USADA es menor a la RAM USABLE. > Si lo es, presione Ok. > Si no lo es, presione Exit." > > case $? in > > 1) x-terminal-emulator -T \"memfree\" -e sh -c \"su-to-root -c > '/usr/bin/memfree.sh'\";; > 2) ;; > > esac > ############################################################################ > > > > memfree.sh > > ############################################################################ > #!/bin/bash > > echo “Limpiando la caché~ “; > > sync ; echo 2 > /proc/sys/vm/drop_caches > > echo “Limpiando Swap~ “; > > swapoff -a && swapon -a > ############################################################################ > > Estoy asignando una entrada en el menú de aplicaciones de IceWM al > script gxmessage-memfree, de forma que al dar clic sobre la misma, le > de la opción al usuario de ejecutar el script memfree, solamente si la > cantidad de swap usada es menor a la cantidad de RAM libre. > > La entrada en el menú esta escrita así: > > menu "Mantenimiento" folder { > prog "Memfree: Liberar memoria cache y swap" > "/usr/share/pixmaps/memfree.xpm" > /bin/sh -c "/home/tesistas/Descargas/scripts/gxmessage-memfree" > } > > donde obviamente mi usuario es "tesistas". > > > Bien, ahora el problema: > > Al hacer clic en la entrada del menú, aparece el mensaje en el > escritorio, pero al dar clic en el "botón Ok", aparece una ventana de > xterm y se cierra al segundo, sin que se ejecute el script memfree. Fíjate que en la primera entrada de menú (gxmessage-memfree) pides al terminal que ejecute un script, por lo que este permanece hasta que tú lo cierras. En el segundo sin embargo ejecutas sh que, a su vez, ejecuta el script bash memfree.sh. Cuando este termina se cierra. ¿Por qué no lo haces de manera similar al primero si quieres que el terminal permanezca abierto? > Aunque sigo leyendo sobre bash y sh, aun no llego a comprender porque > no se ejecuta el segundo script, cuando usando directamente desde > menú, el script memfree si lo hace. > > Imagino que sera algo sencillo de resolver y tontería mía que no logro > verlo. Así que acudo a vuestra sapiencia y paciencia para que me > ayuden a dar con la solución. > > Saludos > > fdm Saludos. -- Manolo Díaz -- To UNSUBSCRIBE, email to debian-user-spanish-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: https://lists.debian.org/20150427010523.15eee...@gmail.com