Votaciones para los fondos de pantalla de Ubuntu 19.04 Disco Dingo

Hasta este viernes se podrán votar hasta 10 fondos de pantalla desde la el foro de Ubuntu Discourse. Tened en cuenta que el plazo de votación se acaba el 22 de marzo de 2019, así que ¡¡daos prisa!!

He de decir que he hecho mi pequeña aportación a este “concurso” con tres imágenes, que son las que pongo abajo.

Pongo también enlaces a la descarga del tamaño original de cada una de las fotos. Yo las uso como mis fondos de pantalla, así que si alguno queréis hacer lo mismo, adelante.

On the harbour
On the harbour (Flickr, Ubuntu Discourse link). Licencia: CC-By-Sa
Industrial colors (Flickr, Ubuntu Discourse). Licencia: CC-By-Sa
Inside Green (Flickr, Ubuntu Discourse). Licencia: CC-By-Sa

Montando NFS con systemd

Últimamente he estado jugando con un NAS antiguo que tiene NFS y Syncthing, para aquello de montarte tu propia nube privada. Si me termino enterando de cómo funciona todo eso, quizás haga un artículo y lo publique aquí, ftr.

Sin embargo, antes de tener todo nuestro edificio construido, es necesario comenzar por los cimientos. Y estos cimientos no son otros que el acceso a los volúmenes de datos, por supuesto.

Esquema de funcionamiento deseado
Esquema de funcionamiento deseado

Mi objetivo primordial va a ser exponer mi NAS de 3Tb a la red usando un ordenador cualquiera (en este caso una máquina con Manjaro instalada, pero podría valer para una raspberry), para poder salvar el escollo de no tener un NAS de última generación que nos permita instalar en él mismo la aplicación de Syncthing.

Al tratarse de dos sistemas diferentes, la solución que utilicemos debe ser lo suficientemente resiliente como para poder recuperarse ante un corte en la red y reanudarse cuanto antes. También quiero poder iniciar mi ordenador normalmente sin tener activo el NAS (el cual no uso mucho y no quiero malgastar electricidad para usarlo realmente unas pocas horas).

Lo primero que se nos podría ocurrir sería tirar de /etc/fstab creando una entrada como ésta:

192.168.1.256:/mnt/md1 /mnt/NAS nfs rw,hard,intr,timeo=14,bg 0 

Si os habéis fijado, hemos especificado la opción bg al final. Con esto lo que queremos pedir al sistema es que lanze un demonio (que debe correr como background) para que trate de montar el volumen cada cierto tiempo.

Hasta aquí todo funciona perfecto, no? Podemos probar con el comando

mount -a

y vemos que si nuestro NAS está desconectado, tratará de montarlo varias veces, sin éxito, hasta que lo conectamos, que es cuando está disponible nuestra carpeta /mnt/NAS. Utilizando el comando journalctl -e podemos ver el log del sistema y ver que realmente ha hecho lo que queríamos.

Peeero… Si hubiera sido tan sencillo, ¿crees que realmente me hubiera molestado en hacer este pequeño tutorial? Probablemente no…

Continuar leyendo “Montando NFS con systemd”

[Tip] Activar servidor SSH en Manjaro

consola con el comando sudo systemctl enable sshd
Ejemplo de ejecución

No es algo nada difícil, pero en ocasiones viene bien tenerlo a mano. Simplemente tendremos que usar Systemd para gestionar el demonio sshd que es el que se encarga de gestionar el acceso:

Con este comando podemos decir a Systemd que lo deje activado “para siempre”:

sudo systemctl enable sshd

Si queremos desactivarlo en algún momento, simplemente tendremos que cambiar la palabra enable por disable.

Adicionalmente, si lo queremos sólo para nuestra sesión usaremos este otro. Quizás es lo que buscas si no tienes pensado usar tu máquina como un servidor, y te evitarás dejar puertos abiertos innecesariamente:

sudo systemctl start sshd

Para este otro caso, si queremos apagar el servicio ssh sin tener que reiniciar el ordenador, cambiamos start por stop.

Usando LaTex en Atom

Quizás haya formas mucho mejores para editar código LaTeX en Linux, pero ya que podemos hacer un montón de cosas con Atom y existen las extensiones para ello, también podemos editar documentos LaTeX. No he encontrado un asistente que configure un documento desde el principio, pero no creo que sea demasiado problema coger la base que tengamos de un documento anterior.

Documento LaTeX en Atom
CV de billryan/resume@GitHub en Atom usando el resaltado de sintaxis.

Tenemos unas cuantas extensiones que nos facilitarán nuestra tarea:

  • language-latex: Habilita el coloreado de sintaxis para los documentos .tex
  • latex: Añade soporte para compilar documentos LaTeX en Atom.
  • latexer: Permite el autocompletado de sentencias LaTeX.
  • pdf-view: Esta extensión nos permite ver en una pestaña nueva un PDF, en nuestro caso, el que haya generado el compilador de LaTeX.

Por supuesto, no estamos limitados sólo al compilador de LaTeX, sino que con la extensión latex si entramos en la zona de configuración, podremos seleccionar qué motor de TeX queremos. Os recomiendo echarle un ojo a todas las configuraciones de los paquetes propuestos.

Una opción alternativa que a mí me gusta bastante, es generar un Makefile para nuestro proyecto, de esta forma podemos utilizar varias herramientas que tenemos en Atom para ejecutar make y compilar en un PDF nuestro archivo. Como extra, está configurado para tener una carpeta más o menos limpia, en el sentido de que los archivos que se generan en la compilación están siempre dentro de una carpeta que se llama build/

He copiado en un gist el fichero que necesitaríamos. Tenemos que copiarlo a la carpeta donde se encuentre nuestro .tex y cambiar la primera línea del Makefile, indicando el nombre correcto del archivo.

No, no me he olvidado de la extensión que he mencionado antes. Primero necesitamos instalar el paquete build y después build-make.

Hipervitaminando Atom con plugins

Hoy quiero enseñaros algunos plugins que no te solucionarán la vida especialmente, pero al menos sí que te hará más agradable el tiempo que estés programando.

El primero nos hará sentir como si usásemos Sublime Text. Una de las cosas más características que vemos en este último editor es que tenemos a la derecha un mapa en pequeño donde ver el código, y nos permite navegar mucho más fácilmente a la zona que queramos.

Archivo de código Python con el minimap activado en la derecha
Archivo de código Python con el minimap activado en la derecha

Esta extensión se titula minimap. Es bastante útil cuando estás trabajando con un fichero más o menos largo habitualmente, ya que con el tiempo te habitúas a ver la zona del código que más usas simplemente con ver la estructura. Para los que tenemos memoria visual, es muy útil.

El segundo plugin que podemos instalar es un paquete de iconos que nos pondrá una imagen más descriptiva que el aburrido icono por defecto en cada archivo. Se llama file-icons.

Árbol de archivos de un proyecto python
Árbol de archivos de un proyecto python

Todas las capturas de pantalla que he puesto por aquí son de este proyecto en Github, por si queréis echarle un ojo 🙂

[Tip] Disk Usage (du): comando alternativo a Baobab para ver el consumo de disco duro

Últimamente, sobre todo después de hacerme con un SSD de 256 GB, el espacio no es algo que se pueda derrochar, y siempre estoy pendiente de cada GB que estorbe para eliminarlo o moverlo a un disco externo. Aunque esto no es único del entorno “doméstico”: muchos servidores virtuales VPS suelen ofrecer capacidades de almacenamiento más bien comedidas y es necesario no exceder demasiado aquello que vayas a guardar en el servidor para no encontrarte con problemas serios de funcionamiento.

Baobab analizando la carpeta raíz del sistema
Baobab analizando la carpeta raíz del sistema

Bueno, el caso es que la aplicación Baobab, también conocida como Analizador de uso de disco duro, es tremendamente fácil de utilizar a la par de cómoda, pero dependes sí o sí de la interfaz gráfica. Pero, ¿qué pasa cuando no puedes disponer de una herramienta gráfica? Nada en absoluto, ponemos a funcionar la terminal y utilizamos Disk Usage (abreviado como du).

Esta utilidad es parte del proyecto coreutils de GNU, y como tal suele venir incluida. En caso contrario, busca el paquete coreutils o uno parecido en tu distribución. Su uso es bastante sencillo a la par de útil: sólo hay que indicar un par de opciones para entender mejor la salida y la carpeta a analizar.

du -h -d 1 /home/cambiadeso

Vayamos por partes:
* du: Es el comando abreviado, con el cual llamamos al programa
* -h: Como en ls, es una opción para hacer el tamaño de las carpetas “legible para humanos”, es decir, muestra los tamaños en bytes, kilobytes, megabytes, etc…
* -d 1: -d es la opción para indicar el nivel de profundidad del árbol a visualizar. Con esto, sólo veremos un subnivel de la carpeta que estemos mirando.
* /home/cambiadeso: Esta es la carpeta que queremos analizar.

La salida es como esta

12K ./Plantillas
6,5G ./Documentos
4,0K ./Público
58M ./Imágenes
48M ./Vídeos
3,9M ./Escritorio
3,1G ./Descargas
18G .

Y como truquillo: podemos ordenar de mayor a menor uso si le añadimos el comando sort de esta forma:

du -h -d 1 /home/cambiadeso | sort -h

Saludos 🙂

Expresiones regulares en Atom

Desde luego que esto daría para una entrada extensa, con pelos y señales de cómo funcionan, pero ni yo mismo todavía lo entiendo del todo. Pero al menos quiero enseñaros un poco cómo funcionan en un caso concreto donde yo las he usado, que nunca viene nada mal.

Donde son realmente útiles es en la función de buscar y reemplazar de Atom. Para abrirlo con un atajo de teclado deberemos pulsar Ctrl+F, y para activarlo debemos ir a la derecha de la ventana que nos aparece y pulsar el botón “.*”, que activará las expresiones regulares en ambos campos de buscar y reemplazar.

Detalle de la ventana de buscar y reemplazar de Atom
Detalle de la ventana de buscar y reemplazar de Atom

Con ellas podemos hacer cosas bastante complejas. Por ejemplo, un caso práctico: En un documento, buscar todas las palabras que estén entre comillas simples y cambiarlas por comillas dobles. Para casos normales, podríamos aplicar simplemente la sustitución del carácter ‘ por el de “, pero si tenemos comentarios donde utilizamos esa comilla simple, también nos lo comvertirá a comilla doble.

Es importante tener dos conceptos claros. En el cuadro de búsqueda, tendremos que poner una expresión regular que encaje con lo que queremos encontrar o seleccionar, y en el cuadro de reemplazar, tendremos que poner exactamente la cadena que lo reemplaza utilizando una variable.

Siguiendo con el ejemplo mencionado anteriormente, vamos a crear la expresión regular que cambie las comillas simples por otras dobles.

En el cuadro de búsqueda pondremos entre dos comillas simples nuestra expresión regular (\w.*), que quiere decir buscar cualquier número de palabras. En el cuadro de reemplazar, pondremos la variable que hemos encontrado ($1) entre comillas dobles, consiguiendo así reemplazar lo que queremos.

Ventana de RegExp en Atom
Ventana de RegExp en Atom

En general, la sintaxis que se sigue para estas expresiones regulares es la de Javascript, por lo que si necesitáis un uso más concreto, podéis consultar esta documentación.

Instalar impresora Brother MFC J480DW en ArchLinux

Hace no mucho tiempo me hice con una impresora Brother, un poco ya cansado del precio excesivo que tenían tienen los cartuchos de las impresoras HP. Sin embargo, si alguna vez habéis tenido una impresora de esta última marca os habréis fijado que prácticamente no hay que hacer nada, en Linux es todo bastante sencillo, e incluso existe la herramienta hplip, que provee de una interfaz gráfica para administrar (de mejor o peor manera) la impresora.

Brother por su parte no tiene un soporte tan bien trabajado, o al menos, no es todo tan sencillo como en HP. Pero siguiendo todo paso a paso veremos que conseguiremos tener nuestra impresora imprimiendo en un periquete. Continuar leyendo “Instalar impresora Brother MFC J480DW en ArchLinux”