Tras varios meses trabajando con CentOS Stream echo en falta el entorno KDE, el cual me resulta más agradable. Para instalarlo hay que hacer lo siguiente:
A continuación cerramos la sesión GNOME y para entrar en la sesión KDE, la seleccionaremos de las opciones disponibles al inicio de sesión, que aparecen cuando pulsamos en el icono con forma de tuerca o engranaje que aparece al lado del botón de inicio.
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:
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.
Una de las cosas que no me gustan del «entorno Microsoft» es que te oculta opciones en la selección gráfica que sí están disponibles en la consola. Otra de las cosas que no me gusta es que te da muchas facilidades para instalar una de sus aplicaciones, pero luego te oculta la posibilidad de desinstalarla. Es lo que me ocurrió con la app «Tu Teléfono», incluida en Windows 10 y en la cual no había reparado pues no la necesitaba. Un día el sistema me hizo la típica pregunta de «¿Quieres probar la aplicación ..? y le dije que sí. La probé, algunas cosas me gustaron, otras no, y decidí que no quería seguir usándola. Y ahí está lo que yo considero un error en Windows 10: ya no había forma fácil de eliminarla. Ni siquiera quitando la opción de ejecución en segundo plano deja de estar activa, lo cual no sólo me molesta por la pérdida de recursos en mi máquina, sino porque me saltan notificaciones a la vez en el teléfono y en el ordenador.
Para desinstalar la aplicación no es posible hacerlo por la opción gráfica, pues el botón de desinstalar no aparece habilitado, hay que hacerlo desde la consola: pulsamos botón derecho en el icono de las ventanitas en la parte inferior izquierda del escritorio y seleccionamos la opción «Windows PowerShell (Administrador)». Una vez en ella hay que lanzar el comando:
Por el momento no lo he probado, pero con este comando parece evidente que se pueden desinstalar más aplicaciones innecesarias, bastaría con cambiar el nombre de la app.
Gracias a www.softzone.es por publicar la forma de instalar y desinstalar esta aplicación.
Si queremos tener nuestras fotos ordenadas y accesibles vía web y no queremos usar una red social para ello, podemos instalarnos nuestro propio gestor de fotos en un equipo local con Piwigo. Es software libre y muy fácil de instalar y de usar, y podemos tanto tenerlo en nuestra propia red local de casa como darle acceso vía web si configuramos nuestro router y nuestro equipo para ello (para ver cómo se hace se puede consultar la entrada sobre cómo instalar HumHub).
La instalación de Piwigo está muy bien explicada en su web y es totalmente automática, similar a la instalación de un WordPress. Para poder instalarlo necesitamos el habitual entorno LAMP (un servidor Linux, servidor de páginas web Apache, gestor MySQL/MariaDB y PHP) y cumplir unos requisitos de instalación.
Por lo que he podido comprobar su uso es ágil y sencillo. El aspecto tras la instalación inicial es algo tosco, pero pueden instalarse extensiones que mejoran tanto su uso como su aspecto.
Otro aspecto interesante es que permite categorizar las imágenes en públicas y privadas, de forma que podemos establecer qué usuarios pueden ver ciertas fotos o álbumes.
Si no queremos usar nuestro servidor local abierto a internet, también podemos contratar un espacio propio en su nube, con planes tanto para usuarios individuales como para empresas. El costo para un solo usuario me parece correcto, pues son 39€ + IVA por año y la única limitación que tiene es que solo permite el almacenamiento de imágenes (nada de videos). Los planes para empresas, sin embargo, creo que tienen un precio algo elevado, pues para tener un espacio de 50 GB deberíamos pagar 45€ + IVA al mes, diferenciándose de los planes personales en que permiten todo tipo de ficheros, se puede personalizar el aspecto y se cuenta con soporte por teléfono y por correo.
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:
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:
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.
Componentes de nuestra red social
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.
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.
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:
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:
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:
2. Configurar los permisos en el cortafuegos (ufw) para acceder al equipo. Si no lo tenemos instalado, en DigitalOcean tienen una guía muy fácil para hacerlo.
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.
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:
Iniciamos el menú de aplicaciones, y en el apartado Internet, seleccionamos «Aplicaciones web».
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.
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.
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.
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:
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.