366 - Como crear scripts con menús en la terminal

PodcastPodcast

366 - Como crear scripts con menús en la terminal

Por fin un capítulo de preguntas y respuestas en las que resuelvo como crear scripts con menús en la terminal para conectarte vía ssh.

1:25
-3:15

Tras este enigmático título para un episodio del podcast, se encuentra, como ya te puedes imaginar un nuevo episodio de preguntas y respuestas. Como ya te he comentado en otras ocasiones, estos episodios de preguntas y respuestas, son, casi con toda seguridad los que mas me gustan. Y son los que mas me gustan, porque siento como si fueran una conversación entre tu y yo. Al contrario de lo que sucede con los capítulos tradicionales del podcast, donde te cuento mi película, en estos episodios, se establece un falso diálogo que me encanta. Así, puedo responder a preguntas como la que pone título a este podcast, como crear scripts con menús en la terminal.

Lo cierto, es que estos capítulos de preguntas y respuestas no son tan frecuentes como a mi me gustarían. De hecho, en realidad, a mi me gustarían hacerlo o todas las semanas o casi todas las semanas. Pero, no tengo tanta fortuna. Sea como fuere, te animo a que si tienes alguna pregunta, duda, inquietud o comentario, no dudes en ponerte en contacto conmigo, por el medio que mejor te venga a ti, para transmitirme esas inquietudes.

preguntas y respuestas, y como crear scripts con menús en la terminal

Como crear scripts con menús en la terminal

Sin mas dilación paso a las preguntas que forman parte de este episodio, y en concreto a la pregunta que, precisamente, la pone título al mismo, sobre como crear scripts con menús en la terminal.

Crear scripts con menús que utilicen los cursores

Jose pregunta,

Buenos días, soy un oyente de tu podcast, la verdad es que no soy muy participativo, realmente no sé si puedo preguntarte algo así directamente con todo el morro… así que si no contestas no pasa nada. Igualmente te comento, estoy jugando con linux (soy de windows de toda la vida, pero siempre he tenido algún ordenador con linux instalado en casa para hacer cosillas, pero no lo domino ni mucho menos).

Quería hacer un menú en bash, pero me gustaría poder usar los cursores para elegir las opciones, no solamente escribir la opción, sinó seleccionarla y ejecutarla. Algo parecido a los menús desplegables (pero sin desplegarlos, ya desplegados) del midnight commander y que se puedan usar perfectamente con conexiones ssh en modo texto.

No he encontrado ninguna forma de hacerlo, supongo que hay herramientas modo texto para hacerlo.Si has leído hasta aquí, gracias!Saludos! de todas formas te seguiré escuchando en los podcasts aunque a veces se escapan de mis conocimientos.

Aquí la respuesta es mas o menos sencilla. En su momento, publiqué un tutorial, que puedes encontrar en Diálogos para el terminal.

En concreto, le dedico un capítulo del tutorial a analizar precisamente una herramienta que permite hacer justo lo que necesitas. El capítulo en concreto se titula Dialog para crear diálogos en el terminal.

En concreto, tienes una opción para mostrar menús y permitir que el usuario seleccione una de las opciones del menú. Algo tan sencillo de hacer como lo que te muestro a continuación,

respuesta=$(dialog --title "Ejemplo de menu" \
                  --stdout \
                  --menu "Opciones" 12 20 5 \
                         1 "Opción 1" \
                         2 "Opción 2" \
                         3 "Opción 3" \
                         4 "Opción 4")
echo $respuesta

De cualquier forma, te invito a que visites esa página, y en general todo el tutorial, porque en el mismo, además de dialog trato otras herramientas. Y no solo de herramientas para la terminal, sino que también te comento herramientas con interfaz gráfico, aunque entiendo que ese no es tu caso.

En cualquier caso, si tienes cualquier duda o comentario, no dudes en ponerte en contacto conmigo.

Bot RSS

Dan pregunta,

Buenos días, y Felices Fiestas. Soy un amater de la informática, habiéndome metido en esto por culpa de la raspi. De Python no se mucho. Estoy luchando con el para hacerme un bot en el cual elegirme las fuentes rss (quiero más de una). Tengo este código, no da error, pero no me saca en la pantalla (o en el bot) nada.

Voy a aprovechar para utilizar este código de Dan e incluirlo o bien en alguno de los retos o bien en algún reto intermedio… Ya veremos como lo formulo, pero esto de poder conseguir resultados inmediatos, utilizando un Bot de Telegram puede ser algo muy, pero que muy interesante… Ya te diré.

De cualquier forma esto sería algo similar a lo comentado en la pregunta anterior, sobre scripts con menús, pero en este caso con un Bot de Telegram y utilizando Python como lenguaje de programación.

Touchpad Indicator

Enrique comenta,

Yo vengo usando a Linux desde el 2000. Mi primera experiencia fue con Red Hat. Hoy en días uso Pop-OS que es un derivado de Ubuntu, producido por System 76. Uso un ordenador de system 76 llamado el Pangolin, que utiliza un razion enves de intel. Fabuloso.Estuve teniendo problemas con el cursor saltando de la pagina cuando escribía correos electrónico con Thunderbird. Tu applicacion Touchpad indicator logró mejorar el problema.

Como ya habrás podido observar tu mismo, esto no es realmente una pregunta, pero, no he podido evitar incluirlo. Touchpad Indicator es una de esas herramientas o aplicaciones por las que empecé, hace ya mas de una década, y todavía está ahí. Por supuesto, que le tengo que dedicar un tiempo para su actualización y remozado. Pero cuando recibo estos correos de verdad que me emociono.

Sobre la Raspberry Pi 400

Gabo comenta,

Hola! Llegué a tu página al buscar reseñas en español sobre la Raspberry Pi 400, y la tuya me parece fascinate. Muy completa y tan bien explicada.Sin ánimos de molestarte me gustaría realizarte una consulta; estoy interesado en adquirirla ya que debo prestar mi notebook por un buen tiempo, de 4 a 6 meses.

Quería saber si la Raspberry Pi 400 me serviría para realizar mi trabajo desde mi casa, como mucho abriría 4 pestañas en el navegador al mismo tiempo (webmail, telegram web y dos pestañas de la página de mi trabajo ) y quizás al mismo tiempo de las pestañas abra un PDF, o LibreOffice writter y/o calc, no mucho más que eso.Te comento que el sistema sea GnuLinux no es ningún impedimento para mí, ya que en la notebook tengo instalado Manjaro.

Probablemente mi respuesta no va a ser exactamente lo que esperas. Sin embargo quiero ser totalmente sincero contigo, y con todo el mundo por supuesto.

Siempre he pensado que la Raspberry, sea cual sea, es un dispositivo que está pensado para que aprendas. De hecho, a mi me ha servido, y mucho para aprender, y darle una vuelta a todos mis conocimientos, y enfocarlos desde otro punto de vista.

En este sentido, y aunque tengo varias Raspberry, e inicialmente algunas las estaba utilizando como servidor, finalmente las he ido apagando todas ellas, y utilizando servidores al uso. Actualmente, y en mi caso VPS.

Igualmente, y en el caso de la Raspberry Pi 400, me sucede mas o menos lo mismo. Creo que es un dispositivo ideal para aprender. Comenzar a programar, interaccionar con los pines, encender tu primer led, directamente desde Python, etc. Pero este caso de uso, la Raspberry Pi 400 no tiene competencia ninguna.

Por otro lado, he estado utilizando la Raspberry Pi 400, en modo ordenador, navegador, LibreOffice, etc. Siempre se ha comportado excelentemente. La navegación es suficientemente fluida utilizando Chromium, trabajar con LibreOffice no se hace pesado. En fin, que el funcionamiento es mas que correcto. Sin embargo, creo que por un poco mas tienes un ordenador que va ha darte mucho mas de lo que te da la Raspberry. Actualmente estoy utilizando un Beelink GK5 con 8 GB de RAM y 128 GB de disco duro por algo menos de 190 euros, y sinceramente no hay color.

Mi recomendación, es que si quieres utilizarlo como ofimática, te decantes por el que te acabo de indicar, pero si lo quieres para aprender, sin lugar a dudas, la Raspberry Pi 400, no tiene competencia ninguna.


Imagen de portada de Jon Tyson

Deja una respuesta

Tu dirección de correo electrónico no será publicada.