Blog sobre software libre

Posts tagged "GNU/Linux":

28 oct 2024

GNU Screen

Normalmente uso Emacs para gestionar las diferentes sesiones de terminal que tengo abiertas, pero a veces también uso un emulador de terminal fuera de Emacs.

Como echaba en falta poder gestionar distintas terminales sin tener que estar abriendo y cerrando un montón de ventanas, estuve aprendiendo lo básico de GNU Screen, un multiplexor de terminales.

En Debian se puede instalar desde los repositorios fácilmente con un sudo apt install screen. Una vez instalado, se puede iniciar con la orden screen, y nos saldrá un mensaje de bienvenida que se puede saltar pulsando intro.

La forma básica de interactuar con Screen es pulsando Control + a y después la orden correspondiente. Para ver todos los atajos de teclado se puede pulsar Control + a + ?.

La interfaz de Screen es muy minimalista por defecto, tanto que de hecho es difícil saber si estás o no dentro de Screen. Para salir del programa basta con escribir exit y nos saldrá un mensaje informándonos que la sesión de Screen ha terminado.

Dentro de Screen podemos crear terminales con Control + a + c, cerrarlos con Control + a + k o cambiar entre terminales con Control + a + n o Control + a + p.

Además de este uso básico, también se pueden crear distintas ventanas dentro de una misma terminal, o crear un archivo de configuración que ejecute scripts o configure las teclas de configuración de Screen.

Por ejemplo, para cambiar Control + a por Control + t como tecla principal de Screen podemos incluir la siguiente línea en un archivo llamado .screenrc en nuestro directorio personal:

escape ^Tt

En /etc/screenrc si estamos en Debian podemos encontrar un archivo de configuración base para Screen para no empezar la configuración de cero.

Con este uso básico de un multiplexor es mucho más fácil trabajar con distintas terminales de forma cómoda y rápida.

Tags: GNU/Linux
06 feb 2024

Temporizador

Ayer estaba en el césped de la Escuela en un tiempo muerto entre clases y se me ocurrió practicar un poco con el cubo 3x3 que tengo (un Yuxin Little Magic magnético, si no recuerdo mal), cronometrando mis tiempos.

Pero desde hace un tiempo no consigo que me funcione la red de la universidad, y, como hace relativamente poco que me instalé Debian 12 en mi Thinkpad X230, no tenía ningún programa para cronometrar el tiempo que tardo en hacer el cubo.

Miré el manual de Elisp, pero los temporizadores que hay sólo llegan a precisión de segundos, y yo necesitaba hasta las centésimas de segundo. Recordé que en informática de cuarto dimos temporizadores POSIX, pero no tenía ganas de ponerme a hacer un programa en C y tener que mirarme el estándar sólo para hacer un pequeño programa.

Me acordé de que existe un programa en GNU/Linux que se llama time, que cronometra el tiempo que tarda en ejecutarse un comando. Estuve mirando entre los programas en C que tenía de informática hechos por el profesor, y había uno que se llamaba pierde_tiempo.c.

El programa es tan sólo un bucle infinito, y sirve para demostrar el funcionamiento de los hilos y los procesos en C + POSIX. Pero lo interesante es que al combinarlo con time puedo saber con precisión de milésimas de segundo cuánto tiempo ha estado ejecutándose el programa hasta que lo pare con C-c.

Así, con una sola línea en la terminal, improvisé un cronómetro casero para poder cronometrarme con una precisión de centésimas de segundo. Añadí una macro de Emacs para poder pausar el programa con F12 y no perder tiempo pulsando C-c, y ya tenía todo listo, y sin usar internet en ningún momento.

Tags: emacs, rubik, GNU/Linux
05 ene 2024

Poniendo en marcha el Pinephone

Actualmente en el mundo GNU/Linux, hay 3 opciones destacadas para tener un móvil: Fairphone, Librem y Pinephone.

Con un precio de alrededor de 700€ y 1000€ para los dos primeros, no son opciones que estén al alcance de todos los bolsillos. Así que como opción económica sólo queda el Pinephone, que incluso en su versión Pro cuesta 400€, muy por debajo del Fairphone.

El Pinephone normal se puede adquirir por 150€ o 200€ a día de hoy, así que es la única opción de bajo presupuesto actualmente.

Debido a eso me lo he comprado, y como viene con un sistema operativo basado en Arch Linux, nada más encenderlo e intentarlo actualizar ya empezó a dar fallos.

Así que como no tenía tiempo que perder, decidí meterle Mobian y dejarme de líos. Desde hace ya muchos años uso Debian como sistema operativo principal, y como es la distribución más robusta que hay es difícil que falle.

Lo primero que vi que había que hacer según la documentación del Pinephone es instalar Towboot. Siguiendo los pasos de la propia web de Towboot es muy fácil de hacer, sólo hace falta una microSD y un lector de microSD. Una vez bajada la imagen no hay más que ejecutar el comando dd para grabarla en la sd.

Luego, otra vez con dd, copié una imagen de Mobian en la microSD. Al encender el Pinephone ya tenía Mobian instalado y lo configuré en un momento.

Me funcionan los datos, las llamadas, el wifi y la cámara. Ahora mismo no he visto que falle nada. Si bien es un prototipo y no es fiable, para el uso que le doy hasta ahora me ha ido todo perfectamente.

Alguna vez se me ha reiniciado, y si no se suspende la batería se acaba en un par de horas por un problema del módem EG25. Por lo demás, lo uso acompañado de una batería externa por si se me olvida suspenderlo.

Obviamente no tiene apps porque es un sistema GNU/Linux, no Android, pero es una pasada poder tener un ordenador de verdad en el bolsillo. Además mi edición venía con un dock USB tipo C para poder conectarlo por HDMI, y también tiene varios USB normales.

Con todo esto se puede montar en un momento un ordenador de sobremesa en cualquier lado, y llevártelo en el bolsillo a donde quieras. Espero que los móviles GNU/Linux sigan en desarrollo y se puedan ver en el futuro en las tiendas, de momento como opción económica y de prueba el Pinephone es un buen sustituto.

Tags: Pinephone, GNU/Linux
Other posts
Other posts
Creative Commons License
www.finaprosadigital.com by Carlos Pajuelo is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.