diff --git a/README.md b/README.md index d3a439a..22857be 100644 --- a/README.md +++ b/README.md @@ -25,6 +25,9 @@ parece funcionar correctamente. Linux Mint incluye `sudo` \[1\] y las aplicaciones que uso habitualmente para gestión de paquetes por defecto (*aptitude* y *synaptic*). +Interesa tener instalado `sudo apt install ppa-purge`. Sirve para +eliminar ppas junto con los programas instalados desde ese ppa. + Tampoco voy a enredar nada con los orígenes del software (de momento) ## Firmware @@ -1830,7 +1833,16 @@ El programa libre para creación y edición de gráficos vectoriales. El programa para edición y retocado de imágenes. -Parece que ahora mismo los repos están más actualizados que el ppa. +Parece que ahora mismo los repos están más actualizados que el ppa. Así +que bastaría con: + +``` {bash} +sudo apt install gimp gimp-data gimp-texturize \ +gimp-data-extras gimp-gap gmic gimp-gmic +``` + +De todas formas dejo aquí las instrucciones para instalar desde el ppa +por si hacen falta algún dia: sudo apt remove gimp gimp-data sudo add-apt-repository ppa:otto-kesselgulasch/gimp diff --git a/out/LinuxMintUlyana.dw b/out/LinuxMintUlyana.dw index cfaa19e..0e7b71a 100644 --- a/out/LinuxMintUlyana.dw +++ b/out/LinuxMintUlyana.dw @@ -18,6 +18,8 @@ Esta tarjeta provocaba todo tipo de problemas de sobrecalientamiento, pero en la Linux Mint incluye ''%%sudo%%'' ((ya no incluye gksu pero tampoco es imprescindible )) y las aplicaciones que uso habitualmente para gestión de paquetes por defecto (//aptitude// y //synaptic//). +Interesa tener instalado ''%%sudo apt install ppa-purge%%''. Sirve para eliminar ppas junto con los programas instalados desde ese ppa. + Tampoco voy a enredar nada con los orígenes del software (de momento) ===== Firmware ===== @@ -1603,3 +1605,662 @@ Instalamos dependencias: pip install python-usb Instalamos el fichero ''%%.deb%%'' desde la web https://github.com/fablabnbg/inkscape-silhouette/releases + +====== Aplicaciones de gráficos ====== + +===== LibreCAD ===== + +Diseño en 2D + + +sudo apt install librecad + +===== FreeCAD ===== + +No hay ppa disponible para Ubuntu 20. + +Instalamos //AppImage// desde [[https://wiki.freecadweb.org/AppImage#FreeCAD_AppImages|aquí]] + +Dejo la instalación desde ppa como recordatorio. + + +sudo add-apt-repository ppa:freecad-maintainers/freecad-stable +sudo apt update +sudo install freecad + + +---- + +**NOTA:** the ccx package brings CalculiX support to the FEM workbench, and needs to be installed separately. + + +---- + +===== Inkscape ===== + +El programa libre para creación y edición de gráficos vectoriales. + + +sudo add-apt-repository ppa:inkscape.dev/stable +sudo apt update +sudo apt install inkscape + +===== Gimp ===== + +El programa para edición y retocado de imágenes. + +Parece que ahora mismo los repos están más actualizados que el ppa. Así que bastaría con: + + +sudo apt install gimp gimp-data gimp-texturize \ +gimp-data-extras gimp-gap gmic gimp-gmic + +De todas formas dejo aquí las instrucciones para instalar desde el ppa por si hacen falta algún dia: + + +sudo apt remove gimp gimp-data +sudo add-apt-repository ppa:otto-kesselgulasch/gimp +sudo apt update +sudo apt upgrade +sudo apt install gimp gimp-data gimp-texturize \ +gimp-data-extras gimp-gap gmic gimp-gmic gimp-python + +==== Plugins de Gimp ==== + +Para instalar los principales plugins basta con: + + +sudo apt install gimp-plugin-registry + +|Esta sección ya no está vigente | +|#### resynthesizer | +|Descargamos el plugin desde [[https://github.com/bootchk/resynthesizer|aquí]] y descomprimimos el fichero en ''%%~/.config/GIMP/2.10/plug-ins%%'' | +|Tenemos que asegurarnos que los fichero //python// son ejecutables: | +|~~~~ chmod 755 ~/.config/GIMP/2.10/plug-ins/*.py ~~~~ | + +===== Krita ===== + +La versión disponible en orígenes de software está bastante por detrás de la disponible en la web. Basta con descargar el //Appimage// desde la [[https://krita.org|página web]] + +Lo copiamos a ''%%~/apps/krita%%'' y creamos un lanzador con el editor de menús. + +Alternativamente también lo tenemos disponible por ppa en https://launchpad.net/~kritalime/+archive/ubuntu/ppa + +===== MyPaint ===== + +Desde el [[https://github.com/mypaint/|github]] tenemos disponible la última versión en formato //appimage//. La descargamos la dejamos en ''%%~/apps%%'' y creamos un acceso con //Menulibre//, como siempre. + +===== Alchemy ===== + +Igual que el //MyPaint// descargamos desde [[http://al.chemy.org|la página web]], descomprimimos en ''%%~/apps%%'' y creamos un accso con //Menulibre//. + +===== Capturas de pantalla ===== + +El [[https://flameshot.js.org/#/|//flameshot//]] cubre el 99% de mis necesidades: ''%%sudo apt install flameshot%%'' + +El [[https://github.com/DamirPorobic/ksnip|//ksnip//]] por si tenemos que hacer una captura con retardo lo instalé con un //appimage//. + +Shutter vuelve a estar disponible, al instalar desde este ppa ya queda con las opciones de edición habilitadas: + + +sudo add-apt-repository ppa:linuxuprising/shutter +sudo apt update +sudo apt install shutter + +===== Reoptimizar imágenes ===== + +==== ImageMagick ==== + +Instalamos desde los repos, simplemente: + + +sudo apt install imagemagick + +==== Imagine ==== + +Nos bajamos un //AppImage// desde el [[https://github.com/meowtec/Imagine/releases|github]] de la aplicación + +===== dia ===== + +Un programa para crear diagramas + + +sudo apt install dia dia-shapes gsfonts-x11 + +===== Blender ===== + +Bajamos el Blender linkado estáticamente de [[https://www.blender.org|la página web]] y lo descomprimimos en ''%%~/apps/blender%%''. + +===== Structure Synth ===== + +Instalado desde repos, junto con sunflow para explorar un poco. + + +sudo apt install structure-synth sunflow + +===== Heron animation ===== + +Descargamos el programa desde [[https://heronanimation.brunolefevre.net/|su página web]] y como siempre descomprimimos en ''%%~/apps/heron%%'' + +===== Stopmotion ===== + +Primero probamos el del repo: ''%%sudo apt install stopmotion%%'' + +===== Instalación del driver digiment para tabletas gráficas Huion ===== + +He intentado un par de veces instalar con el fichero ''%%deb%%'' pero parece que no funciona. + +Para hacer la instalación via DKMS el truco está en: + + * Dejar el código fuente en un directorio de la forma ''%%/usr/src/-%%'' + * Lanzar el ''%%build%%'' pero usando esta vez ''%%/%%'' + +Descargamos los últimos drivers desde [[https://github.com/DIGImend/digimend-kernel-drivers/releases|la página oficial de releases]], en el momento de escribir esto descargamos la versión V9. + +Descomprimimos en ''%%/usr/src/digimend-9%%'' + + +cd /usr/src +sudo xvzf . +sudo dkms build digimend-kernel-drivers/9 +sudo dkms install digimend/9 + +Para comprobar: + + +xinput --list +dkms status + +Referencia: + + * [[https://davidrevoy.com/article331/setup-huion-giano-wh1409-tablet-on-linux-mint-18-1-ubuntu-16-04|Aquí]] + +====== Sonido ====== + +===== Spotify ===== + +Spotify instalado desde las opciones de Linux Mint + +===== Audacity ===== + +Añadimos ppa: + + +sudo add-apt-repository ppa:ubuntuhandbook1/audacity +sudo apt-get update +sudo apt install audacity + +Instalamos también el plugin [[https://theaudacitytopodcast.com/chriss-dynamic-compressor-plugin-for-audacity/|Chris’s Dynamic Compressor plugin]] + +===== Clementine ===== + +La version disponible en los orígenes de software parece al dia: + + +sudo apt install clementine + +====== Video ====== + +===== Shotcut ===== + +Nos bajamos la //AppImage// para Linux desde la [[https://www.shotcut.org/|página web]]. + +La dejamos en ''%%~/apps/shotcut%%'' y: + + +cd +chmod 744 Shotcutxxxxxx.AppImage +./Shotcutxxxxxx.AppImage + +===== kdenlive ===== + +Está disponible como ppa o como //appimage//. Lo he bajado como //appimage// para probarlo. + +===== Openshot ===== + +También descargado desde su web como //appimage//. + +===== Grabación de screencast ===== + +==== Vokoscreen y Kazam ==== + +Instalados desde los repos oficiales: + + +sudo apt update +sudo apt install vokoscreen kazam + +===== Grabación de podcast ===== + +==== Mumble ==== + +Instalamos desde PPA + + +sudo add-apt-repository ppa:mumble/release +sudo apt update + sudo apt install mumble + +====== Fotografía ====== + +===== Rawtherapee ===== + +Bajamos el AppImage desde la [[http://rawtherapee.com/|página web]] al directorio ''%%~/apps/rawtherapee%%''. + + +cd +chmod 744 RawTherapeexxxxxx.AppImage +./RawTherapeexxxxxx.AppImage + +Al ejecutarla la primera vez ya se encarga la propia aplicación de integrarse en nuestro sistema. + +===== Darktable ===== + +Instalamos ppa: + + +sudo sh -c "echo 'deb http://download.opensuse.org/repositories/graphics:/darktable/xUbuntu_18.04/ /' > /etc/apt/sources.list.d/graphics:darktable.list" +wget -nv https://download.opensuse.org/repositories/graphics:darktable/xUbuntu_18.04/Release.key -O Release.key +sudo apt-key add - < Release.key +sudo apt update +sudo apt install darktable + +Se instala la última versión de Darktable (3.0.0) + +====== Seguridad ====== + +===== Autenticación en servidores por clave pública ===== + +Generar contraseñas para conexión servidores remotos: + + +cd ~ +ssh-keygen -b 4096 [-t dsa | ecdsa | ed25519 | rsa | rsa1] +cat .ssh/ + +Solo resta añadir nuestra clave pública en el fichero ''%%authorized_keys%%'' del servidor remoto. + + +cat ~/.ssh/id_xxx.pub | ssh user@hostname 'cat >> .ssh/authorized_keys' + +[[https://www.digitalocean.com/community/tutorials/understanding-the-ssh-encryption-and-connection-process|¿Cómo funciona esto?]] + +===== Claves gpg ===== + +''%%gpg --gen-key%%'' Para generar nuestra clave. + + * **Siempre** hay que ponerle una fecha de expiración, la puedes cambiar más tarde. + * **Siempre** hay que escoger la máxima longitud posible + +===== Seahorse ===== + +Para manejar todas nuestras claves con comodidad: + +''%%sudo apt install seahorse%%'' + +===== Conexión a github con claves ssh ===== + +Usando este método podemos conectarnos a github sin tener que teclear la contraseña en cada conexión. + +==== Claves ssh ==== + +Podemos echar un ojo a nuestras claves desde ''%%seahorse%%'' la aplicación de gestión de claves que hemos instalado. También podemos ver las claves que tenemos generadas: + + +ls -al ~/.ssh + +En las claves listadas nuestras claves públicas aparecerán con extensión ''%%.pub%%'' + +También podemos comprobar que claves hemos añadido ya a nuestro agente ssh con: + + +ssh-add -l + +Para generar una nueva pareja de claves ssh: + + +ssh-keygen -t rsa -b 4096 -C "your_email@example.com" + +Podremos dar un nombre distintivo a los ficheros de claves generados y poner una contraseña adecuada a la clave. Si algún dia queremos cambiar la contraseña: + + +ssh-keygen -p + +Ahora tenemos que añadir nuestra clave ssh en nuestra cuenta de github, para ello editamos con nuestro editor de texto favorito el fichero ''%%~/.ssh/id_rsa.pub%%'' y copiamos el contenido integro. Después pegamos ese contenido en el cuadro de texto de la web de github. + +Para comprobar que las claves instaladas en github funcionan correctamente: + + +ssh -T git@github.com +Hi salvari! You've successfully authenticated, but GitHub does not provide shell access. + +Este mensaje indica que todo ha ido bien. + +Ahora en los repos donde queramos usar ssh debemos cambiar el remote: + + +git remote set-url origin git@github.com:$USER/$REPONAME.git + +===== Signal ===== + +El procedimiento recomendado en la página oficial: + + +curl -s https://updates.signal.org/desktop/apt/keys.asc | sudo apt-key add - +echo "deb [arch=amd64] https://updates.signal.org/desktop/apt xenial main" | sudo tee -a /etc/apt/sources.list.d/signal-xenial.list +sudo apt update && sudo apt install signal-desktop + + +---- + +**NOTA**: Parece que no funciona. Lo he instalado via //flatpack// + + +---- + +===== Lector DNI electrónico ===== + +Instalamos: + + +sudo apt-get install pcscd pcsc-tools libccid + +Como root ejecutamos pcsc_scan: + + +root@rasalhague:~# pcsc_scan +PC/SC device scanner +V 1.4.23 (c) 2001-2011, Ludovic Rousseau +Compiled with PC/SC lite version: 1.8.11 +Using reader plug'n play mechanism +Scanning present readers... +Waiting for the first reader... + +Si insertamos el lector veremos algo como esto: + + +root@rasalhague:~# pcsc_scan +PC/SC device scanner +V 1.4.23 (c) 2001-2011, Ludovic Rousseau +Compiled with PC/SC lite version: 1.8.11 +Using reader plug'n play mechanism +Scanning present readers... +Waiting for the first reader...found one +Scanning present readers... +0: C3PO LTC31 v2 (11061005) 00 00 + +Wed Jan 25 01:17:20 2017 +Reader 0: C3PO LTC31 v2 (11061005) 00 00 + Card state: Card removed, + +Si insertamos un DNI veremos que se lee la información de la tarjeta insertada: + + +Reader 0: C3PO LTC31 v2 (11061005) 00 00 + Card state: Card inserted, + +y mas rollo + +Instalamos ahora el modulo criptográfico desde [[https://www.dnielectronico.es/PortalDNIe/PRF1_Cons02.action?pag=REF_1112|este enlace]] + +Y además: + + +aptitude install pinentry-gtk2 opensc + +====== Virtualizaciones y contenedores ====== + +===== Instalación de virtualBox ===== + +Lo hacemos con los origenes de software oficiales (alternativamente, podríamos hacerlo manualmente): + + +# Importamos la clave gpg +wget -q https://www.virtualbox.org/download/oracle_vbox_2016.asc -O- | sudo apt-key add - + +# Añadimos el nuevo origen de software +sudo add-apt-repository "deb [arch=amd64] https://download.virtualbox.org/virtualbox/debian $(. /etc/os-release; echo "$UBUNTU_CODENAME") contrib" + +# Actualizamos la base de datos de paquetes +sudo apt update + +Ahora podemos comprobar que además del paquete //virtualbox// tenemos varios paquetes con número de versión (p.ej. _virtualbox.6.1), estos últimos son los que hemos añadido (compruebalo con ''%%apt-cache policy [nombrepaquete]%%'') + +Instalamos el que nos interesa: + + +sudo apt install virtualbox-6.1 + +Descargamos también el [[https://www.virtualbox.org/wiki/Downloads|VirtualBox Extension Pack]], este paquete lo instalaremos desde el propio interfaz de usuario del //VirtualBox//. Y lo instalamos con el comando: + + +sudo VBoxManage extpack install ./Oracle_VM_VirtualBox_Extension_Pack-6.1.2.vbox-extpack + +Sólo nos queda añadir nuestro usuario al grupo ''%%vboxusers%%'', con el comando ''%%sudo gpasswd -a username vboxusers%%'', y tendremos que cerrar la sesión para refrescar nuestros grupos. + +===== qemu ===== + +Instalamos desde el repo oficial: + + +sudo apt install qemu-kvm qemu virt-manager virt-viewer libvirt-bin + +===== Docker ===== + +Tenemos que añadir el repositorio correspondiente a nuestra distribución: + + +# Be safe +sudo apt remove docker docker-engine docker.io +sudo apt autoremove +sudo apt update + +# Install pre-requisites +sudo apt install ca-certificates curl + +# Import the GPG key + +curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - + +# Next, point the package manager to the official Docker repository + +sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(. /etc/os-release; echo "$UBUNTU_CODENAME") stable" + +# Update the package database + +sudo apt update +# + +apt-cache policy docker-ce + +sudo apt install docker-ce + +sudo gpasswd -a salvari docker + +Esto dejará el servicio //docker// funcionando y habilitado (arrancará en cada reinicio del ordenador) + +La forma de pararlo es: + + +sudo systemctl stop docker +sudo systemctl disable docker +systemctl status docker + +Añadimos el //bundle// **docker** en nuestro fichero ''%%~/.zshrc%%'' para tener autocompletado en comandos de docker. + +Para usar //docker// tendremos que arrancarlo, con los alias de nuestro sistema para //systemd// ejecutamos: + + +scst docker # para arrancar el servicio + +scsp docker # para parar el servicio + +==== docker-compose ==== + + * Nos bajamos la última versión disponible de [[https://github.com/docker/compose/releases|las releases de github]] + * Movemos el fichero que hemos descargado a ''%%/usr/local/bin/docker-compose%%'' + * Y le damos permisos de ejecución ''%%sudo chmod +x /usr/local/bin/docker-compose%%'' + +====== Utilidades para mapas y cartografía ====== + +===== josm ===== + +Descargamos y añadimos la clave gpg: + + +wget -q https://josm.openstreetmap.de/josm-apt.key -O- | sudo apt-key add - + +Añadimos el origen de software: + + +sudo add-apt-repository "deb [arch=amd64] https://josm.openstreetmap.de/apt $(. /etc/os-release; echo "$UBUNTU_CODENAME") universe" + +Y ahora procedemos a la instalación: + + +sudo apt update +sudo apt install openjfx josm + +Alternativamente también podemos instalar la versión “nightly” con el siguienete comando, pero tendréis actualizaciones diarias: + + +sudo apt josm-latest + +Ya estamos listos para editar Open Street Map offline. + +===== MOBAC ===== + +Bajamos el paquete desde [[http://mobac.sourceforge.net/|la página web]] y descomprimimos en ''%%~/apps/mobac%%'' como de costumbre nos creamos una entrada de menú con //MenuLibre//. + +Conviene bajarse wms adicionales para MOBAC y leerse [[http://mobac.sourceforge.net/wiki/index.php/Custom_XML_Map_Sources|la wiki]] + +==== Referencias ==== + +*[Cartografía digital] (https:%%//%%digimapas.blogspot.com.es/2015/01/oruxmaps-vii-mapas-de-mobac.html) + +===== QGIS ===== + +Añadimos la clave gpg: + + +wget -q https://qgis.org/downloads/qgis-2017.gpg.key -O- | sudo apt-key add - + +Ejecutamos: + + +sudo add-apt-repository "deb [arch=amd64] https://qgis.org/debian $(. /etc/os-release; echo "$UBUNTU_CODENAME") main" + +E instalamos como siempre + + +sudo apt update +sudo apt install qgis + +==== Referencias ==== + + * [[https://mappinggis.com/2015/09/como-conectar-con-servicios-wms-y-wfs-con-arcgis-qgis-y-gvsig/|Conectar WMS con QGIS]] + * [[https://www.altergeosistemas.com/blog/2014/03/28/importando-datos-de-osm-en-qgis-2/|Importar OSM en QGIS]] + * [[http://learnosm.org/es/osm-data/osm-in-qgis/|Learn OSM]] + * [[http://www.qgistutorials.com/es/docs/downloading_osm_data.html|QGIS Tutorials]] + +====== Recetas variadas ====== + +===== Solucionar problemas de menús duplicados usando menulibre ===== + +|**Nota**: Ya no uso //MenuLibre// | + +En el directorio ''%%~/.config/menus/applications-merged%%'' borramos todos los ficheros que haya. + +===== Formatear memoria usb ===== + +“The driver descriptor says the physical block size is 2048 bytes, but Linux says it is 512 bytes.” + +Este comando borró todas las particiones de la memoria: + +''%%sudo dd if=/dev/zero of=/dev/sdd bs=2048 count=32 && sync%%'' + +I’m assuming your using gparted. + +First delete whatever partitions you can…just keep pressing ignore. + +There will be one with a black outline…you will have to unmount it…just right click on it and unmount. + +Again you will have to click your way through ignore..if fix is an option choose it also. + +Once all this is done… you can select the device menu and choose new partition table. + +Select MSdos + +Apply and choose ignore again. + +Once it’s done it show it’s real size. + +Next you can format the drive to whichever file system you like. + +It’s a pain in the behind this way, but it’s the only way I get it done..I put live iso’s on sticks all the time and have to remove them. I get stuck going through this process every time. + +===== Copiar la clave pública ssh en un servidor remoto ===== + +''%%cat /home/tim/.ssh/id_rsa.pub | ssh tim@just.some.other.server 'cat >> .ssh/authorized_keys'%%'' + +O también: + +''%%ssh-copy-id -i ~/.ssh/id_rsa.pub username@remote.server%%'' + +===== ssh access from termux ===== + +https://linuxconfig.org/ssh-into-linux-your-computer-from-android-with-termux + +===== SDR instalaciones varias ===== + +Vamos a trastear con un dispositivo [[https://www.rtl-sdr.com/|RTL-SDR.com]]. + +Tenemos un montón de información en el blog de [[https://sdrgal.wordpress.com/|SDR Galicia]] y tienen incluso una guia de instalación muy completa, pero yo voy a seguir una guía un poco menos ambiciosa, por lo menos hasta que pueda hacer el curso que imparten ellos mismos (SDR Galicia) + +La guía en cuestión la podemos encontrar [[https://ranous.wordpress.com/rtl-sdr4linux/|aquí]] + +Seguimos los pasos de instalación: + + * La instalación de ''%%git%%'', ''%%cmake%%'' y ''%%build-essential%%'' ya la tengo hecha. + + +sudo apt-get install libusb-1.0-0-dev + +===== Posible problema con modemmanager y micros programables ===== + +Programando el //Circuit Playground Express// con el //Arduino IDE// tenía problemas continuos para hacer los //uploads//, al parecer el servicio //ModemManager// es el culpable, se pasa todo el tiempo capturando los nuevos puertos serie por que considera que todo es un modem. + +Una prueba rápida para comprobarlo: ''%%sudo systemctl stop ModemManager%%'' + +Con esto funciona todo bien, pero en el siguiente arranque volvera a cargarse. + +Para dar una solución definitiva se puede programar una regla para impedir que el //ModemManager// capture el puerto con un dispositivo + +Creamos un fichero con permisos de ''%%root%%'' en el directorio ''%%/etc/udev/rules.d%%'' que llamaremos: ''%%99-arduino.rules%%'' + +Dentro de ese fichero especificamos los codigos VID/PID que se deben ignorar: + + +# for arduino brand, stop ModemManager grabbing port +ATTRS{idVendor}=="2a03", ENV{ID_MM_DEVICE_IGNORE}="1" +# for sparkfun brand, stop ModemManager grabbing port +ATTRS{idVendor}=="1b4f", ENV{ID_MM_DEVICE_IGNORE}="1" + +Ojo que si tienes SystemV no va a funcionar. + +https:%%//%%starter-kit.nettigo.eu/2015/serial-port-busy-for-avrdude-on-ubuntu-with-arduino-leonardo-eth/ + +https:%%//%%www.codeproject.com/Tips/349002/Select-a-USB-Serial-Device-via-its-VID-PID + +===== Programar los nanos con chip ch340 o ch341 ===== + +Linux mapea el chip correctamente en un puerto ''%%/dev/ttyUSB0%%'' y con eso basta, que no te lien con el cuento de “drivers para linux” + +Todo lo que hace falta es configurar correctamente el //Arduino IDE//, hay que escoger: + + +Board: "Arduino Nano" +Processor: "ATmega168" +Port: "/dev/ttyUSB0" + +Y ya funciona todo. diff --git a/out/LinuxMintUlyana.epub b/out/LinuxMintUlyana.epub index a690f48..c9e38a1 100644 Binary files a/out/LinuxMintUlyana.epub and b/out/LinuxMintUlyana.epub differ diff --git a/out/LinuxMintUlyana.mw b/out/LinuxMintUlyana.mw index a10875d..e398fa9 100644 --- a/out/LinuxMintUlyana.mw +++ b/out/LinuxMintUlyana.mw @@ -17,6 +17,8 @@ Esta tarjeta provocaba todo tipo de problemas de sobrecalientamiento, pero en la Linux Mint incluye sudo ya no incluye gksu pero tampoco es imprescindible y las aplicaciones que uso habitualmente para gestión de paquetes por defecto (''aptitude'' y ''synaptic''). +Interesa tener instalado sudo apt install ppa-purge. Sirve para eliminar ppas junto con los programas instalados desde ese ppa. + Tampoco voy a enredar nada con los orígenes del software (de momento) == Firmware == @@ -1378,4 +1380,571 @@ Instalamos dependencias:
pip install python-usb
Instalamos el fichero .deb desde la web https://github.com/fablabnbg/inkscape-silhouette/releases += Aplicaciones de gráficos = + +== LibreCAD == + +Diseño en 2D + +
sudo apt install librecad
+== FreeCAD == + +No hay ppa disponible para Ubuntu 20. + +Instalamos ''AppImage'' desde [https://wiki.freecadweb.org/AppImage#FreeCAD_AppImages aquí] + +Dejo la instalación desde ppa como recordatorio. + +
sudo add-apt-repository ppa:freecad-maintainers/freecad-stable
+sudo apt update
+sudo install freecad
+ +----- + +'''NOTA:''' the ccx package brings CalculiX support to the FEM workbench, and needs to be installed separately. + + +----- + +== Inkscape == + +El programa libre para creación y edición de gráficos vectoriales. + +
sudo add-apt-repository ppa:inkscape.dev/stable
+sudo apt update
+sudo apt install inkscape
+== Gimp == + +El programa para edición y retocado de imágenes. + +Parece que ahora mismo los repos están más actualizados que el ppa. Así que bastaría con: + +
sudo apt install gimp gimp-data gimp-texturize \
+gimp-data-extras gimp-gap gmic gimp-gmic
+De todas formas dejo aquí las instrucciones para instalar desde el ppa por si hacen falta algún dia: + +
sudo apt remove gimp gimp-data
+sudo add-apt-repository ppa:otto-kesselgulasch/gimp
+sudo apt update
+sudo apt upgrade
+sudo apt install gimp gimp-data gimp-texturize \
+gimp-data-extras gimp-gap gmic gimp-gmic gimp-python
+=== Plugins de Gimp === + +Para instalar los principales plugins basta con: + +
sudo apt install gimp-plugin-registry
+{| +|width="98%"| Esta sección ya no está vigente +|- +| #### resynthesizer +|- +| Descargamos el plugin desde [https://github.com/bootchk/resynthesizer aquí] y descomprimimos el fichero en ~/.config/GIMP/2.10/plug-ins +|- +| Tenemos que asegurarnos que los fichero ''python'' son ejecutables: +|- +| ~~~~ chmod 755 ~/.config/GIMP/2.10/plug-ins/*.py ~~~~ +|} + +== Krita == + +La versión disponible en orígenes de software está bastante por detrás de la disponible en la web. Basta con descargar el ''Appimage'' desde la [https://krita.org página web] + +Lo copiamos a ~/apps/krita y creamos un lanzador con el editor de menús. + +Alternativamente también lo tenemos disponible por ppa en https://launchpad.net/~kritalime/+archive/ubuntu/ppa + +== MyPaint == + +Desde el [https://github.com/mypaint/ github] tenemos disponible la última versión en formato ''appimage''. La descargamos la dejamos en ~/apps y creamos un acceso con ''Menulibre'', como siempre. + +== Alchemy == + +Igual que el ''MyPaint'' descargamos desde [http://al.chemy.org la página web], descomprimimos en ~/apps y creamos un accso con ''Menulibre''. + +== Capturas de pantalla == + +El [https://flameshot.js.org/#/ ''flameshot''] cubre el 99% de mis necesidades: sudo apt install flameshot + +El [https://github.com/DamirPorobic/ksnip ''ksnip''] por si tenemos que hacer una captura con retardo lo instalé con un ''appimage''. + +Shutter vuelve a estar disponible, al instalar desde este ppa ya queda con las opciones de edición habilitadas: + +
sudo add-apt-repository ppa:linuxuprising/shutter
+sudo apt update
+sudo apt install shutter
+== Reoptimizar imágenes == + +=== ImageMagick === + +Instalamos desde los repos, simplemente: + +
sudo apt install imagemagick
+=== Imagine === + +Nos bajamos un ''AppImage'' desde el [https://github.com/meowtec/Imagine/releases github] de la aplicación + +== dia == + +Un programa para crear diagramas + +
sudo apt install dia dia-shapes gsfonts-x11
+== Blender == + +Bajamos el Blender linkado estáticamente de [https://www.blender.org la página web] y lo descomprimimos en ~/apps/blender. + +== Structure Synth == + +Instalado desde repos, junto con sunflow para explorar un poco. + +
sudo apt install structure-synth sunflow
+== Heron animation == + +Descargamos el programa desde [https://heronanimation.brunolefevre.net/ su página web] y como siempre descomprimimos en ~/apps/heron + +== Stopmotion == + +Primero probamos el del repo: sudo apt install stopmotion + +== Instalación del driver digiment para tabletas gráficas Huion == + +He intentado un par de veces instalar con el fichero deb pero parece que no funciona. + +Para hacer la instalación via DKMS el truco está en: + +* Dejar el código fuente en un directorio de la forma /usr/src/<PROJECTNAME>-<VERSION> +* Lanzar el build pero usando esta vez <PROJECTNAME>/<VERSION> + +Descargamos los últimos drivers desde [https://github.com/DIGImend/digimend-kernel-drivers/releases la página oficial de releases], en el momento de escribir esto descargamos la versión V9. + +Descomprimimos en /usr/src/digimend-9 + +
cd /usr/src
+sudo xvzf <path-to-digimend-kernel-drivers-9> .
+sudo dkms build digimend-kernel-drivers/9
+sudo dkms install digimend/9
+Para comprobar: + +
xinput --list
+dkms status
+Referencia: + +* [https://davidrevoy.com/article331/setup-huion-giano-wh1409-tablet-on-linux-mint-18-1-ubuntu-16-04 Aquí] + += Sonido = + +== Spotify == + +Spotify instalado desde las opciones de Linux Mint + +== Audacity == + +Añadimos ppa: + +
sudo add-apt-repository ppa:ubuntuhandbook1/audacity
+sudo apt-get update
+sudo apt install audacity
+Instalamos también el plugin [https://theaudacitytopodcast.com/chriss-dynamic-compressor-plugin-for-audacity/ Chris’s Dynamic Compressor plugin] + +== Clementine == + +La version disponible en los orígenes de software parece al dia: + +
sudo apt install clementine
+= Video = + +== Shotcut == + +Nos bajamos la ''AppImage'' para Linux desde la [https://www.shotcut.org/ página web]. + +La dejamos en ~/apps/shotcut y: + +
cd
+chmod 744 Shotcutxxxxxx.AppImage
+./Shotcutxxxxxx.AppImage
+== kdenlive == + +Está disponible como ppa o como ''appimage''. Lo he bajado como ''appimage'' para probarlo. + +== Openshot == + +También descargado desde su web como ''appimage''. + +== Grabación de screencast == + +=== Vokoscreen y Kazam === + +Instalados desde los repos oficiales: + +
sudo apt update
+sudo apt install vokoscreen kazam
+== Grabación de podcast == + +=== Mumble === + +Instalamos desde PPA + +
sudo add-apt-repository ppa:mumble/release
+sudo apt update
+    sudo apt install mumble
+= Fotografía = + +== Rawtherapee == + +Bajamos el AppImage desde la [http://rawtherapee.com/ página web] al directorio ~/apps/rawtherapee. + +
cd
+chmod 744 RawTherapeexxxxxx.AppImage
+./RawTherapeexxxxxx.AppImage
+Al ejecutarla la primera vez ya se encarga la propia aplicación de integrarse en nuestro sistema. + +== Darktable == + +Instalamos ppa: + +
sudo sh -c "echo 'deb http://download.opensuse.org/repositories/graphics:/darktable/xUbuntu_18.04/ /' > /etc/apt/sources.list.d/graphics:darktable.list"
+wget -nv https://download.opensuse.org/repositories/graphics:darktable/xUbuntu_18.04/Release.key -O Release.key
+sudo apt-key add - < Release.key
+sudo apt update
+sudo apt install darktable
+Se instala la última versión de Darktable (3.0.0) + += Seguridad = + +== Autenticación en servidores por clave pública == + +Generar contraseñas para conexión servidores remotos: + +
cd ~
+ssh-keygen -b 4096 [-t dsa | ecdsa | ed25519 | rsa | rsa1]
+cat .ssh/
+Solo resta añadir nuestra clave pública en el fichero authorized_keys del servidor remoto. + +
cat ~/.ssh/id_xxx.pub | ssh user@hostname 'cat >> .ssh/authorized_keys'
+[https://www.digitalocean.com/community/tutorials/understanding-the-ssh-encryption-and-connection-process ¿Cómo funciona esto?] + +== Claves gpg == + +gpg --gen-key Para generar nuestra clave. + +* '''Siempre''' hay que ponerle una fecha de expiración, la puedes cambiar más tarde. +* '''Siempre''' hay que escoger la máxima longitud posible + +== Seahorse == + +Para manejar todas nuestras claves con comodidad: + +sudo apt install seahorse + +== Conexión a github con claves ssh == + +Usando este método podemos conectarnos a github sin tener que teclear la contraseña en cada conexión. + +=== Claves ssh === + +Podemos echar un ojo a nuestras claves desde seahorse la aplicación de gestión de claves que hemos instalado. También podemos ver las claves que tenemos generadas: + +
ls -al ~/.ssh
+En las claves listadas nuestras claves públicas aparecerán con extensión .pub + +También podemos comprobar que claves hemos añadido ya a nuestro agente ssh con: + +
ssh-add -l
+Para generar una nueva pareja de claves ssh: + +
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
+Podremos dar un nombre distintivo a los ficheros de claves generados y poner una contraseña adecuada a la clave. Si algún dia queremos cambiar la contraseña: + +
ssh-keygen -p
+Ahora tenemos que añadir nuestra clave ssh en nuestra cuenta de github, para ello editamos con nuestro editor de texto favorito el fichero ~/.ssh/id_rsa.pub y copiamos el contenido integro. Después pegamos ese contenido en el cuadro de texto de la web de github. + +Para comprobar que las claves instaladas en github funcionan correctamente: + +
ssh -T git@github.com
+Hi salvari! You've successfully authenticated, but GitHub does not provide shell access.
+Este mensaje indica que todo ha ido bien. + +Ahora en los repos donde queramos usar ssh debemos cambiar el remote: + +
git remote set-url origin git@github.com:$USER/$REPONAME.git
+== Signal == + +El procedimiento recomendado en la página oficial: + +
curl -s https://updates.signal.org/desktop/apt/keys.asc | sudo apt-key add -
+echo "deb [arch=amd64] https://updates.signal.org/desktop/apt xenial main" | sudo tee -a /etc/apt/sources.list.d/signal-xenial.list
+sudo apt update && sudo apt install signal-desktop
+ +----- + +'''NOTA''': Parece que no funciona. Lo he instalado via ''flatpack'' + + +----- + +== Lector DNI electrónico == + +Instalamos: + +
sudo apt-get install pcscd pcsc-tools libccid
+Como root ejecutamos pcsc_scan: + +
root@rasalhague:~# pcsc_scan 
+PC/SC device scanner
+V 1.4.23 (c) 2001-2011, Ludovic Rousseau <ludovic.rousseau@free.fr>
+Compiled with PC/SC lite version: 1.8.11
+Using reader plug'n play mechanism
+Scanning present readers...
+Waiting for the first reader...
+Si insertamos el lector veremos algo como esto: + +
root@rasalhague:~# pcsc_scan 
+PC/SC device scanner
+V 1.4.23 (c) 2001-2011, Ludovic Rousseau <ludovic.rousseau@free.fr>
+Compiled with PC/SC lite version: 1.8.11
+Using reader plug'n play mechanism
+Scanning present readers...
+Waiting for the first reader...found one
+Scanning present readers...
+0: C3PO LTC31 v2 (11061005) 00 00
+
+Wed Jan 25 01:17:20 2017
+Reader 0: C3PO LTC31 v2 (11061005) 00 00
+  Card state: Card removed,
+Si insertamos un DNI veremos que se lee la información de la tarjeta insertada: + +
Reader 0: C3PO LTC31 v2 (11061005) 00 00
+  Card state: Card inserted, 
+y mas rollo + +Instalamos ahora el modulo criptográfico desde [https://www.dnielectronico.es/PortalDNIe/PRF1_Cons02.action?pag=REF_1112 este enlace] + +Y además: + +
aptitude install pinentry-gtk2 opensc
+= Virtualizaciones y contenedores = + +== Instalación de ''virtualBox'' == + +Lo hacemos con los origenes de software oficiales (alternativamente, podríamos hacerlo manualmente): + +
# Importamos la clave gpg
+wget -q https://www.virtualbox.org/download/oracle_vbox_2016.asc -O- | sudo apt-key add -
+
+# Añadimos el nuevo origen de software
+sudo add-apt-repository "deb [arch=amd64] https://download.virtualbox.org/virtualbox/debian $(. /etc/os-release; echo "$UBUNTU_CODENAME") contrib"
+
+# Actualizamos la base de datos de paquetes
+sudo apt update
+Ahora podemos comprobar que además del paquete ''virtualbox'' tenemos varios paquetes con número de versión (p.ej. _virtualbox.6.1), estos últimos son los que hemos añadido (compruebalo con apt-cache policy [nombrepaquete]) + +Instalamos el que nos interesa: + +
sudo apt install virtualbox-6.1
+Descargamos también el [https://www.virtualbox.org/wiki/Downloads VirtualBox Extension Pack], este paquete lo instalaremos desde el propio interfaz de usuario del ''VirtualBox''. Y lo instalamos con el comando: + +
sudo VBoxManage extpack install ./Oracle_VM_VirtualBox_Extension_Pack-6.1.2.vbox-extpack 
+Sólo nos queda añadir nuestro usuario al grupo vboxusers, con el comando sudo gpasswd -a username vboxusers, y tendremos que cerrar la sesión para refrescar nuestros grupos. + +== qemu == + +Instalamos desde el repo oficial: + +
sudo apt install qemu-kvm qemu virt-manager virt-viewer libvirt-bin
+== Docker == + +Tenemos que añadir el repositorio correspondiente a nuestra distribución: + +
# Be safe
+sudo apt remove docker docker-engine docker.io
+sudo apt autoremove
+sudo apt update
+
+# Install pre-requisites
+sudo apt install ca-certificates curl
+
+# Import the GPG key
+
+curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
+
+# Next, point the package manager to the official Docker repository
+
+sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(. /etc/os-release; echo "$UBUNTU_CODENAME") stable"
+
+# Update the package database
+
+sudo apt update
+#
+
+apt-cache policy docker-ce
+
+sudo apt install docker-ce
+
+sudo gpasswd -a salvari docker
+Esto dejará el servicio ''docker'' funcionando y habilitado (arrancará en cada reinicio del ordenador) + +La forma de pararlo es: + +
sudo systemctl stop docker
+sudo systemctl disable docker
+systemctl status docker
+Añadimos el ''bundle'' '''docker''' en nuestro fichero ~/.zshrc para tener autocompletado en comandos de docker. + +Para usar ''docker'' tendremos que arrancarlo, con los alias de nuestro sistema para ''systemd'' ejecutamos: + +
scst docker  # para arrancar el servicio
+
+scsp docker  # para parar el servicio
+=== docker-compose === + +* Nos bajamos la última versión disponible de [https://github.com/docker/compose/releases las releases de github] +* Movemos el fichero que hemos descargado a /usr/local/bin/docker-compose +* Y le damos permisos de ejecución sudo chmod +x /usr/local/bin/docker-compose + += Utilidades para mapas y cartografía = + +== josm == + +Descargamos y añadimos la clave gpg: + +
wget -q https://josm.openstreetmap.de/josm-apt.key -O- | sudo apt-key add -
+Añadimos el origen de software: + +
sudo add-apt-repository "deb [arch=amd64] https://josm.openstreetmap.de/apt $(. /etc/os-release; echo "$UBUNTU_CODENAME") universe"
+Y ahora procedemos a la instalación: + +
sudo apt update
+sudo apt install openjfx josm 
+Alternativamente también podemos instalar la versión “nightly” con el siguienete comando, pero tendréis actualizaciones diarias: + +
sudo apt josm-latest
+Ya estamos listos para editar Open Street Map offline. + +== MOBAC == + +Bajamos el paquete desde [http://mobac.sourceforge.net/ la página web] y descomprimimos en ~/apps/mobac como de costumbre nos creamos una entrada de menú con ''MenuLibre''. + +Conviene bajarse wms adicionales para MOBAC y leerse [http://mobac.sourceforge.net/wiki/index.php/Custom_XML_Map_Sources la wiki] + +=== Referencias === + +*[Cartografía digital] (https://digimapas.blogspot.com.es/2015/01/oruxmaps-vii-mapas-de-mobac.html) + +== QGIS == + +Añadimos la clave gpg: + +
wget -q  https://qgis.org/downloads/qgis-2017.gpg.key -O- | sudo apt-key add -
+Ejecutamos: + +
sudo add-apt-repository "deb [arch=amd64] https://qgis.org/debian $(. /etc/os-release; echo "$UBUNTU_CODENAME") main"
+E instalamos como siempre + +
sudo apt update
+sudo apt install qgis
+=== Referencias === + +* [https://mappinggis.com/2015/09/como-conectar-con-servicios-wms-y-wfs-con-arcgis-qgis-y-gvsig/ Conectar WMS con QGIS] +* [https://www.altergeosistemas.com/blog/2014/03/28/importando-datos-de-osm-en-qgis-2/ Importar OSM en QGIS] +* [http://learnosm.org/es/osm-data/osm-in-qgis/ Learn OSM] +* [http://www.qgistutorials.com/es/docs/downloading_osm_data.html QGIS Tutorials] + += Recetas variadas = + +== Solucionar problemas de menús duplicados usando menulibre == + +{| +| '''Nota''': Ya no uso ''MenuLibre'' +|} + +En el directorio ~/.config/menus/applications-merged borramos todos los ficheros que haya. + +== Formatear memoria usb == + +“The driver descriptor says the physical block size is 2048 bytes, but Linux says it is 512 bytes.” + +Este comando borró todas las particiones de la memoria: + +sudo dd if=/dev/zero of=/dev/sdd bs=2048 count=32 && sync + +I’m assuming your using gparted. + +First delete whatever partitions you can…just keep pressing ignore. + +There will be one with a black outline…you will have to unmount it…just right click on it and unmount. + +Again you will have to click your way through ignore..if fix is an option choose it also. + +Once all this is done… you can select the device menu and choose new partition table. + +Select MSdos + +Apply and choose ignore again. + +Once it’s done it show it’s real size. + +Next you can format the drive to whichever file system you like. + +It’s a pain in the behind this way, but it’s the only way I get it done..I put live iso’s on sticks all the time and have to remove them. I get stuck going through this process every time. + +== Copiar la clave pública ssh en un servidor remoto == + +cat /home/tim/.ssh/id_rsa.pub | ssh tim@just.some.other.server 'cat >> .ssh/authorized_keys' + +O también: + +ssh-copy-id -i ~/.ssh/id_rsa.pub username@remote.server + +== ssh access from termux == + +https://linuxconfig.org/ssh-into-linux-your-computer-from-android-with-termux + +== SDR instalaciones varias == + +Vamos a trastear con un dispositivo [https://www.rtl-sdr.com/ RTL-SDR.com]. + +Tenemos un montón de información en el blog de [https://sdrgal.wordpress.com/ SDR Galicia] y tienen incluso una guia de instalación muy completa, pero yo voy a seguir una guía un poco menos ambiciosa, por lo menos hasta que pueda hacer el curso que imparten ellos mismos (SDR Galicia) + +La guía en cuestión la podemos encontrar [https://ranous.wordpress.com/rtl-sdr4linux/ aquí] + +Seguimos los pasos de instalación: + +* La instalación de git, cmake y build-essential ya la tengo hecha. + +
sudo apt-get install libusb-1.0-0-dev
+== Posible problema con modemmanager y micros programables == + +Programando el ''Circuit Playground Express'' con el ''Arduino IDE'' tenía problemas continuos para hacer los ''uploads'', al parecer el servicio ''ModemManager'' es el culpable, se pasa todo el tiempo capturando los nuevos puertos serie por que considera que todo es un modem. + +Una prueba rápida para comprobarlo: sudo systemctl stop ModemManager + +Con esto funciona todo bien, pero en el siguiente arranque volvera a cargarse. + +Para dar una solución definitiva se puede programar una regla para impedir que el ''ModemManager'' capture el puerto con un dispositivo + +Creamos un fichero con permisos de root en el directorio /etc/udev/rules.d que llamaremos: 99-arduino.rules + +Dentro de ese fichero especificamos los codigos VID/PID que se deben ignorar: + +
# for arduino brand, stop ModemManager grabbing port
+ATTRS{idVendor}=="2a03", ENV{ID_MM_DEVICE_IGNORE}="1"
+# for sparkfun brand, stop ModemManager grabbing port
+ATTRS{idVendor}=="1b4f", ENV{ID_MM_DEVICE_IGNORE}="1"
+Ojo que si tienes SystemV no va a funcionar. + +https://starter-kit.nettigo.eu/2015/serial-port-busy-for-avrdude-on-ubuntu-with-arduino-leonardo-eth/ + +https://www.codeproject.com/Tips/349002/Select-a-USB-Serial-Device-via-its-VID-PID + +== Programar los nanos con chip ch340 o ch341 == + +Linux mapea el chip correctamente en un puerto /dev/ttyUSB0 y con eso basta, que no te lien con el cuento de “drivers para linux” + +Todo lo que hace falta es configurar correctamente el ''Arduino IDE'', hay que escoger: + +
Board: "Arduino Nano"
+Processor: "ATmega168"
+Port: "/dev/ttyUSB0"
+Y ya funciona todo. + diff --git a/out/LinuxMintUlyana.odt b/out/LinuxMintUlyana.odt index 4f52374..556f679 100644 Binary files a/out/LinuxMintUlyana.odt and b/out/LinuxMintUlyana.odt differ diff --git a/out/LinuxMintUlyana.pdf b/out/LinuxMintUlyana.pdf index 4adb88d..f78d0bf 100644 Binary files a/out/LinuxMintUlyana.pdf and b/out/LinuxMintUlyana.pdf differ diff --git a/out/LinuxMintUlyana.tex b/out/LinuxMintUlyana.tex index 126b809..4e196fa 100644 --- a/out/LinuxMintUlyana.tex +++ b/out/LinuxMintUlyana.tex @@ -126,6 +126,9 @@ Linux Mint incluye \texttt{sudo} \footnote{ya no incluye gksu pero para gestión de paquetes por defecto (\emph{aptitude} y \emph{synaptic}). +Interesa tener instalado \texttt{sudo\ apt\ install\ ppa-purge}. Sirve +para eliminar ppas junto con los programas instalados desde ese ppa. + Tampoco voy a enredar nada con los orígenes del software (de momento) \hypertarget{firmware}{% @@ -2350,4 +2353,945 @@ pip install python-usb Instalamos el fichero \texttt{.deb} desde la web \url{https://github.com/fablabnbg/inkscape-silhouette/releases} +\hypertarget{aplicaciones-de-gruxe1ficos}{% +\section{Aplicaciones de gráficos}\label{aplicaciones-de-gruxe1ficos}} + +\hypertarget{librecad}{% +\subsection{LibreCAD}\label{librecad}} + +Diseño en 2D + +\begin{verbatim} +sudo apt install librecad +\end{verbatim} + +\hypertarget{freecad}{% +\subsection{FreeCAD}\label{freecad}} + +No hay ppa disponible para Ubuntu 20. + +Instalamos \emph{AppImage} desde +\href{https://wiki.freecadweb.org/AppImage\#FreeCAD_AppImages}{aquí} + +Dejo la instalación desde ppa como recordatorio. + +\begin{verbatim} +sudo add-apt-repository ppa:freecad-maintainers/freecad-stable +sudo apt update +sudo install freecad +\end{verbatim} + +\begin{center}\rule{0.5\linewidth}{0.5pt}\end{center} + +\textbf{NOTA:} the ccx package brings CalculiX support to the FEM +workbench, and needs to be installed separately. + +\begin{center}\rule{0.5\linewidth}{0.5pt}\end{center} + +\hypertarget{inkscape}{% +\subsection{Inkscape}\label{inkscape}} + +El programa libre para creación y edición de gráficos vectoriales. + +\begin{verbatim} +sudo add-apt-repository ppa:inkscape.dev/stable +sudo apt update +sudo apt install inkscape +\end{verbatim} + +\hypertarget{gimp}{% +\subsection{Gimp}\label{gimp}} + +El programa para edición y retocado de imágenes. + +Parece que ahora mismo los repos están más actualizados que el ppa. Así +que bastaría con: + +\begin{verbatim} +sudo apt install gimp gimp-data gimp-texturize \ +gimp-data-extras gimp-gap gmic gimp-gmic +\end{verbatim} + +De todas formas dejo aquí las instrucciones para instalar desde el ppa +por si hacen falta algún dia: + +\begin{verbatim} +sudo apt remove gimp gimp-data +sudo add-apt-repository ppa:otto-kesselgulasch/gimp +sudo apt update +sudo apt upgrade +sudo apt install gimp gimp-data gimp-texturize \ +gimp-data-extras gimp-gap gmic gimp-gmic gimp-python +\end{verbatim} + +\hypertarget{plugins-de-gimp}{% +\subsubsection{Plugins de Gimp}\label{plugins-de-gimp}} + +Para instalar los principales plugins basta con: + +\begin{verbatim} +sudo apt install gimp-plugin-registry +\end{verbatim} + +\begin{longtable}[]{@{}l@{}} +\toprule +\endhead +\begin{minipage}[t]{0.96\columnwidth}\raggedright +Esta sección ya no está vigente\strut +\end{minipage}\tabularnewline +\begin{minipage}[t]{0.96\columnwidth}\raggedright +\#\#\#\# resynthesizer\strut +\end{minipage}\tabularnewline +\begin{minipage}[t]{0.96\columnwidth}\raggedright +Descargamos el plugin desde +\href{https://github.com/bootchk/resynthesizer}{aquí} y descomprimimos +el fichero en +\texttt{\textasciitilde{}/.config/GIMP/2.10/plug-ins}\strut +\end{minipage}\tabularnewline +\begin{minipage}[t]{0.96\columnwidth}\raggedright +Tenemos que asegurarnos que los fichero \emph{python} son +ejecutables:\strut +\end{minipage}\tabularnewline +\begin{minipage}[t]{0.96\columnwidth}\raggedright +\textasciitilde\textasciitilde\textasciitilde\textasciitilde{} chmod 755 +\textasciitilde/.config/GIMP/2.10/plug-ins/*.py +\textasciitilde\textasciitilde\textasciitilde\textasciitilde{}\strut +\end{minipage}\tabularnewline +\bottomrule +\end{longtable} + +\hypertarget{krita}{% +\subsection{Krita}\label{krita}} + +La versión disponible en orígenes de software está bastante por detrás +de la disponible en la web. Basta con descargar el \emph{Appimage} desde +la \href{https://krita.org}{página web} + +Lo copiamos a \texttt{\textasciitilde{}/apps/krita} y creamos un +lanzador con el editor de menús. + +Alternativamente también lo tenemos disponible por ppa en +\url{https://launchpad.net/~kritalime/+archive/ubuntu/ppa} + +\hypertarget{mypaint}{% +\subsection{MyPaint}\label{mypaint}} + +Desde el \href{https://github.com/mypaint/}{github} tenemos disponible +la última versión en formato \emph{appimage}. La descargamos la dejamos +en \texttt{\textasciitilde{}/apps} y creamos un acceso con +\emph{Menulibre}, como siempre. + +\hypertarget{alchemy}{% +\subsection{Alchemy}\label{alchemy}} + +Igual que el \emph{MyPaint} descargamos desde +\href{http://al.chemy.org}{la página web}, descomprimimos en +\texttt{\textasciitilde{}/apps} y creamos un accso con \emph{Menulibre}. + +\hypertarget{capturas-de-pantalla}{% +\subsection{Capturas de pantalla}\label{capturas-de-pantalla}} + +El \href{https://flameshot.js.org/\#/}{\emph{flameshot}} cubre el 99\% +de mis necesidades: \texttt{sudo\ apt\ install\ flameshot} + +El \href{https://github.com/DamirPorobic/ksnip}{\emph{ksnip}} por si +tenemos que hacer una captura con retardo lo instalé con un +\emph{appimage}. + +Shutter vuelve a estar disponible, al instalar desde este ppa ya queda +con las opciones de edición habilitadas: + +\begin{verbatim} +sudo add-apt-repository ppa:linuxuprising/shutter +sudo apt update +sudo apt install shutter +\end{verbatim} + +\hypertarget{reoptimizar-imuxe1genes}{% +\subsection{Reoptimizar imágenes}\label{reoptimizar-imuxe1genes}} + +\hypertarget{imagemagick}{% +\subsubsection{ImageMagick}\label{imagemagick}} + +Instalamos desde los repos, simplemente: + +\begin{verbatim} +sudo apt install imagemagick +\end{verbatim} + +\hypertarget{imagine}{% +\subsubsection{Imagine}\label{imagine}} + +Nos bajamos un \emph{AppImage} desde el +\href{https://github.com/meowtec/Imagine/releases}{github} de la +aplicación + +\hypertarget{dia}{% +\subsection{dia}\label{dia}} + +Un programa para crear diagramas + +\begin{verbatim} +sudo apt install dia dia-shapes gsfonts-x11 +\end{verbatim} + +\hypertarget{blender}{% +\subsection{Blender}\label{blender}} + +Bajamos el Blender linkado estáticamente de +\href{https://www.blender.org}{la página web} y lo descomprimimos en +\texttt{\textasciitilde{}/apps/blender}. + +\hypertarget{structure-synth}{% +\subsection{Structure Synth}\label{structure-synth}} + +Instalado desde repos, junto con sunflow para explorar un poco. + +\begin{verbatim} +sudo apt install structure-synth sunflow +\end{verbatim} + +\hypertarget{heron-animation}{% +\subsection{Heron animation}\label{heron-animation}} + +Descargamos el programa desde +\href{https://heronanimation.brunolefevre.net/}{su página web} y como +siempre descomprimimos en \texttt{\textasciitilde{}/apps/heron} + +\hypertarget{stopmotion}{% +\subsection{Stopmotion}\label{stopmotion}} + +Primero probamos el del repo: \texttt{sudo\ apt\ install\ stopmotion} + +\hypertarget{instalaciuxf3n-del-driver-digiment-para-tabletas-gruxe1ficas-huion}{% +\subsection{Instalación del driver digiment para tabletas gráficas +Huion}\label{instalaciuxf3n-del-driver-digiment-para-tabletas-gruxe1ficas-huion}} + +He intentado un par de veces instalar con el fichero \texttt{deb} pero +parece que no funciona. + +Para hacer la instalación via DKMS el truco está en: + +\begin{itemize} +\tightlist +\item + Dejar el código fuente en un directorio de la forma + \texttt{/usr/src/\textless{}PROJECTNAME\textgreater{}-\textless{}VERSION\textgreater{}} +\item + Lanzar el \texttt{build} pero usando esta vez + \texttt{\textless{}PROJECTNAME\textgreater{}/\textless{}VERSION\textgreater{}} +\end{itemize} + +Descargamos los últimos drivers desde +\href{https://github.com/DIGImend/digimend-kernel-drivers/releases}{la +página oficial de releases}, en el momento de escribir esto descargamos +la versión V9. + +Descomprimimos en \texttt{/usr/src/digimend-9} + +\begin{verbatim} +cd /usr/src +sudo xvzf . +sudo dkms build digimend-kernel-drivers/9 +sudo dkms install digimend/9 +\end{verbatim} + +Para comprobar: + +\begin{verbatim} +xinput --list +dkms status +\end{verbatim} + +Referencia: + +\begin{itemize} +\tightlist +\item + \href{https://davidrevoy.com/article331/setup-huion-giano-wh1409-tablet-on-linux-mint-18-1-ubuntu-16-04}{Aquí} +\end{itemize} + +\hypertarget{sonido}{% +\section{Sonido}\label{sonido}} + +\hypertarget{spotify}{% +\subsection{Spotify}\label{spotify}} + +Spotify instalado desde las opciones de Linux Mint + +\hypertarget{audacity}{% +\subsection{Audacity}\label{audacity}} + +Añadimos ppa: + +\begin{verbatim} +sudo add-apt-repository ppa:ubuntuhandbook1/audacity +sudo apt-get update +sudo apt install audacity +\end{verbatim} + +Instalamos también el plugin +\href{https://theaudacitytopodcast.com/chriss-dynamic-compressor-plugin-for-audacity/}{Chris's +Dynamic Compressor plugin} + +\hypertarget{clementine}{% +\subsection{Clementine}\label{clementine}} + +La version disponible en los orígenes de software parece al dia: + +\begin{verbatim} +sudo apt install clementine +\end{verbatim} + +\hypertarget{video}{% +\section{Video}\label{video}} + +\hypertarget{shotcut}{% +\subsection{Shotcut}\label{shotcut}} + +Nos bajamos la \emph{AppImage} para Linux desde la +\href{https://www.shotcut.org/}{página web}. + +La dejamos en \texttt{\textasciitilde{}/apps/shotcut} y: + +\begin{verbatim} +cd +chmod 744 Shotcutxxxxxx.AppImage +./Shotcutxxxxxx.AppImage +\end{verbatim} + +\hypertarget{kdenlive}{% +\subsection{kdenlive}\label{kdenlive}} + +Está disponible como ppa o como \emph{appimage}. Lo he bajado como +\emph{appimage} para probarlo. + +\hypertarget{openshot}{% +\subsection{Openshot}\label{openshot}} + +También descargado desde su web como \emph{appimage}. + +\hypertarget{grabaciuxf3n-de-screencast}{% +\subsection{Grabación de screencast}\label{grabaciuxf3n-de-screencast}} + +\hypertarget{vokoscreen-y-kazam}{% +\subsubsection{Vokoscreen y Kazam}\label{vokoscreen-y-kazam}} + +Instalados desde los repos oficiales: + +\begin{verbatim} +sudo apt update +sudo apt install vokoscreen kazam +\end{verbatim} + +\hypertarget{grabaciuxf3n-de-podcast}{% +\subsection{Grabación de podcast}\label{grabaciuxf3n-de-podcast}} + +\hypertarget{mumble}{% +\subsubsection{Mumble}\label{mumble}} + +Instalamos desde PPA + +\begin{verbatim} +sudo add-apt-repository ppa:mumble/release +sudo apt update + sudo apt install mumble +\end{verbatim} + +\hypertarget{fotografuxeda}{% +\section{Fotografía}\label{fotografuxeda}} + +\hypertarget{rawtherapee}{% +\subsection{Rawtherapee}\label{rawtherapee}} + +Bajamos el AppImage desde la \href{http://rawtherapee.com/}{página web} +al directorio \texttt{\textasciitilde{}/apps/rawtherapee}. + +\begin{verbatim} +cd +chmod 744 RawTherapeexxxxxx.AppImage +./RawTherapeexxxxxx.AppImage +\end{verbatim} + +Al ejecutarla la primera vez ya se encarga la propia aplicación de +integrarse en nuestro sistema. + +\hypertarget{darktable}{% +\subsection{Darktable}\label{darktable}} + +Instalamos ppa: + +\begin{verbatim} +sudo sh -c "echo 'deb http://download.opensuse.org/repositories/graphics:/darktable/xUbuntu_18.04/ /' > /etc/apt/sources.list.d/graphics:darktable.list" +wget -nv https://download.opensuse.org/repositories/graphics:darktable/xUbuntu_18.04/Release.key -O Release.key +sudo apt-key add - < Release.key +sudo apt update +sudo apt install darktable +\end{verbatim} + +Se instala la última versión de Darktable (3.0.0) + +\hypertarget{seguridad}{% +\section{Seguridad}\label{seguridad}} + +\hypertarget{autenticaciuxf3n-en-servidores-por-clave-puxfablica}{% +\subsection{Autenticación en servidores por clave +pública}\label{autenticaciuxf3n-en-servidores-por-clave-puxfablica}} + +Generar contraseñas para conexión servidores remotos: + +\begin{verbatim} +cd ~ +ssh-keygen -b 4096 [-t dsa | ecdsa | ed25519 | rsa | rsa1] +cat .ssh/ +\end{verbatim} + +Solo resta añadir nuestra clave pública en el fichero +\texttt{authorized\_keys} del servidor remoto. + +\begin{verbatim} +cat ~/.ssh/id_xxx.pub | ssh user@hostname 'cat >> .ssh/authorized_keys' +\end{verbatim} + +\href{https://www.digitalocean.com/community/tutorials/understanding-the-ssh-encryption-and-connection-process}{¿Cómo +funciona esto?} + +\hypertarget{claves-gpg}{% +\subsection{Claves gpg}\label{claves-gpg}} + +\texttt{gpg\ -\/-gen-key} Para generar nuestra clave. + +\begin{itemize} +\tightlist +\item + \textbf{Siempre} hay que ponerle una fecha de expiración, la puedes + cambiar más tarde. +\item + \textbf{Siempre} hay que escoger la máxima longitud posible +\end{itemize} + +\hypertarget{seahorse}{% +\subsection{Seahorse}\label{seahorse}} + +Para manejar todas nuestras claves con comodidad: + +\texttt{sudo\ apt\ install\ seahorse} + +\hypertarget{conexiuxf3n-a-github-con-claves-ssh}{% +\subsection{Conexión a github con claves +ssh}\label{conexiuxf3n-a-github-con-claves-ssh}} + +Usando este método podemos conectarnos a github sin tener que teclear la +contraseña en cada conexión. + +\hypertarget{claves-ssh}{% +\subsubsection{Claves ssh}\label{claves-ssh}} + +Podemos echar un ojo a nuestras claves desde \texttt{seahorse} la +aplicación de gestión de claves que hemos instalado. También podemos ver +las claves que tenemos generadas: + +\begin{verbatim} +ls -al ~/.ssh +\end{verbatim} + +En las claves listadas nuestras claves públicas aparecerán con extensión +\texttt{.pub} + +También podemos comprobar que claves hemos añadido ya a nuestro agente +ssh con: + +\begin{verbatim} +ssh-add -l +\end{verbatim} + +Para generar una nueva pareja de claves ssh: + +\begin{verbatim} +ssh-keygen -t rsa -b 4096 -C "your_email@example.com" +\end{verbatim} + +Podremos dar un nombre distintivo a los ficheros de claves generados y +poner una contraseña adecuada a la clave. Si algún dia queremos cambiar +la contraseña: + +\begin{verbatim} +ssh-keygen -p +\end{verbatim} + +Ahora tenemos que añadir nuestra clave ssh en nuestra cuenta de github, +para ello editamos con nuestro editor de texto favorito el fichero +\texttt{\textasciitilde{}/.ssh/id\_rsa.pub} y copiamos el contenido +integro. Después pegamos ese contenido en el cuadro de texto de la web +de github. + +Para comprobar que las claves instaladas en github funcionan +correctamente: + +\begin{verbatim} +ssh -T git@github.com +Hi salvari! You've successfully authenticated, but GitHub does not provide shell access. +\end{verbatim} + +Este mensaje indica que todo ha ido bien. + +Ahora en los repos donde queramos usar ssh debemos cambiar el remote: + +\begin{verbatim} +git remote set-url origin git@github.com:$USER/$REPONAME.git +\end{verbatim} + +\hypertarget{signal}{% +\subsection{Signal}\label{signal}} + +El procedimiento recomendado en la página oficial: + +\begin{verbatim} +curl -s https://updates.signal.org/desktop/apt/keys.asc | sudo apt-key add - +echo "deb [arch=amd64] https://updates.signal.org/desktop/apt xenial main" | sudo tee -a /etc/apt/sources.list.d/signal-xenial.list +sudo apt update && sudo apt install signal-desktop +\end{verbatim} + +\begin{center}\rule{0.5\linewidth}{0.5pt}\end{center} + +\textbf{NOTA}: Parece que no funciona. Lo he instalado via +\emph{flatpack} + +\begin{center}\rule{0.5\linewidth}{0.5pt}\end{center} + +\hypertarget{lector-dni-electruxf3nico}{% +\subsection{Lector DNI electrónico}\label{lector-dni-electruxf3nico}} + +Instalamos: + +\begin{verbatim} +sudo apt-get install pcscd pcsc-tools libccid +\end{verbatim} + +Como root ejecutamos pcsc\_scan: + +\begin{verbatim} +root@rasalhague:~# pcsc_scan +PC/SC device scanner +V 1.4.23 (c) 2001-2011, Ludovic Rousseau +Compiled with PC/SC lite version: 1.8.11 +Using reader plug'n play mechanism +Scanning present readers... +Waiting for the first reader... +\end{verbatim} + +Si insertamos el lector veremos algo como esto: + +\begin{verbatim} +root@rasalhague:~# pcsc_scan +PC/SC device scanner +V 1.4.23 (c) 2001-2011, Ludovic Rousseau +Compiled with PC/SC lite version: 1.8.11 +Using reader plug'n play mechanism +Scanning present readers... +Waiting for the first reader...found one +Scanning present readers... +0: C3PO LTC31 v2 (11061005) 00 00 + +Wed Jan 25 01:17:20 2017 +Reader 0: C3PO LTC31 v2 (11061005) 00 00 + Card state: Card removed, +\end{verbatim} + +Si insertamos un DNI veremos que se lee la información de la tarjeta +insertada: + +\begin{verbatim} +Reader 0: C3PO LTC31 v2 (11061005) 00 00 + Card state: Card inserted, +\end{verbatim} + +y mas rollo + +Instalamos ahora el modulo criptográfico desde +\href{https://www.dnielectronico.es/PortalDNIe/PRF1_Cons02.action?pag=REF_1112}{este +enlace} + +Y además: + +\begin{verbatim} +aptitude install pinentry-gtk2 opensc +\end{verbatim} + +\hypertarget{virtualizaciones-y-contenedores}{% +\section{Virtualizaciones y +contenedores}\label{virtualizaciones-y-contenedores}} + +\hypertarget{instalaciuxf3n-de-virtualbox}{% +\subsection{\texorpdfstring{Instalación de +\emph{virtualBox}}{Instalación de virtualBox}}\label{instalaciuxf3n-de-virtualbox}} + +Lo hacemos con los origenes de software oficiales (alternativamente, +podríamos hacerlo manualmente): + +\begin{verbatim} +# Importamos la clave gpg +wget -q https://www.virtualbox.org/download/oracle_vbox_2016.asc -O- | sudo apt-key add - + +# Añadimos el nuevo origen de software +sudo add-apt-repository "deb [arch=amd64] https://download.virtualbox.org/virtualbox/debian $(. /etc/os-release; echo "$UBUNTU_CODENAME") contrib" + +# Actualizamos la base de datos de paquetes +sudo apt update +\end{verbatim} + +Ahora podemos comprobar que además del paquete \emph{virtualbox} tenemos +varios paquetes con número de versión (p.ej. \_virtualbox.6.1), estos +últimos son los que hemos añadido (compruebalo con +\texttt{apt-cache\ policy\ {[}nombrepaquete{]}}) + +Instalamos el que nos interesa: + +\begin{verbatim} +sudo apt install virtualbox-6.1 +\end{verbatim} + +Descargamos también el +\href{https://www.virtualbox.org/wiki/Downloads}{VirtualBox Extension +Pack}, este paquete lo instalaremos desde el propio interfaz de usuario +del \emph{VirtualBox}. Y lo instalamos con el comando: + +\begin{verbatim} +sudo VBoxManage extpack install ./Oracle_VM_VirtualBox_Extension_Pack-6.1.2.vbox-extpack +\end{verbatim} + +Sólo nos queda añadir nuestro usuario al grupo \texttt{vboxusers}, con +el comando \texttt{sudo\ gpasswd\ -a\ username\ vboxusers}, y tendremos +que cerrar la sesión para refrescar nuestros grupos. + +\hypertarget{qemu}{% +\subsection{qemu}\label{qemu}} + +Instalamos desde el repo oficial: + +\begin{verbatim} +sudo apt install qemu-kvm qemu virt-manager virt-viewer libvirt-bin +\end{verbatim} + +\hypertarget{docker}{% +\subsection{Docker}\label{docker}} + +Tenemos que añadir el repositorio correspondiente a nuestra +distribución: + +\begin{verbatim} +# Be safe +sudo apt remove docker docker-engine docker.io +sudo apt autoremove +sudo apt update + +# Install pre-requisites +sudo apt install ca-certificates curl + +# Import the GPG key + +curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - + +# Next, point the package manager to the official Docker repository + +sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(. /etc/os-release; echo "$UBUNTU_CODENAME") stable" + +# Update the package database + +sudo apt update +# + +apt-cache policy docker-ce + +sudo apt install docker-ce + +sudo gpasswd -a salvari docker +\end{verbatim} + +Esto dejará el servicio \emph{docker} funcionando y habilitado +(arrancará en cada reinicio del ordenador) + +La forma de pararlo es: + +\begin{verbatim} +sudo systemctl stop docker +sudo systemctl disable docker +systemctl status docker +\end{verbatim} + +Añadimos el \emph{bundle} \textbf{docker} en nuestro fichero +\texttt{\textasciitilde{}/.zshrc} para tener autocompletado en comandos +de docker. + +Para usar \emph{docker} tendremos que arrancarlo, con los alias de +nuestro sistema para \emph{systemd} ejecutamos: + +\begin{verbatim} +scst docker # para arrancar el servicio + +scsp docker # para parar el servicio +\end{verbatim} + +\hypertarget{docker-compose}{% +\subsubsection{docker-compose}\label{docker-compose}} + +\begin{itemize} +\tightlist +\item + Nos bajamos la última versión disponible de + \href{https://github.com/docker/compose/releases}{las releases de + github} +\item + Movemos el fichero que hemos descargado a + \texttt{/usr/local/bin/docker-compose} +\item + Y le damos permisos de ejecución + \texttt{sudo\ chmod\ +x\ /usr/local/bin/docker-compose} +\end{itemize} + +\hypertarget{utilidades-para-mapas-y-cartografuxeda}{% +\section{Utilidades para mapas y +cartografía}\label{utilidades-para-mapas-y-cartografuxeda}} + +\hypertarget{josm}{% +\subsection{josm}\label{josm}} + +Descargamos y añadimos la clave gpg: + +\begin{verbatim} +wget -q https://josm.openstreetmap.de/josm-apt.key -O- | sudo apt-key add - +\end{verbatim} + +Añadimos el origen de software: + +\begin{verbatim} +sudo add-apt-repository "deb [arch=amd64] https://josm.openstreetmap.de/apt $(. /etc/os-release; echo "$UBUNTU_CODENAME") universe" +\end{verbatim} + +Y ahora procedemos a la instalación: + +\begin{verbatim} +sudo apt update +sudo apt install openjfx josm +\end{verbatim} + +Alternativamente también podemos instalar la versión ``nightly'' con el +siguienete comando, pero tendréis actualizaciones diarias: + +\begin{verbatim} +sudo apt josm-latest +\end{verbatim} + +Ya estamos listos para editar Open Street Map offline. + +\hypertarget{mobac}{% +\subsection{MOBAC}\label{mobac}} + +Bajamos el paquete desde \href{http://mobac.sourceforge.net/}{la página +web} y descomprimimos en \texttt{\textasciitilde{}/apps/mobac} como de +costumbre nos creamos una entrada de menú con \emph{MenuLibre}. + +Conviene bajarse wms adicionales para MOBAC y leerse +\href{http://mobac.sourceforge.net/wiki/index.php/Custom_XML_Map_Sources}{la +wiki} + +\hypertarget{referencias-1}{% +\subsubsection{Referencias}\label{referencias-1}} + +*{[}Cartografía digital{]} +(https://digimapas.blogspot.com.es/2015/01/oruxmaps-vii-mapas-de-mobac.html) + +\hypertarget{qgis}{% +\subsection{QGIS}\label{qgis}} + +Añadimos la clave gpg: + +\begin{verbatim} +wget -q https://qgis.org/downloads/qgis-2017.gpg.key -O- | sudo apt-key add - +\end{verbatim} + +Ejecutamos: + +\begin{verbatim} +sudo add-apt-repository "deb [arch=amd64] https://qgis.org/debian $(. /etc/os-release; echo "$UBUNTU_CODENAME") main" +\end{verbatim} + +E instalamos como siempre + +\begin{verbatim} +sudo apt update +sudo apt install qgis +\end{verbatim} + +\hypertarget{referencias-2}{% +\subsubsection{Referencias}\label{referencias-2}} + +\begin{itemize} +\tightlist +\item + \href{https://mappinggis.com/2015/09/como-conectar-con-servicios-wms-y-wfs-con-arcgis-qgis-y-gvsig/}{Conectar + WMS con QGIS} +\item + \href{https://www.altergeosistemas.com/blog/2014/03/28/importando-datos-de-osm-en-qgis-2/}{Importar + OSM en QGIS} +\item + \href{http://learnosm.org/es/osm-data/osm-in-qgis/}{Learn OSM} +\item + \href{http://www.qgistutorials.com/es/docs/downloading_osm_data.html}{QGIS + Tutorials} +\end{itemize} + +\hypertarget{recetas-variadas}{% +\section{Recetas variadas}\label{recetas-variadas}} + +\hypertarget{solucionar-problemas-de-menuxfas-duplicados-usando-menulibre}{% +\subsection{Solucionar problemas de menús duplicados usando +menulibre}\label{solucionar-problemas-de-menuxfas-duplicados-usando-menulibre}} + +\begin{longtable}[]{@{}l@{}} +\toprule +\endhead +\textbf{Nota}: Ya no uso \emph{MenuLibre}\tabularnewline +\bottomrule +\end{longtable} + +En el directorio +\texttt{\textasciitilde{}/.config/menus/applications-merged} borramos +todos los ficheros que haya. + +\hypertarget{formatear-memoria-usb}{% +\subsection{Formatear memoria usb}\label{formatear-memoria-usb}} + +``The driver descriptor says the physical block size is 2048 bytes, but +Linux says it is 512 bytes.'' + +Este comando borró todas las particiones de la memoria: + +\texttt{sudo\ dd\ if=/dev/zero\ of=/dev/sdd\ bs=2048\ count=32\ \&\&\ sync} + +I'm assuming your using gparted. + +First delete whatever partitions you can\ldots just keep pressing +ignore. + +There will be one with a black outline\ldots you will have to unmount +it\ldots just right click on it and unmount. + +Again you will have to click your way through ignore..if fix is an +option choose it also. + +Once all this is done\ldots{} you can select the device menu and choose +new partition table. + +Select MSdos + +Apply and choose ignore again. + +Once it's done it show it's real size. + +Next you can format the drive to whichever file system you like. + +It's a pain in the behind this way, but it's the only way I get it +done..I put live iso's on sticks all the time and have to remove them. I +get stuck going through this process every time. + +\hypertarget{copiar-la-clave-puxfablica-ssh-en-un-servidor-remoto}{% +\subsection{Copiar la clave pública ssh en un servidor +remoto}\label{copiar-la-clave-puxfablica-ssh-en-un-servidor-remoto}} + +\texttt{cat\ /home/tim/.ssh/id\_rsa.pub\ \textbar{}\ ssh\ tim@just.some.other.server\ \textquotesingle{}cat\ \textgreater{}\textgreater{}\ .ssh/authorized\_keys\textquotesingle{}} + +O también: + +\texttt{ssh-copy-id\ -i\ \textasciitilde{}/.ssh/id\_rsa.pub\ username@remote.server} + +\hypertarget{ssh-access-from-termux}{% +\subsection{ssh access from termux}\label{ssh-access-from-termux}} + +\url{https://linuxconfig.org/ssh-into-linux-your-computer-from-android-with-termux} + +\hypertarget{sdr-instalaciones-varias}{% +\subsection{SDR instalaciones varias}\label{sdr-instalaciones-varias}} + +Vamos a trastear con un dispositivo +\href{https://www.rtl-sdr.com/}{RTL-SDR.com}. + +Tenemos un montón de información en el blog de +\href{https://sdrgal.wordpress.com/}{SDR Galicia} y tienen incluso una +guia de instalación muy completa, pero yo voy a seguir una guía un poco +menos ambiciosa, por lo menos hasta que pueda hacer el curso que +imparten ellos mismos (SDR Galicia) + +La guía en cuestión la podemos encontrar +\href{https://ranous.wordpress.com/rtl-sdr4linux/}{aquí} + +Seguimos los pasos de instalación: + +\begin{itemize} +\tightlist +\item + La instalación de \texttt{git}, \texttt{cmake} y + \texttt{build-essential} ya la tengo hecha. +\end{itemize} + +\begin{verbatim} +sudo apt-get install libusb-1.0-0-dev +\end{verbatim} + +\hypertarget{posible-problema-con-modemmanager-y-micros-programables}{% +\subsection{Posible problema con modemmanager y micros +programables}\label{posible-problema-con-modemmanager-y-micros-programables}} + +Programando el \emph{Circuit Playground Express} con el \emph{Arduino +IDE} tenía problemas continuos para hacer los \emph{uploads}, al parecer +el servicio \emph{ModemManager} es el culpable, se pasa todo el tiempo +capturando los nuevos puertos serie por que considera que todo es un +modem. + +Una prueba rápida para comprobarlo: +\texttt{sudo\ systemctl\ stop\ ModemManager} + +Con esto funciona todo bien, pero en el siguiente arranque volvera a +cargarse. + +Para dar una solución definitiva se puede programar una regla para +impedir que el \emph{ModemManager} capture el puerto con un dispositivo + +Creamos un fichero con permisos de \texttt{root} en el directorio +\texttt{/etc/udev/rules.d} que llamaremos: \texttt{99-arduino.rules} + +Dentro de ese fichero especificamos los codigos VID/PID que se deben +ignorar: + +\begin{verbatim} +# for arduino brand, stop ModemManager grabbing port +ATTRS{idVendor}=="2a03", ENV{ID_MM_DEVICE_IGNORE}="1" +# for sparkfun brand, stop ModemManager grabbing port +ATTRS{idVendor}=="1b4f", ENV{ID_MM_DEVICE_IGNORE}="1" +\end{verbatim} + +Ojo que si tienes SystemV no va a funcionar. + +https://starter-kit.nettigo.eu/2015/serial-port-busy-for-avrdude-on-ubuntu-with-arduino-leonardo-eth/ + +https://www.codeproject.com/Tips/349002/Select-a-USB-Serial-Device-via-its-VID-PID + +\hypertarget{programar-los-nanos-con-chip-ch340-o-ch341}{% +\subsection{Programar los nanos con chip ch340 o +ch341}\label{programar-los-nanos-con-chip-ch340-o-ch341}} + +Linux mapea el chip correctamente en un puerto \texttt{/dev/ttyUSB0} y +con eso basta, que no te lien con el cuento de ``drivers para linux'' + +Todo lo que hace falta es configurar correctamente el \emph{Arduino +IDE}, hay que escoger: + +\begin{verbatim} +Board: "Arduino Nano" +Processor: "ATmega168" +Port: "/dev/ttyUSB0" +\end{verbatim} + +Y ya funciona todo. + \end{document} diff --git a/src/500_graph.md b/src/500_graph.md index 0b48f24..ed0e110 100644 --- a/src/500_graph.md +++ b/src/500_graph.md @@ -46,6 +46,16 @@ sudo apt install inkscape El programa para edición y retocado de imágenes. Parece que ahora mismo los repos están más actualizados que el ppa. +Así que bastaría con: + +~~~~{bash} +sudo apt install gimp gimp-data gimp-texturize \ +gimp-data-extras gimp-gap gmic gimp-gmic +~~~~ + + +De todas formas dejo aquí las instrucciones para instalar desde el ppa +por si hacen falta algún dia: ~~~~ sudo apt remove gimp gimp-data