Categorías
GNU/Linux CentOS Dropbox

Instalar Dropbox en CentOS Stream

Al instalar el paquete rpm que Dropbox ha desarrollado para Fedora en CentOS Stream veo que no funciona correctamente del todo, pues tiene dos carencias que yo considero importantes: no se arranca automáticamente al inicio y no te muestra los emblemas de sincronizado o no en el navegador de archivos.

Ambos errores se solucionan si en vez de instalar el paquete lo compilamos desde la fuente. Para ello hacemos lo siguiente:

Descargamos el código fuente de la página de descargas de Dropbox.

Instalamos el entorno necesario para compilar paquetes:

sudo dnf groupinstall 'Development Tools'

Instalamos las librerías necesarias para la compilación:

sudo dnf install nautilus-devel python3-docutils

Nos situamos en el directorio donde hayamos descargado el código fuente y lo descomprimimos ejecutando:

tar xjf ./nautilus-dropbox-20220.03.04.tar.bz2

Esto nos crea una carpeta cuyo nombre se corresponderá con la versión que hayamos descargado. Nos situamos en ella con:

cd ./nautilus-dropbox-2020.03.04

Y ejecutamos:

./configure

Al terminar este comando comprobamos la salida que genera para ver que no ha dado problemas de dependencias. Si todo ha ido bien ejecutamos:

make

sudo make install

Una vez hecho esto ya tendremos el icono de Dropbox al pulsar en “Actividades”. Al lanzarlo la primera vez se ejecutará la descarga del daemon y cuando termine la instalación ya podremos ver el directorio de Dropbox con los emblemas correspondientes.

Tenemos que tener presente que al igual que ocurre con todos las aplicaciones que compilamos desde los fuentes, para actualizarla a una versión posterior tendremos que descargar y compilar la nueva versión repitiendo de nuevo todo el proceso.

Categorías
Debian GNU/Linux

Instalar MySQL Workbench en Debian 10

Para poder instalar el programa MySQL Workbench en Debian 10 hay que instalar previamente una serie de dependencias sin las cuales no funciona correctamente. El proceso de instalación es como sigue:

  1. Descargar el paquete deb de la página de MySQL Workbench, necesitamos el correspondiente a Ubuntu 18.04 y la versión 8.0.23:

2. Actualizamos el sistema e instalamos las siguientes librerías:

sudo apt update && sudo apt upgrade
sudo apt install libatkmm-1.6-1v5 libglibmm-2.4-1v5 libgtkmm-3.0-1v5 libsigc++-2.0-0v5 libtinfo5 libcairomm-1.0-1v5 libpangomm-1.4-1v5 libpcrecpp0v5 libproj-dev proj-bin gnome-keyring

3. Instalamos el paquete en el directorio donde lo hayamos descargado:

sudo dpkg -i mysql-workbench-community_8.0.23-1ubuntu18.04_amd64.deb

En mi caso, como uso KDE, necesité instalar el gnome-keyring porque si no me daba error al intentar guardar la password para la conexión.

Hay que recordar que tenemos que tener la versión MySQL Server 5.7, pues versiones posteriores dan problemas.

Categorías
GNU/Linux

Cómo crear una red social propia con HumHub

Hace un tiempo escuché a un político bocazas al que habían censurado en una red social decir algo como: “¡Pues si me echan de su red social me construiré yo una propia!”. A dicho personaje el dinero le sobra, por lo que construirse una red social propia para él no tendría más problema que tirar de talonario. ¿Y nosotros, simples y no muy adinerados mortales? ¿Podríamos construirnos una red social con nuestros escasos medios? Investigué un poco y la respuesta es sí, podemos hacerlo gracias a una serie de tecnologías y servicios gratuitos a nuestra disposición, como son HumHub, No-IP y por supuesto GNU/Linux. El material y los programas necesarios, así como el proceso de creación de dicha red social sería el siguiente.

ATENCIÓN – DISCLAIMER : Este procedimiento implica que vas a tener conectado un equipo a internet con el riesgo que eso conlleva. Es responsabilidad de cada persona que mantenga su servidor actualizado y protegido contra accesos no deseados o utilizaciones del servidor ajenas a la voluntad de sus propietarios. Si no sabes cómo mantener seguro tu servidor, no sigas estas instrucciones, no solo te pones tú en peligro, también pones en peligro a quienes serán atacados usando tu servidor.

Componentes de nuestra red social

  1. Hardware.
    • Servidor. Nuestra red social necesita un servidor en el que alojarse, que puede ser propio o alquilado. La versión de alquiler es más robusta y nos simplifica problemas, pero hay que pagarlo todos los meses. Un servidor físico propio solo tenemos que pagarlo una vez, pero tenerlo encendido continuamente y conectado a internet nos supondrá un coste. Tendremos que ponderar qué nos resultará mejor a la larga. En el caso de optar por un servidor propio cualquier ordenador antiguo nos puede valer, pero si podemos gastar algo de dinero en un miniordenador a la larga la factura eléctrica será menor y el dinero gastado inicialmente se amortizará con el uso. En mi caso he optado por un Slimbook Zero, pero cualquier aparato en el que podamos instalar una distribución GNU/Linux nos valdría.
    • Equipo de red. Si hemos optado por alquilar un servidor no necesitaremos más, pero si vamos a conectar nuestro servidor a internet tendremos que tener una conexión de fibra a internet y un router.
  2. Software.
    • Como sistema operativo puedes usar la distribución GNU/Linux que más te guste. Esta guía la voy a realizar en Debian 10, pero sería muy similar en cualquier otra distribución. Recomiendo que sea una distribución orientada a servidores más que a escritorio.
    • Entorno LAMP (Linux – Apache – MySQL – PHP)
    • Framework HumHub.

Instalación

Una vez tengamos preparados e instalados todos los componentes básicos, procedemos a la instalación de la red social propiamente dicha, siguiendo la guía que el propio HumHub tiene publicada. Esta guía es muy completa y está muy bien explicada, podemos seguirla prácticamente en el mismo orden y de la misma manera, pero incluyo aquí algunas consideraciones que si no tenemos en cuenta nos pueden dar lugar a error.

1 – En primer lugar comprobamos que nuestro sistema cumple todos los requerimientos de HumHub.

2 – En segundo lugar tenemos que configurar el servidor de datos, creando una base de datos específica para nuestra red siguiendo lo indicado en la citada guía en su aparado Base de datos.

3 – Instalamos todos los módulos de PHP que vamos a necesitar y configuramos el php.ini con las necesidades del framework, tal y como aparece en el apartado PHP de la guía de HumHub.

4 – A continuación, si no tenemos alquilado un servidor en internet que normalmente llevará incluido su propio dominio para acceder a él, tendremos que obtener una url que nos permita acceder a nuestra red, a nuestro servidor local desde internet. Para conseguirlo podemos usar el servicio No-IP, el cual nos permite configurar un dominio DDNS que podemos dirigir a nuestro router y desde allí a nuestro servidor. El servicio gratuito incluye hasta tres host:

En su página web podemos descargarnos un programa cliente que nos actualiza nuestra dirección IP cada cierto tiempo.

5 – Tenemos que configurar en nuestro router dos cosas: a) que nuestro servidor tenga una IP fija local (del estilo 192.168.0.10) haciendo que el router le adjudique siempre la misma IP a su tarjeta de red; y b) redirigir los puertos 80 y 443 a esa IP desde el exterior. Esto se realiza de forma diferente en cada router, por lo que tendremos que ver en su documentación cómo hacerlo.

6 – Una vez hayamos configurado router y servicio No-IP comprobaremos que podemos acceder a nuestra dirección tecleando en el navegador nuestro dominio y verificando que la página que se nos muestra es la página inicial de nuestro servidor Apache.

7 – Ahora ya podemos configurar nuestro servidor Apache siguiendo las instrucciones de la guía de HumHub para configurar el servidor. En este paso hay que tener en cuenta que para poder ejecutar la petición de un certificado con certbot necesitamos previamente parar el servidor Apache con la instruccion “sudo systemctl stop apache2”, algo que no viene en la guía y que nos puede atascar en este paso si no lo tenemos en cuenta. Una vez que la instalación de un cerificado standalone termina correctamente, entonces ya podemos volver a arrancar el servidor con el comando “sudo systemctl start apache2”. Si queremos saber más cosas de certbot y para qué sirve, podemos consultar la página web de Certbot y la de Let’s Encrypt.

8 – Instalar HumHub. Este es ya el último paso, y aparece especificado en la guía de HumHub en la página de instalación del framework. Su puesta en marcha es muy similar a otros framework como Drupal o WordPress, está basado en Yii y cuenta con varios módulos que pueden cubrir nuestras necesidades en nuestra nueva y propia red social.

En caso de querer aumentar sus funcionalidades habría que aprender PHP, estudiar cómo está construido el framework Yii y construir nosotros nuestros propios módulos. Por aprender y construir cosas que no quede, y si además luego las publicamos como software libre para que todos puedan beneficiarse de ellas, mejor.

Finalmente y si todo ha ido bien ya tendremos construida nuestra red social propia, pero lo que hace interesante a una red social es el número de personas que la usan y las interacciones posibles entre ellas, y en mi caso como no conseguí animar a nadie a usarla, todo esto solo me sirvió para aprender y consolidar mis conocimientos de cómo funciona internet. En caso de que queramos seguir investigando, la mayoría del procedimiento sirve también para tener por ejemplo nuestro propio blog en el sercidor de casa si instalamos WordPress, o nuestra propia nube si en vez de instalar HumHub instalamos OwnCloud, por ejemplo. Ya sabéis lo que se dice de La Nube y que lo podemos decir también de todos los servicios de internet:

Categorías
GNU/Linux Windows

Conectarse a un equipo Linux desde Windows con XRDP

Para conectarse a un equipo GNU/Linux desde Windows con la conexión a escritorio remoto tenemos que instalar el programa xrdp en el equipo Linux y configurarlo para permitir el acceso. Esto se realiza de la forma siguiente:

  1. Instalar xrdp
sudo apt update && sudo apt upgrade
sudo apt install xrdp
sudo systemctl enable xrdp
sudo systemctl start xrdp

2. Configurar los permisos para acceder al equipo

sudo ufw enable
sudo ufw allow 3389/tcp

3. IP de conexión.

Necesitamos saber la IP de nuestro equipo. Una manera de saberlo es mediante el comando ifconfig. Tenemos que tener en cuenta que la IP será distinta si estamos accediendo al equipo Linux desde una red local, en cuyo caso solamente necesitamos saber la IP local, que será del estilo 192.168.n.n; o si estamos accediendo desde internet, para lo cual necesitaremos no solo saber la IP de conexión a nuestro router sino también abrir y redirigir el puerto 3389 a la IP local del equipo Linux.

4. Conectarnos desde Windows

En Windows, abrimos la aplicación “Conexión a escritorio remoto” e introducimos la IP de conexión

Se nos abrirá la ventana de conexión en la que tenemos que introducir el usuario y contraseña de la sesión linux:

A continuación se nos abrirá el escritorio linux que tengamos configurado por defecto en Linux. Hay que tener en cuenta que si ya hemos hecho login en la sesión gráfica (KDE, Gnome, …) de la máquina Linux local, no nos admitirá una sesión remota con el mismo usuario, por lo que tendremos primero que cerrar la sesión en local para poder acceder desde el otro equipo. Si solamente tenemos hemos hecho el login en alguno de los terminales (por ejemplo tty2, que se abre en Linux con Ctrl+Alt+F2) entonces sí que podremos abrir una sesión gráfica desde el escritorio remoto.

Este procedimiento lo he realizado con un equipo Windows 10 Home y un equipo Debian GNU/Linux 10.7. Para hacer esta entrada me he basado en la publicación: https://linoxide.com/linux-how-to/xrdp-connect-ubuntu-linux-remote-desktop-via-rdp-from-windows/

Categorías
GNU/Linux Linux Mint

Instalar Web Apps en Linux Mint 20.01

Acaba de liberarse la versión 20.01 de Linux Mint (sí, parece que debería de ser la versión 21.01, pero no, el primer número no se refiere al año) y con ella llega una característica que es bastante interesante: las Web Apps o aplicaciones web. Éstas consisten básicamente en la posibilidad de ejecutar aplicaciones web en una ventana de aplicación en vez de en el navegador.

Así, podremos crear una aplicación web con, por ejemplo, YouTube o Gmail, y ejecutarla directamente desde el menú de aplicaciones, desde un lanzador o desde el panel. Con ello ganamos rapidez en el acceso, pues eliminamos la necesidad de abrir el navegador, navegar hacia la página deseada e introducir nuestras credenciales en el caso de que no las tengamos guardadas en el navegador. Esta última característica me parece interesante porque las credenciales de la aplicación web se guardan en local, no en el navegador, por lo que solo alguien con acceso físico a nuestro ordenador podría entrar en ellas. De nosotros dependerá, claro está, mantener seguro el acceso a nuestro equipo.

Para crear una aplicación web en Linux Mint (yo estoy usando la versión con escritorio Cinnamon) procederemos de la siguiente forma:

  1. Iniciamos el menú de aplicaciones, y en el apartado Internet, seleccionamos “Aplicaciones web”.
  2. Se nos abre una ventana en la que pulsando en el “+” podremos añadir una aplicación, dando el nombre y la dirección web en la que se encuentra, en qué categoría del menú de aplicaciones queremos que aparezca y qué navegador se usará para ejecutarla.
  3. Una vez creada nos aparece en la ventana inicial, y para ejecutarla pulsamos en el icono con forma de puntero de cursor.

Un problema que he observado es que las aplicaciones no me aparecen en el menú una vez creadas, pero es fácil de resolver: abrimos la aplicación y en el icono que aparece en el panel pulsamos el botón derecho seleccionando la opción “Crear un atajo”. Así, ya nos aparece en el menú en la categoría “Internet” pudiendo luego, si lo deseamos, moverla a otro apartado, anclarla al panel, etc. como con cualquier otra aplicación.

En el caso de conectarnos a Gmail con una Web App de esta forma un problema que podemos encontrar es que si pulsamos en algún enlace de un correo, éste se nos abre en la misma ventana de aplicación, y no tenemos opción de volver atrás, así que para volver al correo tenemos que cerrar la aplicación web y volver a abrirla. Para evitar este comportamiento, basta con que en vez de pulsar en los enlaces con el botón izquierdo, pulsemos con el botón derecho y seleccionemos “Abrir en una nueva ventana” y así, al cerrar esta nueva ventana, la ventana inicial del correo permanecerá abierta.

Categorías
GNU/Linux OpenSUSE

Instalar PyCharm en KDE

Pycharm es uno de los mejores IDE que existen para programar en Python, y la versión Community gratuita tiene suficiente funcionalidad como para ser usada en nuestros proyectos personales.

Tiene versión para Linux y su instalación (sin usar snap) sería como sigue:

Acceder a la página web de descargas de PyCharm y obtener el fichero pycharm-community-[versión].tar.gz correspondiente a la versión Community para Linux.

Acceder al directorio donde hayamos descargado el fichero y descomprimirlo en el directorio /opt con el comando:

sudo tar -xzf pycharm-community-[versión].tar.gz -C /opt

Reemplazando [versión] con la que corresponda a nuestra descarga, en mi caso ha sido la “2020.3.2”.

Para lanzar el IDE solo queda ejecutar desde una consola el script pycharm.sh:

sh /opt/pychar-community-[versión]/bin/pycharm.sh

La primera vez que se lanza nos aparece una ventana en la que se nos solicita la aprobación de la política de privacidad; a continuación salta otra ventana en la quee se nos pregunta si queremos enviar datos anónimos de uso; finalmente nos aparece una ventana en la que se nos pregunta si queremos crear un nuevo proyecto, abrir uno existente o crearlo desde algún gestor de fuentes (github, etc).

Con esto ya tendríamos el IDE preparado para ser usado, pero en vez de lanzarlo desde el script en consola es mejor crear un lanzador en el menú de KDE. Esto podemos hacerlo directamente desde el IDE, accediendo a la opcion /Tools/Create Desktop Entry… del menú.

Esto nos crea un lanzador en el submenú de aplicaciones. En caso de que no nos incluya en icono propio de PyCharm y nos aparezca un icono genérico de lanzador de aplicaciones, podemos cambiarlo pulsando con el botón derecho en el lanzador, seleccioonando “Editar aplicación”, pulsamos en el icono y en la ventana que aparece seleccionamos “Otros iconos” y navegamos a la carpeta bin donde se encuentra el script de lanzamiento, pues en ella tenemos también el icono pycharm.svg.

Con esto ya tendríamos instalado PyCharm en nuestro KDE. En mi caso he utilizado la distribución OpenSUSE Leap 15.2 pero el procedimiento sería similar en cualquier otra distribución con escritorio KDE.

Categorías
Access GNU/Linux Microsoft

Leer archivos Access desde Linux con mdbtools

El formato .mdb de Microsoft Access es propietario y su uso se restringe a los entornos de trabajo Windows, lo cual implica no solo tener el sistema operativo de Microsoft sino además haber comprado una licencia de Office. Al no poder trabajar de forma directa con ellos en Linux, ya existen aplicaciones que nos permiten leerlas, como son por ejemplo DBeaver o Kexi. Sin embargo, puede que no necesitemos un programa tan completo, sino que solo nos interese extraer la información contenida en el Access para luego procesarla por otros medios. Para este cometido lo más sencillo es utilizar la herramienta mdbtools. Aunque podemos bajarnos el código y compilarlo, es más fácil utilizar los gestores de paquetes de cada distribución Linux, por ejemplo en Fedora o cualquier distribución basada en Red Hat la forma de hacerlo sería:

sudo dnf install mdbtools

Una vez instalada, tenemos a nuestra disposición varios comandos, uno de los cuales es mdb-export, que nos permite exportar una de las tablas contenidas dentro del archivo Access a un fichero de texto plano con formato csv de esta forma:

mdb-export nombre_Access nombre_tabla > nombre_fichero.csv 

Donde nombre_Access es el nombre del ficho Access; nombre_tabla es el nombre de la tabla dentro del Access de la que queremos obtener los datos; y nombre_fichero.csv es el nombre del fichero de texto en el que queremos guardar la información. Existen más opciones para la exportación de datos que pueden consultarse simplemente tecleando “mdbtools” en la consola:

En caso de que no conozcamos a priori los nombres de las tablas incluidas en el Access, podemos obtenerlos con el comando:

mdb-tables nombre_Access

Existen más comandos que podemos usar, y podemos obtener una lista de ellos si tecleamos “mdb-” en la consola y pulsamos el tabulador. El que puede sernos bastante útil es mdb-schema, que nos devuelve no solo las tablas que tenemos en el Access sino también los campos que tiene cada una y su formato.

Otra de las buenas características de mdbtools es que puede usarse también desde un script de R, si previamente instalamos el paquete Hmisc en R con:

install.packages("Hmisc")

Con él instalado podemos usar el comando:

mdb.get(RutaAlFicheroAccess, "nombre_tabla") 

Esta opción de carga de datos desde R me parece más interesante que la utilización de los paquetes basados en Rodbc, porque dichos paquetes necesitan que la arquitectura del sistema (32 o 64 bits) sea la misma que la del Access, lo cual puede ser un problema.

Categorías
Fedora GNU/Linux

Fedora 33: buenas impresiones

Aunque hace ya tiempo que se liberó la versión 33 de Fedora, no me había decidido a probarla hasta hace unos días. Me relación con Fedora comenzó hace bastantes años, creo que la primera versión que probé fue Fedora 5, y por una u otra razón (no reconocer el hardware, principalmente) no terminaba de convencerme para su utilización diaria en mi equipo de trabajo, en el que casi siempre tenía Debian o una distribución basada en Debian.

Esa sensación ha cambiado totalmente con la versión 33, la cual he instalado en lo que es mi actual equipo de trabajo: un Dell Latitude E6320 con procesador i5-2520, 4Gb de RAM y disco HDD de 250 Gb, un portátil robusto pero que tiene ya más de seis años. Ha reconocido perfectamente el hardware a la primera y el equipo se nota ágil y efectivo. Tengo que resaltar que este equipo resultaba extremadamente lento y prácticamente inutilizable con Windows 7, el sistema operativo que traía de fábrica, y cuyo anterior propietario lo tenía destinado al punto limpio, si no hubiera pasado antes por mis manos y por la magia del ecosistema GNU/Linux.

En estos momentos me permite conectarme perfectamente en remoto a mi equipo con Windows 10 del trabajo mediante una VPN y el escritorio remoto Remmina; maneja una pantalla externa auxiliar sin problemas de resolución y ha reconocido perfectamente el adaptador wifi y el teclado inalámbrico por bluetooth. La conexión con Skype empresarial se puede hacer mediante el equipo remoto, direccionando en Remmina los dispositivos de audio al equipo local, y además se puede configurar la calidad de la conexión remota, y así en caso de que no tengamos mucho ancho de banda disponible podemos bajarla para que la respuesta sea mejor. De esta forma, el teletrabajo es perfectamente posible independientemente del sistema operativo que necesitemos usar, con un equipo muy modesto gracias a su nueva vida con Fedora 33.

Categorías
gnome GNU/Linux

Añadir un lanzador de aplicación en Gnome

Cuando instalamos una aplicación en linux usando el escritorio Gnome, es posible que no nos aparezca el icono correspondiente al pulsar en “Actividades”.  Para añadirlo, solo tenemos que crear un fichero “miAplicacion.desktop” en el directorio “/usr/share/applications/” con el siguiente contenido (hay que sustituir las partes entre < > por lo que corresponda):

[Desktop Entry]
Type=Application
Encoding=UTF-8
Name=<miAplicacion>
Comment=<Mi aplicación es ...>
Exec=<ruta al ejecutable o script>
Icon=<ruta a la imagen que usaremos como icono>
Terminal=false

Nada más guardar este fichero, ya nos aparecerá el icono lanzador de esta nueva aplicación al pulsar en “Actividades”.

Para más información sobre la creación de lanzadores en el escritorio, se puede consultar esta página de Gnome Developer.

Categorías
ElementaryOS GNU/Linux

Error: Bluetooth no se pudo conectar

Este mensaje me ha aparecido usando Elementary OS Linux en la versión 5.1 Hera cuando he intentado conectar un teclado bluetooth de la marca SUBBLIM que ya tenía previamente emparejado y con el que ya había estado trabajando antes sin problemas. No he encontrado el origen del error, pero como ya se había conectado sin problemas antes, pensé que eliminando el dispositivo de la lista de emparejados y volviendo a empezar podría solucionarse.

Dado que la interfaz de configuración de bluetooth en ElementaryOS no permite hacer mucho, esto solo puede hacerse mediante la consola. Para ello tienen que estar instalados los paquetes bluez y bluez-tools. Una vez instalados ejecutamos el comando bluetoothctl, el cual abre un diálogo en consola que nos muestra una lista con los dispositivos emparejados, su MAC y un nombre descriptivo, si lo tiene.

Como el dispositivo que da el problema es el teclado, lo eliminamos de la lista con el comando remove 12:34:56:78:90:12 (reemplazando el valor de la MAC con el que nos aparece en el listado). Para salir del diálogo tecleamos exit.

A continuación, en la interfaz de configuración de bluetooth ya se puede volver a emparejar y conectar de nuevo el dispositivo.