viernes, 28 de septiembre de 2018

¿Dónde buscar cuando tienes una duda o un problema en GNU/Linux?

Si alguna vez intentas hacer algo con tu distro y te sale un error, tienes una duda o quieres hacer algo especial, aquí tienes algunas pautas que te ayudarán a encontrar la solución a tu dilema.
 

Pautas

Lo primero es saber plantear la pregunta, usa español neutro y exprésalo de la manera más clara posible para encontrar la coincidencia.

Primero busca la solución por tu cuenta y, SI NO LA ENCUENTRAS, pregunta en foros, blogs, redes sociales, etc... 

Si has preguntado en un foro y luego encuentras la solución por otro lado, lo correcto es que te respondas a ti mismo con la solución y en el primer mensaje pongas al principio del título [solucionado], así servirá para la siguiente persona que se encuentre con el mismo problema que tú.

A veces, hay que buscar en inglés sobre todo si es una duda muy rara o muy técnica, aunque ya no es tan necesario como hace unos años.


Identificar el problema

Si es un programa que no se ejecuta o lo hace mal intenta lanzarlo desde consola, el texto que devuelva es lo que vas a tener que poner en el buscador para buscar la solución.
En la carpeta /var/log están los logs de los programas, que te van a dar información valiosa para buscar la solución.
Si es un componente de hardware lo puedes identificar para su posterior búsqueda con comandos como lshw, lspci, lsusb 

¿Dónde Buscar?

1. En el propio sistema (local en tu ordenador)

Si tienes duda sobre el manejo de un comando recuerda que puedes saber más acerca de su funcionamiento tecleando desde consola:
man comando_que_sea
Si la ayuda proporcionada no soluciona tu problema sigue leyendo.

2. Google y otros buscadores

Lo primero es buscar la solución por tu cuenta.
Afortunadamente hoy disponemos de la mayor base de conocimiento de la historia, pero es tan grande que es muy fácil perderse.

En el buscador podrías poner algo como lo siguiente:
Error que obtienes / duda + distribución + versión
La mayoría de buscadores permiten restringir la búsqueda en un determinado periodo de tiempo, si por ejemplo, dices que quieres los resultados publicados en el último año te vas a evitar perder el tiempo probado soluciones a problemas que se solucionaron hace años.
También puedes cambiar el orden o poner entre comillas lo que no quieres que se divida en el criterio de búsqueda para intentar sacar más resultados.

Algo muy útil es hacer que no muestren los vídeos de youtube, ya que muchas veces consumen mucho de tu valioso tiempo, ya que muchas veces te pones a ver cosas que no son lo que buscas, para ello añade al final lo siguiente a la cadena de búsqueda:
-site:www.youtube.com 

Si por el contrario no encuentras nada, abre el criterio de búsqueda quitando el número de versión o poniendo Linux en lugar del nombre de tu distro.

Prueba también duck duck go, un búscador que respeta más tu privacidad, aunque los resultados pueden ser diferentes.


3. Wikipedia y otros wikis

Cuando lo que busca es la definición de algo que no conoces o manuales genéricos para algo que quieres hacer es una excelente opción.

Mira también otros wikis especializados, incluso los que no son de tu distribución, por ejemplo, yo no solo miro los wikis de la familia Debian que es la distro que uso, para determinados casos también me han valido los de Arch, Suse y los de Red Hat.

Debes tener en cuenta que todo es GNU/Linux y por tanto hay soluciones que son válidas para todas las distros o son una aproximación muy buena para encontrar la solución para la tuya.
Las diferencias entre distros no son tan grandes como te las pintan, ni mucho menos.


4. YouTube, Vimeo, etc...

Es una buena opción cuando quieres hacer algo paso a paso, pero se pierde mucho tiempo viendo todo el vídeo cuando lo que necesitas saber es qué es lo que hay que poner en un determinado archivo de configuración, por ejemplo.
Por otro lado, no te vas a dar cuenta que no te vale hasta haber visto la mayor parte del vídeo.

5. Páginas oficiales

Excelente opción cuando quieres saber algo de un programa en concreto, quien mejor te va a explicar como funciona que sus creadores. 
Estas páginas suelen traer algún FAQ o wiki con los problemas más habituales y su solución.

6. Notas personales

Cuando encuentres la solución a un problema debes anotarlo y tenerlo a mano para cuando te vuelva a hacer falta, que puede ser dentro de años.

En mi caso este blog son mis notas personales de problemas con GNU/Linux, la ventaja de que sea público es que compartes el conocimiento y así te aseguras que no se pierde, os lo recomiendo, se aprende más que enseña.

Otra opción es create un archivo de libreoffice.org y así poderlo consultar aunque no tengas internet en ese momento.

7. Foros y blogs

Pueden ser muy útiles cuando son temas de una tecnología en concreto, también es donde se suele terminar usando los buscadores de internet.

8. Libros

Hay libros buenísimos para aprender temas de lo más variado, y muchos son gratis y de libre descarga.

9. Redes sociales

En algunas se aprende más que en otras y en otras se pierde más el tiempo que en otras.
Recomiendo suscribirse a perfiles de twitter o grupos de telegram como éste relacionados con GNU/Linux y tu campo de interés, todo lo que veas interesante te recomiendo que lo apuntes en tus notas personales siguiendo algún orden o lógica para que las puedas encontrar cuando te hagan falta.
A mi personalmente, las redes que te piden muchos datos como tu teléfono móvil no me gustan nada y trato de evitarlas.

Recuerda que lo más importante es usar el sentido común, esto no es la biblia, solo unas pautas para encontrar lo que quieres y necesitas.

Aprende a ser autosuficiente en lugar de depender de un prigao como hacen los windowseros. Aprende a ser libre.

viernes, 21 de septiembre de 2018

Crear una nueva categoria en el menú de Ubuntu MATE (II): desde consola

Vamos a ver como crear una categoría de menú en Ubuntu MATE desde la consola, muy útil para hacer un script de instalación o inclusiones masivas/automáticas, por ejemplo.

Al lío.
  1. Lo primero sería disponer de los iconos que vayamos a utilizar tanto para los lanzadores como para la categoría, si no queremos tener que poner la ruta completa deberían estar en /usr/share/pixmaps
  2. Creamos los lanzadores en la carpeta ~/.local/share/applications/, podríamos crear uno para el emulador caprice que se llamara menulibre-caprice32.desktop con el siguiente contenido:
    [Desktop Entry]
    Version=1.1
    Type=Application
    Name=Caprice32 (CPC emulator)
    Name[es]=Caprice32 (emulador CPC)
    Comment=Amstrad CPC/CPC+ emulator
    Comment[es]=Emulador Amstrad CPC/CPC+
    Icon=cpc6128
    Exec=cap32
    Actions=
    Categories=menulibre-emuladores;
  3. Creamos los directorios necesarios para la categoría:
    mkdir -p ~/.config/menus/applications-merged
    mkdir -p  ~/.local/share/desktop-directories/
  4. Creamos el archivo ~/.local/share/desktop-directories/menulibre-emuladores.directory con el siguiente contenido:
    [Desktop Entry]
    Version=1.1
    Type=Directory
    Name=Emulators
    Name[es]=Emuladores
    Comment=Emulation and retrocomputing
    Comment[es]=Emuladores y retroinformática
    Icon=3disk
  5. Creamos el archivo ~/.config/menus/applications-merged/user-menulibre-emuladores.menu como administrador con vim, leafpad o el editor que queramos con este contenido:
    <!DOCTYPE Menu PUBLIC "-//freedesktop//DTD Menu 1.0//EN"
        "http://www.freedesktop.org/standards/menu-spec/menu-1.0.dtd">
    <!-- Do not edit manually - generated and managed by xdg-desktop-menu -->
    <Menu>
        <Name>Applications</Name>
    <Menu>
        <Name>menulibre-emuladores</Name>
        <Directory>menulibre-emuladores.directory</Directory>
        <Include>
            <Filename>menulibre-caprice32.desktop</Filename>
        </Include>
    </Menu>
    </Menu>
  6. Si quieres incluir más elementos dentro de la categoría solo hay que repetir el bloque <Menu></Menu> interior con los datos correspondientes de cada lanzador.
Aprovecho esta investigación para que mi script de instalación de herramientas LDraw cree una nueva categoría de menú 'Tente y Lego 3D".


Posiblemente funcione con cualquier distro de la familia Debian y con otros entornos gráficos, en los comentarios podéis contarnos vuestras experiencias en este sentido.

Enlaces de interés

sábado, 15 de septiembre de 2018

Feliz día del software libre 2018

Hoy estamos de celebración todos los amantes del software libre ya que hoy es su día.

Recordemos que usamos software libre no solo por razones filosóficas sino por razones muy pragmáticas como:
  • Si tienes el código puedes modificar el programa y no dependes de los caprichos de una compañía que decide que ese producto que a ti te interesa y necesitas a ellos no les compensa o te lo pone a un precio prohibitivo y tienes que tragar porque en la próxima actualización del sistema deja de funcionar.
  • Si se usan formatos abiertos, esos archivos puedes abrirlos con otros programas o incluso hacer, o mandar hacer, uno que los lea y se ajuste a tus necesidades.
  • La transparencia es un valor muy importante hoy en día, y que hay más transparente que ver como está hecho el programa.
  • Incluso los que usan software propietario se benefician del software libre, ya que si no existiera hace tiempo que tendrían condiciones mucho más leoninas que las que tienen que soportar (o han elegido seguir soportando).
En fin, ¡feliz día del software libre! y recuerda, lo que no se comparte se pierde.

sábado, 8 de septiembre de 2018

Crear una nueva categoria en el menú de Ubuntu MATE (I): la solución gráfica

Imagina que, en el menú Aplicaciones, tienes muchos emuladores en una saturada categoría de los juegos, ¿no estarían mejor en una nueva categoría 'Emuladores'?
Hoy vamos a ver como crear una nueva categoría de menú de manera gráfica, más adelante veremos como hacerlo desde consola y así poder incluirlo en un script de instalación.

MATE incluye la aplicación mozo para añadir elementos a las diferentes categorías pero es poco intuitiva y muy confusa para crear categorías nuevas.
Para acceder a mozo hacemos clic con el botón derecho sobre la opción 'Aplicaciones' y seleccionamos 'Editar menús'.


Por ello es mejor instalar la aplicación menulibre desde los repositorios oficiales de tu distro, una vez instalada, al hacer clic con el botón derecho sobre Aplicaciones ahora se ejecutará esta aplicación que nos va a dar mucho más juego.



Si pulsamos en el botón + podemos crear:
  • Lanzador: un acceso directo a un programa concreto, se crea en la categoría que tengamos seleccionada.
  • Carpeta: una categoría en la que incluir más lanzadores, también permite crearla dentro de otra carpeta o categoría.
  • Separador: para incluir una línea de separación entre elementos.
Tanto si creamos un lanzador como una carpeta hay que pulsar el botón de guardar una vez hayamos rellenado todos los campos con la información de dicho elemento para que el cambio sea efectivo.


Otras opciones interesantes de la herramienta:
  • Cambiar la posición de los elementos con las flechas que aparecen en la esquina inferior izquierda.
  • Añadir categorías a los lanzadores.
  • Etc...
Como curiosidad puedes ejecutar mozo o menulibre desde consola escribiendo sus nombres en minúsculas sin espacios de separación.

Relacionado con esto, también se puede cambiar el icono para un determinado tipo de archivo.

domingo, 2 de septiembre de 2018

Volver a ejecutar aplicaciones java en Ubuntu MATE 18.04: solución y caza del "bug"

Hoy me he llevado una desagradable sorpresa al ejecutar jEdit que se negaba a funcionar.

Cuando ocurre esto lo mejor que hay para encontrar la solución es lanzar el programa desde consola
jedit
y ver que error devuelve, a mi me llama la atención la siguiente línea:
...
20:51:03 [main] [error] main: java.awt.AWTError: Assistive Technology not found: org.GNOME.Accessibility.AtkWrapper
...
Pongo el error en el buscador de internet, quitando la hora lógicamente, y salen algunas páginas que me dan pistas de cual es la solución, al final hay que comentar la siguiente línea (poniéndole un caracter almohadilla '#' al principio):
assistive_technologies=org.GNOME.Accessibility.AtkWrapper
en el archivo /etc/java-X-openjdk/accessibility.properties donde X es la versión de java instalada, como yo tengo la 8 y la 11 he comentado la línea en ambos.

En fin, otro error incomprensible de Ubuntu 18.04, del que me estoy arrepintiendo de haberle dado otra oportunidad en el i7 que se ha solucionado con calma y un poco de sentido común, como siempre.

En todo caso tampoco descarto que sea culpa de java que no pasa por sus mejores tiempos.