diff --git a/README.md b/README.md index b8138a8..6c8958f 100644 --- a/README.md +++ b/README.md @@ -113,7 +113,7 @@ de problemas. ¡Ojo!, nos hacemos `root` para ejecutar: -``` {bash} +``` bash sudo su - git config --global init.defaultBranch main git config --global user.email xxxxx@whatever.com @@ -126,7 +126,7 @@ en `/etc` Para echar una mirada a los *commits* creados puedes ejecutar: -``` {bash} +``` bash cd /etc sudo git log ``` @@ -139,7 +139,7 @@ de configuración. Creamos el repo donde queramos, yo suelo usar el directorio `~/work/repos`. -``` {bash} +``` bash mkdir usrcfg cd usrcfg git init @@ -151,7 +151,7 @@ tiene el directorio de trabajo apuntando a nuestro *\$HOME*. Podemos añadir los ficheros de configuración que queramos al repo: -``` {bash} +``` bash git add .bashrc git commit -m "Add some dotfiles" ``` @@ -186,7 +186,7 @@ tirar del swap. Añadimos el parámetro `noatime` para las particiones de `root` y `/home`, que si que se han creado en el ssd. -``` {fstab} +``` fstab # /etc/fstab: static file system information. # # Use 'blkid' to print the universally unique identifier for a @@ -209,7 +209,7 @@ UUID=11090d84-ce98-40e2-b7be-dce3f841d7b4 none swap sw Una vez modificado el `/etc/fstab` no hace falta arrancar, basta con ejecutar lo siguiente: -``` {bash} +``` bash mount -o remount / mount -o remount /home mount @@ -249,7 +249,7 @@ Reiniciamos nuestro *Firefox* (podemos visitar `about:restartRequired`) Instalamos algunas fuentes desde los orígenes de software: -``` {bash} +``` bash sudo apt install ttf-mscorefonts-installer sudo apt install fonts-noto ``` @@ -277,7 +277,7 @@ Fuentes interesantes: `ufw` y `gufw` vienen instalados por defecto, pero no activados. -``` {bash} +``` bash aptitude install ufw ufw default deny ufw enable @@ -378,7 +378,7 @@ binarios](#varias-aplicaciones-instaladas-de-binarios)) Antes instalaba dos programas de terminal: -``` {bash} +``` bash sudo apt install guake terminator ``` @@ -395,7 +395,7 @@ separado. También instalo *rxvt* teoricamente más ligero y que puedes complementar con *tmux*. -``` {bash} +``` bash sudo apt install rxvt-unicode ``` @@ -405,7 +405,7 @@ sudo apt install rxvt-unicode que *Terminator*, además merece la pena aprender a usarlo por que instalado en servidores remotos es increíblemente útil. -``` {bash} +``` bash sudo apt install tmux ``` @@ -504,7 +504,7 @@ actualizado a la última versión. Instalamos siguiendo las instrucciones de la [página web oficial](https://brave-browser.readthedocs.io/en/latest/installing-brave.html#linux) -``` {bash} +``` bash sudo apt install curl sudo curl -fsSLo /usr/local/share/keyrings/brave-browser-archive-keyring.gpg https://brave-browser-apt-release.s3.brave.com/brave-browser-archive-keyring.gpg @@ -530,7 +530,7 @@ el portátil. Instalamos siguiendo las instrucciones de la [página web](https://joplinapp.org/) -``` {bash} +``` bash wget -O - https://raw.githubusercontent.com/laurent22/joplin/master/Joplin_install_and_update.sh | bash ``` @@ -627,7 +627,7 @@ Cuando estemos contentos con nuestro `zsh` tendremos que ejecutar Añadimos el ppa: -``` {bash} +``` bash curl -s https://syncthing.net/release-key.txt | sudo gpg --dearmour -o /usr/local/share/keyrings/synching-archive-keyring.gpg echo "deb [ signed-by=/usr/local/share/keyrings/synching-archive-keyring.gpg ] https://apt.syncthing.net/ syncthing stable" | sudo tee /etc/apt/sources.list.d/syncthing.list sudo apt-get update @@ -1164,6 +1164,14 @@ comandos: Las plantillas no son imprescindibles pero si quieres aprender a usarlas o hacer alguna modificación viene bien tenerlas. +## Quarto + +Un sistema de generación de documentación que usa *Pandoc*, instalado +con el paquete `.deb` descargado desde [la página web del +proyecto](https://quarto.org/docs/get-started/) + +**TODO**: Completar el tutorial inicial + ## Algunos editores adicionales Dos editores opcionales para hacer pruebas: @@ -1282,8 +1290,10 @@ instalando en Zotero con la opción “Instalar desde fichero”. Estos son los paquetes esenciales para empezar a desarrollar software en Linux. - sudo apt install build-essential checkinstall make automake cmake autoconf \ - git git-core git-crypt dpkg wget +``` bash +sudo apt install build-essential checkinstall make automake cmake autoconf \ +git git-core git-crypt dpkg wget +``` ## Git @@ -1293,7 +1303,7 @@ Linux. developers tienen un ppa para ubuntu, si quieres tener el git más actualizado: -``` {bash} +``` bash sudo add-apt-repository ppa:git-core/ppa sudo apt update sudo apt upgrade @@ -1407,7 +1417,7 @@ Referencias \* (https://github.com/atilaneves/ac-dcd) \* Para instalar las dependencias, previamente instalamos: -``` {shell} +``` shell sudo apt install ncurses-dev id-utils exuberant-ctags python-pygments ``` @@ -1427,7 +1437,7 @@ esto se trata de la versión 6.6.4. Descomprimimos los fuentes y los compilamos con: -``` {shell} +``` shell ./configure --prefix=/usr/local --with-exuberant-ctags=/usr/bin/ctags make sudo make install @@ -1443,7 +1453,7 @@ Instalamos siguiendo las instrucciones de [aqui](https://www.rust-lang.org/tools/install) (Hacemos la instalación por defecto) -``` {bash} +``` bash curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh stable installed - rustc 1.47.0 (18bf6b4f0 2020-10-07) @@ -1571,7 +1581,7 @@ contrario falla la compilación. Añade los siguientes paquetes a nuestro sistema -``` {bash} +``` bash installing OF dependencies OF needs to install the following packages using apt-get: curl libjack-jackd2-0 libjack-jackd2-dev freeglut3-dev libasound2-dev libxmu-dev libxxf86vm-dev g++ libgl1-mesa-dev libglu1-mesa-dev libraw1394-dev libudev-dev libdrm-dev libglew-dev libopenal-dev libsndfile-dev libfreeimage-dev libcairo2-dev libfreetype6-dev libssl-dev libpulse-dev libusb-1.0-0-dev libgtk-3-dev libopencv-dev libassimp-dev librtaudio-dev libboost-filesystem-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev gstreamer1.0-libav gstreamer1.0-pulseaudio gstreamer1.0-x gstreamer1.0-plugins-bad gstreamer1.0-alsa gstreamer1.0-plugins-base gstreamer1.0-plugins-good gdb libglfw3-dev liburiparser-dev libcurl4-openssl-dev libpugixml-dev libgconf-2-4 libgtk2.0-0 libpoco-dev @@ -1591,7 +1601,7 @@ Para dejar a *python3* como python de sistema instalamos el paquete: Después podemos comprobar la versión: -``` {bash} +``` bash python -V Python 3.10.6 ``` @@ -1601,7 +1611,7 @@ Python 3.10.6 Son los que ya comentamos en la sección de instalación de zsh, como ya dijimos conviene que instalemos los paquetes de desarrollo: -``` {bash} +``` bash sudo apt install python3-dev sudo apt install python3-all-dev sudo apt install python3-virtualenv python3-virtualenvwrapper python3-virtualenv-clone @@ -1611,7 +1621,7 @@ sudo apt install pipx Ademas añadimos las siguientes lineas al fichero `~/.profile`: -``` {bash} +``` bash # WORKON_HOME for virtualenvwrapper if [ -d "$HOME/.virtualenvs" ] ; then WORKON_HOME="$HOME/.virtualenvs" @@ -1705,7 +1715,7 @@ virtualenv para probarlo Una instalación para pruebas. -``` {bash} +``` bash mkvirtualenv -p /usr/bin/python3 jupyter python -m pip install jupyter ``` @@ -1716,7 +1726,7 @@ python -m pip install jupyter Para dejarla instalada (yo no lo instalo): -``` {bash} +``` bash sudo apt install python3.11 python3.11-dev python3.11-venv ``` @@ -1835,7 +1845,7 @@ web](https://www.mozilla.org/en-US/firefox/developer/) descomprimir en Herramientas útiles para depuración web -``` {bash} +``` bash sudo apt install httpie links ``` @@ -1867,7 +1877,7 @@ directorio del script. Primero instalamos la última versión de R en nuestro pc: -``` {bash} +``` bash wget -qO- https://cloud.r-project.org/bin/linux/ubuntu/marutter_pubkey.asc \ |gpg --dearmor -o /usr/local/share/keyrings/cran-archive-keyring.gpg @@ -1916,7 +1926,7 @@ instalar el Hugo Extended** ## Arduino IDE Bajamos los paquetes de la página [web](https://www.arduino.cc), -descomprimimimos en *\~/apps/arduino*. +descomprimimimos en *~/apps/arduino*. La distribución del IDE incluye ahora un fichero `install.sh`que se encarga de hacer la integración del IDE en los menús de Linux. @@ -1999,9 +2009,9 @@ que nos dará soporte explícito para el st-link Lo probamos con el *Blink* y funciona perfectamente con las opciones de la [Figura 1](#figura_1) -
+
Opciones Arduino para STM32 con st-link @@ -2059,7 +2069,7 @@ paquetes Debian necesarios para dejar el IDE y los compiladores instalados. Al acabar la instalación he tenido que crear el directorio -*\~/Pinguino/v11*, parece que hay algún problema con el programa de +*~/Pinguino/v11*, parece que hay algún problema con el programa de instalación y no lo crea automáticamente. El programa queda correctamente instalado en */opt* y arranca @@ -2100,13 +2110,13 @@ instalarán automáticamente en el siguiente paso. ------------------------------------------------------------------------ -``` {bash} +``` bash sudo apt-get install gperf cmake ninja-build ccache libffi-dev libssl-dev ``` Ahora creamos un directorio para nuestro *tool-chain*: -``` {bash} +``` bash mkdir ~/esp cd ~/esp git clone --recursive https://github.com/espressif/esp-idf @@ -2117,7 +2127,7 @@ pero eso ya deberíamos tenerlo hecho de antes. Una vez clonado el repo ejecutamos el script de instalación -``` {bash} +``` bash cd ~/esp/esp-idf ./install.sh ``` @@ -2131,7 +2141,7 @@ Basta con editar la primera linea *shebang* del script. Estas son las bibliotecas que deja instaladas: -``` {bash} +``` bash Installing ESP-IDF tools Installing tools: xtensa-esp32-elf, xtensa-esp32s2-elf, esp32ulp-elf, esp32s2ulp-elf, openocd-esp32 ``` @@ -2139,7 +2149,7 @@ Installing tools: xtensa-esp32-elf, xtensa-esp32s2-elf, esp32ulp-elf, esp32s2ulp Para empezar a trabajar bastará con hacer un *source* del fichero `~/apps/esp/esp-idf/export.sh`: -``` {bash} +``` bash . ~/apps/esp/esp-idf/export.sh ``` @@ -2214,7 +2224,7 @@ info](http://dangerousprototypes.com/docs/Open_Bench_Logic_Sniffer) Instalamos **Sigrok**, simplemente desde los repos de Debian: -``` {bash} +``` bash sudo aptitude install sigrok ``` @@ -2236,15 +2246,15 @@ Este es el software recomendado para usar con el analizador. Descargamos el paquete de la [página del proyecto](https://www.sump.org), o más concretamente de [esta página](https://www.sump.org/projects/analyzer/) y descomprimimos en -*\~/apps*. +*~/apps*. Instalamos las dependencias: -``` {bash} +``` bash sudo apt install librxtx-java ``` -Editamos el fichero *\~/apps/Logic Analyzer/client/run.sh* y lo dejamos +Editamos el fichero *~/apps/Logic Analyzer/client/run.sh* y lo dejamos así: #!/bin/bash @@ -2316,7 +2326,7 @@ manualmente el entorno virtual con ### vscodium -``` {bash} +``` bash wget -qO - https://gitlab.com/paulcarroty/vscodium-deb-rpm-repo/raw/master/pub.gpg | gpg --dearmor | sudo dd of=/etc/apt/trusted.gpg.d/vscodium.gpg echo 'deb https://paulcarroty.gitlab.io/vscodium-deb-rpm-repo/debs/ vscodium main' | sudo tee --append /etc/apt/sources.list.d/vscodium.list sudo apt update && sudo apt install codium @@ -2378,7 +2388,7 @@ Y ya lo tenemos todo listo para ejecutar. Instalado en un entorno virtual: -``` {bash} +``` bash mkvirtualenv -p `which python3` inkcut sudo apt install libxml2-dev libxslt-dev libcups2-dev @@ -2392,7 +2402,7 @@ pip install inkcut Instalamos dependencias: -``` {bash} +``` bash pip install python-usb ``` @@ -2411,7 +2421,7 @@ appimage](https://s3-us-west-2.amazonaws.com/qgroundcontrol/latest/QGroundContro Para usar *Mission Planner* en Linux Mint se recomienda instalar los paquetes: -``` {bash} +``` bash sudo apt install mono-complete festival ``` @@ -2558,7 +2568,7 @@ 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} +``` bash sudo apt install gimp gimp-data gimp-texturize \ gimp-data-extras gimp-gap gmic gimp-gmic ``` @@ -2616,7 +2626,7 @@ paquete `.deb` desde la página web. Shutter vuelve a estar disponible, al instalar desde este ppa ya queda con las opciones de edición habilitadas: -``` {bash} +``` bash sudo add-apt-repository ppa:linuxuprising/shutter sudo apt update sudo apt install shutter @@ -2764,7 +2774,7 @@ Escoge el que más te guste. Añadimos el repositorio -``` {bash} +``` bash sudo add-apt-repository ppa:obsproject/obs-studio sudo apt update sudo apt install obs-studio @@ -3090,7 +3100,7 @@ cada reinicio del ordenador) La forma de pararlo es: -``` {bash} +``` bash sudo systemctl stop docker sudo systemctl disable docker systemctl status docker @@ -3102,7 +3112,7 @@ autocompletado en comandos de docker. Para usar *docker* tendremos que arrancarlo, con los alias de nuestro sistema para *systemd* ejecutamos: -``` {bash} +``` bash scst docker # para arrancar el servicio scsp docker # para parar el servicio @@ -3418,7 +3428,7 @@ versión por defecto. Tenemos dos opciones: -``` {bash} +``` bash apt install python-is-python2 apt install python-is-python3 ``` @@ -3426,11 +3436,13 @@ apt install python-is-python3 ## Instalar chromium sin snapdrop Este rodeo ya no es necesario en las versiones modernas de Linux Mint -\~\~\~\~ sudo apt install keepassxc gnucash deluge rsync grsync rar -unrar -zip unzip unace bzip2 lzop p7zip p7zip-full p7zip-rar -most mc tree neofetch fasd silversearcher-ag ack mate-tweak filezilla -rofi \~\~\~\~ + +``` bash +sudo apt install keepassxc gnucash deluge rsync grsync rar unrar \ +zip unzip unace bzip2 lzop p7zip p7zip-full p7zip-rar \ +most mc tree neofetch fasd silversearcher-ag ack mate-tweak filezilla \ +rofi +``` ## Especificar como debe abrir los enlaces “magnet” el navegador mozilla diff --git a/out/LinuxMintUlyana.dw b/out/LinuxMintUlyana.dw index f05c270..ca1777f 100644 --- a/out/LinuxMintUlyana.dw +++ b/out/LinuxMintUlyana.dw @@ -81,7 +81,7 @@ Yo nunca almaceno esta información en la nube (por seguridad), pero me permite ¡Ojo!, nos hacemos ''%%root%%'' para ejecutar: - + sudo su - git config --global init.defaultBranch main git config --global user.email xxxxx@whatever.com @@ -93,7 +93,7 @@ apt install etckeeper Para echar una mirada a los //commits// creados puedes ejecutar: - + cd /etc sudo git log @@ -104,7 +104,7 @@ Vamos a crear un repo de git para controlar nuestros ficheros personales de conf Creamos el repo donde queramos, yo suelo usar el directorio ''%%~/work/repos%%''. - + mkdir usrcfg cd usrcfg git init @@ -115,7 +115,7 @@ Y ya lo tenemos, un repo de git, en la localización que queramos y que tiene el Podemos añadir los ficheros de configuración que queramos al repo: - + git add .bashrc git commit -m "Add some dotfiles" @@ -138,7 +138,7 @@ El area de intercambio la hemos creado en el disco duro hdd, no se usará mucho Añadimos el parámetro ''%%noatime%%'' para las particiones de ''%%root%%'' y ''%%/home%%'', que si que se han creado en el ssd. - + # /etc/fstab: static file system information. # # Use 'blkid' to print the universally unique identifier for a @@ -160,7 +160,7 @@ UUID=11090d84-ce98-40e2-b7be-dce3f841d7b4 none swap sw Una vez modificado el ''%%/etc/fstab%%'' no hace falta arrancar, basta con ejecutar lo siguiente: - + mount -o remount / mount -o remount /home mount @@ -194,7 +194,7 @@ Reiniciamos nuestro //Firefox// (podemos visitar ''%%about:restartRequired%%'') Instalamos algunas fuentes desde los orígenes de software: - + sudo apt install ttf-mscorefonts-installer sudo apt install fonts-noto @@ -215,7 +215,7 @@ Fuentes interesantes: ''%%ufw%%'' y ''%%gufw%%'' vienen instalados por defecto, pero no activados. - + aptitude install ufw ufw default deny ufw enable @@ -276,7 +276,7 @@ sudo apt install tlp tlp-rdw htop powertop Antes instalaba dos programas de terminal: - + sudo apt install guake terminator @@ -288,7 +288,7 @@ Pero es mucho más sencillo intalar //Terminus// de **//rastersoft//**. Descargo También instalo //rxvt// teoricamente más ligero y que puedes complementar con //tmux//. - + sudo apt install rxvt-unicode @@ -296,7 +296,7 @@ sudo apt install rxvt-unicode //tmux// combinado por ejemplo con //rxvt// nos da la misma funcionalidad que //Terminator//, además merece la pena aprender a usarlo por que instalado en servidores remotos es increíblemente útil. - + sudo apt install tmux @@ -368,7 +368,7 @@ Tor se encarga tanto de crear el fichero ''%%.desktop%%'' como de mantenerse act Instalamos siguiendo las instrucciones de la [[https://brave-browser.readthedocs.io/en/latest/installing-brave.html#linux|página web oficial]] - + sudo apt install curl sudo curl -fsSLo /usr/local/share/keyrings/brave-browser-archive-keyring.gpg https://brave-browser-apt-release.s3.brave.com/brave-browser-archive-keyring.gpg @@ -390,7 +390,7 @@ Una herramienta libre para mantener notas sincronizadas entre el móvil y el por Instalamos siguiendo las instrucciones de la [[https://joplinapp.org/|página web]] - + wget -O - https://raw.githubusercontent.com/laurent22/joplin/master/Joplin_install_and_update.sh | bash @@ -481,7 +481,7 @@ Cuando estemos contentos con nuestro ''%%zsh%%'' tendremos que ejecutar ''%%chsh Añadimos el ppa: - + curl -s https://syncthing.net/release-key.txt | sudo gpg --dearmour -o /usr/local/share/keyrings/synching-archive-keyring.gpg echo "deb [ signed-by=/usr/local/share/keyrings/synching-archive-keyring.gpg ] https://apt.syncthing.net/ syncthing stable" | sudo tee /etc/apt/sources.list.d/syncthing.list sudo apt-get update @@ -947,6 +947,12 @@ git clone https://github.com/jgm/pandoc-templates templates Las plantillas no son imprescindibles pero si quieres aprender a usarlas o hacer alguna modificación viene bien tenerlas. +===== Quarto ===== + +Un sistema de generación de documentación que usa //Pandoc//, instalado con el paquete ''%%.deb%%'' descargado desde [[https://quarto.org/docs/get-started/|la página web del proyecto]] + +**TODO**: Completar el tutorial inicial + ===== Algunos editores adicionales ===== Dos editores opcionales para hacer pruebas: @@ -1045,7 +1051,7 @@ A mayores instalamos el //addon// **//Better Bibtex//** descargando la última v Estos son los paquetes esenciales para empezar a desarrollar software en Linux. - + sudo apt install build-essential checkinstall make automake cmake autoconf \ git git-core git-crypt dpkg wget @@ -1057,7 +1063,7 @@ git git-core git-crypt dpkg wget **NOTA**: Si quieres instalar la última versión de git, los git developers tienen un ppa para ubuntu, si quieres tener el git más actualizado: - + sudo add-apt-repository ppa:git-core/ppa sudo apt update sudo apt upgrade @@ -1184,7 +1190,7 @@ Referencias * (https:%%//%%github.com/atilaneves/ac-dcd) * (https:%%//%%github.c Para instalar las dependencias, previamente instalamos: - + sudo apt install ncurses-dev id-utils exuberant-ctags python-pygments @@ -1198,7 +1204,7 @@ Nos bajamos las fuentes del programa desde [[https://www.gnu.org/software/global Descomprimimos los fuentes y los compilamos con: - + ./configure --prefix=/usr/local --with-exuberant-ctags=/usr/bin/ctags make sudo make install @@ -1210,7 +1216,7 @@ He comprobado que make uninstall funciona correctamente, las librerías quedan i Instalamos siguiendo las instrucciones de [[https://www.rust-lang.org/tools/install|aqui]] (Hacemos la instalación por defecto) - + curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh stable installed - rustc 1.47.0 (18bf6b4f0 2020-10-07) @@ -1325,7 +1331,7 @@ En la primera pregunta que nos hace es necesario contestar que no. De lo contrar Añade los siguientes paquetes a nuestro sistema - + installing OF dependencies OF needs to install the following packages using apt-get: curl libjack-jackd2-0 libjack-jackd2-dev freeglut3-dev libasound2-dev libxmu-dev libxxf86vm-dev g++ libgl1-mesa-dev libglu1-mesa-dev libraw1394-dev libudev-dev libdrm-dev libglew-dev libopenal-dev libsndfile-dev libfreeimage-dev libcairo2-dev libfreetype6-dev libssl-dev libpulse-dev libusb-1.0-0-dev libgtk-3-dev libopencv-dev libassimp-dev librtaudio-dev libboost-filesystem-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev gstreamer1.0-libav gstreamer1.0-pulseaudio gstreamer1.0-x gstreamer1.0-plugins-bad gstreamer1.0-alsa gstreamer1.0-plugins-base gstreamer1.0-plugins-good gdb libglfw3-dev liburiparser-dev libcurl4-openssl-dev libpugixml-dev libgconf-2-4 libgtk2.0-0 libpoco-dev @@ -1344,7 +1350,7 @@ Para dejar a //python3// como python de sistema instalamos el paquete: Después podemos comprobar la versión: - + python -V Python 3.10.6 @@ -1353,7 +1359,7 @@ Python 3.10.6 Son los que ya comentamos en la sección de instalación de zsh, como ya dijimos conviene que instalemos los paquetes de desarrollo: - + sudo apt install python3-dev sudo apt install python3-all-dev sudo apt install python3-virtualenv python3-virtualenvwrapper python3-virtualenv-clone @@ -1363,7 +1369,7 @@ sudo apt install pipx Ademas añadimos las siguientes lineas al fichero ''%%~/.profile%%'': - + # WORKON_HOME for virtualenvwrapper if [ -d "$HOME/.virtualenvs" ] ; then WORKON_HOME="$HOME/.virtualenvs" @@ -1449,7 +1455,7 @@ También podríamos instalarlo como un paquete de Ubuntu. Una instalación para pruebas. - + mkvirtualenv -p /usr/bin/python3 jupyter python -m pip install jupyter @@ -1460,7 +1466,7 @@ python -m pip install jupyter Para dejarla instalada (yo no lo instalo): - + sudo apt install python3.11 python3.11-dev python3.11-venv @@ -1582,7 +1588,7 @@ El rollo de siempre, descargar desde [[https://www.mozilla.org/en-US/firefox/dev Herramientas útiles para depuración web - + sudo apt install httpie links @@ -1606,7 +1612,7 @@ El fichero ''%%squirrel-sql.sh%%'' necesita que lo lancemos desde el directorio Primero instalamos la última versión de R en nuestro pc: - + wget -qO- https://cloud.r-project.org/bin/linux/ubuntu/marutter_pubkey.asc \ |gpg --dearmor -o /usr/local/share/keyrings/cran-archive-keyring.gpg @@ -1713,7 +1719,9 @@ Instalamos la biblioteca ''%%stm32 cores%%'' que corresponde al origen de softwa Lo probamos con el //Blink// y funciona perfectamente con las opciones de la [[#figura_1|Figura 1]] -{{src/img/stm32_arduino_opts.jpg|Menu Arduino desplegado Opciones Arduino para STM32 con st-link}} +{{src/img/stm32_arduino_opts.jpg|Menu Arduino desplegado}} +Opciones Arduino para STM32 con st-link + ==== Añadir soporte para ESP32 y ESP8266 ==== @@ -1795,13 +1803,13 @@ Instalamos las dependencias (cmake ya lo tenemos instalado) ---- - + sudo apt-get install gperf cmake ninja-build ccache libffi-dev libssl-dev Ahora creamos un directorio para nuestro //tool-chain//: - + mkdir ~/esp cd ~/esp git clone --recursive https://github.com/espressif/esp-idf @@ -1811,7 +1819,7 @@ También es necesario que nuestro usuario pertenezca al grupo ''%%dialout%%'', p Una vez clonado el repo ejecutamos el script de instalación - + cd ~/esp/esp-idf ./install.sh @@ -1822,14 +1830,14 @@ Este script nos va a dejar instaladas todas las herramientas necesarias en el di Estas son las bibliotecas que deja instaladas: - + Installing ESP-IDF tools Installing tools: xtensa-esp32-elf, xtensa-esp32s2-elf, esp32ulp-elf, esp32s2ulp-elf, openocd-esp32 Para empezar a trabajar bastará con hacer un //source// del fichero ''%%~/apps/esp/esp-idf/export.sh%%'': - + . ~/apps/esp/esp-idf/export.sh @@ -1890,7 +1898,7 @@ Mi analizador es un OpenBench de Seedstudio, [[http://dangerousprototypes.com/do Instalamos **Sigrok**, simplemente desde los repos de Debian: - + sudo aptitude install sigrok @@ -1908,7 +1916,7 @@ Descargamos el paquete de la [[https://www.sump.org|página del proyecto]], o m Instalamos las dependencias: - + sudo apt install librxtx-java @@ -1987,7 +1995,7 @@ Si quieres usar Platformio desde linea de comandos, es mejor activar manualmente ==== vscodium ==== - + wget -qO - https://gitlab.com/paulcarroty/vscodium-deb-rpm-repo/raw/master/pub.gpg | gpg --dearmor | sudo dd of=/etc/apt/trusted.gpg.d/vscodium.gpg echo 'deb https://paulcarroty.gitlab.io/vscodium-deb-rpm-repo/debs/ vscodium main' | sudo tee --append /etc/apt/sources.list.d/vscodium.list sudo apt update && sudo apt install codium @@ -2041,7 +2049,7 @@ Y ya lo tenemos todo listo para ejecutar. Instalado en un entorno virtual: - + mkvirtualenv -p `which python3` inkcut sudo apt install libxml2-dev libxslt-dev libcups2-dev @@ -2055,7 +2063,7 @@ pip install inkcut Instalamos dependencias: - + pip install python-usb @@ -2071,7 +2079,7 @@ Descargamos [[https://s3-us-west-2.amazonaws.com/qgroundcontrol/latest/QGroundCo Para usar //Mission Planner// en Linux Mint se recomienda instalar los paquetes: - + sudo apt install mono-complete festival @@ -2211,7 +2219,7 @@ 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 @@ -2259,7 +2267,7 @@ El [[https://github.com/DamirPorobic/ksnip|//ksnip//]] por si tenemos que hacer 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 @@ -2409,7 +2417,7 @@ Escoge el que más te guste. Añadimos el repositorio - + sudo add-apt-repository ppa:obsproject/obs-studio sudo apt update sudo apt install obs-studio @@ -2723,7 +2731,7 @@ Esto dejará el servicio //docker// funcionando y habilitado (arrancará en cada La forma de pararlo es: - + sudo systemctl stop docker sudo systemctl disable docker systemctl status docker @@ -2733,7 +2741,7 @@ Añadimos el //bundle// **docker** en nuestro fichero ''%%~/.zshrc%%'' para tene 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 @@ -3012,17 +3020,21 @@ En principio no podemos invocar a ''%%python%%'' por que no se ha escogido una v Tenemos dos opciones: - + apt install python-is-python2 apt install python-is-python3 ===== Instalar chromium sin snapdrop ===== -Este rodeo ya no es necesario en las versiones modernas de Linux Mint ~~~~ sudo apt install keepassxc gnucash deluge rsync grsync rar unrar\\ -zip unzip unace bzip2 lzop p7zip p7zip-full p7zip-rar\\ -most mc tree neofetch fasd silversearcher-ag ack mate-tweak filezilla\\ -rofi ~~~~ +Este rodeo ya no es necesario en las versiones modernas de Linux Mint + + +sudo apt install keepassxc gnucash deluge rsync grsync rar unrar \ +zip unzip unace bzip2 lzop p7zip p7zip-full p7zip-rar \ +most mc tree neofetch fasd silversearcher-ag ack mate-tweak filezilla \ +rofi + ===== Especificar como debe abrir los enlaces “magnet” el navegador mozilla ===== diff --git a/out/LinuxMintUlyana.epub b/out/LinuxMintUlyana.epub index 7dc09b9..e84cd04 100644 Binary files a/out/LinuxMintUlyana.epub and b/out/LinuxMintUlyana.epub differ diff --git a/out/LinuxMintUlyana.mw b/out/LinuxMintUlyana.mw index 101fe1b..baa2194 100644 --- a/out/LinuxMintUlyana.mw +++ b/out/LinuxMintUlyana.mw @@ -85,17 +85,17 @@ Yo nunca almaceno esta información en la nube (por seguridad), pero me permite ¡Ojo!, nos hacemos root para ejecutar: -
sudo su -
+sudo su -
 git config --global init.defaultBranch main
 git config --global user.email xxxxx@whatever.com
-git config --global user.name "Name Surname"
-apt install etckeeper
+git config --global user.name "Name Surname" +apt install etckeeper ''etckeeper'' hara un control automático de tus ficheros de configuración en /etc Para echar una mirada a los ''commits'' creados puedes ejecutar: -
cd /etc
-sudo git log
+cd /etc +sudo git log === Controlar dotfiles con git === @@ -103,16 +103,16 @@ Vamos a crear un repo de git para controlar nuestros ficheros personales de conf Creamos el repo donde queramos, yo suelo usar el directorio ~/work/repos. -
mkdir usrcfg
+mkdir usrcfg
 cd usrcfg
 git init
-git config core.worktree "/home/salvari"
+git config core.worktree "/home/salvari" Y ya lo tenemos, un repo de git, en la localización que queramos y que tiene el directorio de trabajo apuntando a nuestro ''$HOME''. Podemos añadir los ficheros de configuración que queramos al repo: -
git add .bashrc
-git commit -m "Add some dotfiles"
+git add .bashrc +git commit -m "Add some dotfiles" Una vez que tenga añadidos los ficheros que quiero tener controlados pondré * en el fichero .git/info/exclude de mi repo para que ignore todos los ficheros de mi $HOME. Cuando instalo algún programa nuevo añado a mano los ficheros de configuración que quiero tener controlados al repo. @@ -133,7 +133,7 @@ El area de intercambio la hemos creado en el disco duro hdd, no se usará mucho Añadimos el parámetro noatime para las particiones de root y /home, que si que se han creado en el ssd. -
# /etc/fstab: static file system information.
+
# /etc/fstab: static file system information.
 #
 # Use 'blkid' to print the universally unique identifier for a
 # device; this may be used with UUID= as a more robust way to name devices
@@ -152,9 +152,9 @@ UUID=ce11ccb0-a67d-4e8b-9456-f49a52974160 none            swap    sw
 UUID=11090d84-ce98-40e2-b7be-dce3f841d7b4 none            swap    sw              0       0
Una vez modificado el /etc/fstab no hace falta arrancar, basta con ejecutar lo siguiente: -
mount -o remount /
+mount -o remount /
 mount -o remount /home
-mount
+mount === Ajustes adicionales para ''Firefox'' === @@ -185,8 +185,8 @@ Reiniciamos nuestro ''Firefox'' (podemos visitar about:restartRequiredsudo apt install ttf-mscorefonts-installer -sudo apt install fonts-noto
+sudo apt install ttf-mscorefonts-installer +sudo apt install fonts-noto Y la fuente [https://robey.lag.net/2010/06/21/mensch-font.html Mensch] la bajamos directamente al directorio ~/.local/share/fonts Puede ser conveniente instalar el paquete ''font-manager'' (sudo apt install font-manager), sólo lo uso para visualizar fuentes, no para hacer configuración. @@ -204,11 +204,11 @@ Fuentes interesantes: ufw y gufw vienen instalados por defecto, pero no activados. -
aptitude install ufw
+aptitude install ufw
 ufw default deny
 ufw enable
 ufw status verbose
-aptitude install gufw
+aptitude install gufw ----- @@ -276,7 +276,7 @@ Son útiles para control de consumo. Antes instalaba dos programas de terminal: -
sudo apt install guake terminator
+sudo apt install guake terminator ''terminator'' lo dejamos como aplicación terminal preferida del sistema. '''TODO:''' asociar ''Guake'' a una combinación apropiada de teclas. @@ -285,12 +285,12 @@ Pero es mucho más sencillo intalar ''Terminus'' de '''''rastersoft'''''. Descar También instalo ''rxvt'' teoricamente más ligero y que puedes complementar con ''tmux''. -
sudo apt install rxvt-unicode
+sudo apt install rxvt-unicode === tmux === ''tmux'' combinado por ejemplo con ''rxvt'' nos da la misma funcionalidad que ''Terminator'', además merece la pena aprender a usarlo por que instalado en servidores remotos es increíblemente útil. -
sudo apt install tmux
+sudo apt install tmux * [https://leanpub.com/the-tao-of-tmux/read El tao de tmux] * [https://www.askapache.com/linux/rxvt-xresources/ rxvt customizations] @@ -363,15 +363,15 @@ Tor se encarga tanto de crear el fichero .desktop como de manteners Instalamos siguiendo las instrucciones de la [https://brave-browser.readthedocs.io/en/latest/installing-brave.html#linux página web oficial] -
sudo apt install curl
+sudo apt install curl
 
 sudo curl -fsSLo /usr/local/share/keyrings/brave-browser-archive-keyring.gpg https://brave-browser-apt-release.s3.brave.com/brave-browser-archive-keyring.gpg
 
-echo "deb [signed-by=/usr/local/share/keyrings/brave-browser-archive-keyring.gpg] https://brave-browser-apt-release.s3.brave.com/ stable main"|sudo tee /etc/apt/sources.list.d/brave-browser-release.list
+echo "deb [signed-by=/usr/local/share/keyrings/brave-browser-archive-keyring.gpg] https://brave-browser-apt-release.s3.brave.com/ stable main"|sudo tee /etc/apt/sources.list.d/brave-browser-release.list
 
 sudo apt update
 
-sudo apt install brave-browser
+sudo apt install brave-browser === TiddlyDesktop === @@ -384,7 +384,7 @@ Una herramienta libre para mantener notas sincronizadas entre el móvil y el por Instalamos siguiendo las instrucciones de la [https://joplinapp.org/ página web] -
 wget -O - https://raw.githubusercontent.com/laurent22/joplin/master/Joplin_install_and_update.sh | bash
+ wget -O - https://raw.githubusercontent.com/laurent22/joplin/master/Joplin_install_and_update.sh | bash Joplin se instala en el directorio ~/.joplin y crea su propia entrada en el menú. La primera vez que configuremos la sincronización de Joplin conviene hacer un borrado local con download desde el remoto. @@ -453,10 +453,10 @@ Cuando estemos contentos con nuestro zsh tendremos que ejecutar curl -s https://syncthing.net/release-key.txt | sudo gpg --dearmour -o /usr/local/share/keyrings/synching-archive-keyring.gpg -echo "deb [ signed-by=/usr/local/share/keyrings/synching-archive-keyring.gpg ] https://apt.syncthing.net/ syncthing stable" | sudo tee /etc/apt/sources.list.d/syncthing.list +curl -s https://syncthing.net/release-key.txt | sudo gpg --dearmour -o /usr/local/share/keyrings/synching-archive-keyring.gpg +echo "deb [ signed-by=/usr/local/share/keyrings/synching-archive-keyring.gpg ] https://apt.syncthing.net/ syncthing stable" | sudo tee /etc/apt/sources.list.d/syncthing.list sudo apt-get update -sudo apt-get install syncthing +sudo apt-get install syncthing = Utilidades = @@ -846,6 +846,13 @@ cd ~/.pandoc git clone https://github.com/jgm/pandoc-templates templates Las plantillas no son imprescindibles pero si quieres aprender a usarlas o hacer alguna modificación viene bien tenerlas. + +== Quarto == + +Un sistema de generación de documentación que usa ''Pandoc'', instalado con el paquete .deb descargado desde [https://quarto.org/docs/get-started/ la página web del proyecto] + +'''TODO''': Completar el tutorial inicial + == Algunos editores adicionales == @@ -946,8 +953,8 @@ A mayores instalamos el ''addon'' '''''Better Bibtex''''' descargando la última Estos son los paquetes esenciales para empezar a desarrollar software en Linux. -
sudo apt install build-essential checkinstall make automake cmake autoconf \
-git git-core git-crypt dpkg wget
+sudo apt install build-essential checkinstall make automake cmake autoconf \ +git git-core git-crypt dpkg wget == Git == @@ -956,9 +963,9 @@ git git-core git-crypt dpkg wget '''NOTA''': Si quieres instalar la última versión de git, los git developers tienen un ppa para ubuntu, si quieres tener el git más actualizado: -
sudo add-apt-repository ppa:git-core/ppa
+sudo add-apt-repository ppa:git-core/ppa
 sudo apt update
-sudo apt upgrade
+sudo apt upgrade ----- @@ -1060,7 +1067,7 @@ Referencias * (https://github.com/atilaneves/ac-dcd) * (https://github.com/Hacke Para instalar las dependencias, previamente instalamos: -
sudo apt install ncurses-dev id-utils exuberant-ctags python-pygments
+sudo apt install ncurses-dev id-utils exuberant-ctags python-pygments Con ctags --version nos aseguramos de que se llama a Exuberant y no el ctags que instala Emacs. Si no es así habrá que revisar la definición del PATH python-pygments no es necesario para C o C++, pero añade funcionalidad a Global (hasta 25 lenguajes de programación más) @@ -1071,9 +1078,9 @@ Nos bajamos las fuentes del programa desde [https://www.gnu.org/software/global/ Descomprimimos los fuentes y los compilamos con: -
./configure --prefix=/usr/local --with-exuberant-ctags=/usr/bin/ctags
+./configure --prefix=/usr/local --with-exuberant-ctags=/usr/bin/ctags
 make
-sudo make install
+sudo make install He comprobado que make uninstall funciona correctamente, las librerías quedan instaladas en /usr/local/lib/gtags y los ejecutables en /usr/local/bin @@ -1081,7 +1088,7 @@ He comprobado que make uninstall funciona correctamente, las librerías quedan i Instalamos siguiendo las instrucciones de [https://www.rust-lang.org/tools/install aqui] (Hacemos la instalación por defecto) -
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
+curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
 
   stable installed - rustc 1.47.0 (18bf6b4f0 2020-10-07)
 
@@ -1093,7 +1100,7 @@ environment variable. Next time you log in this will be done
 automatically.
 
 To configure your current shell run source $HOME/.cargo/env
-
+ Yo comento la linea del fichero .zprofile por que mi .zshrc ya lee el fichero .profile Para desinstalar rust bastaría con ejecutar rustup self uninstall @@ -1179,10 +1186,10 @@ En la primera pregunta que nos hace es necesario contestar que no. De lo contrar Añade los siguientes paquetes a nuestro sistema -
installing OF dependencies
+installing OF dependencies
 OF needs to install the following packages using apt-get:
 curl libjack-jackd2-0 libjack-jackd2-dev freeglut3-dev libasound2-dev libxmu-dev libxxf86vm-dev g++ libgl1-mesa-dev libglu1-mesa-dev libraw1394-dev libudev-dev libdrm-dev libglew-dev libopenal-dev libsndfile-dev libfreeimage-dev libcairo2-dev libfreetype6-dev libssl-dev libpulse-dev libusb-1.0-0-dev libgtk-3-dev libopencv-dev libassimp-dev librtaudio-dev libboost-filesystem-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev gstreamer1.0-libav gstreamer1.0-pulseaudio gstreamer1.0-x gstreamer1.0-plugins-bad gstreamer1.0-alsa gstreamer1.0-plugins-base gstreamer1.0-plugins-good gdb libglfw3-dev liburiparser-dev libcurl4-openssl-dev libpugixml-dev libgconf-2-4 libgtk2.0-0 libpoco-dev
-Do you want to continue? [Y/n]
+Do you want to continue? [Y/n] No te olvides de compilar también el ''Project Generator''. @@ -1196,24 +1203,24 @@ Para dejar a ''python3'' como python de sistema instalamos el paquete: Después podemos comprobar la versión: -
python -V
-Python 3.10.6
+python -V +Python 3.10.6 === Paquetes de sistema relacionados con python que instalamos === Son los que ya comentamos en la sección de instalación de zsh, como ya dijimos conviene que instalemos los paquetes de desarrollo: -
sudo apt install python3-dev
+sudo apt install python3-dev
 sudo apt install python3-all-dev
 sudo apt install python3-virtualenv python3-virtualenvwrapper python3-virtualenv-clone
 sudo apt install pipx
-# sudo apt install python3-poetry
+# sudo apt install python3-poetry Ademas añadimos las siguientes lineas al fichero ~/.profile: -
# WORKON_HOME for virtualenvwrapper
-if [ -d "$HOME/.virtualenvs" ] ; then
-WORKON_HOME="$HOME/.virtualenvs"
-fi
+# WORKON_HOME for virtualenvwrapper +if [ -d "$HOME/.virtualenvs" ] ; then +WORKON_HOME="$HOME/.virtualenvs" +fi [https://virtualenvwrapper.readthedocs.io/en/latest/command_ref.html Aquí] tenemos la referencia de comandos de ''virtualenvwrapper''. === pyenv === @@ -1274,8 +1281,8 @@ También podríamos instalarlo como un paquete de Ubuntu. Una instalación para pruebas. -
mkvirtualenv -p /usr/bin/python3 jupyter
-python -m pip install jupyter
+mkvirtualenv -p /usr/bin/python3 jupyter +python -m pip install jupyter === Instalamos python3.11 === @@ -1283,7 +1290,7 @@ python -m pip install jupyter Para dejarla instalada (yo no lo instalo): -
sudo apt install python3.11 python3.11-dev python3.11-venv
+sudo apt install python3.11 python3.11-dev python3.11-venv == neovim == Vamos a probar ''neovim'', ahora mismo la versión de los repos de Ubuntu está actualizada a la penúltima versión (0.4.3). También podemos descargar el appimage desde [https://github.com/neovim/neovim/releases la página web] @@ -1352,12 +1359,13 @@ La primera vez que abramos ''nvim'' tenemos que instalar los plugin por comando '''Instalación de dein''' -{| -| '''Nota''': +{| class="wikitable" +|- +| style="text-align: left;"| '''Nota''': |- -| Solo hay que instalar uno de los dos o ''dein'' o ''plug-vim''. Yo uso +| style="text-align: left;"| Solo hay que instalar uno de los dos o ''dein'' o ''plug-vim''. Yo uso |- -| ''plug-vim'' así que esto es sólo una referencia. +| style="text-align: left;"| ''plug-vim'' así que esto es sólo una referencia. |} https://github.com/Shougo/dein.vim @@ -1392,7 +1400,7 @@ El rollo de siempre, descargar desde [https://www.mozilla.org/en-US/firefox/deve Herramientas útiles para depuración web -
sudo apt install httpie links
+sudo apt install httpie links == MariaDB == @@ -1416,16 +1424,16 @@ El fichero squirrel-sql.sh necesita que lo lancemos desde el direct Primero instalamos la última versión de R en nuestro pc: -
wget -qO- https://cloud.r-project.org/bin/linux/ubuntu/marutter_pubkey.asc \
+wget -qO- https://cloud.r-project.org/bin/linux/ubuntu/marutter_pubkey.asc \
  |gpg --dearmor -o /usr/local/share/keyrings/cran-archive-keyring.gpg
 
 . /etc/os-release
-sudo echo "deb [signed-by=/usr/local/share/keyrings/cran-archive-keyring.gpg ] \
-https://cloud.r-project.org/bin/linux/ubuntu ${UBUNTU_CODENAME}-cran40/" \
+sudo echo "deb [signed-by=/usr/local/share/keyrings/cran-archive-keyring.gpg ] \
+https://cloud.r-project.org/bin/linux/ubuntu ${UBUNTU_CODENAME}-cran40/" \
 | sudo tee /etc/apt/sources.list.d/cran.list
 
 sudo apt update
-sudo apt install r-base
+sudo apt install r-base === R-studio === @@ -1523,8 +1531,11 @@ Instalamos la biblioteca stm32 cores que corresponde al origen de s Lo probamos con el ''Blink'' y funciona perfectamente con las opciones de la [[#figura_1|Figura 1]] -[[File:src/img/stm32_arduino_opts.jpg|thumb|none|alt=Menu Arduino desplegado|Opciones Arduino para STM32 con st-link]] +
+[[File:src/img/stm32_arduino_opts.jpg|Opciones Arduino para STM32 con st-link]] + +
=== Añadir soporte para ESP32 y ESP8266 === @@ -1609,29 +1620,29 @@ Instalamos las dependencias (cmake ya lo tenemos instalado) ----- -
sudo apt-get install gperf  cmake ninja-build ccache libffi-dev libssl-dev
+sudo apt-get install gperf cmake ninja-build ccache libffi-dev libssl-dev Ahora creamos un directorio para nuestro ''tool-chain'': -
mkdir ~/esp
+mkdir ~/esp
 cd ~/esp
-git clone --recursive https://github.com/espressif/esp-idf
+git clone --recursive https://github.com/espressif/esp-idf También es necesario que nuestro usuario pertenezca al grupo dialout, pero eso ya deberíamos tenerlo hecho de antes. Una vez clonado el repo ejecutamos el script de instalación -
cd ~/esp/esp-idf
-./install.sh
+cd ~/esp/esp-idf +./install.sh Este script nos va a dejar instaladas todas las herramientas necesarias en el directorio ~/.expressif '''Nota''': para que funcione correctamente en Linux Mint es necesario que el script tools/idf_tools.py apunte al python3 de nuestro sistema. Basta con editar la primera linea ''shebang'' del script. Estas son las bibliotecas que deja instaladas: -
Installing ESP-IDF tools
-Installing tools: xtensa-esp32-elf, xtensa-esp32s2-elf, esp32ulp-elf, esp32s2ulp-elf, openocd-esp32
+Installing ESP-IDF tools +Installing tools: xtensa-esp32-elf, xtensa-esp32s2-elf, esp32ulp-elf, esp32s2ulp-elf, openocd-esp32 Para empezar a trabajar bastará con hacer un ''source'' del fichero ~/apps/esp/esp-idf/export.sh: -
. ~/apps/esp/esp-idf/export.sh
+. ~/apps/esp/esp-idf/export.sh == KiCAD == @@ -1683,7 +1694,7 @@ Mi analizador es un OpenBench de Seedstudio, [http://dangerousprototypes.com/doc Instalamos '''Sigrok''', simplemente desde los repos de Debian: -
sudo aptitude install sigrok
+sudo aptitude install sigrok Al instalar '''Sigrok''' instalamos también '''Pulseview'''. Si al conectar el analizador, echamos un ojo al fichero ''syslog'' vemos que al conectarlo se mapea en un puerto tty. @@ -1699,7 +1710,7 @@ Descargamos el paquete de la [https://www.sump.org página del proyecto], o más Instalamos las dependencias: -
sudo apt install librxtx-java
+sudo apt install librxtx-java Editamos el fichero ''~/apps/Logic Analyzer/client/run.sh'' y lo dejamos así:
#!/bin/bash
@@ -1768,9 +1779,9 @@ Si quieres usar Platformio desde linea de comandos, es mejor activar manualmente
 
 === vscodium ===
 
-
wget -qO - https://gitlab.com/paulcarroty/vscodium-deb-rpm-repo/raw/master/pub.gpg | gpg --dearmor | sudo dd of=/etc/apt/trusted.gpg.d/vscodium.gpg
+wget -qO - https://gitlab.com/paulcarroty/vscodium-deb-rpm-repo/raw/master/pub.gpg | gpg --dearmor | sudo dd of=/etc/apt/trusted.gpg.d/vscodium.gpg
 echo 'deb https://paulcarroty.gitlab.io/vscodium-deb-rpm-repo/debs/ vscodium main' | sudo tee --append /etc/apt/sources.list.d/vscodium.list
-sudo apt update && sudo apt install codium
+sudo apt update && sudo apt install codium == RepRap == @@ -1825,19 +1836,19 @@ Y ya lo tenemos todo listo para ejecutar. Instalado en un entorno virtual: -
mkvirtualenv -p `which python3` inkcut
+mkvirtualenv -p `which python3` inkcut
 
 sudo apt install libxml2-dev libxslt-dev libcups2-dev
 
 pip install PyQt5
 
-pip install inkcut
+pip install inkcut === Plugin para inkscape === Instalamos dependencias: -
pip install python-usb
+pip install python-usb Instalamos el fichero .deb desde la web https://github.com/fablabnbg/inkscape-silhouette/releases @@ -1851,7 +1862,7 @@ Descargamos [https://s3-us-west-2.amazonaws.com/qgroundcontrol/latest/QGroundCon Para usar ''Mission Planner'' en Linux Mint se recomienda instalar los paquetes: -
sudo apt install mono-complete festival
+sudo apt install mono-complete festival Descargamos el MissionPlanner desde [https://firmware.ardupilot.org/Tools/MissionPlanner/MissionPlanner-latest.zip aquí] [https://www.rcgroups.com/forums/showthread.php?2179591-Installing-MissionPlanner-1-3-X-on-Ubuntu-17-04 Descripción de la instalación] @@ -1964,8 +1975,8 @@ 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
+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
@@ -2008,9 +2019,9 @@ El [https://github.com/DamirPorobic/ksnip ''ksnip''] por si tenemos que hacer un
 
 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 add-apt-repository ppa:linuxuprising/shutter
 sudo apt update
-sudo apt install shutter
+sudo apt install shutter == Reoptimizar imágenes == @@ -2151,9 +2162,9 @@ Escoge el que más te guste. Añadimos el repositorio -
sudo add-apt-repository ppa:obsproject/obs-studio
+sudo add-apt-repository ppa:obsproject/obs-studio
 sudo apt update
-sudo apt install obs-studio
+sudo apt install obs-studio == Grabación de podcast == @@ -2424,16 +2435,16 @@ Esto dejará el servicio ''docker'' funcionando y habilitado (arrancará en cada La forma de pararlo es: -
sudo systemctl stop docker
+sudo systemctl stop docker
 sudo systemctl disable docker
-systemctl status 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
+scst docker  # para arrancar el servicio
 
-scsp docker  # para parar el servicio
+scsp docker # para parar el servicio = Utilidades para mapas y cartografía = @@ -2546,8 +2557,9 @@ gpg --dearmor -o /usr/local/share/keyrings/-archive-keyring.gpg == Solucionar problemas de menús duplicados usando menulibre == -{| -| '''Nota''': Ya no uso ''MenuLibre'' +{| class="wikitable" +|- +| style="text-align: left;"| '''Nota''': Ya no uso ''MenuLibre'' |} En el directorio ~/.config/menus/applications-merged borramos todos los ficheros que haya. @@ -2679,16 +2691,17 @@ En principio no podemos invocar a python por que no se ha escogido Tenemos dos opciones: -
apt install python-is-python2
-apt install python-is-python3
+apt install python-is-python2 +apt install python-is-python3 == Instalar chromium sin snapdrop == -Este rodeo ya no es necesario en las versiones modernas de Linux Mint ~~~~ sudo apt install keepassxc gnucash deluge rsync grsync rar unrar
-zip unzip unace bzip2 lzop p7zip p7zip-full p7zip-rar
-most mc tree neofetch fasd silversearcher-ag ack mate-tweak filezilla
-rofi ~~~~ +Este rodeo ya no es necesario en las versiones modernas de Linux Mint +sudo apt install keepassxc gnucash deluge rsync grsync rar unrar \ +zip unzip unace bzip2 lzop p7zip p7zip-full p7zip-rar \ +most mc tree neofetch fasd silversearcher-ag ack mate-tweak filezilla \ +rofi == Especificar como debe abrir los enlaces “magnet” el navegador mozilla == diff --git a/out/LinuxMintUlyana.odt b/out/LinuxMintUlyana.odt index 9154283..99f8a99 100644 Binary files a/out/LinuxMintUlyana.odt and b/out/LinuxMintUlyana.odt differ diff --git a/out/LinuxMintUlyana.pdf b/out/LinuxMintUlyana.pdf index 88145a9..97978a9 100644 Binary files a/out/LinuxMintUlyana.pdf and b/out/LinuxMintUlyana.pdf differ diff --git a/out/LinuxMintUlyana.tex b/out/LinuxMintUlyana.tex index 3e4afc1..25d9839 100644 --- a/out/LinuxMintUlyana.tex +++ b/out/LinuxMintUlyana.tex @@ -7,16 +7,19 @@ 12pt, ]{article} \usepackage{amsmath,amssymb} -\usepackage{lmodern} \usepackage{iftex} \ifPDFTeX \usepackage[T1]{fontenc} \usepackage[utf8]{inputenc} \usepackage{textcomp} % provide euro and other symbols \else % if luatex or xetex - \usepackage{unicode-math} + \usepackage{unicode-math} % this also loads fontspec \defaultfontfeatures{Scale=MatchLowercase} \defaultfontfeatures[\rmfamily]{Ligatures=TeX,Scale=1} +\fi +\usepackage{lmodern} +\ifPDFTeX\else + % xetex/luatex font selection \setmainfont[]{Ubuntu} \setmonofont[]{Ubuntu Mono} \fi @@ -109,6 +112,10 @@ \usepackage[bidi=default]{babel} \fi \babelprovide[main,import]{spanish} +\ifPDFTeX +\else +\babelfont{rm}[]{Ubuntu} +\fi % get rid of language-specific shorthands (see #6817): \let\LanguageShortHands\languageshorthands \def\languageshorthands#1{} @@ -117,7 +124,7 @@ \fi \IfFileExists{bookmark.sty}{\usepackage{bookmark}}{\usepackage{hyperref}} \IfFileExists{xurl.sty}{\usepackage{xurl}}{} % add URL line breaks if available -\urlstyle{same} % disable monospaced font for URLs +\urlstyle{same} \hypersetup{ pdftitle={Bitácora Linux Mint 21.1 Vera}, pdfauthor={Sergio Alvariño salvari@gmail.com}, @@ -148,8 +155,7 @@ referencia rápida y personal. \setcounter{tocdepth}{3} \tableofcontents } -\hypertarget{introducciuxf3n}{% -\section{Introducción}\label{introducciuxf3n}} +\section{Introducción}\label{introducciuxf3n} Mis portatiles son: @@ -190,8 +196,7 @@ Mis portatiles son: \end{itemize} \end{itemize} -\hypertarget{instalaciuxf3n-de-linux-mint}{% -\section{Instalación de Linux Mint}\label{instalaciuxf3n-de-linux-mint}} +\section{Instalación de Linux Mint}\label{instalaciuxf3n-de-linux-mint} Lanzamos el programa de instalación desde una memoria USB con la ISO de la versión Mate. @@ -227,8 +232,7 @@ Generalmente hago particiones: El disco HDD lo monto en una sola partición en \texttt{/store} \end{itemize} -\hypertarget{programas-buxe1sicos}{% -\section{Programas básicos}\label{programas-buxe1sicos}} +\section{Programas básicos}\label{programas-buxe1sicos} Lo primero de todo es hacer una actualización completa del sistema: @@ -239,8 +243,7 @@ Lo primero de todo es hacer una actualización completa del sistema: \end{Highlighting} \end{Shaded} -\hypertarget{linux-mint}{% -\subsection{Linux Mint}\label{linux-mint}} +\subsection{Linux Mint}\label{linux-mint} Linux Mint incluye \texttt{sudo} y las aplicaciones que uso habitualmente para gestión de paquetes por defecto (\emph{aptitude} y @@ -254,8 +257,7 @@ Tampoco voy a enredar nada con los orígenes del software (de momento), es decir no voy a cambiar al depósito regional. Si quieres cambiarlo, en mi experiencia los más rápidos suelen ser los alemanes. -\hypertarget{firmware}{% -\subsection{Firmware}\label{firmware}} +\subsection{Firmware}\label{firmware} Ya no es necesario intalar los paquetes de \emph{microcode} la instalación de Linux Mint se encargó de instalar: @@ -285,9 +287,8 @@ estado de nuestro escritorio. Además de los drivers adicionales, Linux Mint nos dirá que tiene que instalar unos paquetes de idioma, los instalamos. -\hypertarget{control-de-configuraciones-con-git}{% \subsection{Control de configuraciones con -git}\label{control-de-configuraciones-con-git}} +git}\label{control-de-configuraciones-con-git} Una vez instalado el driver de Nvidia y antes de seguir con la instalación instalamos el \texttt{git} y el \texttt{etckeeper} para que @@ -298,19 +299,18 @@ Yo nunca almaceno esta información en la nube (por seguridad), pero me permite tener controlados los cambios de configuración y ayuda en caso de problemas. -\hypertarget{instalaciuxf3n-de-etckeeper}{% \subsubsection{\texorpdfstring{Instalación de -\texttt{etckeeper}}{Instalación de etckeeper}}\label{instalaciuxf3n-de-etckeeper}} +\texttt{etckeeper}}{Instalación de etckeeper}}\label{instalaciuxf3n-de-etckeeper} ¡Ojo!, nos hacemos \texttt{root} para ejecutar: \begin{Shaded} \begin{Highlighting}[] -\NormalTok{sudo su {-}} -\NormalTok{git config {-}{-}global init.defaultBranch main} -\NormalTok{git config {-}{-}global user.email xxxxx@whatever.com} -\NormalTok{git config {-}{-}global user.name "Name Surname"} -\NormalTok{apt install etckeeper} +\FunctionTok{sudo}\NormalTok{ su }\AttributeTok{{-}} +\FunctionTok{git}\NormalTok{ config }\AttributeTok{{-}{-}global}\NormalTok{ init.defaultBranch main} +\FunctionTok{git}\NormalTok{ config }\AttributeTok{{-}{-}global}\NormalTok{ user.email xxxxx@whatever.com} +\FunctionTok{git}\NormalTok{ config }\AttributeTok{{-}{-}global}\NormalTok{ user.name }\StringTok{"Name Surname"} +\ExtensionTok{apt}\NormalTok{ install etckeeper} \end{Highlighting} \end{Shaded} @@ -321,14 +321,13 @@ Para echar una mirada a los \emph{commits} creados puedes ejecutar: \begin{Shaded} \begin{Highlighting}[] -\NormalTok{cd /etc} -\NormalTok{sudo git log} +\BuiltInTok{cd}\NormalTok{ /etc} +\FunctionTok{sudo}\NormalTok{ git log} \end{Highlighting} \end{Shaded} -\hypertarget{controlar-dotfiles-con-git}{% \subsubsection{Controlar dotfiles con -git}\label{controlar-dotfiles-con-git}} +git}\label{controlar-dotfiles-con-git} Vamos a crear un repo de git para controlar nuestros ficheros personales de configuración. @@ -338,10 +337,10 @@ Creamos el repo donde queramos, yo suelo usar el directorio \begin{Shaded} \begin{Highlighting}[] -\NormalTok{mkdir usrcfg} -\NormalTok{cd usrcfg} -\NormalTok{git init} -\NormalTok{git config core.worktree "/home/salvari"} +\FunctionTok{mkdir}\NormalTok{ usrcfg} +\BuiltInTok{cd}\NormalTok{ usrcfg} +\FunctionTok{git}\NormalTok{ init} +\FunctionTok{git}\NormalTok{ config core.worktree }\StringTok{"/home/salvari"} \end{Highlighting} \end{Shaded} @@ -352,8 +351,8 @@ Podemos añadir los ficheros de configuración que queramos al repo: \begin{Shaded} \begin{Highlighting}[] -\NormalTok{git add .bashrc} -\NormalTok{git commit {-}m "Add some dotfiles"} +\FunctionTok{git}\NormalTok{ add .bashrc} +\FunctionTok{git}\NormalTok{ commit }\AttributeTok{{-}m} \StringTok{"Add some dotfiles"} \end{Highlighting} \end{Shaded} @@ -369,17 +368,14 @@ ejemplo) así que no tengo problemas en almacenarlo en la nube. Facilita mucho las cosas en casos de upgrade del sistema o copiar configuraciones entre ordenadores. -\hypertarget{editor-desde-linea-de-comandos}{% \subsection{Editor desde linea de -comandos}\label{editor-desde-linea-de-comandos}} +comandos}\label{editor-desde-linea-de-comandos} Hasta que instalemos nuestro editor favorito (\emph{Emacs} en mi caso) podemos usar \emph{nano} desde la linea de comandos para editar cualquier fichero. -\hypertarget{paruxe1metros-de-disco-duro}{% -\subsection{Parámetros de disco -duro}\label{paruxe1metros-de-disco-duro}} +\subsection{Parámetros de disco duro}\label{paruxe1metros-de-disco-duro} Tengo un disco duro ssd y otro hdd normal. @@ -418,15 +414,14 @@ con ejecutar lo siguiente: \begin{Shaded} \begin{Highlighting}[] -\NormalTok{mount {-}o remount /} -\NormalTok{mount {-}o remount /home} -\NormalTok{mount} +\FunctionTok{mount} \AttributeTok{{-}o}\NormalTok{ remount /} +\FunctionTok{mount} \AttributeTok{{-}o}\NormalTok{ remount /home} +\FunctionTok{mount} \end{Highlighting} \end{Shaded} -\hypertarget{ajustes-adicionales-para-firefox}{% \subsubsection{\texorpdfstring{Ajustes adicionales para -\emph{Firefox}}{Ajustes adicionales para Firefox}}\label{ajustes-adicionales-para-firefox}} +\emph{Firefox}}{Ajustes adicionales para Firefox}}\label{ajustes-adicionales-para-firefox} Las diferencias de rendimiento del Firefox con estos ajustes son bastante notables. @@ -471,16 +466,15 @@ otra referencia} cambiamos: Reiniciamos nuestro \emph{Firefox} (podemos visitar \texttt{about:restartRequired}) -\hypertarget{fuentes-tipogruxe1ficas-adicionales}{% \subsection{Fuentes (tipográficas) -adicionales}\label{fuentes-tipogruxe1ficas-adicionales}} +adicionales}\label{fuentes-tipogruxe1ficas-adicionales} Instalamos algunas fuentes desde los orígenes de software: \begin{Shaded} \begin{Highlighting}[] -\NormalTok{sudo apt install ttf{-}mscorefonts{-}installer} -\NormalTok{sudo apt install fonts{-}noto} +\FunctionTok{sudo}\NormalTok{ apt install ttf{-}mscorefonts{-}installer} +\FunctionTok{sudo}\NormalTok{ apt install fonts{-}noto} \end{Highlighting} \end{Shaded} @@ -511,19 +505,18 @@ Fuentes interesantes: fonts} \end{itemize} -\hypertarget{firewall}{% -\subsection{Firewall}\label{firewall}} +\subsection{Firewall}\label{firewall} \texttt{ufw} y \texttt{gufw} vienen instalados por defecto, pero no activados. \begin{Shaded} \begin{Highlighting}[] -\NormalTok{aptitude install ufw} -\NormalTok{ufw default deny} -\NormalTok{ufw enable} -\NormalTok{ufw status verbose} -\NormalTok{aptitude install gufw} +\ExtensionTok{aptitude}\NormalTok{ install ufw} +\ExtensionTok{ufw}\NormalTok{ default deny} +\ExtensionTok{ufw}\NormalTok{ enable} +\ExtensionTok{ufw}\NormalTok{ status verbose} +\ExtensionTok{aptitude}\NormalTok{ install gufw} \end{Highlighting} \end{Shaded} @@ -537,8 +530,7 @@ excepto cuando valido una nueva configuración. \begin{center}\rule{0.5\linewidth}{0.5pt}\end{center} -\hypertarget{aplicaciones-variadas}{% -\subsection{Aplicaciones variadas}\label{aplicaciones-variadas}} +\subsection{Aplicaciones variadas}\label{aplicaciones-variadas} \begin{quote} \textbf{Nota}: Ya no instalamos \emph{menulibre}, Linux Mint tiene una @@ -595,9 +587,8 @@ most mc tree neofetch fasd silversearcher-ag ack ncdu mate-tweak filezilla \ rofi chromium \end{verbatim} -\hypertarget{algunos-programas-de-control-del-sistema}{% \subsection{Algunos programas de control del -sistema}\label{algunos-programas-de-control-del-sistema}} +sistema}\label{algunos-programas-de-control-del-sistema} Son útiles para control de consumo. @@ -611,18 +602,16 @@ del binario tenemos el ejecutable y un fichero \texttt{.desktop}. En mi caso hago una cutre-instalación con el ejecutable en \texttt{\textasciitilde{}/.local/bin} y el fichero \texttt{.desktop} copiado en mi \texttt{\textasciitilde{}/.local/share/applications} (ver -la sección -\protect\hyperlink{varias-aplicaciones-instaladas-de-binarios}{Varias +la sección \hyperref[varias-aplicaciones-instaladas-de-binarios]{Varias aplicaciones instaladas de binarios}) -\hypertarget{programas-de-terminal}{% -\subsection{Programas de terminal}\label{programas-de-terminal}} +\subsection{Programas de terminal}\label{programas-de-terminal} Antes instalaba dos programas de terminal: \begin{Shaded} \begin{Highlighting}[] -\NormalTok{sudo apt install guake terminator} +\FunctionTok{sudo}\NormalTok{ apt install guake terminator} \end{Highlighting} \end{Shaded} @@ -643,12 +632,11 @@ complementar con \emph{tmux}. \begin{Shaded} \begin{Highlighting}[] -\NormalTok{sudo apt install rxvt{-}unicode} +\FunctionTok{sudo}\NormalTok{ apt install rxvt{-}unicode} \end{Highlighting} \end{Shaded} -\hypertarget{tmux}{% -\subsubsection{tmux}\label{tmux}} +\subsubsection{tmux}\label{tmux} \emph{tmux} combinado por ejemplo con \emph{rxvt} nos da la misma funcionalidad que \emph{Terminator}, además merece la pena aprender a @@ -656,7 +644,7 @@ usarlo por que instalado en servidores remotos es increíblemente útil. \begin{Shaded} \begin{Highlighting}[] -\NormalTok{sudo apt install tmux} +\FunctionTok{sudo}\NormalTok{ apt install tmux} \end{Highlighting} \end{Shaded} @@ -669,40 +657,35 @@ usarlo por que instalado en servidores remotos es increíblemente útil. customizations} \end{itemize} -\hypertarget{dropbox}{% -\subsection{Dropbox}\label{dropbox}} +\subsection{Dropbox}\label{dropbox} Lo instalamos desde el software manager. Previamente debemos instalar el paquete \texttt{python3-gpg} y desde el software manager instalamos también el paquete \texttt{Caja-dropbox}, para tener las integraciones de Dropbox en el gestor de ficheros. -\hypertarget{pcloud}{% -\subsection{pCloud}\label{pcloud}} +\subsection{pCloud}\label{pcloud} Instalado desde su página web. -\hypertarget{chrome}{% -\subsection{Chrome}\label{chrome}} +\subsection{Chrome}\label{chrome} No lo he instalado. Puede instalarse desde \href{https://www.google.com/chrome/}{la página web de Chrome} -\hypertarget{thorium}{% -\subsection{Thorium}\label{thorium}} +\subsection{Thorium}\label{thorium} Bajamos los binarios desde \href{https://thorium.rocks/}{su página web}. Descomprimimos en \texttt{\textasciitilde{}/apps} y ajustamos los ficheros \texttt{.desktop} para que apunten a los binarios. (ver la siguiente sección -\protect\hyperlink{varias-aplicaciones-instaladas-de-binarios}{Varias +\hyperref[varias-aplicaciones-instaladas-de-binarios]{Varias aplicaciones instaladas de binarios}) -\hypertarget{varias-aplicaciones-instaladas-de-binarios}{% \subsection{Varias aplicaciones instaladas de -binarios}\label{varias-aplicaciones-instaladas-de-binarios}} +binarios}\label{varias-aplicaciones-instaladas-de-binarios} Lo recomendable en un sistema POSIX es instalar los programas adicionales en \texttt{/usr/local} o en \texttt{/opt}. Yo soy más @@ -744,29 +727,25 @@ freeplane \texttt{\textasciitilde{}/.local/share/applications} \end{enumerate} -\hypertarget{freeplane}{% -\subsubsection{Freeplane}\label{freeplane}} +\subsubsection{Freeplane}\label{freeplane} Para hacer mapas mentales, presentaciones, resúmenes, apuntes\ldots{} La versión incluida en LinuxMint está un poco anticuada, descargamos el programa desde \href{https://docs.freeplane.org/}{la página web}. -\hypertarget{treesheets}{% -\subsubsection{Treesheets}\label{treesheets}} +\subsubsection{Treesheets}\label{treesheets} Está bien para hacer chuletas rápidamente. Descargamos el \emph{appimage} desde \href{http://strlen.com/treesheets/}{la web} -\hypertarget{telegram-desktop}{% -\subsubsection{Telegram Desktop}\label{telegram-desktop}} +\subsubsection{Telegram Desktop}\label{telegram-desktop} Cliente de Telegram, descargado desde la \href{https://desktop.telegram.org/}{página web}. El programa de instalación de Telegram ya se encarga de crear el fichero \texttt{.desktop} -\hypertarget{tor-browser}{% -\subsubsection{Tor browser}\label{tor-browser}} +\subsubsection{Tor browser}\label{tor-browser} Descargamos desde la \href{https://www.torproject.org/}{página oficial del proyecto} Descomprimimos en \texttt{\textasciitilde{}/apps/} y @@ -780,8 +759,7 @@ cd ~/apps/tor-browser Tor se encarga tanto de crear el fichero \texttt{.desktop} como de mantenerse actualizado a la última versión. -\hypertarget{brave-browser}{% -\subsubsection{Brave browser}\label{brave-browser}} +\subsubsection{Brave browser}\label{brave-browser} Instalamos siguiendo las instrucciones de la \href{https://brave-browser.readthedocs.io/en/latest/installing-brave.html\#linux}{página @@ -789,27 +767,25 @@ web oficial} \begin{Shaded} \begin{Highlighting}[] -\NormalTok{sudo apt install curl} +\FunctionTok{sudo}\NormalTok{ apt install curl} -\NormalTok{sudo curl {-}fsSLo /usr/local/share/keyrings/brave{-}browser{-}archive{-}keyring.gpg https://brave{-}browser{-}apt{-}release.s3.brave.com/brave{-}browser{-}archive{-}keyring.gpg} +\FunctionTok{sudo}\NormalTok{ curl }\AttributeTok{{-}fsSLo}\NormalTok{ /usr/local/share/keyrings/brave{-}browser{-}archive{-}keyring.gpg https://brave{-}browser{-}apt{-}release.s3.brave.com/brave{-}browser{-}archive{-}keyring.gpg} -\NormalTok{echo "deb [signed{-}by=/usr/local/share/keyrings/brave{-}browser{-}archive{-}keyring.gpg] https://brave{-}browser{-}apt{-}release.s3.brave.com/ stable main"|sudo tee /etc/apt/sources.list.d/brave{-}browser{-}release.list} +\BuiltInTok{echo} \StringTok{"deb [signed{-}by=/usr/local/share/keyrings/brave{-}browser{-}archive{-}keyring.gpg] https://brave{-}browser{-}apt{-}release.s3.brave.com/ stable main"}\KeywordTok{|}\FunctionTok{sudo}\NormalTok{ tee /etc/apt/sources.list.d/brave{-}browser{-}release.list} -\NormalTok{sudo apt update} +\FunctionTok{sudo}\NormalTok{ apt update} -\NormalTok{sudo apt install brave{-}browser} +\FunctionTok{sudo}\NormalTok{ apt install brave{-}browser} \end{Highlighting} \end{Shaded} -\hypertarget{tiddlydesktop}{% -\subsubsection{TiddlyDesktop}\label{tiddlydesktop}} +\subsubsection{TiddlyDesktop}\label{tiddlydesktop} Descargamos desde la \href{https://github.com/Jermolene/TiddlyDesktop}{página web}, descomprimimos y generamos la entrada en el menú. -\hypertarget{joplin}{% -\subsubsection{Joplin}\label{joplin}} +\subsubsection{Joplin}\label{joplin} Una herramienta libre para mantener notas sincronizadas entre el móvil y el portátil. @@ -819,7 +795,7 @@ Instalamos siguiendo las instrucciones de la \begin{Shaded} \begin{Highlighting}[] -\NormalTok{ wget {-}O {-} https://raw.githubusercontent.com/laurent22/joplin/master/Joplin\_install\_and\_update.sh | bash} + \FunctionTok{wget} \AttributeTok{{-}O} \AttributeTok{{-}}\NormalTok{ https://raw.githubusercontent.com/laurent22/joplin/master/Joplin\_install\_and\_update.sh }\KeywordTok{|} \FunctionTok{bash} \end{Highlighting} \end{Shaded} @@ -829,20 +805,17 @@ crea su propia entrada en el menú. La primera vez que configuremos la sincronización de Joplin conviene hacer un borrado local con download desde el remoto. -\hypertarget{terminal-y-shells}{% -\subsection{Terminal y shells}\label{terminal-y-shells}} +\subsection{Terminal y shells}\label{terminal-y-shells} Por defecto tenemos instalado \texttt{bash}. -\hypertarget{bash-git-promt}{% -\subsubsection{bash-git-promt}\label{bash-git-promt}} +\subsubsection{bash-git-promt}\label{bash-git-promt} Para dejar configurado el \emph{bash-git-prompt} seguimos las instrucciones de \href{https://github.com/magicmonty/bash-git-prompt}{este github} -\hypertarget{zsh}{% -\subsubsection{zsh}\label{zsh}} +\subsubsection{zsh}\label{zsh} Nos adelantamos a los acontecimientos, pero conviene tener instaladas las herramientas de entornos virtuales de python antes de instalar @@ -933,25 +906,22 @@ apt install zsh Cuando estemos contentos con nuestro \texttt{zsh} tendremos que ejecutar \texttt{chsh\ -s\ /usr/bin/zsh} -\hypertarget{syncthing}{% -\subsection{Syncthing}\label{syncthing}} +\subsection{Syncthing}\label{syncthing} Añadimos el ppa: \begin{Shaded} \begin{Highlighting}[] -\NormalTok{curl {-}s https://syncthing.net/release{-}key.txt | sudo gpg {-}{-}dearmour {-}o /usr/local/share/keyrings/synching{-}archive{-}keyring.gpg} -\NormalTok{echo "deb [ signed{-}by=/usr/local/share/keyrings/synching{-}archive{-}keyring.gpg ] https://apt.syncthing.net/ syncthing stable" | sudo tee /etc/apt/sources.list.d/syncthing.list} -\NormalTok{sudo apt{-}get update} -\NormalTok{sudo apt{-}get install syncthing} +\ExtensionTok{curl} \AttributeTok{{-}s}\NormalTok{ https://syncthing.net/release{-}key.txt }\KeywordTok{|} \FunctionTok{sudo}\NormalTok{ gpg }\AttributeTok{{-}{-}dearmour} \AttributeTok{{-}o}\NormalTok{ /usr/local/share/keyrings/synching{-}archive{-}keyring.gpg} +\BuiltInTok{echo} \StringTok{"deb [ signed{-}by=/usr/local/share/keyrings/synching{-}archive{-}keyring.gpg ] https://apt.syncthing.net/ syncthing stable"} \KeywordTok{|} \FunctionTok{sudo}\NormalTok{ tee /etc/apt/sources.list.d/syncthing.list} +\FunctionTok{sudo}\NormalTok{ apt{-}get update} +\FunctionTok{sudo}\NormalTok{ apt{-}get install syncthing} \end{Highlighting} \end{Shaded} -\hypertarget{utilidades}{% -\section{Utilidades}\label{utilidades}} +\section{Utilidades}\label{utilidades} -\hypertarget{utilidades-variadas}{% -\subsection{Utilidades variadas}\label{utilidades-variadas}} +\subsection{Utilidades variadas}\label{utilidades-variadas} \begin{description} \item[gpick con] @@ -1019,8 +989,7 @@ con el siguiente contenido Asociamos un atajo de teclado al comando: \texttt{rofi\ -show\ drun} \end{description} -\hypertarget{autokey}{% -\subsection{autokey}\label{autokey}} +\subsection{autokey}\label{autokey} Instalamos \href{https://github.com/autokey/autokey}{autokey} siguiendo \href{https://github.com/autokey/autokey/wiki/Installing\#debian-and-derivatives}{las @@ -1050,17 +1019,14 @@ documentación}) Para lanzar la aplicación ejecutamos: \texttt{python3\ -m\ autokey.gtkui} -\hypertarget{internet}{% -\section{Internet}\label{internet}} +\section{Internet}\label{internet} -\hypertarget{rclone}{% -\subsection{Rclone}\label{rclone}} +\subsection{Rclone}\label{rclone} Instalamos desde la página web(https://rclone.org/), descargando el fichero \texttt{.deb}. -\hypertarget{recetas-rclone}{% -\subsubsection{Recetas rclone}\label{recetas-rclone}} +\subsubsection{Recetas rclone}\label{recetas-rclone} Copiar directorio local en la nube: @@ -1081,8 +1047,7 @@ Sincronizar una carpeta remota en local: rclone sync hubic:directorio_remoto /home/salvari/directorio_local -vv \end{verbatim} -\hypertarget{referencias}{% -\subsubsection{Referencias}\label{referencias}} +\subsubsection{Referencias}\label{referencias} \begin{itemize} \tightlist @@ -1096,8 +1061,7 @@ rclone sync hubic:directorio_remoto /home/salvari/directorio_local -vv \href{https://rclone.org/docs/}{Documentación} \end{itemize} -\hypertarget{nyxt}{% -\subsection{Nyxt}\label{nyxt}} +\subsection{Nyxt}\label{nyxt} Descargamos la estable y además instalamos la libreria libssl1.1 @@ -1108,17 +1072,15 @@ Descargamos la estable y además instalamos la libreria libssl1.1 \end{Highlighting} \end{Shaded} -\hypertarget{qutebrowser}{% -\subsection{Qutebrowser}\label{qutebrowser}} +\subsection{Qutebrowser}\label{qutebrowser} Instalamos desde los repos con \texttt{sudo\ apt\ install\ qutebrowser}. -\hypertarget{palemoon}{% -\subsection{Palemoon}\label{palemoon}} +\subsection{Palemoon}\label{palemoon} Un fork de \emph{Firefox} con menos chorradas. Instalado con el paquete \texttt{deb} descargado de su -\href{https://software.opensuse.org/download.html?project=home:stevenpusser\&package=palemoon}{página +\href{https://software.opensuse.org/download.html?project=home:stevenpusser&package=palemoon}{página web} \begin{Shaded} @@ -1130,8 +1092,7 @@ web} \end{Highlighting} \end{Shaded} -\hypertarget{librewolf}{% -\subsection{LibreWolf}\label{librewolf}} +\subsection{LibreWolf}\label{librewolf} Otro fork de \emph{Firefox} centrado en la privacidad. Instalado como \emph{appimage} descargado desde su @@ -1148,8 +1109,7 @@ Otro fork de \emph{Firefox} centrado en la privacidad. Instalado como \end{Highlighting} \end{Shaded} -\hypertarget{plugins-instalados}{% -\subsubsection{Plugins instalados}\label{plugins-instalados}} +\subsubsection{Plugins instalados}\label{plugins-instalados} Conviene estudiar la documentación de los \emph{add-ons} recomendados, disponible @@ -1174,47 +1134,38 @@ disponible Mozilla Multiaccount Containers \end{itemize} -\hypertarget{netsurf}{% -\subsection{Netsurf}\label{netsurf}} +\subsection{Netsurf}\label{netsurf} Un navegador ultraligero (aunque no funciona con muchas páginas, solo para webs austeras) Instalado via flathub con \texttt{flatpak\ install\ netsurf} -\hypertarget{lagrange}{% -\subsection{Lagrange}\label{lagrange}} +\subsection{Lagrange}\label{lagrange} Un navegador para el protocolo \emph{Gemini}. Instalado con la \emph{appimage} desde su \href{https://git.skyjake.fi/gemini/lagrange}{página web} -\hypertarget{castor}{% -\subsection{Castor}\label{castor}} +\subsection{Castor}\label{castor} Otro navegador para el protocolo \emph{Gemini} programado en \emph{Rust}. Instalado desde las fuentes siguiendo instrucciones de su \href{https://sr.ht/~julienxx/Castor/}{página web} -\hypertarget{whalebird-cliente-de-mastodon}{% \subsection{Whalebird: Cliente de -Mastodon}\label{whalebird-cliente-de-mastodon}} +Mastodon}\label{whalebird-cliente-de-mastodon} Descargada \emph{appimage} desde \href{https://whalebird.social/en}{la página web de la aplicación}. -\hypertarget{sengi-cliente-de-mastodon}{% -\subsection{Sengi: Cliente de -Mastodon}\label{sengi-cliente-de-mastodon}} +\subsection{Sengi: Cliente de Mastodon}\label{sengi-cliente-de-mastodon} Instalada \emph{appimage} desde su \href{https://github.com/NicolasConstant/sengi}{github} -\hypertarget{window-managers-adicionales}{% -\section{Window Managers -adicionales}\label{window-managers-adicionales}} +\section{Window Managers adicionales}\label{window-managers-adicionales} -\hypertarget{i3wm}{% -\subsection{i3wm}\label{i3wm}} +\subsection{i3wm}\label{i3wm} Añadimos el repo: @@ -1230,8 +1181,7 @@ Añadimos el repo: \end{Highlighting} \end{Shaded} -\hypertarget{qtile}{% -\subsection{qtile}\label{qtile}} +\subsection{qtile}\label{qtile} Vamos a describir la instalación del \emph{Qtile} en un \emph{virtualenv} dedicado. Si te bajas la versión estable de @@ -1277,13 +1227,12 @@ para tenerlo controlado con \texttt{pyenv}. Con esto ya estamos listos, podríamos arrancar \emph{Qtile} con \texttt{qtile\ start}, pero no puede funcionar claro. Para que arranque correctamente, tenemos que lanzarlo en un servidor X. (ver el punto -``\protect\hyperlink{lanzar-window-managers-con-xephyr}{Lanzar Window -Managers con Xephyr}'') +``\hyperref[lanzar-window-managers-con-xephyr]{Lanzar Window Managers +con Xephyr}'') -\hypertarget{configurar-qtile-en-virtualenv-para-arrancer-desde-el-lightdm}{% \subsubsection{\texorpdfstring{Configurar Qtile en \emph{virtualenv} para arrancer desde el -\emph{Lightdm}}{Configurar Qtile en virtualenv para arrancer desde el Lightdm}}\label{configurar-qtile-en-virtualenv-para-arrancer-desde-el-lightdm}} +\emph{Lightdm}}{Configurar Qtile en virtualenv para arrancer desde el Lightdm}}\label{configurar-qtile-en-virtualenv-para-arrancer-desde-el-lightdm} Como \texttt{root} nos creamos un script \texttt{launch\_qtile} en \texttt{/usr/local/bin}, con el siguiente contenido @@ -1316,9 +1265,8 @@ También como \texttt{root} creamos el fichero Y con esto tendremos Qtile disponible en \emph{Lightdm}. -\hypertarget{lanzar-window-managers-con-xephyr}{% \subsection{Lanzar Window Managers con -Xephyr}\label{lanzar-window-managers-con-xephyr}} +Xephyr}\label{lanzar-window-managers-con-xephyr} Para probar (o configurar) los \emph{Window Managers} sin salir de nuestra sesión de Mate podemos usar Xephyr, si no lo tienes instalado @@ -1371,17 +1319,14 @@ un script con las siguientes lineas: Para \emph{Qtile} bastaria con cambiar \texttt{i3} por \texttt{qtile\ start} -\hypertarget{comunicaciuxf3n-con-dispositivos-android}{% \section{Comunicación con dispositivos -Android}\label{comunicaciuxf3n-con-dispositivos-android}} +Android}\label{comunicaciuxf3n-con-dispositivos-android} -\hypertarget{scrcpy}{% -\subsection{scrcpy}\label{scrcpy}} +\subsection{scrcpy}\label{scrcpy} \texttt{sudo\ apt\ install\ scrcpy} -\hypertarget{heimdall}{% -\subsection{Heimdall}\label{heimdall}} +\subsection{Heimdall}\label{heimdall} Para flashear roms en moviles @@ -1391,11 +1336,9 @@ Para flashear roms en moviles \end{Highlighting} \end{Shaded} -\hypertarget{documentaciuxf3n}{% -\section{Documentación}\label{documentaciuxf3n}} +\section{Documentación}\label{documentaciuxf3n} -\hypertarget{vanilla-latex}{% -\subsection{Vanilla LaTeX}\label{vanilla-latex}} +\subsection{Vanilla LaTeX}\label{vanilla-latex} Para instalar la versión más reciente de LaTeX hago la instalación desde \href{https://www.ctan.org/}{ctan} @@ -1450,8 +1393,7 @@ siguiente linea: set PATH $PATH /opt/texbin \end{verbatim} -\hypertarget{falsificando-paquetes}{% -\subsubsection{Falsificando paquetes}\label{falsificando-paquetes}} +\subsubsection{Falsificando paquetes}\label{falsificando-paquetes} Ya tenemos el \emph{texlive} instalado, ahora necesitamos que el gestor de paquetes sepa que ya lo tenemos instalado. @@ -1491,8 +1433,7 @@ Todo listo, ahora podemos instalar cualquier paquete debian que dependa de \emph{texlive} sin problemas de dependencias, aunque no hayamos instalado el \emph{texlive} de Debian. -\hypertarget{fuentes}{% -\subsubsection{Fuentes}\label{fuentes}} +\subsubsection{Fuentes}\label{fuentes} Para dejar disponibles las fuentes opentype y truetype que vienen con texlive para el resto de aplicaciones: @@ -1552,8 +1493,7 @@ Icon=system-software-update EOF \end{verbatim} -\hypertarget{tipos-de-letra}{% -\subsection{Tipos de letra}\label{tipos-de-letra}} +\subsection{Tipos de letra}\label{tipos-de-letra} Creamos el directorio de usuario para tipos de letra: @@ -1561,8 +1501,7 @@ Creamos el directorio de usuario para tipos de letra: mkdir ~/.local/share/fonts \end{verbatim} -\hypertarget{fuentes-adicionales}{% -\subsection{Fuentes Adicionales}\label{fuentes-adicionales}} +\subsection{Fuentes Adicionales}\label{fuentes-adicionales} Me he descargado de internet la fuente \href{https://robey.lag.net/downloads/mensch.ttf}{Mensch} el directorio @@ -1583,8 +1522,7 @@ ln -s ~/wherever/ProgrammingFonts/Menlo . La fuente Hack la he instalado directamente desde el \href{https://sourcefoundry.org/hack/}{sitio web} -\hypertarget{pandoc}{% -\subsection{Pandoc}\label{pandoc}} +\subsection{Pandoc}\label{pandoc} \emph{Pandoc} es un traductor entre formatos de documento. Está escrito en Haskell y es increiblemente útil. De hecho este documento está @@ -1606,9 +1544,16 @@ git clone https://github.com/jgm/pandoc-templates templates Las plantillas no son imprescindibles pero si quieres aprender a usarlas o hacer alguna modificación viene bien tenerlas. -\hypertarget{algunos-editores-adicionales}{% +\subsection{Quarto}\label{quarto} + +Un sistema de generación de documentación que usa \emph{Pandoc}, +instalado con el paquete \texttt{.deb} descargado desde +\href{https://quarto.org/docs/get-started/}{la página web del proyecto} + +\textbf{TODO}: Completar el tutorial inicial + \subsection{Algunos editores -adicionales}\label{algunos-editores-adicionales}} +adicionales}\label{algunos-editores-adicionales} Dos editores opcionales para hacer pruebas: @@ -1621,8 +1566,7 @@ Instalado con fichero \texttt{.deb} descargado desde \href{https://www.zettlr.com/}{su página web} \end{description} -\hypertarget{calibre}{% -\subsection{Calibre}\label{calibre}} +\subsection{Calibre}\label{calibre} La mejor utilidad para gestionar tu colección de libros electrónicos. @@ -1674,8 +1618,7 @@ Algunos enlaces útiles: (https://www.netogram.com/kobo.htm) \end{itemize} -\hypertarget{scribus}{% -\subsection{Scribus}\label{scribus}} +\subsection{Scribus}\label{scribus} Scribus es un programa libre de composición de documentos. con Scribus puedes elaborar desde los folletos de una exposición hasta una revista o @@ -1692,9 +1635,8 @@ sudo apt update sudo apt install scribus scribus-ng scribus-template scribus-ng-doc \end{verbatim} -\hypertarget{cambiados-algunos-valores-por-defecto}{% \subsubsection{Cambiados algunos valores por -defecto}\label{cambiados-algunos-valores-por-defecto}} +defecto}\label{cambiados-algunos-valores-por-defecto} He cambiado los siguientes valores en las dos versiones, non están exactamente en el mismo menú pero no son díficiles de encontrar: @@ -1730,11 +1672,10 @@ Siempre se puede volver a los valores por defecto sin mucho problema (hay una opción para ello) Referencia -\href{https://www.youtube.com/watch?v=3sEoYZGABQM\&list=PL3kOqLpV3a67b13TY3WxYVzErYUOLYekI}{aquí} +\href{https://www.youtube.com/watch?v=3sEoYZGABQM&list=PL3kOqLpV3a67b13TY3WxYVzErYUOLYekI}{aquí} -\hypertarget{solucionados-problemas-de-hyphenation}{% \subsubsection{\texorpdfstring{Solucionados problemas de -\emph{hyphenation}}{Solucionados problemas de hyphenation}}\label{solucionados-problemas-de-hyphenation}} +\emph{hyphenation}}{Solucionados problemas de hyphenation}}\label{solucionados-problemas-de-hyphenation} \emph{Scribus} no hacia correctamente la separación silábica en castellano, he instalado los paquetes: @@ -1749,17 +1690,15 @@ castellano, he instalado los paquetes: Y ahora funciona correctamente. -\hypertarget{foliate-lector-de-libros-electruxf3nicos}{% \subsection{Foliate: lector de libros -electrónicos}\label{foliate-lector-de-libros-electruxf3nicos}} +electrónicos}\label{foliate-lector-de-libros-electruxf3nicos} Se puede instalar el paquete deb desde \href{https://github.com/johnfactotum/foliate/releases}{su propio github} -\hypertarget{zotero-gestor-de-referencias-bibliogruxe1ficas}{% \subsection{Zotero: Gestor de referencias -bibliográficas}\label{zotero-gestor-de-referencias-bibliogruxe1ficas}} +bibliográficas}\label{zotero-gestor-de-referencias-bibliogruxe1ficas} Por cortesía de \href{https://github.com/retorquere/zotero-deb}{Emiliano Heyns} tenemos disponible el paquete de Zotero para Debian y Ubuntu. @@ -1777,22 +1716,21 @@ descargando la última versión disponible desde \href{https://retorque.re/zotero-better-bibtex/installation/}{aquí} e instalando en Zotero con la opción ``Instalar desde fichero''. -\hypertarget{desarrollo-software}{% -\section{Desarrollo software}\label{desarrollo-software}} +\section{Desarrollo software}\label{desarrollo-software} -\hypertarget{paquetes-esenciales}{% -\subsection{Paquetes esenciales}\label{paquetes-esenciales}} +\subsection{Paquetes esenciales}\label{paquetes-esenciales} Estos son los paquetes esenciales para empezar a desarrollar software en Linux. -\begin{verbatim} -sudo apt install build-essential checkinstall make automake cmake autoconf \ -git git-core git-crypt dpkg wget -\end{verbatim} +\begin{Shaded} +\begin{Highlighting}[] +\FunctionTok{sudo}\NormalTok{ apt install build{-}essential checkinstall make automake cmake autoconf }\DataTypeTok{\textbackslash{}} +\NormalTok{git git{-}core git{-}crypt dpkg wget} +\end{Highlighting} +\end{Shaded} -\hypertarget{git}{% -\subsection{Git}\label{git}} +\subsection{Git}\label{git} \begin{center}\rule{0.5\linewidth}{0.5pt}\end{center} @@ -1802,9 +1740,9 @@ actualizado: \begin{Shaded} \begin{Highlighting}[] -\NormalTok{sudo add{-}apt{-}repository ppa:git{-}core/ppa} -\NormalTok{sudo apt update} -\NormalTok{sudo apt upgrade} +\FunctionTok{sudo}\NormalTok{ add{-}apt{-}repository ppa:git{-}core/ppa} +\FunctionTok{sudo}\NormalTok{ apt update} +\FunctionTok{sudo}\NormalTok{ apt upgrade} \end{Highlighting} \end{Shaded} @@ -1843,8 +1781,7 @@ git config --global alias.br branch git config --global core.editor emacs \end{verbatim} -\hypertarget{emacs}{% -\subsection{Emacs}\label{emacs}} +\subsection{Emacs}\label{emacs} Instalado emacs desde los repos: @@ -1852,18 +1789,16 @@ Instalado emacs desde los repos: sudo aptitude install emacs \end{verbatim} -\hypertarget{lenguaje-de-programaciuxf3n-d-d-programming-language}{% \subsection{Lenguaje de programación D (D programming -language)}\label{lenguaje-de-programaciuxf3n-d-d-programming-language}} +language)}\label{lenguaje-de-programaciuxf3n-d-d-programming-language} El lenguaje de programación D es un lenguaje de programación de sistemas con una sintaxis similar a la de C y con tipado estático. Combina eficiencia, control y potencia de modelado con seguridad y productividad. -\hypertarget{d-apt-e-instalaciuxf3n-de-programas}{% \subsubsection{D-apt e instalación de -programas}\label{d-apt-e-instalaciuxf3n-de-programas}} +programas}\label{d-apt-e-instalaciuxf3n-de-programas} Configurado \emph{d-apt}, instalados todos los programas incluidos @@ -1880,8 +1815,7 @@ uso. sudo apt install dmd-compiler dmd-tools dub dcd dfix dfmt dscanner \end{verbatim} -\hypertarget{dcd}{% -\subsubsection{DCD}\label{dcd}} +\subsubsection{DCD}\label{dcd} Una vez instalado el DCD tenemos que configurarlo creando el fichero \texttt{\textasciitilde{}/.config/dcd/dcd.conf} con el siguiente @@ -1899,8 +1833,7 @@ dcd-server & echo | dcd-client --search toImpl \end{verbatim} -\hypertarget{gdc}{% -\subsubsection{gdc}\label{gdc}} +\subsubsection{gdc}\label{gdc} Instalado con: @@ -1908,8 +1841,7 @@ Instalado con: sudo aptitude install gdc \end{verbatim} -\hypertarget{ldc}{% -\subsubsection{ldc}\label{ldc}} +\subsubsection{ldc}\label{ldc} Instalado con: @@ -1923,8 +1855,7 @@ Para poder ejecutar aplicaciones basadas en Vibed, necesitamos instalar: sudo apt-get install -y libssl-dev libevent-dev \end{verbatim} -\hypertarget{emacs-para-editar-d}{% -\subsubsection{Emacs para editar D}\label{emacs-para-editar-d}} +\subsubsection{Emacs para editar D}\label{emacs-para-editar-d} Instalados los siguientes paquetes desde Melpa @@ -1949,12 +1880,10 @@ Instalados los siguientes paquetes desde Melpa Referencias * (https://github.com/atilaneves/ac-dcd) * (https://github.com/Hackerpilot/DCD) -\hypertarget{c-c}{% -\subsection{C, C++}\label{c-c}} +\subsection{C, C++}\label{c-c} -\hypertarget{instalaciuxf3n-de-gnu-global}{% \subsubsection{Instalación de Gnu -Global}\label{instalaciuxf3n-de-gnu-global}} +Global}\label{instalaciuxf3n-de-gnu-global} Para instalar las dependencias, previamente instalamos: @@ -1992,8 +1921,7 @@ He comprobado que make uninstall funciona correctamente, las librerías quedan instaladas en \texttt{/usr/local/lib/gtags} y los ejecutables en \texttt{/usr/local/bin} -\hypertarget{rust}{% -\subsection{Rust}\label{rust}} +\subsection{Rust}\label{rust} Instalamos siguiendo las instrucciones de \href{https://www.rust-lang.org/tools/install}{aqui} (Hacemos la @@ -2001,18 +1929,18 @@ instalación por defecto) \begin{Shaded} \begin{Highlighting}[] -\NormalTok{curl {-}{-}proto \textquotesingle{}=https\textquotesingle{} {-}{-}tlsv1.2 {-}sSf https://sh.rustup.rs | sh} +\ExtensionTok{curl} \AttributeTok{{-}{-}proto} \StringTok{\textquotesingle{}=https\textquotesingle{}} \AttributeTok{{-}{-}tlsv1.2} \AttributeTok{{-}sSf}\NormalTok{ https://sh.rustup.rs }\KeywordTok{|} \FunctionTok{sh} -\NormalTok{ stable installed {-} rustc 1.47.0 (18bf6b4f0 2020{-}10{-}07)} + \ExtensionTok{stable}\NormalTok{ installed }\AttributeTok{{-}}\NormalTok{ rustc 1.47.0 }\ErrorTok{(}\ExtensionTok{18bf6b4f0}\NormalTok{ 2020{-}10{-}07}\KeywordTok{)} -\NormalTok{Rust is installed now. Great!} +\ExtensionTok{Rust}\NormalTok{ is installed now. Great!} -\NormalTok{To get started you need Cargo\textquotesingle{}s bin directory ($HOME/.cargo/bin) in your PATH} -\NormalTok{environment variable. Next time you log in this will be done} -\NormalTok{automatically.} +\ExtensionTok{To}\NormalTok{ get started you need Cargo}\StringTok{\textquotesingle{}s bin directory ($HOME/.cargo/bin) in your PATH} +\StringTok{environment variable. Next time you log in this will be done} +\StringTok{automatically.} -\NormalTok{To configure your current shell run source $HOME/.cargo/env} +\StringTok{To configure your current shell run source $HOME/.cargo/env} \end{Highlighting} \end{Shaded} @@ -2024,8 +1952,7 @@ Para desinstalar \texttt{rust} bastaría con ejecutar Para actualizar la instalación: \texttt{rustup\ update} -\hypertarget{rls}{% -\subsubsection{RLS}\label{rls}} +\subsubsection{RLS}\label{rls} Seguimos las instrucciones de la página oficial de \href{https://emacs-lsp.github.io/lsp-mode/page/lsp-rust/}{LSP} y de @@ -2038,9 +1965,8 @@ Seguimos las instrucciones de la página oficial de \end{Highlighting} \end{Shaded} -\hypertarget{algunas-utilidades-de-sistema-escritas-en-rust}{% \subsubsection{Algunas utilidades de sistema escritas en -Rust}\label{algunas-utilidades-de-sistema-escritas-en-rust}} +Rust}\label{algunas-utilidades-de-sistema-escritas-en-rust} Instalamos: @@ -2065,8 +1991,7 @@ Instalamos: \textbf{Nota}: \texttt{fzf} instalado descargando el binario en \texttt{\textasciitilde{}/.local/bin} desde su github -\hypertarget{golang}{% -\subsection{golang}\label{golang}} +\subsection{golang}\label{golang} Bajamos el paquete con la última versión desde \href{https://golang.org/dl/}{la página oficial}. @@ -2096,10 +2021,9 @@ Añadimos al path con las siguientes lineas en \end{Highlighting} \end{Shaded} -\hypertarget{instalaciuxf3n-de-gopls-un-servidor-de-lsp-para-editores}{% \subsubsection{\texorpdfstring{Instalación de \emph{gopls} un servidor de LSP para -editores:}{Instalación de gopls un servidor de LSP para editores:}}\label{instalaciuxf3n-de-gopls-un-servidor-de-lsp-para-editores}} +editores:}{Instalación de gopls un servidor de LSP para editores:}}\label{instalaciuxf3n-de-gopls-un-servidor-de-lsp-para-editores} Desde un directorio \textbf{que no sea el GOPATH} @@ -2109,8 +2033,7 @@ Desde un directorio \textbf{que no sea el GOPATH} \end{Highlighting} \end{Shaded} -\hypertarget{golint}{% -\subsubsection{golint}\label{golint}} +\subsubsection{golint}\label{golint} \begin{Shaded} \begin{Highlighting}[] @@ -2118,9 +2041,8 @@ Desde un directorio \textbf{que no sea el GOPATH} \end{Highlighting} \end{Shaded} -\hypertarget{utilidades-escritas-en-go}{% \subsubsection{Utilidades escritas en -go}\label{utilidades-escritas-en-go}} +go}\label{utilidades-escritas-en-go} \begin{Shaded} \begin{Highlighting}[] @@ -2129,8 +2051,7 @@ go}\label{utilidades-escritas-en-go}} \end{Highlighting} \end{Shaded} -\hypertarget{processing}{% -\subsection{Processing}\label{processing}} +\subsection{Processing}\label{processing} Bajamos el paquete de la \href{https://processing.org/}{página web}, descomprimimimos en \texttt{\textasciitilde{}/apps/}, en las nuevas @@ -2140,8 +2061,7 @@ el fichero \emph{desktop}. La última versión incorpora varios modos de trabajo, he descargado el modo \emph{Python} para probarlo. -\hypertarget{openframeworks}{% -\subsection{openFrameworks}\label{openframeworks}} +\subsection{openFrameworks}\label{openframeworks} Nos bajamos los fuentes para linux 64bits desde \href{https://openframeworks.cc}{la página web del proyecto}, y las @@ -2161,17 +2081,16 @@ Añade los siguientes paquetes a nuestro sistema \begin{Shaded} \begin{Highlighting}[] -\NormalTok{installing OF dependencies} -\NormalTok{OF needs to install the following packages using apt{-}get:} -\NormalTok{curl libjack{-}jackd2{-}0 libjack{-}jackd2{-}dev freeglut3{-}dev libasound2{-}dev libxmu{-}dev libxxf86vm{-}dev g++ libgl1{-}mesa{-}dev libglu1{-}mesa{-}dev libraw1394{-}dev libudev{-}dev libdrm{-}dev libglew{-}dev libopenal{-}dev libsndfile{-}dev libfreeimage{-}dev libcairo2{-}dev libfreetype6{-}dev libssl{-}dev libpulse{-}dev libusb{-}1.0{-}0{-}dev libgtk{-}3{-}dev libopencv{-}dev libassimp{-}dev librtaudio{-}dev libboost{-}filesystem{-}dev libgstreamer1.0{-}dev libgstreamer{-}plugins{-}base1.0{-}dev gstreamer1.0{-}libav gstreamer1.0{-}pulseaudio gstreamer1.0{-}x gstreamer1.0{-}plugins{-}bad gstreamer1.0{-}alsa gstreamer1.0{-}plugins{-}base gstreamer1.0{-}plugins{-}good gdb libglfw3{-}dev liburiparser{-}dev libcurl4{-}openssl{-}dev libpugixml{-}dev libgconf{-}2{-}4 libgtk2.0{-}0 libpoco{-}dev} -\NormalTok{Do you want to continue? [Y/n]} +\ExtensionTok{installing}\NormalTok{ OF dependencies} +\ExtensionTok{OF}\NormalTok{ needs to install the following packages using apt{-}get:} +\ExtensionTok{curl}\NormalTok{ libjack{-}jackd2{-}0 libjack{-}jackd2{-}dev freeglut3{-}dev libasound2{-}dev libxmu{-}dev libxxf86vm{-}dev g++ libgl1{-}mesa{-}dev libglu1{-}mesa{-}dev libraw1394{-}dev libudev{-}dev libdrm{-}dev libglew{-}dev libopenal{-}dev libsndfile{-}dev libfreeimage{-}dev libcairo2{-}dev libfreetype6{-}dev libssl{-}dev libpulse{-}dev libusb{-}1.0{-}0{-}dev libgtk{-}3{-}dev libopencv{-}dev libassimp{-}dev librtaudio{-}dev libboost{-}filesystem{-}dev libgstreamer1.0{-}dev libgstreamer{-}plugins{-}base1.0{-}dev gstreamer1.0{-}libav gstreamer1.0{-}pulseaudio gstreamer1.0{-}x gstreamer1.0{-}plugins{-}bad gstreamer1.0{-}alsa gstreamer1.0{-}plugins{-}base gstreamer1.0{-}plugins{-}good gdb libglfw3{-}dev liburiparser{-}dev libcurl4{-}openssl{-}dev libpugixml{-}dev libgconf{-}2{-}4 libgtk2.0{-}0 libpoco{-}dev} +\ExtensionTok{Do}\NormalTok{ you want to continue}\PreprocessorTok{?} \PreprocessorTok{[}\SpecialStringTok{Y/n}\PreprocessorTok{]} \end{Highlighting} \end{Shaded} No te olvides de compilar también el \emph{Project Generator}. -\hypertarget{python}{% -\subsection{Python}\label{python}} +\subsection{Python}\label{python} En Linux Mint Vanessa ya no tenemos \emph{python2} (aunque podemos instalarlo) @@ -2185,25 +2104,24 @@ Después podemos comprobar la versión: \begin{Shaded} \begin{Highlighting}[] -\NormalTok{python {-}V} -\NormalTok{Python 3.10.6} +\ExtensionTok{python} \AttributeTok{{-}V} +\ExtensionTok{Python}\NormalTok{ 3.10.6} \end{Highlighting} \end{Shaded} -\hypertarget{paquetes-de-sistema-relacionados-con-python-que-instalamos}{% \subsubsection{Paquetes de sistema relacionados con python que -instalamos}\label{paquetes-de-sistema-relacionados-con-python-que-instalamos}} +instalamos}\label{paquetes-de-sistema-relacionados-con-python-que-instalamos} Son los que ya comentamos en la sección de instalación de zsh, como ya dijimos conviene que instalemos los paquetes de desarrollo: \begin{Shaded} \begin{Highlighting}[] -\NormalTok{sudo apt install python3{-}dev} -\NormalTok{sudo apt install python3{-}all{-}dev} -\NormalTok{sudo apt install python3{-}virtualenv python3{-}virtualenvwrapper python3{-}virtualenv{-}clone} -\NormalTok{sudo apt install pipx} -\NormalTok{\# sudo apt install python3{-}poetry} +\FunctionTok{sudo}\NormalTok{ apt install python3{-}dev} +\FunctionTok{sudo}\NormalTok{ apt install python3{-}all{-}dev} +\FunctionTok{sudo}\NormalTok{ apt install python3{-}virtualenv python3{-}virtualenvwrapper python3{-}virtualenv{-}clone} +\FunctionTok{sudo}\NormalTok{ apt install pipx} +\CommentTok{\# sudo apt install python3{-}poetry} \end{Highlighting} \end{Shaded} @@ -2212,18 +2130,17 @@ Ademas añadimos las siguientes lineas al fichero \begin{Shaded} \begin{Highlighting}[] -\NormalTok{\# WORKON\_HOME for virtualenvwrapper} -\NormalTok{if [ {-}d "$HOME/.virtualenvs" ] ; then} -\NormalTok{WORKON\_HOME="$HOME/.virtualenvs"} -\NormalTok{fi} +\CommentTok{\# WORKON\_HOME for virtualenvwrapper} +\ControlFlowTok{if} \BuiltInTok{[} \OtherTok{{-}d} \StringTok{"}\VariableTok{$HOME}\StringTok{/.virtualenvs"} \BuiltInTok{]} \KeywordTok{;} \ControlFlowTok{then} +\VariableTok{WORKON\_HOME}\OperatorTok{=}\StringTok{"}\VariableTok{$HOME}\StringTok{/.virtualenvs"} +\ControlFlowTok{fi} \end{Highlighting} \end{Shaded} \href{https://virtualenvwrapper.readthedocs.io/en/latest/command_ref.html}{Aquí} tenemos la referencia de comandos de \emph{virtualenvwrapper}. -\hypertarget{pyenv}{% -\subsubsection{pyenv}\label{pyenv}} +\subsubsection{pyenv}\label{pyenv} Instalamos los pre-requisitos: @@ -2285,8 +2202,7 @@ Una vez instalado hay que estudiarse \href{https://github.com/pyenv/pyenv/blob/master/COMMANDS.md}{la referencia de comandos} -\hypertarget{poetry}{% -\subsubsection{poetry}\label{poetry}} +\subsubsection{poetry}\label{poetry} Podríamos instalar con: @@ -2302,7 +2218,7 @@ Dejamos la activación solo en el fichero \begin{Shaded} \begin{Highlighting}[] \CommentTok{\# poetry} -\ControlFlowTok{if} \BuiltInTok{[} \OtherTok{{-}d} \StringTok{"}\VariableTok{$HOME}\StringTok{/.poetry"}\NormalTok{] }\ErrorTok{;} \ErrorTok{then} +\ControlFlowTok{if} \BuiltInTok{[} \OtherTok{{-}d} \StringTok{"}\VariableTok{$HOME}\StringTok{/.poetry"}\NormalTok{] }\ErrorTok{;} \ControlFlowTok{then} \VariableTok{PATH}\OperatorTok{=}\StringTok{"}\VariableTok{$HOME}\StringTok{/.poetry/bin:}\VariableTok{$PATH}\StringTok{"} \ControlFlowTok{fi} \end{Highlighting} @@ -2312,9 +2228,8 @@ Las actualizaciones se realizan con \texttt{poetry\ self\ update} También podríamos instalarlo como un paquete de Ubuntu. -\hypertarget{instalaciuxf3n-de-bpython-y-ptpython}{% \subsubsection{Instalación de bpython y -ptpython}\label{instalaciuxf3n-de-bpython-y-ptpython}} +ptpython}\label{instalaciuxf3n-de-bpython-y-ptpython} \href{https://bpython-interpreter.org/}{\emph{bpython}} instalado desde repos \texttt{sudo\ apt\ install\ bpython} @@ -2322,21 +2237,19 @@ repos \texttt{sudo\ apt\ install\ bpython} \href{https://github.com/prompt-toolkit/ptpython}{\emph{ptpython}} instalado en un virtualenv para probarlo -\hypertarget{jupyter}{% -\subsubsection{Jupyter}\label{jupyter}} +\subsubsection{Jupyter}\label{jupyter} Una instalación para pruebas. \begin{Shaded} \begin{Highlighting}[] -\NormalTok{mkvirtualenv {-}p /usr/bin/python3 jupyter} -\NormalTok{python {-}m pip install jupyter} +\ExtensionTok{mkvirtualenv} \AttributeTok{{-}p}\NormalTok{ /usr/bin/python3 jupyter} +\ExtensionTok{python} \AttributeTok{{-}m}\NormalTok{ pip install jupyter} \end{Highlighting} \end{Shaded} -\hypertarget{instalamos-python3.11}{% \subsubsection{\texorpdfstring{Instalamos -\texttt{python3.11}}{Instalamos python3.11}}\label{instalamos-python3.11}} +\texttt{python3.11}}{Instalamos python3.11}}\label{instalamos-python3.11} \texttt{python3.11} está ya disponible en los repos oficiales. @@ -2344,12 +2257,11 @@ Para dejarla instalada (yo no lo instalo): \begin{Shaded} \begin{Highlighting}[] -\NormalTok{sudo apt install python3.11 python3.11{-}dev python3.11{-}venv} +\FunctionTok{sudo}\NormalTok{ apt install python3.11 python3.11{-}dev python3.11{-}venv} \end{Highlighting} \end{Shaded} -\hypertarget{neovim}{% -\subsection{neovim}\label{neovim}} +\subsection{neovim}\label{neovim} Vamos a probar \emph{neovim}, ahora mismo la versión de los repos de Ubuntu está actualizada a la penúltima versión (0.4.3). También podemos @@ -2393,9 +2305,8 @@ sudo update-alternatives --install /usr/bin/vim vim /usr/bin/nvim 60 sudo update-alternatives --config vim \end{verbatim} -\hypertarget{install-vim-plug}{% \paragraph{\texorpdfstring{Install -\emph{vim-plug}}{Install vim-plug}}\label{install-vim-plug}} +\emph{vim-plug}}{Install vim-plug}}\label{install-vim-plug} Ejecutamos: @@ -2440,13 +2351,14 @@ por comando ejecutando: \texttt{:PlugInstall} \textbf{Instalación de \texttt{dein}} \begin{longtable}[]{@{}l@{}} -\toprule() +\toprule\noalign{} \endhead +\bottomrule\noalign{} +\endlastfoot \textbf{Nota}: \\ Solo hay que instalar uno de los dos o \emph{dein} o \emph{plug-vim}. Yo uso \\ \emph{plug-vim} así que esto es sólo una referencia. \\ -\bottomrule() \end{longtable} \url{https://github.com/Shougo/dein.vim} @@ -2474,33 +2386,29 @@ filetype plugin indent on syntax enable \end{verbatim} -\hypertarget{firefox-developer-edition}{% -\subsection{Firefox developer edition}\label{firefox-developer-edition}} +\subsection{Firefox developer edition}\label{firefox-developer-edition} El rollo de siempre, descargar desde \href{https://www.mozilla.org/en-US/firefox/developer/}{la página web} descomprimir en \texttt{\textasciitilde{}/apps} y crear un lanzador. -\hypertarget{navegadores-cli}{% -\subsection{Navegadores cli}\label{navegadores-cli}} +\subsection{Navegadores cli}\label{navegadores-cli} Herramientas útiles para depuración web \begin{Shaded} \begin{Highlighting}[] -\NormalTok{sudo apt install httpie links} +\FunctionTok{sudo}\NormalTok{ apt install httpie links} \end{Highlighting} \end{Shaded} -\hypertarget{mariadb}{% -\subsection{MariaDB}\label{mariadb}} +\subsection{MariaDB}\label{mariadb} Ahora siempre uso los servidores de base de datos dockerizados. Pero sigue siendo interesante instalar los clientes en nuestro sistema con \texttt{sudo\ apt\ install\ mariadb-client} -\hypertarget{squirrel-sql-client}{% -\subsection{Squirrel SQL Client}\label{squirrel-sql-client}} +\subsection{Squirrel SQL Client}\label{squirrel-sql-client} Bajamos el zip de estándar desde \href{http://www.squirrelsql.org/}{la página web de Squirrel} (yo prefiero no usar el instalador) @@ -2518,28 +2426,26 @@ y ya estamos listos para trabajar. El fichero \texttt{squirrel-sql.sh} necesita que lo lancemos desde el directorio del script. -\hypertarget{r-y-r-studio}{% -\subsection{R y R-studio}\label{r-y-r-studio}} +\subsection{R y R-studio}\label{r-y-r-studio} Primero instalamos la última versión de R en nuestro pc: \begin{Shaded} \begin{Highlighting}[] -\NormalTok{wget {-}qO{-} https://cloud.r{-}project.org/bin/linux/ubuntu/marutter\_pubkey.asc \textbackslash{}} -\NormalTok{ |gpg {-}{-}dearmor {-}o /usr/local/share/keyrings/cran{-}archive{-}keyring.gpg} +\FunctionTok{wget} \AttributeTok{{-}qO{-}}\NormalTok{ https://cloud.r{-}project.org/bin/linux/ubuntu/marutter\_pubkey.asc }\DataTypeTok{\textbackslash{}} + \KeywordTok{|}\ExtensionTok{gpg} \AttributeTok{{-}{-}dearmor} \AttributeTok{{-}o}\NormalTok{ /usr/local/share/keyrings/cran{-}archive{-}keyring.gpg} -\NormalTok{. /etc/os{-}release} -\NormalTok{sudo echo "deb [signed{-}by=/usr/local/share/keyrings/cran{-}archive{-}keyring.gpg ] \textbackslash{}} -\NormalTok{https://cloud.r{-}project.org/bin/linux/ubuntu $\{UBUNTU\_CODENAME\}{-}cran40/" \textbackslash{}} -\NormalTok{| sudo tee /etc/apt/sources.list.d/cran.list} +\BuiltInTok{.}\NormalTok{ /etc/os{-}release} +\FunctionTok{sudo}\NormalTok{ echo }\StringTok{"deb [signed{-}by=/usr/local/share/keyrings/cran{-}archive{-}keyring.gpg ] }\DataTypeTok{\textbackslash{}} +\StringTok{https://cloud.r{-}project.org/bin/linux/ubuntu }\VariableTok{$\{UBUNTU\_CODENAME\}}\StringTok{{-}cran40/"} \DataTypeTok{\textbackslash{}} +\KeywordTok{|} \FunctionTok{sudo}\NormalTok{ tee /etc/apt/sources.list.d/cran.list} -\NormalTok{sudo apt update} -\NormalTok{sudo apt install r{-}base} +\FunctionTok{sudo}\NormalTok{ apt update} +\FunctionTok{sudo}\NormalTok{ apt install r{-}base} \end{Highlighting} \end{Shaded} -\hypertarget{r-studio}{% -\subsubsection{R-studio}\label{r-studio}} +\subsubsection{R-studio}\label{r-studio} Ojo, tenemos \emph{R-studio Server} y \emph{R-studio Desktop}, en tu portátil casi seguro que quieres el \emph{Desktop} y no el @@ -2561,8 +2467,7 @@ web} Igual que el \emph{Server} instalamos el paquete del \emph{Desktop} con \emph{gedebi}. -\hypertarget{octave}{% -\subsection{Octave}\label{octave}} +\subsection{Octave}\label{octave} Instalado desde flatpak @@ -2570,8 +2475,7 @@ Instalado desde flatpak sudo flatpak install flathub org.octave.Octave \end{verbatim} -\hypertarget{go-hugo}{% -\subsection{go Hugo}\label{go-hugo}} +\subsection{go Hugo}\label{go-hugo} Generador de sitios web estáticos. @@ -2579,11 +2483,9 @@ Instalado fichero \texttt{.deb} desde las sección de \emph{releases} de la página web: \href{https://github.com/gohugoio/hugo}{hugo github} \textbf{Asegúrate de instalar el Hugo Extended} -\hypertarget{desarrollo-hardware}{% -\section{Desarrollo hardware}\label{desarrollo-hardware}} +\section{Desarrollo hardware}\label{desarrollo-hardware} -\hypertarget{arduino-ide}{% -\subsection{Arduino IDE}\label{arduino-ide}} +\subsection{Arduino IDE}\label{arduino-ide} Bajamos los paquetes de la página \href{https://www.arduino.cc}{web}, descomprimimimos en \emph{\textasciitilde/apps/arduino}. @@ -2619,15 +2521,13 @@ ejecutando: Tenemos que crear los ficheros \texttt{.desktop}. -\hypertarget{arduino-ide-2}{% -\subsubsection{Arduino IDE 2}\label{arduino-ide-2}} +\subsubsection{Arduino IDE 2}\label{arduino-ide-2} Descargamos el fichero \emph{appmimage} de la página de Arduino y creamos el fichero \texttt{.desktop}. -\hypertarget{auxf1adir-soporte-para-feather-m0}{% \subsubsection{\texorpdfstring{Añadir soporte para \emph{Feather -M0}}{Añadir soporte para Feather M0}}\label{auxf1adir-soporte-para-feather-m0}} +M0}}{Añadir soporte para Feather M0}}\label{auxf1adir-soporte-para-feather-m0} Arrancamos el IDE Arduino y en la opción de \emph{Preferences::Aditional Board Managers URLs} añadimos la dirección @@ -2644,16 +2544,14 @@ Ahora desde el \emph{Board Manager} instalamos: Adafruit SAMD Boards \end{itemize} -\hypertarget{auxf1adir-soporte-para-circuit-playground-express}{% \subsubsection{\texorpdfstring{Añadir soporte para \emph{Circuit Playground -Express}}{Añadir soporte para Circuit Playground Express}}\label{auxf1adir-soporte-para-circuit-playground-express}} +Express}}{Añadir soporte para Circuit Playground Express}}\label{auxf1adir-soporte-para-circuit-playground-express} Bastaría con instalar \emph{Arduino SAMD Boards} -\hypertarget{auxf1adir-soporte-para-stm32}{% \subsubsection{Añadir soporte para -STM32}\label{auxf1adir-soporte-para-stm32}} +STM32}\label{auxf1adir-soporte-para-stm32} Tenemos varias URL posibles para configurar en las preferencias del IDE Arduino: @@ -2691,19 +2589,16 @@ de software oficial y la biblioteca \texttt{STM32F1xx/GD32F1xx}, esta última es la que nos dará soporte explícito para el st-link Lo probamos con el \emph{Blink} y funciona perfectamente con las -opciones de la \protect\hyperlink{figura_1}{Figura 1} +opciones de la \hyperref[figura_1]{Figura 1} \begin{figure} -\hypertarget{figura_1}{% \centering \includegraphics[width=0.3\textwidth,height=\textheight]{src/img/stm32_arduino_opts.jpg} \caption{Opciones Arduino para STM32 con st-link}\label{figura_1} -} \end{figure} -\hypertarget{auxf1adir-soporte-para-esp32-y-esp8266}{% \subsubsection{Añadir soporte para ESP32 y -ESP8266}\label{auxf1adir-soporte-para-esp32-y-esp8266}} +ESP8266}\label{auxf1adir-soporte-para-esp32-y-esp8266} Añadimos las URL: @@ -2725,9 +2620,8 @@ Añadimos la librería: ESP32 (de espressif) \end{itemize} -\hypertarget{auxf1adir-biblioteca-de-soporte-para-makeblock}{% \subsubsection{Añadir biblioteca de soporte para -Makeblock}\label{auxf1adir-biblioteca-de-soporte-para-makeblock}} +Makeblock}\label{auxf1adir-biblioteca-de-soporte-para-makeblock} \begin{center}\rule{0.5\linewidth}{0.5pt}\end{center} @@ -2752,8 +2646,7 @@ ver los ejemplos de \emph{Makeblock}. Un detalle importante para programar el Auriga-Me es necesario seleccionar el micro Arduino Mega 2560 en el IDE Arduino. -\hypertarget{pinguino-ide}{% -\subsection{Pinguino IDE}\label{pinguino-ide}} +\subsection{Pinguino IDE}\label{pinguino-ide} \begin{center}\rule{0.5\linewidth}{0.5pt}\end{center} @@ -2775,8 +2668,7 @@ el programa de instalación y no lo crea automáticamente. El programa queda correctamente instalado en \emph{/opt} y arranca correctamente, habrá que probarlo con los micros. -\hypertarget{stm32-cubeide}{% -\subsection{stm32 cubeide}\label{stm32-cubeide}} +\subsection{stm32 cubeide}\label{stm32-cubeide} Nos bajamos el instalador genérico. Tendremos que: @@ -2806,8 +2698,7 @@ Nos bajamos el instalador genérico. Tendremos que: \end{itemize} \end{itemize} -\hypertarget{esp-idf}{% -\subsection{esp-idf}\label{esp-idf}} +\subsection{esp-idf}\label{esp-idf} \begin{center}\rule{0.5\linewidth}{0.5pt}\end{center} @@ -2829,7 +2720,7 @@ instalarán automáticamente en el siguiente paso. \begin{Shaded} \begin{Highlighting}[] -\NormalTok{sudo apt{-}get install gperf cmake ninja{-}build ccache libffi{-}dev libssl{-}dev} +\FunctionTok{sudo}\NormalTok{ apt{-}get install gperf cmake ninja{-}build ccache libffi{-}dev libssl{-}dev} \end{Highlighting} \end{Shaded} @@ -2837,9 +2728,9 @@ Ahora creamos un directorio para nuestro \emph{tool-chain}: \begin{Shaded} \begin{Highlighting}[] -\NormalTok{mkdir \textasciitilde{}/esp} -\NormalTok{cd \textasciitilde{}/esp} -\NormalTok{git clone {-}{-}recursive https://github.com/espressif/esp{-}idf} +\FunctionTok{mkdir}\NormalTok{ \textasciitilde{}/esp} +\BuiltInTok{cd}\NormalTok{ \textasciitilde{}/esp} +\FunctionTok{git}\NormalTok{ clone }\AttributeTok{{-}{-}recursive}\NormalTok{ https://github.com/espressif/esp{-}idf} \end{Highlighting} \end{Shaded} @@ -2850,8 +2741,8 @@ Una vez clonado el repo ejecutamos el script de instalación \begin{Shaded} \begin{Highlighting}[] -\NormalTok{cd \textasciitilde{}/esp/esp{-}idf} -\NormalTok{./install.sh} +\BuiltInTok{cd}\NormalTok{ \textasciitilde{}/esp/esp{-}idf} +\ExtensionTok{./install.sh} \end{Highlighting} \end{Shaded} @@ -2867,8 +2758,8 @@ Estas son las bibliotecas que deja instaladas: \begin{Shaded} \begin{Highlighting}[] -\NormalTok{Installing ESP{-}IDF tools} -\NormalTok{Installing tools: xtensa{-}esp32{-}elf, xtensa{-}esp32s2{-}elf, esp32ulp{-}elf, esp32s2ulp{-}elf, openocd{-}esp32} +\ExtensionTok{Installing}\NormalTok{ ESP{-}IDF tools} +\ExtensionTok{Installing}\NormalTok{ tools: xtensa{-}esp32{-}elf, xtensa{-}esp32s2{-}elf, esp32ulp{-}elf, esp32s2ulp{-}elf, openocd{-}esp32} \end{Highlighting} \end{Shaded} @@ -2877,12 +2768,11 @@ Para empezar a trabajar bastará con hacer un \emph{source} del fichero \begin{Shaded} \begin{Highlighting}[] -\NormalTok{. \textasciitilde{}/apps/esp/esp{-}idf/export.sh} +\BuiltInTok{.}\NormalTok{ \textasciitilde{}/apps/esp/esp{-}idf/export.sh} \end{Highlighting} \end{Shaded} -\hypertarget{kicad}{% -\subsection{KiCAD}\label{kicad}} +\subsection{KiCAD}\label{kicad} En la \href{http://kicad-pcb.org/download/linux-mint/}{página web del proyecto} nos recomiendan el ppa a usar para instalar la última versión @@ -2917,8 +2807,7 @@ Algunas librerías alternativas: así que teoricamente no habría que instalarla en nuestro disco duro. \end{itemize} -\hypertarget{actualizar-a-kicad-6.0}{% -\subsubsection{Actualizar a KiCAD 6.0}\label{actualizar-a-kicad-6.0}} +\subsubsection{Actualizar a KiCAD 6.0}\label{actualizar-a-kicad-6.0} Hacemos un \texttt{sudo\ apt\ purge} de todos los paquetes del antiguo KiCAD. Desactivamos el antiguo repo y ejecutamos: @@ -2935,8 +2824,7 @@ KiCAD. Desactivamos el antiguo repo y ejecutamos: No hay \texttt{demos} de momento en el nuevo KiCAD 6.0 -\hypertarget{actualizar-a-kicad-7}{% -\subsubsection{Actualizar a KiCAD 7}\label{actualizar-a-kicad-7}} +\subsubsection{Actualizar a KiCAD 7}\label{actualizar-a-kicad-7} \begin{Shaded} \begin{Highlighting}[] @@ -2946,8 +2834,7 @@ No hay \texttt{demos} de momento en el nuevo KiCAD 6.0 \end{Highlighting} \end{Shaded} -\hypertarget{wireviz}{% -\subsection{Wireviz}\label{wireviz}} +\subsection{Wireviz}\label{wireviz} Una herramienta para documentar cableados de proyectos. Es una aplicación \emph{Python} que usa \emph{Graphviz}, lo he instalado con @@ -2961,21 +2848,19 @@ aplicación \emph{Python} que usa \emph{Graphviz}, lo he instalado con \end{Highlighting} \end{Shaded} -\hypertarget{analizador-luxf3gico}{% -\subsection{Analizador lógico}\label{analizador-luxf3gico}} +\subsection{Analizador lógico}\label{analizador-luxf3gico} Mi analizador es un OpenBench de Seedstudio, \href{http://dangerousprototypes.com/docs/Open_Bench_Logic_Sniffer}{aquí hay mas info} -\hypertarget{sigrok}{% -\subsubsection{Sigrok}\label{sigrok}} +\subsubsection{Sigrok}\label{sigrok} Instalamos \textbf{Sigrok}, simplemente desde los repos de Debian: \begin{Shaded} \begin{Highlighting}[] -\NormalTok{sudo aptitude install sigrok} +\FunctionTok{sudo}\NormalTok{ aptitude install sigrok} \end{Highlighting} \end{Shaded} @@ -2990,8 +2875,7 @@ to device}, escogemos la opción \emph{Openbench} y le pasamos el puerto. Al pulsar la opción \emph{Scan for devices} reconoce el analizador correctamente como un \emph{Sump Logic Analyzer}. -\hypertarget{sump-logic-analyzer}{% -\subsubsection{Sump logic analyzer}\label{sump-logic-analyzer}} +\subsubsection{Sump logic analyzer}\label{sump-logic-analyzer} Este es el software recomendado para usar con el analizador. @@ -3004,7 +2888,7 @@ Instalamos las dependencias: \begin{Shaded} \begin{Highlighting}[] -\NormalTok{sudo apt install librxtx{-}java} +\FunctionTok{sudo}\NormalTok{ apt install librxtx{-}java} \end{Highlighting} \end{Shaded} @@ -3020,8 +2904,7 @@ java -cp /usr/share/java/RXTXcomm.jar:analyzer.jar org.sump.analyzer.Loader Y ya funciona. -\hypertarget{ols}{% -\subsubsection{OLS}\label{ols}} +\subsubsection{OLS}\label{ols} \begin{center}\rule{0.5\linewidth}{0.5pt}\end{center} @@ -3031,8 +2914,7 @@ Y ya funciona. \href{https://www.lxtreme.nl/ols/}{Página oficial} -\hypertarget{icestudio}{% -\subsection{IceStudio}\label{icestudio}} +\subsection{IceStudio}\label{icestudio} Instalamos dependencias con \texttt{sudo\ apt\ install\ xclip} @@ -3040,11 +2922,9 @@ Bajamos el \emph{AppImage} desde el \href{https://github.com/FPGAwars/icestudio}{github de IceStudio} y lo dejamos en \texttt{\textasciitilde{}/apps/icestudio} -\hypertarget{platformio}{% -\subsection{PlatformIO}\label{platformio}} +\subsection{PlatformIO}\label{platformio} -\hypertarget{vs-code}{% -\subsubsection{VS Code}\label{vs-code}} +\subsubsection{VS Code}\label{vs-code} Añadimos el origen de software: @@ -3079,9 +2959,8 @@ Ahora Seguimos las instrucciones de \href{https://docs.platformio.org/en/latest/ide/vscode.html\#quick-start}{aqui} -\hypertarget{incluir-platform.io-cli-en-el-path}{% \subsubsection{Incluir platform.io CLI en el -PATH}\label{incluir-platform.io-cli-en-el-path}} +PATH}\label{incluir-platform.io-cli-en-el-path} Esto es una malísima idea, \textbf{NO LO HAGAS} @@ -3101,35 +2980,30 @@ Si quieres usar Platformio desde linea de comandos, es mejor activar manualmente el entorno virtual con \texttt{source\ \textasciitilde{}/.platformio/penv/bin/activate} -\hypertarget{vscodium}{% -\subsubsection{vscodium}\label{vscodium}} +\subsubsection{vscodium}\label{vscodium} \begin{Shaded} \begin{Highlighting}[] -\NormalTok{wget {-}qO {-} https://gitlab.com/paulcarroty/vscodium{-}deb{-}rpm{-}repo/raw/master/pub.gpg | gpg {-}{-}dearmor | sudo dd of=/etc/apt/trusted.gpg.d/vscodium.gpg} -\NormalTok{echo \textquotesingle{}deb https://paulcarroty.gitlab.io/vscodium{-}deb{-}rpm{-}repo/debs/ vscodium main\textquotesingle{} | sudo tee {-}{-}append /etc/apt/sources.list.d/vscodium.list} -\NormalTok{sudo apt update \&\& sudo apt install codium} +\FunctionTok{wget} \AttributeTok{{-}qO} \AttributeTok{{-}}\NormalTok{ https://gitlab.com/paulcarroty/vscodium{-}deb{-}rpm{-}repo/raw/master/pub.gpg }\KeywordTok{|} \ExtensionTok{gpg} \AttributeTok{{-}{-}dearmor} \KeywordTok{|} \FunctionTok{sudo}\NormalTok{ dd of=/etc/apt/trusted.gpg.d/vscodium.gpg} +\BuiltInTok{echo} \StringTok{\textquotesingle{}deb https://paulcarroty.gitlab.io/vscodium{-}deb{-}rpm{-}repo/debs/ vscodium main\textquotesingle{}} \KeywordTok{|} \FunctionTok{sudo}\NormalTok{ tee }\AttributeTok{{-}{-}append}\NormalTok{ /etc/apt/sources.list.d/vscodium.list} +\FunctionTok{sudo}\NormalTok{ apt update }\KeywordTok{\&\&} \FunctionTok{sudo}\NormalTok{ apt install codium} \end{Highlighting} \end{Shaded} -\hypertarget{reprap}{% -\subsection{RepRap}\label{reprap}} +\subsection{RepRap}\label{reprap} -\hypertarget{openscad}{% -\subsubsection{OpenScad}\label{openscad}} +\subsubsection{OpenScad}\label{openscad} El OpenSCAD está disponible en los orígenes de software, así que \texttt{sudo\ apt\ install\ openscad}. -\hypertarget{slic3r}{% -\subsubsection{Slic3r}\label{slic3r}} +\subsubsection{Slic3r}\label{slic3r} Descargamos la estable desde la \href{https://slic3r.org}{página web} y como de costumbre descomprimimos en \texttt{\textasciitilde{}/apps} y creamos un lanzador con \emph{MenuLibre} -\hypertarget{slic3r-prusa-edition}{% -\subsubsection{Slic3r Prusa Edition}\label{slic3r-prusa-edition}} +\subsubsection{Slic3r Prusa Edition}\label{slic3r-prusa-edition} Una nueva versión del clásico \emph{Slic3r} con muchas mejoras. Descargamos la \emph{appimage} desde la @@ -3137,22 +3011,19 @@ Descargamos la \emph{appimage} desde la sabeis, descomprimir en \texttt{\textasciitilde{}/apps} y dar permisos de ejecución. -\hypertarget{ideamaker}{% -\subsubsection{ideaMaker}\label{ideamaker}} +\subsubsection{ideaMaker}\label{ideamaker} Una aplicación más para generar gcode con muy buena pinta, tenemos el paquete \emph{deb} disponible en su \href{https://www.raise3d.com/pages/ideamaker}{página web}. Instalamos con el gestor de software. -\hypertarget{ultimaker-cura}{% -\subsubsection{Ultimaker Cura}\label{ultimaker-cura}} +\subsubsection{Ultimaker Cura}\label{ultimaker-cura} Descargamos el \emph{AppImage} desde la \href{https://github.com/Ultimaker/Cura/releases}{página web} -\hypertarget{pronterface}{% -\subsubsection{Pronterface}\label{pronterface}} +\subsubsection{Pronterface}\label{pronterface} Seguimos las instrucciones para Ubuntu Focal: @@ -3172,59 +3043,53 @@ pip install -r requirements.txt Y ya lo tenemos todo listo para ejecutar. -\hypertarget{cortadora-de-vinilos}{% -\subsection{Cortadora de vinilos}\label{cortadora-de-vinilos}} +\subsection{Cortadora de vinilos}\label{cortadora-de-vinilos} -\hypertarget{inkcut}{% -\subsubsection{Inkcut}\label{inkcut}} +\subsubsection{Inkcut}\label{inkcut} Instalado en un entorno virtual: \begin{Shaded} \begin{Highlighting}[] -\NormalTok{mkvirtualenv {-}p \textasciigrave{}which python3\textasciigrave{} inkcut} +\ExtensionTok{mkvirtualenv} \AttributeTok{{-}p} \KeywordTok{\textasciigrave{}}\FunctionTok{which}\NormalTok{ python3}\KeywordTok{\textasciigrave{}}\NormalTok{ inkcut} -\NormalTok{sudo apt install libxml2{-}dev libxslt{-}dev libcups2{-}dev} +\FunctionTok{sudo}\NormalTok{ apt install libxml2{-}dev libxslt{-}dev libcups2{-}dev} -\NormalTok{pip install PyQt5} +\ExtensionTok{pip}\NormalTok{ install PyQt5} -\NormalTok{pip install inkcut} +\ExtensionTok{pip}\NormalTok{ install inkcut} \end{Highlighting} \end{Shaded} -\hypertarget{plugin-para-inkscape}{% -\subsubsection{Plugin para inkscape}\label{plugin-para-inkscape}} +\subsubsection{Plugin para inkscape}\label{plugin-para-inkscape} Instalamos dependencias: \begin{Shaded} \begin{Highlighting}[] -\NormalTok{pip install python{-}usb} +\ExtensionTok{pip}\NormalTok{ install python{-}usb} \end{Highlighting} \end{Shaded} Instalamos el fichero \texttt{.deb} desde la web \url{https://github.com/fablabnbg/inkscape-silhouette/releases} -\hypertarget{drone}{% -\subsection{Drone}\label{drone}} +\subsection{Drone}\label{drone} -\hypertarget{qgroundcontrol}{% -\subsubsection{qgroundcontrol}\label{qgroundcontrol}} +\subsubsection{qgroundcontrol}\label{qgroundcontrol} Descargamos \href{https://s3-us-west-2.amazonaws.com/qgroundcontrol/latest/QGroundControl.AppImage}{el appimage} -\hypertarget{missionplanner}{% -\subsubsection{missionplanner}\label{missionplanner}} +\subsubsection{missionplanner}\label{missionplanner} Para usar \emph{Mission Planner} en Linux Mint se recomienda instalar los paquetes: \begin{Shaded} \begin{Highlighting}[] -\NormalTok{sudo apt install mono{-}complete festival} +\FunctionTok{sudo}\NormalTok{ apt install mono{-}complete festival} \end{Highlighting} \end{Shaded} @@ -3237,8 +3102,7 @@ de la instalación} Una vez descomprimido el \texttt{zip} ejecutamos: \texttt{mono\ MissionPlanner.exe} -\hypertarget{node-red}{% -\subsection{node-red}\label{node-red}} +\subsection{node-red}\label{node-red} Para instalar node-red en linux necesitamos instalar primero \texttt{node.js}. Hay varias formas de instalar \texttt{node.js}, yo voy @@ -3270,9 +3134,8 @@ Para comprobar la instalación usamos \texttt{command\ -v\ nvm} que nos devolverá \texttt{nvm}. \texttt{which} no funciona en este caso por que es un script para aplicarle \texttt{source} -\hypertarget{instalaciuxf3n-de-node.js}{% \subsubsection{\texorpdfstring{Instalación de -\texttt{node.js}}{Instalación de node.js}}\label{instalaciuxf3n-de-node.js}} +\texttt{node.js}}{Instalación de node.js}}\label{instalaciuxf3n-de-node.js} Ahora que tenemos \texttt{nvm} instalado, ya podemos instalar fácilmente la versión o versiones que queramos de \texttt{node.js} @@ -3284,9 +3147,8 @@ la versión o versiones que queramos de \texttt{node.js} \end{Highlighting} \end{Shaded} -\hypertarget{instalaciuxf3n-de-mosquitto}{% \subsubsection{\texorpdfstring{Instalación de -\texttt{mosquitto}}{Instalación de mosquitto}}\label{instalaciuxf3n-de-mosquitto}} +\texttt{mosquitto}}{Instalación de mosquitto}}\label{instalaciuxf3n-de-mosquitto} \texttt{mosquitto} es un \emph{mqtt broker} muy sencillo y completo, aunque no es capaz de aguantar cargas grandes, para aprender es @@ -3325,9 +3187,8 @@ Para arrancarlo cuando lo necesitemos le damos un \emph{start} con \texttt{scst\ mosquitto.service} o \texttt{sudo\ systemctl\ start\ mosquitto.service} -\hypertarget{instalaciuxf3n-de-influxdb}{% \subsubsection{Instalación de -Influxdb}\label{instalaciuxf3n-de-influxdb}} +Influxdb}\label{instalaciuxf3n-de-influxdb} Seguimos el método para ubuntu: @@ -3345,9 +3206,8 @@ Seguimos el método para ubuntu: \end{Highlighting} \end{Shaded} -\hypertarget{instalaciuxf3n-de-node-red}{% \subsubsection{\texorpdfstring{Instalación de -\texttt{node-red}}{Instalación de node-red}}\label{instalaciuxf3n-de-node-red}} +\texttt{node-red}}{Instalación de node-red}}\label{instalaciuxf3n-de-node-red} Una vez instalado el \texttt{node.js} instalar el \texttt{node-red} es muy fácil @@ -3359,11 +3219,9 @@ muy fácil \end{Highlighting} \end{Shaded} -\hypertarget{aplicaciones-de-gruxe1ficos}{% -\section{Aplicaciones de gráficos}\label{aplicaciones-de-gruxe1ficos}} +\section{Aplicaciones de gráficos}\label{aplicaciones-de-gruxe1ficos} -\hypertarget{librecad}{% -\subsection{LibreCAD}\label{librecad}} +\subsection{LibreCAD}\label{librecad} Diseño en 2D @@ -3371,8 +3229,7 @@ Diseño en 2D sudo apt install librecad \end{verbatim} -\hypertarget{freecad}{% -\subsection{FreeCAD}\label{freecad}} +\subsection{FreeCAD}\label{freecad} No hay ppa disponible para Ubuntu 20. @@ -3394,8 +3251,7 @@ workbench, and needs to be installed separately. \begin{center}\rule{0.5\linewidth}{0.5pt}\end{center} -\hypertarget{inkscape}{% -\subsection{Inkscape}\label{inkscape}} +\subsection{Inkscape}\label{inkscape} El programa libre para creación y edición de gráficos vectoriales. @@ -3405,8 +3261,7 @@ sudo apt update sudo apt install inkscape \end{verbatim} -\hypertarget{gimp}{% -\subsection{Gimp}\label{gimp}} +\subsection{Gimp}\label{gimp} El programa para edición y retocado de imágenes. @@ -3415,7 +3270,7 @@ que bastaría con: \begin{Shaded} \begin{Highlighting}[] -\NormalTok{sudo apt install gimp gimp{-}data gimp{-}texturize \textbackslash{}} +\FunctionTok{sudo}\NormalTok{ apt install gimp gimp{-}data gimp{-}texturize }\DataTypeTok{\textbackslash{}} \NormalTok{gimp{-}data{-}extras gimp{-}gap gmic gimp{-}gmic} \end{Highlighting} \end{Shaded} @@ -3432,8 +3287,7 @@ 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}} +\subsubsection{Plugins de Gimp}\label{plugins-de-gimp} Para instalar los principales plugins basta con: @@ -3441,8 +3295,7 @@ Para instalar los principales plugins basta con: sudo apt install gimp-plugin-registry \end{verbatim} -\hypertarget{krita}{% -\subsection{Krita}\label{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 @@ -3454,23 +3307,20 @@ 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}} +\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}} +\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}} +\subsection{Capturas de pantalla}\label{capturas-de-pantalla} El \href{https://flameshot.org}{\emph{flameshot}} cubre el 99\% de mis necesidades: \texttt{sudo\ apt\ install\ flameshot} funciona bien pero @@ -3486,17 +3336,15 @@ con las opciones de edición habilitadas: \begin{Shaded} \begin{Highlighting}[] -\NormalTok{sudo add{-}apt{-}repository ppa:linuxuprising/shutter} -\NormalTok{sudo apt update} -\NormalTok{sudo apt install shutter} +\FunctionTok{sudo}\NormalTok{ add{-}apt{-}repository ppa:linuxuprising/shutter} +\FunctionTok{sudo}\NormalTok{ apt update} +\FunctionTok{sudo}\NormalTok{ apt install shutter} \end{Highlighting} \end{Shaded} -\hypertarget{reoptimizar-imuxe1genes}{% -\subsection{Reoptimizar imágenes}\label{reoptimizar-imuxe1genes}} +\subsection{Reoptimizar imágenes}\label{reoptimizar-imuxe1genes} -\hypertarget{imagemagick}{% -\subsubsection{ImageMagick}\label{imagemagick}} +\subsubsection{ImageMagick}\label{imagemagick} Instalamos desde los repos, simplemente: @@ -3504,8 +3352,7 @@ Instalamos desde los repos, simplemente: sudo apt install imagemagick \end{verbatim} -\hypertarget{imagine}{% -\subsubsection{Imagine}\label{imagine}} +\subsubsection{Imagine}\label{imagine} Nos bajamos un \emph{AppImage} desde el \href{https://github.com/meowtec/Imagine/releases}{github} de la @@ -3514,8 +3361,7 @@ aplicación Tiene toda la pinta de que Imagine no me va con los graficos nvidia (con el doble monitor) -\hypertarget{dia}{% -\subsection{dia}\label{dia}} +\subsection{dia}\label{dia} Un programa para crear diagramas @@ -3523,8 +3369,7 @@ Un programa para crear diagramas sudo apt install dia dia-shapes gsfonts-x11 \end{verbatim} -\hypertarget{blender}{% -\subsection{Blender}\label{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 @@ -3533,8 +3378,7 @@ Bajamos el Blender linkado estáticamente de El paquete incluye un fichero \texttt{blender.desktop} que podemos editar y copiar en \texttt{\textasciitilde{}/.local/share/applications}. -\hypertarget{structure-synth}{% -\subsection{Structure Synth}\label{structure-synth}} +\subsection{Structure Synth}\label{structure-synth} Instalado desde repos, junto con sunflow para explorar un poco. @@ -3542,20 +3386,17 @@ Instalado desde repos, junto con sunflow para explorar un poco. sudo apt install structure-synth sunflow \end{verbatim} -\hypertarget{heron-animation}{% -\subsection{Heron animation}\label{heron-animation}} +\subsection{Heron animation}\label{heron-animation} El proyecto parece abandonado. El software ya no funciona en el último linux. -\hypertarget{stopmotion}{% -\subsection{Stopmotion}\label{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}} +Huion}\label{instalaciuxf3n-del-driver-digiment-para-tabletas-gruxe1ficas-huion} Descargamos el fichero \texttt{.deb} de \href{https://github.com/DIGImend/digimend-kernel-drivers}{la página @@ -3577,16 +3418,13 @@ drivers: \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}} +\section{Sonido}\label{sonido} -\hypertarget{spotify}{% -\subsection{Spotify}\label{spotify}} +\subsection{Spotify}\label{spotify} Spotify instalado desde las opciones de Linux Mint via flatpak. -\hypertarget{audacity}{% -\subsection{Audacity}\label{audacity}} +\subsection{Audacity}\label{audacity} Instalamos Audacity desde la página web descargando un \emph{Appimage}. @@ -3594,8 +3432,7 @@ 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}} +\subsection{Clementine}\label{clementine} La version disponible en los orígenes de software parece al dia: @@ -3603,8 +3440,7 @@ La version disponible en los orígenes de software parece al dia: sudo apt install clementine \end{verbatim} -\hypertarget{somafm}{% -\subsection{somafm}\label{somafm}} +\subsection{somafm}\label{somafm} Instalamos el cli con: @@ -3622,11 +3458,9 @@ Instalamos el cli con: \end{Highlighting} \end{Shaded} -\hypertarget{video}{% -\section{Video}\label{video}} +\section{Video}\label{video} -\hypertarget{shotcut}{% -\subsection{Shotcut}\label{shotcut}} +\subsection{Shotcut}\label{shotcut} Nos bajamos la \emph{AppImage} para Linux desde la \href{https://www.shotcut.org/}{página web}. @@ -3639,35 +3473,29 @@ chmod 744 Shotcutxxxxxx.AppImage ./Shotcutxxxxxx.AppImage \end{verbatim} -\hypertarget{kdenlive}{% -\subsection{kdenlive}\label{kdenlive}} +\subsection{kdenlive}\label{kdenlive} Está disponible \href{https://kdenlive.org}{en la web} como ppa o como \emph{appimage}. Lo he bajado como \emph{appimage} para probarlo. -\hypertarget{openshot}{% -\subsection{Openshot}\label{openshot}} +\subsection{Openshot}\label{openshot} También descargado desde \href{https://www.openshot.org}{su web} como \emph{appimage}, para probar. Tienen un ppa disponible. -\hypertarget{avidemux}{% -\subsection{Avidemux}\label{avidemux}} +\subsection{Avidemux}\label{avidemux} Descargado \emph{appimage} desde \href{http://avidemux.sourceforge.net/}{la web} -\hypertarget{handbrake}{% -\subsection{Handbrake}\label{handbrake}} +\subsection{Handbrake}\label{handbrake} Instalado como flatpak desde \href{https://handbrake.fr/}{su web}. -\hypertarget{grabaciuxf3n-de-screencast}{% -\subsection{Grabación de screencast}\label{grabaciuxf3n-de-screencast}} +\subsection{Grabación de screencast}\label{grabaciuxf3n-de-screencast} -\hypertarget{vokoscreen-kazam-y-simplescreenrecorder}{% \subsubsection{Vokoscreen, Kazam y -SimpleScreenRecorder}\label{vokoscreen-kazam-y-simplescreenrecorder}} +SimpleScreenRecorder}\label{vokoscreen-kazam-y-simplescreenrecorder} Instalados desde los repos oficiales: @@ -3678,24 +3506,21 @@ sudo apt install vokoscreen vokoscreen-ng kazam simplescreenrecorder Escoge el que más te guste. -\hypertarget{obs}{% -\subsubsection{OBS}\label{obs}} +\subsubsection{OBS}\label{obs} Añadimos el repositorio \begin{Shaded} \begin{Highlighting}[] -\NormalTok{sudo add{-}apt{-}repository ppa:obsproject/obs{-}studio} -\NormalTok{sudo apt update} -\NormalTok{sudo apt install obs{-}studio} +\FunctionTok{sudo}\NormalTok{ add{-}apt{-}repository ppa:obsproject/obs{-}studio} +\FunctionTok{sudo}\NormalTok{ apt update} +\FunctionTok{sudo}\NormalTok{ apt install obs{-}studio} \end{Highlighting} \end{Shaded} -\hypertarget{grabaciuxf3n-de-podcast}{% -\subsection{Grabación de podcast}\label{grabaciuxf3n-de-podcast}} +\subsection{Grabación de podcast}\label{grabaciuxf3n-de-podcast} -\hypertarget{mumble}{% -\subsubsection{Mumble}\label{mumble}} +\subsubsection{Mumble}\label{mumble} Podemos instalarlo desde flatpak o bajarnos \href{https://launchpad.net/~mumble/+archive/ubuntu/release/+packages}{el @@ -3710,11 +3535,9 @@ sudo apt update sudo apt install mumble \end{verbatim} -\hypertarget{clientes-de-youtube}{% -\subsection{Clientes de youtube}\label{clientes-de-youtube}} +\subsection{Clientes de youtube}\label{clientes-de-youtube} -\hypertarget{smtube}{% -\subsubsection{smtube}\label{smtube}} +\subsubsection{smtube}\label{smtube} Instalado el ppa siguiendo instrucciones de \href{http://www.smtube.org/}{su página web}. @@ -3727,17 +3550,14 @@ Instalado el ppa siguiendo instrucciones de \end{Highlighting} \end{Shaded} -\hypertarget{freetube}{% -\subsubsection{Freetube}\label{freetube}} +\subsubsection{Freetube}\label{freetube} Descargado el \texttt{.deb} desde \href{https://freetubeapp.io/\#download}{su página web}. -\hypertarget{fotografuxeda}{% -\section{Fotografía}\label{fotografuxeda}} +\section{Fotografía}\label{fotografuxeda} -\hypertarget{rawtherapee}{% -\subsection{Rawtherapee}\label{rawtherapee}} +\subsection{Rawtherapee}\label{rawtherapee} Bajamos el AppImage desde la \href{http://rawtherapee.com/}{página web} al directorio \texttt{\textasciitilde{}/apps/image/rawtherapee}. @@ -3754,11 +3574,10 @@ Como siempre: Creamos un fichero \texttt{.desktop} \end{enumerate} -\hypertarget{darktable}{% -\subsection{Darktable}\label{darktable}} +\subsection{Darktable}\label{darktable} Instalamos ppa (ver -\href{https://software.opensuse.org/download/package?package=darktable\&project=graphics\%3Adarktable}{esta +\href{https://software.opensuse.org/download/package?package=darktable&project=graphics\%3Adarktable}{esta web}) \begin{verbatim} @@ -3770,24 +3589,20 @@ sudo apt install darktable Se instala la última versión de Darktable (4.2.0) -\hypertarget{digikam}{% -\subsection{Digikam}\label{digikam}} +\subsection{Digikam}\label{digikam} Instalado desde la \href{https://www.digikam.org/}{página web} de la aplicación con appimage. -\hypertarget{webcamoid}{% -\subsection{Webcamoid}\label{webcamoid}} +\subsection{Webcamoid}\label{webcamoid} Descargada la appimage desde la \href{https://webcamoid.github.io/}{página web} -\hypertarget{seguridad}{% -\section{Seguridad}\label{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}} +pública}\label{autenticaciuxf3n-en-servidores-por-clave-puxfablica} Generar contraseñas para conexión servidores remotos: @@ -3807,8 +3622,7 @@ cat ~/.ssh/id_xxx.pub | ssh user@hostname 'cat >> .ssh/authorized_keys' \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}} +\subsection{Claves gpg}\label{claves-gpg} \texttt{gpg\ -\/-gen-key} Para generar nuestra clave. @@ -3821,22 +3635,19 @@ funciona esto?} \textbf{Siempre} hay que escoger la máxima longitud posible \end{itemize} -\hypertarget{seahorse}{% -\subsection{Seahorse}\label{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}} +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}} +\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 @@ -3892,8 +3703,7 @@ Ahora en los repos donde queramos usar ssh debemos cambiar el remote: git remote set-url origin git@github.com:$USER/$REPONAME.git \end{verbatim} -\hypertarget{signal}{% -\subsection{Signal}\label{signal}} +\subsection{Signal}\label{signal} El procedimiento recomendado en la página oficial lo modifico para dejar las claves GPG en \texttt{/usr/local/keyrings} @@ -3916,9 +3726,8 @@ las claves GPG en \texttt{/usr/local/keyrings} Parece que todo funciona correctamente pero necesité un reinicio del ordenador para que Signal arrancase correctamente. -\hypertarget{element-cliente-de-matrix.org}{% \subsection{Element (cliente de -matrix.org)}\label{element-cliente-de-matrix.org}} +matrix.org)}\label{element-cliente-de-matrix.org} Instalamos con: @@ -3936,8 +3745,7 @@ Instalamos con: \end{Highlighting} \end{Shaded} -\hypertarget{lector-dni-electruxf3nico}{% -\subsection{Lector DNI electrónico}\label{lector-dni-electruxf3nico}} +\subsection{Lector DNI electrónico}\label{lector-dni-electruxf3nico} Descargamos la aplicación en formato \texttt{.deb} desde \href{https://www.dnielectronico.es/PortalDNIe/PRF1_Cons02.action?pag=REF_1112}{la @@ -4032,9 +3840,8 @@ investigar con ayuda del \texttt{pcsc\_scan} y herramientas similares. \begin{center}\rule{0.5\linewidth}{0.5pt}\end{center} -\hypertarget{instalaciuxf3n-de-wireguard.}{% \subsection{Instalación de -wireguard.}\label{instalaciuxf3n-de-wireguard.}} +wireguard.}\label{instalaciuxf3n-de-wireguard.} Instalamos con: @@ -4044,13 +3851,11 @@ Instalamos con: \end{Highlighting} \end{Shaded} -\hypertarget{virtualizaciones-y-contenedores}{% \section{Virtualizaciones y -contenedores}\label{virtualizaciones-y-contenedores}} +contenedores}\label{virtualizaciones-y-contenedores} -\hypertarget{instalaciuxf3n-de-virtualbox}{% \subsection{\texorpdfstring{Instalación de -\emph{virtualBox}}{Instalación de virtualBox}}\label{instalaciuxf3n-de-virtualbox}} +\emph{virtualBox}}{Instalación de virtualBox}}\label{instalaciuxf3n-de-virtualbox} Instalamos desde los repos de Ubuntu @@ -4060,8 +3865,7 @@ Instalamos desde los repos de Ubuntu \end{Highlighting} \end{Shaded} -\hypertarget{docker}{% -\subsection{Docker}\label{docker}} +\subsection{Docker}\label{docker} Tenemos que añadir el repositorio correspondiente a nuestra distribución: @@ -4104,9 +3908,9 @@ La forma de pararlo es: \begin{Shaded} \begin{Highlighting}[] -\NormalTok{sudo systemctl stop docker} -\NormalTok{sudo systemctl disable docker} -\NormalTok{systemctl status docker} +\FunctionTok{sudo}\NormalTok{ systemctl stop docker} +\FunctionTok{sudo}\NormalTok{ systemctl disable docker} +\ExtensionTok{systemctl}\NormalTok{ status docker} \end{Highlighting} \end{Shaded} @@ -4119,18 +3923,16 @@ nuestro sistema para \emph{systemd} ejecutamos: \begin{Shaded} \begin{Highlighting}[] -\NormalTok{scst docker \# para arrancar el servicio} +\ExtensionTok{scst}\NormalTok{ docker }\CommentTok{\# para arrancar el servicio} -\NormalTok{scsp docker \# para parar el servicio} +\ExtensionTok{scsp}\NormalTok{ docker }\CommentTok{\# para parar el servicio} \end{Highlighting} \end{Shaded} -\hypertarget{utilidades-para-mapas-y-cartografuxeda}{% \section{Utilidades para mapas y -cartografía}\label{utilidades-para-mapas-y-cartografuxeda}} +cartografía}\label{utilidades-para-mapas-y-cartografuxeda} -\hypertarget{josm}{% -\subsection{josm}\label{josm}} +\subsection{josm}\label{josm} Descargamos y añadimos la clave gpg: @@ -4160,8 +3962,7 @@ sudo apt josm-latest Ya estamos listos para editar Open Street Map offline. -\hypertarget{mobac}{% -\subsection{MOBAC}\label{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 @@ -4171,14 +3972,12 @@ 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}} +\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}} +\subsection{QGIS}\label{qgis} Añadimos la clave gpg: @@ -4199,8 +3998,7 @@ sudo apt update sudo apt install qgis \end{verbatim} -\hypertarget{referencias-2}{% -\subsubsection{Referencias}\label{referencias-2}} +\subsubsection{Referencias}\label{referencias-2} \begin{itemize} \tightlist @@ -4217,12 +4015,10 @@ sudo apt install qgis Tutorials} \end{itemize} -\hypertarget{recetas-variadas}{% -\section{Recetas variadas}\label{recetas-variadas}} +\section{Recetas variadas}\label{recetas-variadas} -\hypertarget{auxf1adir-las-claves-gpg-de-un-repo}{% \subsection{Añadir las claves GPG de un -repo}\label{auxf1adir-las-claves-gpg-de-un-repo}} +repo}\label{auxf1adir-las-claves-gpg-de-un-repo} \textbf{Este método está obsoleto y no se recomienda} @@ -4268,9 +4064,8 @@ paquetes. \texttt{deb\ {[}signed-by=/usr/share/keyrings/\textless{}myrepository\textgreater{}-archive-keyring.gpg{]}\ \textless{}https://repository.example.com/debian/\ stable\ main\textgreater{}} \end{itemize} -\hypertarget{si-la-clave-ya-estaba-en-trusted.gpg}{% \subsubsection{\texorpdfstring{Si la clave ya estaba en -\texttt{trusted.gpg}}{Si la clave ya estaba en trusted.gpg}}\label{si-la-clave-ya-estaba-en-trusted.gpg}} +\texttt{trusted.gpg}}{Si la clave ya estaba en trusted.gpg}}\label{si-la-clave-ya-estaba-en-trusted.gpg} \begin{Shaded} \begin{Highlighting}[] @@ -4295,9 +4090,8 @@ paquetes. \end{Highlighting} \end{Shaded} -\hypertarget{descargando-una-clave-con-wget}{% \subsubsection{Descargando una clave con -wget}\label{descargando-una-clave-con-wget}} +wget}\label{descargando-una-clave-con-wget} \begin{Shaded} \begin{Highlighting}[] @@ -4306,9 +4100,8 @@ wget}\label{descargando-una-clave-con-wget}} \end{Highlighting} \end{Shaded} -\hypertarget{importando-claves-directamente-de-un-keyserver}{% \subsubsection{Importando claves directamente de un -keyserver}\label{importando-claves-directamente-de-un-keyserver}} +keyserver}\label{importando-claves-directamente-de-un-keyserver} ** REVISAR, ESTO FALLA ** @@ -4319,24 +4112,23 @@ keyserver}\label{importando-claves-directamente-de-un-keyserver}} \end{Highlighting} \end{Shaded} -\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}} +menulibre}\label{solucionar-problemas-de-menuxfas-duplicados-usando-menulibre} \begin{longtable}[]{@{}l@{}} -\toprule() +\toprule\noalign{} \endhead +\bottomrule\noalign{} +\endlastfoot \textbf{Nota}: Ya no uso \emph{MenuLibre} \\ -\bottomrule() \end{longtable} En el directorio \texttt{\textasciitilde{}/.config/menus/applications-merged} borramos todos los ficheros que haya. -\hypertarget{mapear-un-servidor-webdav-en-nuestro-sistema-de-ficheros}{% \subsection{Mapear un servidor webdav en nuestro sistema de -ficheros}\label{mapear-un-servidor-webdav-en-nuestro-sistema-de-ficheros}} +ficheros}\label{mapear-un-servidor-webdav-en-nuestro-sistema-de-ficheros} \begin{Shaded} \begin{Highlighting}[] @@ -4373,10 +4165,9 @@ Añadimos las credenciales al fichero Con eso ya podremos montar el webdav con nuestro usuario sin mas que ejecutar \texttt{mount\ \textless{}mount\ point\textgreater{}} -\hypertarget{solucionar-el-problema-de-paquetes-mantenidos-the-following-packages-have-been-kept-back}{% \subsection{\texorpdfstring{Solucionar el problema de ``paquetes mantenidos'' (\emph{The following packages have been kept -back})}{Solucionar el problema de ``paquetes mantenidos'' (The following packages have been kept back)}}\label{solucionar-el-problema-de-paquetes-mantenidos-the-following-packages-have-been-kept-back}} +back})}{Solucionar el problema de ``paquetes mantenidos'' (The following packages have been kept back)}}\label{solucionar-el-problema-de-paquetes-mantenidos-the-following-packages-have-been-kept-back} Cuando hacemos \texttt{sudo\ apt\ upgrade} si alguno de los paquetes que se va a actualizar tiene \textbf{nuevas dependencias} no se actualizará @@ -4384,8 +4175,7 @@ y nos dará el error del título. La solución pasa por ejecutar: \texttt{sudo\ apt\ install\ -\/-upgrade-only\ \textless{}paquete\textgreater{}} -\hypertarget{formatear-memoria-usb}{% -\subsection{Formatear memoria usb}\label{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.'' @@ -4420,9 +4210,8 @@ 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}} +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{}} @@ -4430,13 +4219,11 @@ 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}} +\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}} +\subsection{SDR instalaciones varias}\label{sdr-instalaciones-varias} Vamos a trastear con un dispositivo \href{https://www.rtl-sdr.com/}{RTL-SDR.com}. @@ -4463,9 +4250,8 @@ Seguimos los pasos de instalación: 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}} +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 @@ -4501,9 +4287,8 @@ https://starter-kit.nettigo.eu/2015/serial-port-busy-for-avrdude-on-ubuntu-with- 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}} +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'' @@ -4519,9 +4304,8 @@ Port: "/dev/ttyUSB0" Y ya funciona todo. -\hypertarget{linux-mint-20-es-python-agnostic}{% \subsection{\texorpdfstring{Linux Mint 20 es \emph{python -agnostic}}{Linux Mint 20 es python agnostic}}\label{linux-mint-20-es-python-agnostic}} +agnostic}}{Linux Mint 20 es python agnostic}}\label{linux-mint-20-es-python-agnostic} En principio no podemos invocar a \texttt{python} por que no se ha escogido una versión por defecto. @@ -4530,26 +4314,28 @@ Tenemos dos opciones: \begin{Shaded} \begin{Highlighting}[] -\NormalTok{apt install python{-}is{-}python2} -\NormalTok{apt install python{-}is{-}python3} +\ExtensionTok{apt}\NormalTok{ install python{-}is{-}python2} +\ExtensionTok{apt}\NormalTok{ install python{-}is{-}python3} \end{Highlighting} \end{Shaded} -\hypertarget{instalar-chromium-sin-snapdrop}{% \subsection{Instalar chromium sin -snapdrop}\label{instalar-chromium-sin-snapdrop}} +snapdrop}\label{instalar-chromium-sin-snapdrop} Este rodeo ya no es necesario en las versiones modernas de Linux Mint -\textasciitilde\textasciitilde\textasciitilde\textasciitilde{} sudo apt -install keepassxc gnucash deluge rsync grsync rar unrar\\ -zip unzip unace bzip2 lzop p7zip p7zip-full p7zip-rar\\ -most mc tree neofetch fasd silversearcher-ag ack mate-tweak filezilla\\ -rofi \textasciitilde\textasciitilde\textasciitilde\textasciitilde{} -\hypertarget{especificar-como-debe-abrir-los-enlaces-magnet-el-navegador-mozilla}{% +\begin{Shaded} +\begin{Highlighting}[] +\FunctionTok{sudo}\NormalTok{ apt install keepassxc gnucash deluge rsync grsync rar unrar }\DataTypeTok{\textbackslash{}} +\NormalTok{zip unzip unace bzip2 lzop p7zip p7zip{-}full p7zip{-}rar }\DataTypeTok{\textbackslash{}} +\NormalTok{most mc tree neofetch fasd silversearcher{-}ag ack mate{-}tweak filezilla }\DataTypeTok{\textbackslash{}} +\NormalTok{rofi} +\end{Highlighting} +\end{Shaded} + \subsection{Especificar como debe abrir los enlaces ``magnet'' el navegador -mozilla}\label{especificar-como-debe-abrir-los-enlaces-magnet-el-navegador-mozilla}} +mozilla}\label{especificar-como-debe-abrir-los-enlaces-magnet-el-navegador-mozilla} \begin{itemize} \tightlist diff --git a/src/200_basics.md b/src/200_basics.md index c368dd5..55efecf 100644 --- a/src/200_basics.md +++ b/src/200_basics.md @@ -60,7 +60,7 @@ de problemas. ¡Ojo!, nos hacemos `root` para ejecutar: -~~~~{bash} +~~~~bash sudo su - git config --global init.defaultBranch main git config --global user.email xxxxx@whatever.com @@ -73,7 +73,7 @@ configuración en `/etc` Para echar una mirada a los _commits_ creados puedes ejecutar: -~~~~{bash} +~~~~bash cd /etc sudo git log ~~~~ @@ -85,7 +85,7 @@ personales de configuración. Creamos el repo donde queramos, yo suelo usar el directorio `~/work/repos`. -~~~~{bash} +~~~~bash mkdir usrcfg cd usrcfg git init @@ -97,7 +97,7 @@ tiene el directorio de trabajo apuntando a nuestro _$HOME_. Podemos añadir los ficheros de configuración que queramos al repo: -~~~~{bash} +~~~~bash git add .bashrc git commit -m "Add some dotfiles" ~~~~ @@ -130,7 +130,7 @@ tirar del swap. Añadimos el parámetro `noatime` para las particiones de `root` y `/home`, que si que se han creado en el ssd. -~~~~{fstab} +~~~~fstab # /etc/fstab: static file system information. # # Use 'blkid' to print the universally unique identifier for a @@ -153,7 +153,7 @@ UUID=11090d84-ce98-40e2-b7be-dce3f841d7b4 none swap sw Una vez modificado el `/etc/fstab` no hace falta arrancar, basta con ejecutar lo siguiente: -~~~~{bash} +~~~~bash mount -o remount / mount -o remount /home mount @@ -188,7 +188,7 @@ Reiniciamos nuestro _Firefox_ (podemos visitar `about:restartRequired`) Instalamos algunas fuentes desde los orígenes de software: -~~~~{bash} +~~~~bash sudo apt install ttf-mscorefonts-installer sudo apt install fonts-noto ~~~~ @@ -213,7 +213,7 @@ Fuentes interesantes: `ufw` y `gufw` vienen instalados por defecto, pero no activados. -~~~~{bash} +~~~~bash aptitude install ufw ufw default deny ufw enable @@ -320,7 +320,7 @@ __btop__ también está muy bien, así que descargamos los binarios desde [su p Antes instalaba dos programas de terminal: -~~~~{bash} +~~~~bash sudo apt install guake terminator ~~~~ @@ -332,7 +332,7 @@ Pero es mucho más sencillo intalar _Terminus_ de **_rastersoft_**. Descargo el También instalo _rxvt_ teoricamente más ligero y que puedes complementar con _tmux_. -~~~~{bash} +~~~~bash sudo apt install rxvt-unicode ~~~~ @@ -341,7 +341,7 @@ sudo apt install rxvt-unicode _tmux_ combinado por ejemplo con _rxvt_ nos da la misma funcionalidad que _Terminator_, además merece la pena aprender a usarlo por que instalado en servidores remotos es increíblemente útil. -~~~~{bash} +~~~~bash sudo apt install tmux ~~~~ @@ -426,7 +426,7 @@ Tor se encarga tanto de crear el fichero `.desktop` como de mantenerse actualiza Instalamos siguiendo las instrucciones de la [página web oficial](https://brave-browser.readthedocs.io/en/latest/installing-brave.html#linux) -~~~~{bash} +~~~~bash sudo apt install curl sudo curl -fsSLo /usr/local/share/keyrings/brave-browser-archive-keyring.gpg https://brave-browser-apt-release.s3.brave.com/brave-browser-archive-keyring.gpg @@ -448,7 +448,7 @@ Una herramienta libre para mantener notas sincronizadas entre el móvil y el por Instalamos siguiendo las instrucciones de la [página web](https://joplinapp.org/) -~~~~{bash} +~~~~bash wget -O - https://raw.githubusercontent.com/laurent22/joplin/master/Joplin_install_and_update.sh | bash ~~~~ @@ -557,7 +557,7 @@ Cuando estemos contentos con nuestro `zsh` tendremos que ejecutar `chsh -s /usr/ Añadimos el ppa: -~~~~{bash} +~~~~bash curl -s https://syncthing.net/release-key.txt | sudo gpg --dearmour -o /usr/local/share/keyrings/synching-archive-keyring.gpg echo "deb [ signed-by=/usr/local/share/keyrings/synching-archive-keyring.gpg ] https://apt.syncthing.net/ syncthing stable" | sudo tee /etc/apt/sources.list.d/syncthing.list sudo apt-get update diff --git a/src/300_document.md b/src/300_document.md index 9b78b93..e3aed79 100644 --- a/src/300_document.md +++ b/src/300_document.md @@ -196,6 +196,12 @@ git clone https://github.com/jgm/pandoc-templates templates Las plantillas no son imprescindibles pero si quieres aprender a usarlas o hacer alguna modificación viene bien tenerlas. +## Quarto + +Un sistema de generación de documentación que usa _Pandoc_, instalado con el paquete `.deb` descargado desde [la página web del proyecto](https://quarto.org/docs/get-started/) + +**TODO**: Completar el tutorial inicial + ## Algunos editores adicionales Dos editores opcionales para hacer pruebas: diff --git a/src/400_swdev.md b/src/400_swdev.md index 27b79ff..4a8bfa7 100644 --- a/src/400_swdev.md +++ b/src/400_swdev.md @@ -5,7 +5,7 @@ Estos son los paquetes esenciales para empezar a desarrollar software en Linux. -~~~~ +~~~~bash sudo apt install build-essential checkinstall make automake cmake autoconf \ git git-core git-crypt dpkg wget ~~~~ @@ -18,7 +18,7 @@ __NOTA__: Si quieres instalar la última versión de git, los git developers tienen un ppa para ubuntu, si quieres tener el git más actualizado: -~~~{bash} +~~~bash sudo add-apt-repository ppa:git-core/ppa sudo apt update sudo apt upgrade @@ -152,7 +152,7 @@ Referencias Para instalar las dependencias, previamente instalamos: -~~~~{shell} +~~~~shell sudo apt install ncurses-dev id-utils exuberant-ctags python-pygments ~~~~ @@ -173,7 +173,7 @@ escribir esto se trata de la versión 6.6.4. Descomprimimos los fuentes y los compilamos con: -~~~~{shell} +~~~~shell ./configure --prefix=/usr/local --with-exuberant-ctags=/usr/bin/ctags make sudo make install @@ -189,7 +189,7 @@ Instalamos siguiendo las instrucciones de [aqui](https://www.rust-lang.org/tools/install) (Hacemos la instalación por defecto) -~~~{bash} +~~~bash curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh stable installed - rustc 1.47.0 (18bf6b4f0 2020-10-07) @@ -319,7 +319,7 @@ lo contrario falla la compilación. Añade los siguientes paquetes a nuestro sistema -~~~~{bash} +~~~~bash installing OF dependencies OF needs to install the following packages using apt-get: curl libjack-jackd2-0 libjack-jackd2-dev freeglut3-dev libasound2-dev libxmu-dev libxxf86vm-dev g++ libgl1-mesa-dev libglu1-mesa-dev libraw1394-dev libudev-dev libdrm-dev libglew-dev libopenal-dev libsndfile-dev libfreeimage-dev libcairo2-dev libfreetype6-dev libssl-dev libpulse-dev libusb-1.0-0-dev libgtk-3-dev libopencv-dev libassimp-dev librtaudio-dev libboost-filesystem-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev gstreamer1.0-libav gstreamer1.0-pulseaudio gstreamer1.0-x gstreamer1.0-plugins-bad gstreamer1.0-alsa gstreamer1.0-plugins-base gstreamer1.0-plugins-good gdb libglfw3-dev liburiparser-dev libcurl4-openssl-dev libpugixml-dev libgconf-2-4 libgtk2.0-0 libpoco-dev @@ -338,7 +338,7 @@ Para dejar a _python3_ como python de sistema instalamos el paquete: Después podemos comprobar la versión: -~~~~{bash} +~~~~bash python -V Python 3.10.6 ~~~~ @@ -348,7 +348,7 @@ Python 3.10.6 Son los que ya comentamos en la sección de instalación de zsh, como ya dijimos conviene que instalemos los paquetes de desarrollo: -~~~~{bash} +~~~~bash sudo apt install python3-dev sudo apt install python3-all-dev sudo apt install python3-virtualenv python3-virtualenvwrapper python3-virtualenv-clone @@ -358,7 +358,7 @@ sudo apt install pipx Ademas añadimos las siguientes lineas al fichero `~/.profile`: -~~~~{bash} +~~~~bash # WORKON_HOME for virtualenvwrapper if [ -d "$HOME/.virtualenvs" ] ; then WORKON_HOME="$HOME/.virtualenvs" @@ -447,7 +447,7 @@ También podríamos instalarlo como un paquete de Ubuntu. Una instalación para pruebas. -~~~~{bash} +~~~~bash mkvirtualenv -p /usr/bin/python3 jupyter python -m pip install jupyter ~~~~ @@ -458,7 +458,7 @@ python -m pip install jupyter Para dejarla instalada (yo no lo instalo): -~~~{bash} +~~~bash sudo apt install python3.11 python3.11-dev python3.11-venv ~~~ @@ -594,7 +594,7 @@ web](https://www.mozilla.org/en-US/firefox/developer/) descomprimir en Herramientas útiles para depuración web -~~~~{bash} +~~~~bash sudo apt install httpie links ~~~~ @@ -622,7 +622,7 @@ El fichero `squirrel-sql.sh` necesita que lo lancemos desde el directorio del sc Primero instalamos la última versión de R en nuestro pc: -~~~~{bash} +~~~~bash wget -qO- https://cloud.r-project.org/bin/linux/ubuntu/marutter_pubkey.asc \ |gpg --dearmor -o /usr/local/share/keyrings/cran-archive-keyring.gpg diff --git a/src/450_hwdev.md b/src/450_hwdev.md index 9715457..72c60fb 100644 --- a/src/450_hwdev.md +++ b/src/450_hwdev.md @@ -155,13 +155,13 @@ instalarán automáticamente en el siguiente paso. ---------------------------------------------------------------------- -~~~~{bash} +~~~~bash sudo apt-get install gperf cmake ninja-build ccache libffi-dev libssl-dev ~~~~ Ahora creamos un directorio para nuestro _tool-chain_: -~~~~{bash} +~~~~bash mkdir ~/esp cd ~/esp git clone --recursive https://github.com/espressif/esp-idf @@ -172,7 +172,7 @@ También es necesario que nuestro usuario pertenezca al grupo Una vez clonado el repo ejecutamos el script de instalación -~~~~{bash} +~~~~bash cd ~/esp/esp-idf ./install.sh ~~~~ @@ -186,14 +186,14 @@ sistema. Basta con editar la primera linea _shebang_ del script. Estas son las bibliotecas que deja instaladas: -~~~~{bash} +~~~~bash Installing ESP-IDF tools Installing tools: xtensa-esp32-elf, xtensa-esp32s2-elf, esp32ulp-elf, esp32s2ulp-elf, openocd-esp32 ~~~~ Para empezar a trabajar bastará con hacer un _source_ del fichero `~/apps/esp/esp-idf/export.sh`: -~~~~{bash} +~~~~bash . ~/apps/esp/esp-idf/export.sh ~~~~ @@ -267,7 +267,7 @@ Seedstudio, Instalamos __Sigrok__, simplemente desde los repos de Debian: -~~~~{bash} +~~~~bash sudo aptitude install sigrok ~~~~ @@ -292,7 +292,7 @@ _~/apps_. Instalamos las dependencias: -~~~~{bash} +~~~~bash sudo apt install librxtx-java ~~~~ @@ -374,7 +374,7 @@ manualmente el entorno virtual con `source ### vscodium -~~~~{bash} +~~~~bash wget -qO - https://gitlab.com/paulcarroty/vscodium-deb-rpm-repo/raw/master/pub.gpg | gpg --dearmor | sudo dd of=/etc/apt/trusted.gpg.d/vscodium.gpg echo 'deb https://paulcarroty.gitlab.io/vscodium-deb-rpm-repo/debs/ vscodium main' | sudo tee --append /etc/apt/sources.list.d/vscodium.list sudo apt update && sudo apt install codium @@ -437,7 +437,7 @@ Y ya lo tenemos todo listo para ejecutar. Instalado en un entorno virtual: -~~~~{bash} +~~~~bash mkvirtualenv -p `which python3` inkcut sudo apt install libxml2-dev libxslt-dev libcups2-dev @@ -451,7 +451,7 @@ pip install inkcut Instalamos dependencias: -~~~~{bash} +~~~~bash pip install python-usb ~~~~ @@ -470,7 +470,7 @@ Descargamos [el appimage](https://s3-us-west-2.amazonaws.com/qgroundcontrol/late Para usar *Mission Planner* en Linux Mint se recomienda instalar los paquetes: -~~~~{bash} +~~~~bash sudo apt install mono-complete festival ~~~~ diff --git a/src/500_graph.md b/src/500_graph.md index 5f0e444..cb36caf 100644 --- a/src/500_graph.md +++ b/src/500_graph.md @@ -48,7 +48,7 @@ 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} +~~~~bash sudo apt install gimp gimp-data gimp-texturize \ gimp-data-extras gimp-gap gmic gimp-gmic ~~~~ @@ -107,7 +107,7 @@ El [_ksnip_](https://github.com/DamirPorobic/ksnip) por si tenemos que hacer una Shutter vuelve a estar disponible, al instalar desde este ppa ya queda con las opciones de edición habilitadas: -~~~~{bash} +~~~~bash sudo add-apt-repository ppa:linuxuprising/shutter sudo apt update sudo apt install shutter diff --git a/src/550_media.md b/src/550_media.md index f2ca98b..60a65ae 100644 --- a/src/550_media.md +++ b/src/550_media.md @@ -84,7 +84,7 @@ Escoge el que más te guste. Añadimos el repositorio -~~~~{bash} +~~~~bash sudo add-apt-repository ppa:obsproject/obs-studio sudo apt update sudo apt install obs-studio diff --git a/src/650_virtual.md b/src/650_virtual.md index fe6c954..2672be3 100644 --- a/src/650_virtual.md +++ b/src/650_virtual.md @@ -49,7 +49,7 @@ en cada reinicio del ordenador) La forma de pararlo es: -~~~~{bash} +~~~~bash sudo systemctl stop docker sudo systemctl disable docker systemctl status docker @@ -60,7 +60,7 @@ tener autocompletado en comandos de docker. Para usar _docker_ tendremos que arrancarlo, con los alias de nuestro sistema para _systemd_ ejecutamos: -~~~~{bash} +~~~~bash scst docker # para arrancar el servicio scsp docker # para parar el servicio diff --git a/src/850_recipes.md b/src/850_recipes.md index fdb0773..d38298d 100644 --- a/src/850_recipes.md +++ b/src/850_recipes.md @@ -228,7 +228,7 @@ una versión por defecto. Tenemos dos opciones: -~~~~{bash} +~~~~bash apt install python-is-python2 apt install python-is-python3 ~~~~ @@ -236,7 +236,8 @@ apt install python-is-python3 ## Instalar chromium sin snapdrop Este rodeo ya no es necesario en las versiones modernas de Linux Mint -~~~~ + +~~~~bash sudo apt install keepassxc gnucash deluge rsync grsync rar unrar \ zip unzip unace bzip2 lzop p7zip p7zip-full p7zip-rar \ most mc tree neofetch fasd silversearcher-ag ack mate-tweak filezilla \