diff --git a/README.md b/README.md index ec3e930..bf2895d 100644 --- a/README.md +++ b/README.md @@ -2,32 +2,32 @@ Mis portatiles son: -- Un ordenador Acer 5755G con las siguientes características: +- Un ordenador Acer 5755G con las siguientes características: - - Core i5 2430M 2.4GHz + - Core i5 2430M 2.4GHz - - NVIDIA Geforce GT 540M (+ intel integrada) + - NVIDIA Geforce GT 540M (+ intel integrada) - - 8Gb RAM + - 8Gb RAM - - 750Gb HD + - 750Gb HD - Este portátil equipa una tarjeta *Nvidia Geforce GT540M* que resulta - pertenecer a una rama muerta en el árbol de desarrollo de Nvidia. + Este portátil equipa una tarjeta *Nvidia Geforce GT540M* que resulta + pertenecer a una rama muerta en el árbol de desarrollo de Nvidia. - Esta tarjeta provocaba todo tipo de problemas de - sobrecalientamiento, pero en las últimas versiones de Linux - instalando el driver de Nvidia parece funcionar correctamente. + Esta tarjeta provocaba todo tipo de problemas de sobrecalientamiento, + pero en las últimas versiones de Linux instalando el driver de Nvidia + parece funcionar correctamente. -- Un Lenovo Legion +- Un Lenovo Legion - - Core i7-9750H + - Core i7-9750H - - Nvidia GTX1650-4Gb (+ intel integrada) + - Nvidia GTX1650-4Gb (+ intel integrada) - - 16Gb RAM + - 16Gb RAM - - 512Gb SSD + 1Tb HDD + - 512Gb SSD + 1Tb HDD # Programas básicos @@ -49,8 +49,8 @@ mi experiencia los más rápidos suelen ser los alemanes. Ya no es necesario intalar los paquetes de *microcode* la instalación de Una se encargó de instalar: -- `amd64-microcode` -- `intel-microcode` +- `amd64-microcode` +- `intel-microcode` Instalamos el driver de nvidia recomendado, después de la instalación inicial el *Mint* nos avisará de que tenemos que revisar la instalación @@ -113,7 +113,7 @@ 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*. +tiene el directorio de trabajo apuntando a nuestro *\$HOME*. Podemos añadir los ficheros de configuración que queramos al repo: @@ -194,10 +194,10 @@ Visitamos `about::config` con el navegador. Cambiamos -- `browser.cache.disk.enable` **false** -- `browser.cache.memory.enable` **true** -- `browser.cache.memory.capacity` **204800** -- `browser.sessionstore.interval` **15000000** +- `browser.cache.disk.enable` **false** +- `browser.cache.memory.enable` **true** +- `browser.cache.memory.capacity` **204800** +- `browser.sessionstore.interval` **15000000** TODO: Comprobar *trim* en mi disco duro. Y mirar [esto](https://easylinuxtipsproject.blogspot.com/p/speed-mint.html) @@ -206,9 +206,9 @@ Y siguiendo [esta otra referencia](https://linuxreviews.org/HOWTO_Make_Mozilla_Firefox_Blazing_Fast_On_Linux) cambiamos: -- `gfx.x11-egl.force-enabled` **true** -- **IMPORTANTE** Ajustar el parámetro `network.IDN_show_punycode` a - **true** (para evitar ataques de URL falsas con caracteres Unicode) +- `gfx.x11-egl.force-enabled` **true** +- **IMPORTANTE** Ajustar el parámetro `network.IDN_show_punycode` a + **true** (para evitar ataques de URL falsas con caracteres Unicode) Reiniciamos nuestro *Firefox* (podemos visitar `about:restartRequired`) @@ -235,10 +235,10 @@ y ejecutamos `sudo fc-cache -f -v` Fuentes interesantes: -- [nerd-fonts](https://github.com/ryanoasis/nerd-fonts) -- [Powerline fonts](https://github.com/powerline/fonts) -- [Programming - fonts](https://github.com/ProgrammingFonts/ProgrammingFonts) +- [nerd-fonts](https://github.com/ryanoasis/nerd-fonts) +- [Powerline fonts](https://github.com/powerline/fonts) +- [Programming + fonts](https://github.com/ProgrammingFonts/ProgrammingFonts) ## Firewall @@ -362,9 +362,9 @@ instalado en servidores remotos es increíblemente útil. sudo apt install tmux ``` -- [El tao de tmux](https://leanpub.com/the-tao-of-tmux/read) -- [rxvt - customizations](https://www.askapache.com/linux/rxvt-xresources/) +- [El tao de tmux](https://leanpub.com/the-tao-of-tmux/read) +- [rxvt + customizations](https://www.askapache.com/linux/rxvt-xresources/) ## Dropbox @@ -584,7 +584,7 @@ Para configurar el inspiró el bash-git-prompt. He modificado el fichero `zshrc.sh` de `zsh-git-prompt` cambiando la -linea \`echo “$STATUS”: +linea \`echo “\$STATUS”: #echo "$STATUS" if [[ "$__CURRENT_GIT_STATUS" == ": 0 0 0 0 0 0" ]]; then @@ -755,11 +755,11 @@ Sincronizar una carpeta remota en local: ### Referencias -- [Como usar rclone - (blogdelazaro)](https://elblogdelazaro.gitlab.io//articles/rclone-sincroniza-ficheros-en-la-nube/) -- [y con cifrado - (blogdelazaro)](https://elblogdelazaro.gitlab.io//articles/rclone-cifrado-de-ficheros-en-la-nube/) -- [Documentación](https://rclone.org/docs/) +- [Como usar rclone + (blogdelazaro)](https://elblogdelazaro.gitlab.io//articles/rclone-sincroniza-ficheros-en-la-nube/) +- [y con cifrado + (blogdelazaro)](https://elblogdelazaro.gitlab.io//articles/rclone-cifrado-de-ficheros-en-la-nube/) +- [Documentación](https://rclone.org/docs/) ## Palemoon @@ -787,16 +787,16 @@ sudo apt install librewolf -y Conviene estudiar la documentación de los *add-ons* recomendados, disponible [aqui](https://librewolf-community.gitlab.io/docs/addons/). -- KeepassXC-Browser +- KeepassXC-Browser - - Necesitamos instalar el KeepassXC, el que viene en los repos es - un poco antiguo podemos instalar desde PPA - - Es imprescindible hacer un link con - `ln -s ~/.mozilla/native-messaging-hosts ~/.librewolf/native-messaging-hosts` + - Necesitamos instalar el KeepassXC, el que viene en los repos es un + poco antiguo podemos instalar desde PPA + - Es imprescindible hacer un link con + `ln -s ~/.mozilla/native-messaging-hosts ~/.librewolf/native-messaging-hosts` -- Clear URLs +- Clear URLs -- Mozilla Multiaccount Containers +- Mozilla Multiaccount Containers ## Netsurf @@ -844,8 +844,8 @@ auxiliares que te permiten hacer la instalación aislada en un *virtualenv* pero lo voy a hacer a mano para tenerlo controlado con `pyenv`. -- Creamos el *virtualenv* `qtile` basado en la versión 3.10.0 que - teniamos instalada previamente: +- Creamos el *virtualenv* `qtile` basado en la versión 3.10.0 que + teniamos instalada previamente: ``` bash # Creamos el directorio de trabajo @@ -938,7 +938,7 @@ Reset al terminar el último cliente **-terminate** Finalizar cuando se resetee el servidor -**2> /dev/null** +**2\> /dev/null** Mandar los mensajes de error al limbo (alias **NE** en nuestro pc) **:1** @@ -1159,22 +1159,21 @@ el comando `sudo calibre-unistall`. Para usar el calibre con el Kobo Glo: -- Desactivamos todos los plugin de Kobo menos el Kobo Touch Extended -- Creamos una columna MyShelves con identificativo \#myshelves -- En las opciones del plugin: - - En la opción Collection columns añadimos las columnas - series,\#myshelves - - Marcamos las opciones Create collections y Delete empy - collections - - Marcamos *Modify CSS* - - Update metadata on device y Set series information +- Desactivamos todos los plugin de Kobo menos el Kobo Touch Extended +- Creamos una columna MyShelves con identificativo \#myshelves +- En las opciones del plugin: + - En la opción Collection columns añadimos las columnas + series,#myshelves + - Marcamos las opciones Create collections y Delete empy collections + - Marcamos *Modify CSS* + - Update metadata on device y Set series information Algunos enlaces útiles: -- (https://github.com/jgoguen/calibre-kobo-driver) -- (http://www.lectoreselectronicos.com/foro/showthread.php?15116-Manual-de-instalaci%C3%B3n-y-uso-del-plugin-Kobo-Touch-Extended-para-Calibre) -- (http://www.redelijkheid.com/blog/2013/7/25/kobo-glo-ebook-library-management-with-calibre) -- (https://www.netogram.com/kobo.htm) +- (https://github.com/jgoguen/calibre-kobo-driver) +- (http://www.lectoreselectronicos.com/foro/showthread.php?15116-Manual-de-instalaci%C3%B3n-y-uso-del-plugin-Kobo-Touch-Extended-para-Calibre) +- (http://www.redelijkheid.com/blog/2013/7/25/kobo-glo-ebook-library-management-with-calibre) +- (https://www.netogram.com/kobo.htm) ## Scribus @@ -1196,17 +1195,17 @@ con los siguientes comandos: He cambiado los siguientes valores en las dos versiones, non están exactamente en el mismo menú pero no son díficiles de encontrar: -- Lenguaje por defecto: **English** -- Tamaño de documento: **A4** -- Unidades por defecto: **milimeters** -- Show Page Grid: **Activado** -- Dimensiones de la rejilla: - - Mayor: **30 mm** - - Menor: **6mm** -- En opciones de salida de *pdf* indicamos que queremos salida a - impresora y no a pantalla. Y también que no queremos *spot colors*, - que serían sólo para ciertas impresoras industriales, así que - activamos la opción *Convert Spot Colors to Process Colors*. +- Lenguaje por defecto: **English** +- Tamaño de documento: **A4** +- Unidades por defecto: **milimeters** +- Show Page Grid: **Activado** +- Dimensiones de la rejilla: + - Mayor: **30 mm** + - Menor: **6mm** +- En opciones de salida de *pdf* indicamos que queremos salida a + impresora y no a pantalla. Y también que no queremos *spot colors*, + que serían sólo para ciertas impresoras industriales, así que + activamos la opción *Convert Spot Colors to Process Colors*. Siempre se puede volver a los valores por defecto sin mucho problema (hay una opción para ello) @@ -1219,8 +1218,8 @@ Referencia *Scribus* no hacia correctamente la separación silábica en castellano, he instalado los paquetes: -- hyphen-es -- hyphen-gl +- hyphen-es +- hyphen-gl Y ahora funciona correctamente. @@ -1361,13 +1360,13 @@ Para poder ejecutar aplicaciones basadas en Vibed, necesitamos instalar: Instalados los siguientes paquetes desde Melpa -- d-mode -- flymake-d -- flycheck -- flycheck-dmd-dub -- flychek-d-unittest -- auto-complete (desde melpa) -- ac-dcd +- d-mode +- flymake-d +- flycheck +- flycheck-dmd-dub +- flychek-d-unittest +- auto-complete (desde melpa) +- ac-dcd Referencias \* (https://github.com/atilaneves/ac-dcd) \* (https://github.com/Hackerpilot/DCD) @@ -1846,7 +1845,7 @@ Y ahora aseguramos la instación con: sudo mysql_secure_installation Yo diría que tienes que decir que si a todas las preguntas, excepto -quizás al *unix\_socket\_authentication*. +quizás al *unix_socket_authentication*. Por último sólo nos queda decidir si el servicio mariadb debe estar ejecutándose permanentemente o no. @@ -2009,8 +2008,8 @@ si tenemos otras URL, simplemente añadimos esta separada por una coma. Ahora desde el *Board Manager* instalamos: -- Arduino SAMD Boards -- Adafruit SAMD Boards +- Arduino SAMD Boards +- Adafruit SAMD Boards ### Añadir soporte para *Circuit Playground Express* @@ -2021,10 +2020,10 @@ Bastaría con instalar *Arduino SAMD Boards* Tenemos varias URL posibles para configurar en las preferencias del IDE Arduino: -- - (recomendada por Tutoelectro) -- - (parece la oficial) +- + (recomendada por Tutoelectro) +- + (parece la oficial) He optado por añadir los dos ficheros json al IDE, la oficial tiene buena pinta pero parece que no soporta st-link. Con la otra podremos @@ -2038,19 +2037,23 @@ Lo probamos con el *Blink* y funciona perfectamente con las opciones de la [Figura 1](#figura_1)
-Opciones Arduino para STM32 con st-link + +
### Añadir soporte para ESP32 y ESP8266 Añadimos las URL: -- -- +- +- Añadimos la librería: -- ESP32 (de espressif) +- ESP32 (de espressif) ### Añadir biblioteca de soporte para Makeblock @@ -2101,16 +2104,16 @@ correctamente, habrá que probarlo con los micros. Nos bajamos el instalador genérico. Tendremos que: -- aceptar un montón de acuerdos de licencias -- indicarle un directorio de instalación (en mi caso - \`\~/apps/st/st/stm32cubeide\_1.4.0) -- darle la password de root para instalar ficheros de udev, - concretamente: - - udev/rules.d/49-stlinkv1.rules - - udev/rules.d/49-stlinkv2-1.rules - - udev/rules.d/49-stlinkv2.rules - - udev/rules.d/49-stlinkv3.rules - - udev/rules.d/99-jlink.rules +- aceptar un montón de acuerdos de licencias +- indicarle un directorio de instalación (en mi caso + \`\~/apps/st/st/stm32cubeide_1.4.0) +- darle la password de root para instalar ficheros de udev, + concretamente: + - udev/rules.d/49-stlinkv1.rules + - udev/rules.d/49-stlinkv2-1.rules + - udev/rules.d/49-stlinkv2.rules + - udev/rules.d/49-stlinkv3.rules + - udev/rules.d/99-jlink.rules ## esp-idf @@ -2182,18 +2185,18 @@ descargarse. Algunas librerías alternativas: -- [Freetronics](https://github.com/freetronics/freetronics_kicad_library) - una libreria que no solo incluye Shield para Arduino sino una - completa colección de componentes que nos permitirá hacer proyectos - completos. [Freetronics](http://www.freetronics.com) es una especie - de BricoGeek australiano, publica tutoriales, vende componentes, y - al parecer mantiene una biblioteca para KiCAD. La biblioteca de - Freetronics se mantiene en un repo de github. Lo suyo es - incorporarla a cada proyecto, por que si la actualizas se pueden - romper los proyectos que estes haciendo. -- [eklablog](http://meta-blog.eklablog.com/kicad-librairie-arduino-pretty-p930786) - Esta biblioteca de componentes está incluida en el github de KiCAD, - así que teoricamente no habría que instalarla en nuestro disco duro. +- [Freetronics](https://github.com/freetronics/freetronics_kicad_library) + una libreria que no solo incluye Shield para Arduino sino una completa + colección de componentes que nos permitirá hacer proyectos completos. + [Freetronics](http://www.freetronics.com) es una especie de BricoGeek + australiano, publica tutoriales, vende componentes, y al parecer + mantiene una biblioteca para KiCAD. La biblioteca de Freetronics se + mantiene en un repo de github. Lo suyo es incorporarla a cada + proyecto, por que si la actualizas se pueden romper los proyectos que + estes haciendo. +- [eklablog](http://meta-blog.eklablog.com/kicad-librairie-arduino-pretty-p930786) + Esta biblioteca de componentes está incluida en el github de KiCAD, + así que teoricamente no habría que instalarla en nuestro disco duro. ### Actualizar a KiCAD 6.0 @@ -2699,9 +2702,9 @@ que no funciona. Para hacer la instalación via DKMS el truco está en: -- Dejar el código fuente en un directorio de la forma - `/usr/src/-` -- Lanzar el `build` pero usando esta vez `/` +- Dejar el código fuente en un directorio de la forma + `/usr/src/-` +- Lanzar el `build` pero usando esta vez `/` Descargamos los últimos drivers desde [la página oficial de releases](https://github.com/DIGImend/digimend-kernel-drivers/releases), @@ -2723,7 +2726,7 @@ Para comprobar: Referencia: -- [Aquí](https://davidrevoy.com/article331/setup-huion-giano-wh1409-tablet-on-linux-mint-18-1-ubuntu-16-04) +- [Aquí](https://davidrevoy.com/article331/setup-huion-giano-wh1409-tablet-on-linux-mint-18-1-ubuntu-16-04) # Sonido @@ -2902,9 +2905,9 @@ esto?](https://www.digitalocean.com/community/tutorials/understanding-the-ssh-en `gpg --gen-key` Para generar nuestra clave. -- **Siempre** hay que ponerle una fecha de expiración, la puedes - cambiar más tarde. -- **Siempre** hay que escoger la máxima longitud posible +- **Siempre** hay que ponerle una fecha de expiración, la puedes cambiar + más tarde. +- **Siempre** hay que escoger la máxima longitud posible ## Seahorse @@ -3008,7 +3011,7 @@ sudo apt-get install pcsc-tools opensc El opensc no es necesario para el DNIe, pero nos permite usar otras tarjetas. -Como root ejecutamos pcsc\_scan: +Como root ejecutamos pcsc_scan: root@rasalhague:~# pcsc_scan PC/SC device scanner @@ -3059,7 +3062,7 @@ son: 5. Adicionalmente podemos `Cargar` (crear), otro dispositivo con el driver `opensc`, no es necesario para el DNIe pero nos añade soporte para otras tarjetas. (Nombre: OtrasTarjetas, Driver: - \`/usr/lib/x86\_64-linux-gnu/pkcs11/opensc-pkcs11.so) + \`/usr/lib/x86_64-linux-gnu/pkcs11/opensc-pkcs11.so) ------------------------------------------------------------------------ @@ -3137,11 +3140,11 @@ sesión para refrescar nuestros grupos. Un par de comprobaciones previas: -- El comando `egrep -c '(vmx|svm)' /proc/cpuinfo` debe devolvernos un - número mayor que cero si nuestro sistema soporta virtualización. -- El comando `kvm-ok` nos sirve para comprobar que la virtualización - hardware no está deshabilitada en la BIOS (puede que tengas que - ejecutar `apt install cpu-checker`) +- El comando `egrep -c '(vmx|svm)' /proc/cpuinfo` debe devolvernos un + número mayor que cero si nuestro sistema soporta virtualización. +- El comando `kvm-ok` nos sirve para comprobar que la virtualización + hardware no está deshabilitada en la BIOS (puede que tengas que + ejecutar `apt install cpu-checker`) Instalamos desde el repo oficial: @@ -3178,12 +3181,12 @@ Podemos comprobar el estado del servicio con `scs libvirtd` ### Referencias -- [How to install KVM on Ubuntu 20.04 Graphical & headless - server](https://www.how2shout.com/how-to/how-to-install-kvm-on-ubuntu-20-04-graphical-headless-server.html) -- [How to Install Kvm on Ubuntu - 20.04](https://linuxize.com/post/how-to-install-kvm-on-ubuntu-20-04/) -- [How to Install KVM on Ubuntu - 20.04](https://www.tecmint.com/install-kvm-on-ubuntu/) +- [How to install KVM on Ubuntu 20.04 Graphical & headless + server](https://www.how2shout.com/how-to/how-to-install-kvm-on-ubuntu-20-04-graphical-headless-server.html) +- [How to Install Kvm on Ubuntu + 20.04](https://linuxize.com/post/how-to-install-kvm-on-ubuntu-20-04/) +- [How to Install KVM on Ubuntu + 20.04](https://www.tecmint.com/install-kvm-on-ubuntu/) ## Docker @@ -3242,12 +3245,12 @@ scsp docker # para parar el servicio ### docker-compose -- Nos bajamos la última versión disponible de [las releases de - github](https://github.com/docker/compose/releases) -- Movemos el fichero que hemos descargado a - `/usr/local/bin/docker-compose` -- Y le damos permisos de ejecución - `sudo chmod +x /usr/local/bin/docker-compose` +- Nos bajamos la última versión disponible de [las releases de + github](https://github.com/docker/compose/releases) +- Movemos el fichero que hemos descargado a + `/usr/local/bin/docker-compose` +- Y le damos permisos de ejecución + `sudo chmod +x /usr/local/bin/docker-compose` ### Kitematic @@ -3312,13 +3315,13 @@ E instalamos como siempre ### Referencias -- [Conectar WMS con - QGIS](https://mappinggis.com/2015/09/como-conectar-con-servicios-wms-y-wfs-con-arcgis-qgis-y-gvsig/) -- [Importar OSM en - QGIS](https://www.altergeosistemas.com/blog/2014/03/28/importando-datos-de-osm-en-qgis-2/) -- [Learn OSM](http://learnosm.org/es/osm-data/osm-in-qgis/) -- [QGIS - Tutorials](http://www.qgistutorials.com/es/docs/downloading_osm_data.html) +- [Conectar WMS con + QGIS](https://mappinggis.com/2015/09/como-conectar-con-servicios-wms-y-wfs-con-arcgis-qgis-y-gvsig/) +- [Importar OSM en + QGIS](https://www.altergeosistemas.com/blog/2014/03/28/importando-datos-de-osm-en-qgis-2/) +- [Learn OSM](http://learnosm.org/es/osm-data/osm-in-qgis/) +- [QGIS + Tutorials](http://www.qgistutorials.com/es/docs/downloading_osm_data.html) # Recetas variadas @@ -3424,8 +3427,8 @@ La guía en cuestión la podemos encontrar Seguimos los pasos de instalación: -- La instalación de `git`, `cmake` y `build-essential` ya la tengo - hecha. +- La instalación de `git`, `cmake` y `build-essential` ya la tengo + hecha. diff --git a/out/LinuxMintUlyana.epub b/out/LinuxMintUlyana.epub index 9f6030b..25cc897 100644 Binary files a/out/LinuxMintUlyana.epub and b/out/LinuxMintUlyana.epub differ diff --git a/out/LinuxMintUlyana.mw b/out/LinuxMintUlyana.mw index 03f5be0..cb05ec2 100644 --- a/out/LinuxMintUlyana.mw +++ b/out/LinuxMintUlyana.mw @@ -1,3 +1,4 @@ + = Introducción = Mis portatiles son: @@ -20,8 +21,10 @@ Mis portatiles son:
  • 512Gb SSD + 1Tb HDD

  • + = Programas básicos = + == Linux Mint == Linux Mint incluye sudo y las aplicaciones que uso habitualmente para gestión de paquetes por defecto (''aptitude'' y ''synaptic''). @@ -30,6 +33,7 @@ Interesa tener instalado el paquete ''ppa-purge'' (sudo apt install ppa-pu 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. + == Firmware == Ya no es necesario intalar los paquetes de ''microcode'' la instalación de Una se encargó de instalar: @@ -43,12 +47,14 @@ El driver de Nvidia viene muy mejorado. Merece la pena ver todas las opciones. Una vez instalado el driver de Nvidia, el comando prime-select querydebe indicarnos la tarjeta activa y podremos cambiar de tarjeta ejecutando prime-select [nvidia|intel]. También podremos acceder a las funciones de Nvidia a través del applet en la barra de estado de nuestro escritorio. + == Control de configuraciones con git == Una vez instalado el driver de Nvidia y antes de seguir con la instalación instalamos el git y el etckeeper para que todos los cambios que se produzcan en el directorio /etc durante nuestra instalación queden reflejados en el git. 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. + === Instalación de etckeeper === ¡Ojo!, nos hacemos root para ejecutar: @@ -63,6 +69,7 @@ Para echar una mirada a los ''commits'' creados puedes ejecutar:
    cd /etc
     sudo git log
    + === Controlar dotfiles con git === Vamos a crear un repo de git para controlar nuestros ficheros personales de configuración. @@ -85,10 +92,12 @@ Cuando instalo algún programa nuevo añado a mano los ficheros de configuració Yo no tengo información confidencial en este repositorio (claves ssh por 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. + == Editor desde linea de comandos == Hasta que instalemos nuestro editor favorito (''Emacs'' en mi caso) podemos usar ''nano'' desde la linea de comandos para editar cualquier fichero. Pero yo añado ''micro'' con el paquete .deb descargado desde [https://github.com/zyedidia/micro/releases su github]. + == Parámetros de disco duro == Tengo un disco duro ssd y otro hdd normal. @@ -119,6 +128,7 @@ Una vez modificado el /etc/fstab no hace falta arrancar, basta con
    mount -o remount /
     mount -o remount /home
     mount
    + === Ajustes adicionales para ''Firefox'' === Las diferencias de rendimiento del Firefox con estos ajustes son bastante notables. @@ -143,6 +153,7 @@ Y siguiendo [https://linuxreviews.org/HOWTO_Make_Mozilla_Firefox_Blazing_Fast_On Reiniciamos nuestro ''Firefox'' (podemos visitar about:restartRequired) + == Fuentes (tipográficas) adicionales == Instalamos algunas fuentes desde los orígenes de software: @@ -161,6 +172,7 @@ Fuentes interesantes: * [https://github.com/powerline/fonts Powerline fonts] * [https://github.com/ProgrammingFonts/ProgrammingFonts Programming fonts] + == Firewall == ufw y gufw vienen instalados por defecto, pero no activados. @@ -178,6 +190,7 @@ aptitude install gufw ----- + == Aplicaciones variadas ==
    '''Nota''': Ya no instalamos ''menulibre'', Linux Mint tiene una utilidad de edición de menús. @@ -221,11 +234,13 @@ aptitude install gufw zip unzip unace bzip2 lzop p7zip p7zip-full p7zip-rar \ most mc tree neofetch fasd silversearcher-ag ack ncdu mate-tweak filezilla \ rofi chromium + == Algunos programas de control del sistema == Son útiles para control de consumo.
    sudo apt install tlp tlp-rdw htop powertop
    + == Programas de terminal == Dos imprescindibles: @@ -246,16 +261,19 @@ También instalo ''rxvt'' para tener una alternativa ligera al ''terminator''. * [https://leanpub.com/the-tao-of-tmux/read El tao de tmux] * [https://www.askapache.com/linux/rxvt-xresources/ rxvt customizations] + == Dropbox == Lo instalamos desde el software manager. + == Chrome == No lo he instalado. Puede instalarse desde [https://www.google.com/chrome/ la página web de Chrome] + == Varias aplicaciones instaladas de binarios == Lo recomendable en un sistema POSIX es instalar los programas adicionales en /usr/local o en /opt. Yo soy más chapuzas y suelo instalar en ~/apt por que el portátil es personal e intrasferible. En un ordenador compartido es mejor usar /opt. @@ -273,18 +291,22 @@ En general cuando instalo en el directorio ~/apps sigo los siguient

    Vemos que el enlace apunta a la versión más reciente de ''freeplane''.

  • Añadimos la aplicación a los menús, al hacer esto se creará un fichero .desktop en el directorio ~/.local/share/applications

  • + === Freeplane === Para hacer mapas mentales, presentaciones, resúmenes, apuntes… La versión incluida en LinuxMint está un poco anticuada. + === Treesheets === Está bien para hacer chuletas rápidamente. Descargamos el ''appimage'' desde [http://strlen.com/treesheets/ la web] + === Telegram Desktop === Cliente de Telegram, descargado desde la [https://desktop.telegram.org/ página web]. El programa de instalación de Telegram ya se encarga de crear el fichero .desktop + === Tor browser === Descargamos desde la [https://www.torproject.org/ página oficial del proyecto] Descomprimimos en ~/apps/ y ejecutamos desde terminal: @@ -293,6 +315,7 @@ Descargamos desde la [https://www.torproject.org/ página oficial del proyecto] ./start-tor-browser.desktop --register-app Tor se encarga tanto de crear el fichero .desktop como de mantenerse actualizado a la última versión. + === Brave browser === Instalamos siguiendo las instrucciones de la [https://brave-browser.readthedocs.io/en/latest/installing-brave.html#linux página web oficial] @@ -304,10 +327,12 @@ echo "deb [arch=amd64] https://brave-browser-apt-release.s3.brave.com/ stab sudo apt update sudo apt install brave-browser + === TiddlyDesktop === Descargamos desde la [https://github.com/Jermolene/TiddlyDesktop página web], descomprimimos y generamos la entrada en el menú. + === Joplin === Una herramienta libre para mantener notas sincronizadas entre el móvil y el portátil. @@ -317,6 +342,7 @@ 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
    Joplin se instala en el directorio ~/.joplin y crea su propia entrada en el menú. + == Terminal y shells == Por defecto tenemos instalado bash. @@ -419,9 +445,11 @@ else fi También he cambiado el fichero del tema ''gnzh'' en ~/.antigen/bundles/robbyrussell/oh-my-zsh/themes/gnzh.zsh-theme por que me interesa ver la versión python asociada a cada virtualenv. + == Codecs ==
    sudo apt-get install mint-meta-codecs
    + == Syncthing == Añadimos el ppa: @@ -430,8 +458,10 @@ Añadimos el ppa: echo "deb https://apt.syncthing.net/ syncthing stable" | sudo tee /etc/apt/sources.list.d/syncthing.list sudo apt-get update sudo apt-get install syncthing + = Utilidades = + == Utilidades variadas ==
    @@ -474,12 +504,14 @@ sudo apt-get install syncthing == time-tracking == + === Activity Watcher === Instalado desde la web En realidad no lo uso para nada. + === go for it === Este programa no para de escribir en el disco continuamente. He dejado de usarlo por que me sobra con el org-mode de emacs. @@ -505,13 +537,16 @@ Si estamos usando un entorno virtual con pyenv creo que sería mejor usar la ins Para lanzar la aplicación ejecutamos: python3 -m autokey.gtkui + = Internet = + == Rclone == Instalamos desde la página web(https://rclone.org/), descargando el fichero .deb.
    curl https://rclone.org/install.sh | sudo bash
    + === Recetas rclone === Copiar directorio local en la nube: @@ -523,16 +558,19 @@ Si queremos ver el directorio en la web de Hubic tenemos que copiarlo en ''defau Sincronizar una carpeta remota en local:
    rclone sync hubic:directorio_remoto /home/salvari/directorio_local -vv
    + === Referencias === * [https://elblogdelazaro.gitlab.io//articles/rclone-sincroniza-ficheros-en-la-nube/ Como usar rclone (blogdelazaro)] * [https://elblogdelazaro.gitlab.io//articles/rclone-cifrado-de-ficheros-en-la-nube/ y con cifrado (blogdelazaro)] * [https://rclone.org/docs/ Documentación] + == Palemoon == Un fork de ''Firefox'' con menos chorradas. Instalado con el paquete deb descargado de su [https://software.opensuse.org/download.html?project=home:stevenpusser&package=palemoon página web] + == LibreWolf == Otro fork de ''Firefox'' centrado en la privacidad. Instalado como ''appimage'' descargado desde su [https://librewolf-community.gitlab.io/ página web] @@ -543,6 +581,7 @@ Otro fork de ''Firefox'' centrado en la privacidad. Instalado como ''appimage'' sudo wget http://deb.librewolf.net/keyring.gpg -O /etc/apt/trusted.gpg.d/librewolf.gpg sudo apt update sudo apt install librewolf -y + === Plugins instalados === Conviene estudiar la documentación de los ''add-ons'' recomendados, disponible [https://librewolf-community.gitlab.io/docs/addons/ aqui]. @@ -553,22 +592,27 @@ Conviene estudiar la documentación de los ''add-ons'' recomendados, disponible * Clear URLs * Mozilla Multiaccount Containers + == Netsurf == Un navegador ultraligero (aunque no funciona con muchas páginas, solo para webs austeras) Instalado via flathub con flatpak install netsurf + == Lagrange == Un navegador para el protocolo ''Gemini''. Instalado con la ''appimage'' desde su [https://git.skyjake.fi/gemini/lagrange página web] + == Castor == Otro navegador para el protocolo ''Gemini'' programado en ''Rust''. Instalado desde las fuentes siguiendo instrucciones de su [https://sr.ht/~julienxx/Castor/ página web] + == Sengi: Cliente de Mastodon == Instalada ''appimage'' desde su [https://github.com/NicolasConstant/sengi github] + = Window Managers adicionales = == i3wm == @@ -612,6 +656,7 @@ pip install --no-cache-dir cairocffi pip install --no-cache-dir qtile Con esto ya estamos listos, podríamos arrancar ''Qtile'' con qtile start, pero no puede funcionar claro. Para que arranque correctamente, tenemos que lanzarlo en un servidor X. (ver el punto “[[#lanzar-window-managers-con-xephyr|Lanzar Window Managers con Xephyr]]”) + === Configurar Qtile en ''virtualenv'' para arrancer desde el ''Lightdm'' === Como root nos creamos un script launch_qtile en /usr/local/bin, con el siguiente contenido @@ -631,6 +676,7 @@ Type=Application Keywords=wm;tiling Y con esto tendremos Qtile disponible en ''Lightdm''. + == Lanzar Window Managers con Xephyr == Para probar (o configurar) los ''Window Managers'' sin salir de nuestra sesión de Mate podemos usar Xephyr, si no lo tienes instalado ejecuta: @@ -662,12 +708,14 @@ export DISPLAY=:1 i3 Para ''Qtile'' bastaria con cambiar i3 por qtile start + = Comunicación con dispositivos Android = == scrcpy == sudo apt install scrcpy + == Heimdall == Para flashear roms en moviles @@ -675,6 +723,7 @@ Para flashear roms en moviles sudo apt install heimdall-flash heimdall-flash-frontend #zo Documentación + == Vanilla LaTeX == Para instalar la versión más reciente de LaTeX hago la instalación desde [https://www.ctan.org/ ctan] @@ -703,6 +752,7 @@ fi En cuanto a ''fish'' (si es que lo usas, claro) tendremos que modificar (o crear) el fichero ~/.config/fish/config.fish y añadir la siguiente linea:
    set PATH $PATH /opt/texbin
    + === Falsificando paquetes === Ya tenemos el ''texlive'' instalado, ahora necesitamos que el gestor de paquetes sepa que ya lo tenemos instalado. @@ -723,6 +773,7 @@ El paquete que hemos generado tiene una dependencia: ''freeglut3'', hay que inst sudo dpkg -i texlive-local_2020-1_all.deb Todo listo, ahora podemos instalar cualquier paquete debian que dependa de ''texlive'' sin problemas de dependencias, aunque no hayamos instalado el ''texlive'' de Debian. + === Fuentes === Para dejar disponibles las fuentes opentype y truetype que vienen con texlive para el resto de aplicaciones: @@ -760,11 +811,13 @@ Terminal=false Type=Application Icon=system-software-update EOF + == Tipos de letra == Creamos el directorio de usuario para tipos de letra:
    mkdir ~/.local/share/fonts
    + == Fuentes Adicionales == Me he descargado de internet la fuente [https://robey.lag.net/downloads/mensch.ttf Mensch] el directorio de usuario para los tipos de letra: ~/.local/share/fonts @@ -777,6 +830,7 @@ cd ~/.local/share/fonts ln -s ~/wherever/ProgrammingFonts/Menlo . La fuente Hack la he instalado directamente desde el [https://sourcefoundry.org/hack/ sitio web] + == Pandoc == ''Pandoc'' es un traductor entre formatos de documento. Está escrito en Python y es increiblemente útil. De hecho este documento está escrito con ''Pandoc''. @@ -790,6 +844,7 @@ 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. + == Algunos editores adicionales == Dos editores para hacer pruebas: @@ -799,6 +854,7 @@ Dos editores para hacer pruebas: ; Zettlr : Instalado con fichero .deb descargado desde [https://www.zettlr.com/ su página web] + == Calibre == La mejor utilidad para gestionar tu colección de libros electrónicos. @@ -825,6 +881,7 @@ Algunos enlaces útiles: * (http://www.redelijkheid.com/blog/2013/7/25/kobo-glo-ebook-library-management-with-calibre) * (https://www.netogram.com/kobo.htm) + == 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 un poster. @@ -836,6 +893,7 @@ Se podría instalar desde ppa cuando lo actualicen para incluir Ubunto 20 con lo
    sudo add-apt-repository ppa:scribus/ppa
     sudo apt update
     sudo apt install scribus scribus-ng scribus-template scribus-ng-doc
    + === 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: @@ -853,6 +911,7 @@ Siempre se puede volver a los valores por defecto sin mucho problema (hay una op Referencia [https://www.youtube.com/watch?v=3sEoYZGABQM&list=PL3kOqLpV3a67b13TY3WxYVzErYUOLYekI aquí] + === Solucionados problemas de ''hyphenation'' === ''Scribus'' no hacia correctamente la separación silábica en castellano, he instalado los paquetes: @@ -862,10 +921,12 @@ Referencia [https://www.youtube.com/watch?v=3sEoYZGABQM&list=PL3kOqLpV3a67b13TY3 Y ahora funciona correctamente. + == Foliate: lector de libros electrónicos == Instalado el paquete deb desde [https://github.com/johnfactotum/foliate/releases su propio github] + == Zotero: Gestor de referencias bibliográficas == Por cortesía de [https://github.com/retorquere/zotero-deb Emiliano Heyns] tenemos disponible el paquete de Zotero para Debian y Ubuntu. @@ -875,14 +936,17 @@ sudo apt update sudo apt install zotero A mayores instalamos el ''addon'' '''''Better Bibtex''''' descargando la última versión disponible desde [https://retorque.re/zotero-better-bibtex/installation/ aquí] e instalando en Zotero con la opción “Instalar desde fichero”. + = Desarrollo software = + == Paquetes esenciales == 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
    + == Git == @@ -925,15 +989,18 @@ git config --global alias.cp cherry-pick git config --global alias.co checkout git config --global alias.br branch git config --global core.editor emacs + == Emacs == Instalado emacs desde los repos:
    sudo aptitude install emacs
    + == Lenguaje de programación 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. + === D-apt e instalación de programas === Configurado ''d-apt'', instalados todos los programas incluidos @@ -944,6 +1011,7 @@ sudo apt update Instalamos todos los programas asociados excepto ''textadept'' que no uso.
    sudo apt install dmd-compiler dmd-tools dub dcd dfix dfmt dscanner
    + === DCD === Una vez instalado el DCD tenemos que configurarlo creando el fichero ~/.config/dcd/dcd.conf con el siguiente contenido: @@ -967,6 +1035,7 @@ Instalado con: Para poder ejecutar aplicaciones basadas en Vibed, necesitamos instalar:
    sudo apt-get install -y libssl-dev libevent-dev
    + === Emacs para editar D === Instalados los siguientes paquetes desde Melpa @@ -981,8 +1050,10 @@ Instalados los siguientes paquetes desde Melpa Referencias * (https://github.com/atilaneves/ac-dcd) * (https://github.com/Hackerpilot/DCD) + == C, C++ == + === Instalación de Gnu Global === Para instalar las dependencias, previamente instalamos: @@ -1003,6 +1074,7 @@ make 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 + == Rust == Instalamos siguiendo las instrucciones de [https://www.rust-lang.org/tools/install aqui] (Hacemos la instalación por defecto) @@ -1026,12 +1098,14 @@ Para desinstalar rust bastaría con ejecutar rustup self unin Para actualizar la instalación: rustup update + === RLS === Seguimos las instrucciones de la página oficial de [https://emacs-lsp.github.io/lsp-mode/page/lsp-rust/ LSP] y de [https://github.com/rust-lang/rls RLS] rustup update rustup component add rls rust-analysis rust-src + === Algunas utilidades de sistema escritas en Rust === Instalamos: @@ -1061,6 +1135,7 @@ if [ -d "$HOME/work/development/gocode" ] ; then export GOPATH="$HOME/work/development/gocode" PATH="$PATH:$GOPATH/bin" fi + === Instalación de ''gopls'' un servidor de LSP para editores: === Desde un directorio '''que no sea el GOPATH''' @@ -1069,15 +1144,18 @@ Desde un directorio '''que no sea el GOPATH''' === golint === go get -u golang.org/x/lint/golint + === Utilidades escritas en go === go install github.com/jesseduffield/lazygit@latest + == Processing == Bajamos el paquete de la [https://processing.org/ página web], descomprimimimos en ~/apps/, en las nuevas versiones incorpora un script de instalación que ya se encarga de crear el fichero ''desktop''. La última versión incorpora varios modos de trabajo, he descargado el modo ''Python'' para probarlo. + == openFrameworks == Nos bajamos los fuentes para linux 64bits desde [https://openframeworks.cc la página web del proyecto], y las descomprimimos en un directorio para proceder a compilarlas. @@ -1096,6 +1174,7 @@ curl libjack-jackd2-0 libjack-jackd2-dev freeglut3-dev libasound2-dev libxmu-dev Do you want to continue? [Y/n] No te olvides de compilar también el ''Project Generator''. + == Python == De partida tenemos instalado dos versiones: ''python2'' y ''python3'' @@ -1111,6 +1190,7 @@ Python 2.7.18rc1 python3 -V Python 3.8.2 + === Paquetes de python instalados === Son los que ya comentamos en la sección de instalación de zsh, como ya dijimos conviene que instalemos los paquetes de desarrollo: @@ -1128,18 +1208,21 @@ WORKON_HOME="$HOME/.virtualenvs" fi [https://virtualenvwrapper.readthedocs.io/en/latest/command_ref.html Aquí] tenemos la referencia de comandos de ''virtualenvwrapper''. + === Instalación de bpython y ptpython === [https://bpython-interpreter.org/ ''bpython''] instalado desde repos sudo apt install bpython bpython3 [https://github.com/prompt-toolkit/ptpython ''ptpython''] instalado en un virtualenv para probarlo + === Jupyter === Una instalación para pruebas.
    mkvirtualenv -p /usr/bin/python3 jupyter
     python -m pip install jupyter
    + === Instalamos python3.9 === python3.9 está ya disponible en los repos oficiales. Para dejarla instalada: @@ -1217,6 +1300,7 @@ Para actualizar las alternativas: sudo update-alternatives --config vi sudo update-alternatives --install /usr/bin/vim vim /usr/bin/nvim 60 sudo update-alternatives --config vim + ==== Install ''vim-plug'' ==== Ejecutamos: @@ -1284,15 +1368,18 @@ endif filetype plugin indent on syntax enable + == Firefox developer edition == El rollo de siempre, descargar desde [https://www.mozilla.org/en-US/firefox/developer/ la página web] descomprimir en ~/apps y crear un lanzador. + == Navegadores cli == Herramientas útiles para depuración web
    sudo apt install httpie links
    + == MariaDB == Instalamos la última estable para Ubuntu Fossa desde los repos oficiales. @@ -1336,6 +1423,7 @@ Si queremos pararlo y que no se arranque automáticamente al arrancar el ordenad
    sudo systemctl stop mariadb
     sudo systemctl disable mariadb
    + == Squirrel SQL Client == Bajamos el zip de estándar desde [http://www.squirrelsql.org/ la página web de Squirrel] (yo prefiero no usar el instalador) @@ -1346,6 +1434,7 @@ Nos descargamos también el ''java connector'' para MariaDB. Desde la página of Configuramos el driver para que sepa donde está el fichero .jar y ya estamos listos para trabajar. + == R y R-studio == Primero instalamos la última versión de R en nuestro pc: @@ -1354,6 +1443,7 @@ Primero instalamos la última versión de R en nuestro pc: sudo add-apt-repository 'deb https://cloud.r-project.org/bin/linux/ubuntu focal-cran40/' sudo apt update sudo apt install r-base + === R-studio === Ojo, tenemos ''R-studio Server'' y ''R-studio Desktop'', en tu portátil casi seguro que quieres el ''Desktop'' y no el ''Server''. @@ -1366,13 +1456,16 @@ Para ''R-studio Desktop'' descargamos la última versión disponible desde la [h Igual que el ''Server'' instalamos el paquete del ''Desktop'' con ''gedebi''. + == Octave == Instalado desde flatpak
    sudo flatpak install flathub org.octave.Octave
    + = Desarrollo hardware = + == Arduino IDE == Bajamos los paquetes de la página [https://www.arduino.cc web], descomprimimimos en ''~/apps/arduino''. @@ -1446,6 +1539,7 @@ ATTRS{idVendor}=="1b4f", ENV{ID_MM_DEVICE_IGNORE}="1" Una vez añadidos todos los ficheros de reglas recargamos con: udevadm control --reload-rules && udevadm trigger + === Añadir soporte para ''Feather M0'' === Arrancamos el IDE Arduino y en la opción de ''Preferences::Aditional Boar Managers URLs'' añadimos la dirección https://adafruit.github.io/arduino-board-index/package_adafruit_index.json, si tenemos otras URL, simplemente añadimos esta separada por una coma. @@ -1455,10 +1549,12 @@ Ahora desde el ''Board Manager'' instalamos: * Arduino SAMD Boards * Adafruit SAMD Boards + === Añadir soporte para ''Circuit Playground Express'' === Bastaría con instalar ''Arduino SAMD Boards'' + === Añadir soporte para STM32 === Tenemos varias URL posibles para configurar en las preferencias del IDE Arduino: @@ -1474,6 +1570,7 @@ Lo probamos con el ''Blink'' y funciona perfectamente con las opciones de la [[# [[File:src/img/stm32_arduino_opts.jpg|thumb|none|alt=Menu Arduino desplegado|Opciones Arduino para STM32 con st-link]] + === Añadir soporte para ESP32 y ESP8266 === Añadimos las URL: @@ -1485,6 +1582,7 @@ Añadimos la librería: * ESP32 (de espressif) + === Añadir biblioteca de soporte para Makeblock === @@ -1503,6 +1601,7 @@ Una vez instaladas las bibliotecas es necesario reiniciar el IDE Arduino si esta Un detalle importante para programar el Auriga-Me es necesario seleccionar el micro Arduino Mega 2560 en el IDE Arduino. + == Pinguino IDE == @@ -1521,6 +1620,7 @@ Al acabar la instalación he tenido que crear el directorio ''~/Pinguino/v11'', El programa queda correctamente instalado en ''/opt'' y arranca correctamente, habrá que probarlo con los micros. + == stm32 cubeide == Nos bajamos el instalador genérico. Tendremos que: @@ -1569,6 +1669,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:
    . ~/apps/esp/esp-idf/export.sh
    + == KiCAD == En la [http://kicad-pcb.org/download/linux-mint/ página web del proyecto] nos recomiendan el ppa a usar para instalar la última versión estable: @@ -1583,6 +1684,7 @@ Algunas librerías alternativas: * [https://github.com/freetronics/freetronics_kicad_library Freetronics] una libreria que no solo incluye Shield para Arduino sino una completa colección de componentes que nos permitirá hacer proyectos completos. [http://www.freetronics.com Freetronics] es una especie de BricoGeek australiano, publica tutoriales, vende componentes, y al parecer mantiene una biblioteca para KiCAD. La biblioteca de Freetronics se mantiene en un repo de github. Lo suyo es incorporarla a cada proyecto, por que si la actualizas se pueden romper los proyectos que estes haciendo. * [http://meta-blog.eklablog.com/kicad-librairie-arduino-pretty-p930786 eklablog] Esta biblioteca de componentes está incluida en el github de KiCAD, así que teoricamente no habría que instalarla en nuestro disco duro. + === Actualizar a KiCAD 6.0 === Hacemos un sudo apt purge de todos los paquetes del antiguo KiCAD. Desactivamos el antiguo repo y ejecutamos: @@ -1594,6 +1696,7 @@ sudo apt install --install-recommends kicad # sudo apt install kicad-demos No hay demos de momento en el nuevo KiCAD 6.0 + == Wireviz == Una herramienta para documentar cableados de proyectos. Es una aplicación ''Python'' que usa ''Graphviz'', lo he instalado con pipx. @@ -1601,10 +1704,12 @@ Una herramienta para documentar cableados de proyectos. Es una aplicación ''Pyt pyenv global ve_sys pipx install wireviz pyenv global system + == Analizador lógico == Mi analizador es un OpenBench de Seedstudio, [http://dangerousprototypes.com/docs/Open_Bench_Logic_Sniffer aquí hay mas info] + === Sigrok === Instalamos '''Sigrok''', simplemente desde los repos de Debian: @@ -1616,6 +1721,7 @@ Si al conectar el analizador, echamos un ojo al fichero ''syslog'' vemos que al Si arrancamos '''Pulseview''' (nuestro usuario tiene que estar incluido en el grupo ''dialout''), en la opción ''File::Connect to device'', escogemos la opción ''Openbench'' y le pasamos el puerto. Al pulsar la opción ''Scan for devices'' reconoce el analizador correctamente como un ''Sump Logic Analyzer''. + === Sump logic analyzer === Este es el software recomendado para usar con el analizador. @@ -1633,6 +1739,7 @@ Editamos el fichero ''~/apps/Logic Analyzer/client/run.sh'' y lo dejamos así: java -cp /usr/share/java/RXTXcomm.jar:analyzer.jar org.sump.analyzer.Loader Y ya funciona. + === OLS === @@ -1645,14 +1752,17 @@ Y ya funciona. [https://www.lxtreme.nl/ols/ Página oficial] + == IceStudio == Instalamos dependencias con sudo apt install xclip Bajamos el ''AppImage'' desde el [https://github.com/FPGAwars/icestudio github de IceStudio] y lo dejamos en ~/apps/icestudio + == PlatformIO == + === VS Code === Añadimos el origen de software: @@ -1673,6 +1783,7 @@ Ahora Seguimos las instrucciones de [https://docs.platformio.org/en/latest/ide/vscode.html#quick-start aqui] + === Incluir platform.io CLI en el PATH === Esto es una malísima idea, '''NO LO HAGAS''' @@ -1691,6 +1802,7 @@ Si quieres usar Platformio desde linea de comandos, es mejor activar manualmente
    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
    + === Editor Atom === @@ -1705,28 +1817,35 @@ sudo apt update && sudo apt install codium sudo sh -c 'echo "deb [arch=amd64] https://packagecloud.io/AtomEditor/atom/any/ any main" > /etc/apt/sources.list.d/atom.list' sudo apt update sudo apt install atom + == RepRap == + === OpenScad === El OpenSCAD está disponible en los orígenes de software, así que sudo apt install openscad. + === Slic3r === Descargamos la estable desde la [https://dl.slic3r.org página web] y como de costumbre descomprimimos en ~/apps y creamos un lanzador con ''MenuLibre'' + === Slic3r Prusa Edition === Una nueva versión del clásico ''Slic3r'' con muchas mejoras. Descargamos la ''appimage'' desde la [https://www.prusa3d.com/slic3r-prusa-edition/ página web] y ya sabeis, descomprimir en ~/apps y dar permisos de ejecución. + === ideaMaker === Una aplicación más para generar gcode con muy buena pinta, tenemos el paquete ''deb'' disponible en su [https://www.raise3d.com/pages/ideamaker página web]. Instalamos con el gestor de software. + === Ultimaker Cura === Descargamos el ''AppImage'' desde la [https://github.com/Ultimaker/Cura/releases página web] + === Pronterface === Seguimos las instrucciones para Ubuntu Focal: @@ -1744,8 +1863,10 @@ pip install -r requirements.txt # sudo apt-get install libdbus-glib-1-dev libdbus-1-dev Y ya lo tenemos todo listo para ejecutar. + == Cortadora de vinilos == + === Inkcut === Instalado en un entorno virtual: @@ -1757,6 +1878,7 @@ sudo apt install libxml2-dev libxslt-dev libcups2-dev pip install PyQt5 pip install inkcut + === Plugin para inkscape === Instalamos dependencias: @@ -1764,6 +1886,7 @@ Instalamos dependencias:
    pip install python-usb
    Instalamos el fichero .deb desde la web https://github.com/fablabnbg/inkscape-silhouette/releases + == Drone == === qgroundcontrol === @@ -1795,12 +1918,14 @@ El script de instalación añade las siguientes lineas al fichero ~/.bashr [ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion Para comprobar la instalación usamos command -v nvm que nos devolverá nvm. which no funciona en este caso por que es un script para aplicarle source + === Instalación de node.js === Ahora que tenemos nvm instalado, ya podemos instalar fácilmente la versión o versiones que queramos de node.js nvm ls-remote # para listar las versiones disponibles nvm install node # instala la última versión disponible + === Instalación de mosquitto === mosquitto es un ''mqtt broker'' muy sencillo y completo, aunque no es capaz de aguantar cargas grandes, para aprender es perfecto. @@ -1820,6 +1945,7 @@ Y sin alias sería: sudo systemctl disable mosquitto.service Para arrancarlo cuando lo necesitemos le damos un ''start'' con scst mosquitto.service o sudo systemctl start mosquitto.service + === Instalación de Influxdb === Seguimos el método para ubuntu: @@ -1833,19 +1959,23 @@ echo "deb https://repos.influxdata.com/${DISTRIB_ID} ${DISTRIB_CODENAME} stable" apt update apt install influxdb apt install telegraf + === Instalación de node-red === Una vez instalado el node.js instalar el node-red es muy fácil nvm use node npm install -g --unsafe-perm node-red + = Aplicaciones de gráficos = + == LibreCAD == Diseño en 2D
    sudo apt install librecad
    + == FreeCAD == No hay ppa disponible para Ubuntu 20. @@ -1865,6 +1995,7 @@ sudo install freecad ----- + == Inkscape == El programa libre para creación y edición de gráficos vectoriales. @@ -1872,6 +2003,7 @@ El programa libre para creación y edición de gráficos vectoriales.
    sudo add-apt-repository ppa:inkscape.dev/stable
     sudo apt update
     sudo apt install inkscape
    + == Gimp == El programa para edición y retocado de imágenes. @@ -1888,11 +2020,13 @@ sudo apt update sudo apt upgrade sudo apt install gimp gimp-data gimp-texturize \ gimp-data-extras gimp-gap gmic gimp-gmic gimp-python + === Plugins de Gimp === Para instalar los principales plugins basta con:
    sudo apt install gimp-plugin-registry
    + == Krita == La versión disponible en orígenes de software está bastante por detrás de la disponible en la web. Basta con descargar el ''Appimage'' desde la [https://krita.org página web] @@ -1901,14 +2035,17 @@ Lo copiamos a ~/apps/krita y creamos un lanzador con el editor de m Alternativamente también lo tenemos disponible por ppa en https://launchpad.net/~kritalime/+archive/ubuntu/ppa + == MyPaint == Desde el [https://github.com/mypaint/ github] tenemos disponible la última versión en formato ''appimage''. La descargamos la dejamos en ~/apps y creamos un acceso con ''Menulibre'', como siempre. + == Alchemy == Igual que el ''MyPaint'' descargamos desde [http://al.chemy.org la página web], descomprimimos en ~/apps y creamos un accso con ''Menulibre''. + == Capturas de pantalla == El [https://flameshot.js.org/#/ ''flameshot''] cubre el 99% de mis necesidades: sudo apt install flameshot @@ -1920,13 +2057,16 @@ Shutter vuelve a estar disponible, al instalar desde este ppa ya queda con las o
    sudo add-apt-repository ppa:linuxuprising/shutter
     sudo apt update
     sudo apt install shutter
    + == Reoptimizar imágenes == + === ImageMagick === Instalamos desde los repos, simplemente:
    sudo apt install imagemagick
    + === Imagine === Nos bajamos un ''AppImage'' desde el [https://github.com/meowtec/Imagine/releases github] de la aplicación @@ -1936,25 +2076,30 @@ Nos bajamos un ''AppImage'' desde el [https://github.com/meowtec/Imagine/release Un programa para crear diagramas
    sudo apt install dia dia-shapes gsfonts-x11
    + == Blender == Bajamos el Blender linkado estáticamente de [https://www.blender.org la página web] y lo descomprimimos en ~/apps/blender. El paquete incluye un fichero blender.desktop que podemos editar y copiar en ~/.local/share/applications. + == Structure Synth == Instalado desde repos, junto con sunflow para explorar un poco.
    sudo apt install structure-synth sunflow
    + == Heron animation == El proyecto parece abandonado. El software ya no funciona en el último linux. + == Stopmotion == Primero probamos el del repo: sudo apt install stopmotion + == Instalación del driver digiment para tabletas gráficas Huion == He intentado un par de veces instalar con el fichero deb pero parece que no funciona. @@ -1980,12 +2125,15 @@ Referencia: * [https://davidrevoy.com/article331/setup-huion-giano-wh1409-tablet-on-linux-mint-18-1-ubuntu-16-04 Aquí] + = Sonido = + == Spotify == Spotify instalado desde las opciones de Linux Mint via flatpak. + == Audacity == El ppa de Audacity no permite instalar la última versión. Podemos instalarla via flatpak o simplemente instalar la de los repos (no es la última) @@ -1999,13 +2147,16 @@ sudo apt-get update sudo apt install audacity Instalamos también el plugin [https://theaudacitytopodcast.com/chriss-dynamic-compressor-plugin-for-audacity/ Chris’s Dynamic Compressor plugin] + == Clementine == La version disponible en los orígenes de software parece al dia:
    sudo apt install clementine
    + = Video = + == Shotcut == Nos bajamos la ''AppImage'' para Linux desde la [https://www.shotcut.org/ página web]. @@ -2019,20 +2170,25 @@ chmod 744 Shotcutxxxxxx.AppImage Está disponible [https://kdenlive.org en la web] como ppa o como ''appimage''. Lo he bajado como ''appimage'' para probarlo. + == Openshot == También descargado desde [https://www.openshot.org su web] como ''appimage'', para probar. Tienen un ppa disponible. + == Avidemux == Descargado ''appimage'' desde [http://avidemux.sourceforge.net/ la web] + == Handbrake == Instalado como flatpak desde [https://handbrake.fr/ su web]. + == Grabación de screencast == + === Vokoscreen, Kazam y SimpleScreenRecorder === Instalados desde los repos oficiales: @@ -2041,6 +2197,7 @@ Instalados desde los repos oficiales: sudo apt install vokoscreen vokoscreen-ng kazam simplescreenrecorder Escoge el que más te guste. + === OBS === Añadimos el repositorio @@ -2048,8 +2205,10 @@ Añadimos el repositorio
    sudo add-apt-repository ppa:obsproject/obs-studio
     sudo apt update
     sudo apt install obs-studio
    + == Grabación de podcast == + === Mumble === Podemos instalarlo desde flatpak o bajarnos [https://launchpad.net/~mumble/+archive/ubuntu/release/+packages el paquete antiguo] (parece que funciona bien). @@ -2059,6 +2218,7 @@ Mumble no está disponible desde el PPA, aunque dejo aquí las instrucciones por
    sudo add-apt-repository ppa:mumble/release
     sudo apt update
         sudo apt install mumble
    + == Clientes de youtube == === smtube === @@ -2068,12 +2228,15 @@ Instalado el ppa siguiendo instrucciones de [http://www.smtube.org/ su página w sudo add-apt-repository ppa:rvm/smplayer sudo apt-get update sudo apt-get install smtube + === Freetube === Descargado el .deb desde [https://freetubeapp.io/#download su página web]. + = Fotografía = + == Rawtherapee == Bajamos el AppImage desde la [http://rawtherapee.com/ página web] al directorio ~/apps/rawtherapee. @@ -2083,6 +2246,7 @@ chmod 744 RawTherapeexxxxxx.AppImage ./RawTherapeexxxxxx.AppImage Al ejecutarla la primera vez ya se encarga la propia aplicación de integrarse en nuestro sistema. + == Darktable == Instalamos ppa (ver [https://software.opensuse.org/download/package?package=darktable&project=graphics%3Adarktable esta web]) @@ -2095,16 +2259,20 @@ Se instala la última versión de Darktable (3.0.2) '''OJO''': Conviene renombrar el fichero de claves de darktable, a nuestro linux no le gustan los ficheros con un ‘:’ Revisa /etc/apt/trusted.gpg.d/ + == Digikam == Instalado desde la [https://www.digikam.org/ página web] de la aplicación con appimage. + == Webcamoid == Descargada la appimage desde la [https://webcamoid.github.io/ página web] + = Seguridad = + == Autenticación en servidores por clave pública == Generar contraseñas para conexión servidores remotos: @@ -2117,6 +2285,7 @@ Solo resta añadir nuestra clave pública en el fichero authorized_keyscat ~/.ssh/id_xxx.pub | ssh user@hostname 'cat >> .ssh/authorized_keys' [https://www.digitalocean.com/community/tutorials/understanding-the-ssh-encryption-and-connection-process ¿Cómo funciona esto?] + == Claves gpg == gpg --gen-key Para generar nuestra clave. @@ -2124,16 +2293,19 @@ Solo resta añadir nuestra clave pública en el fichero authorized_keys == Seahorse == Para manejar todas nuestras claves con comodidad: sudo apt install seahorse + == Conexión a github con claves ssh == Usando este método podemos conectarnos a github sin tener que teclear la contraseña en cada conexión. + === Claves ssh === Podemos echar un ojo a nuestras claves desde seahorse la aplicación de gestión de claves que hemos instalado. También podemos ver las claves que tenemos generadas: @@ -2161,6 +2333,7 @@ Este mensaje indica que todo ha ido bien. Ahora en los repos donde queramos usar ssh debemos cambiar el remote:
    git remote set-url origin git@github.com:$USER/$REPONAME.git
    + == Signal == El procedimiento recomendado en la página oficial: @@ -2176,6 +2349,7 @@ sudo apt update && sudo apt install signal-desktop ----- + == Element (cliente de matrix.org) == Instalamos con: @@ -2189,6 +2363,7 @@ echo "deb [signed-by=/usr/share/keyrings/riot-im-archive-keyring.gpg] https://pa sudo apt update sudo apt install element-desktop + == Lector DNI electrónico == Descargamos la aplicación en formato .deb desde [https://www.dnielectronico.es/PortalDNIe/PRF1_Cons02.action?pag=REF_1112 la página de descargas del portal DNIe]. @@ -2248,8 +2423,10 @@ Para cada tarjeta puede hacer falta un driver diferente, tendrás que investigar ----- + = Virtualizaciones y contenedores = + == Instalación de ''virtualBox'' == '''AVISO IMPORTANTE''' @@ -2260,9 +2437,11 @@ Si descargamos los oficiales de ''Virtualbox'' se instalará el paquete py Si lo instalamos con los repos de Ubuntu, podemos tener instalado el paquete python-is-python3 (esta es mi opción favorita) + === Instalación desde Ubuntu === sudo apt install virtualbox virtualbox-ext-pack virtualbox-guest-addition-iso + === Instalación desde repos oficiales === Lo hacemos con los origenes de software oficiales (alternativamente, podríamos hacerlo manualmente): @@ -2319,12 +2498,14 @@ Solo queda añadir nuestro usuario a los grupos: sudo gpasswd -a username kvm Podemos comprobar el estado del servicio con scs libvirtd (systemctl status libvirtd). + === Referencias === * [https://www.how2shout.com/how-to/how-to-install-kvm-on-ubuntu-20-04-graphical-headless-server.html How to install KVM on Ubuntu 20.04 Graphical & headless server] * [https://linuxize.com/post/how-to-install-kvm-on-ubuntu-20-04/ How to Install Kvm on Ubuntu 20.04] * [https://www.tecmint.com/install-kvm-on-ubuntu/ How to Install KVM on Ubuntu 20.04] + == Docker == Tenemos que añadir el repositorio correspondiente a nuestra distribución: @@ -2375,12 +2556,14 @@ scsp docker # para parar el servicio * Movemos el fichero que hemos descargado a /usr/local/bin/docker-compose * Y le damos permisos de ejecución sudo chmod +x /usr/local/bin/docker-compose + === Kitematic === Un interfaz gráfico para ''Docker''. En su [https://github.com/docker/kitematic/releases página de releases] bajamos la última para Ubuntu e instalamos con el gestor de paquetes. La verdad es que me gusta más el CLI. + = Utilidades para mapas y cartografía = == josm == @@ -2400,16 +2583,19 @@ Alternativamente también podemos instalar la versión “nightly” con el sigu
    sudo apt josm-latest
    Ya estamos listos para editar Open Street Map offline. + == MOBAC == Bajamos el paquete desde [http://mobac.sourceforge.net/ la página web] y descomprimimos en ~/apps/mobac como de costumbre nos creamos una entrada de menú con ''MenuLibre''. Conviene bajarse wms adicionales para MOBAC y leerse [http://mobac.sourceforge.net/wiki/index.php/Custom_XML_Map_Sources la wiki] + === Referencias === *[Cartografía digital] (https://digimapas.blogspot.com.es/2015/01/oruxmaps-vii-mapas-de-mobac.html) + == QGIS == Añadimos la clave gpg: @@ -2422,6 +2608,7 @@ E instalamos como siempre
    sudo apt update
     sudo apt install qgis
    + === Referencias === * [https://mappinggis.com/2015/09/como-conectar-con-servicios-wms-y-wfs-con-arcgis-qgis-y-gvsig/ Conectar WMS con QGIS] @@ -2429,11 +2616,14 @@ sudo apt install qgis * [http://learnosm.org/es/osm-data/osm-in-qgis/ Learn OSM] * [http://www.qgistutorials.com/es/docs/downloading_osm_data.html QGIS Tutorials] + = Recetas variadas = + == Añadir las claves GPG de un repo ==
    sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys  F7E06F06199EF2F2
    + == Solucionar problemas de menús duplicados usando menulibre == {| @@ -2442,6 +2632,7 @@ sudo apt install qgis En el directorio ~/.config/menus/applications-merged borramos todos los ficheros que haya. + == Mapear un servidor webdav en nuestro sistema de ficheros == sudo apt install davfs2 @@ -2458,6 +2649,7 @@ Añadimos las credenciales al fichero ~/.davfs2/secrets que sería Con eso ya podremos montar el webdav con nuestro usuario sin mas que ejecutar mount <mount point> + == Formatear memoria usb == “The driver descriptor says the physical block size is 2048 bytes, but Linux says it is 512 bytes.” @@ -2486,6 +2678,7 @@ Next you can format the drive to whichever file system you like. It’s a pain in the behind this way, but it’s the only way I get it done..I put live iso’s on sticks all the time and have to remove them. I get stuck going through this process every time. + == Copiar la clave pública ssh en un servidor remoto == cat /home/tim/.ssh/id_rsa.pub | ssh tim@just.some.other.server 'cat >> .ssh/authorized_keys' @@ -2494,10 +2687,12 @@ O también: ssh-copy-id -i ~/.ssh/id_rsa.pub username@remote.server + == ssh access from termux == https://linuxconfig.org/ssh-into-linux-your-computer-from-android-with-termux + == SDR instalaciones varias == Vamos a trastear con un dispositivo [https://www.rtl-sdr.com/ RTL-SDR.com]. @@ -2511,6 +2706,7 @@ Seguimos los pasos de instalación: * La instalación de git, cmake y build-essential ya la tengo hecha.
    sudo apt-get install libusb-1.0-0-dev
    + == Posible problema con modemmanager y micros programables == Programando el ''Circuit Playground Express'' con el ''Arduino IDE'' tenía problemas continuos para hacer los ''uploads'', al parecer el servicio ''ModemManager'' es el culpable, se pasa todo el tiempo capturando los nuevos puertos serie por que considera que todo es un modem. @@ -2535,6 +2731,7 @@ 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 + == Programar los nanos con chip ch340 o ch341 == Linux mapea el chip correctamente en un puerto /dev/ttyUSB0 y con eso basta, que no te lien con el cuento de “drivers para linux” @@ -2546,6 +2743,7 @@ Processor: "ATmega168" Port: "/dev/ttyUSB0" Y ya funciona todo. + == Linux Mint 20 es ''python agnostic'' == En principio no podemos invocar a python por que no se ha escogido una versión por defecto. @@ -2554,6 +2752,7 @@ 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
    diff --git a/out/LinuxMintUlyana.odt b/out/LinuxMintUlyana.odt index 23c8edf..dc96116 100644 Binary files a/out/LinuxMintUlyana.odt and b/out/LinuxMintUlyana.odt differ diff --git a/out/LinuxMintUlyana.pdf b/out/LinuxMintUlyana.pdf index 5c38940..c6e3a61 100644 Binary files a/out/LinuxMintUlyana.pdf and b/out/LinuxMintUlyana.pdf differ diff --git a/out/LinuxMintUlyana.tex b/out/LinuxMintUlyana.tex index e0ba4ed..28a9ddf 100644 --- a/out/LinuxMintUlyana.tex +++ b/out/LinuxMintUlyana.tex @@ -1,16 +1,15 @@ % Options for packages loaded elsewhere \PassOptionsToPackage{unicode}{hyperref} \PassOptionsToPackage{hyphens}{url} -\PassOptionsToPackage{dvipsnames,svgnames*,x11names*}{xcolor} +\PassOptionsToPackage{dvipsnames,svgnames,x11names}{xcolor} % \documentclass[ 12pt, - spanish, ]{article} +\usepackage{amsmath,amssymb} \usepackage{lmodern} -\usepackage{amssymb,amsmath} -\usepackage{ifxetex,ifluatex} -\ifnum 0\ifxetex 1\fi\ifluatex 1\fi=0 % if pdftex +\usepackage{iftex} +\ifPDFTeX \usepackage[T1]{fontenc} \usepackage[utf8]{inputenc} \usepackage{textcomp} % provide euro and other symbols @@ -38,21 +37,6 @@ \KOMAoptions{parskip=half}} \makeatother \usepackage{xcolor} -\IfFileExists{xurl.sty}{\usepackage{xurl}}{} % add URL line breaks if available -\IfFileExists{bookmark.sty}{\usepackage{bookmark}}{\usepackage{hyperref}} -\hypersetup{ - pdftitle={Bitácora Linux Mint Ulyana 20 / Ulyssa 20.1 / Una 20.3}, - pdfauthor={Sergio Alvariño salvari@gmail.com}, - pdflang={es-ES}, - pdfsubject={Linux Mint 20.4 Ulyana}, - pdfkeywords={linux, postinstalación, mint, ulyana}, - colorlinks=true, - linkcolor=Maroon, - filecolor=Maroon, - citecolor=Blue, - urlcolor=Blue, - pdfcreator={LaTeX via pandoc}} -\urlstyle{same} % disable monospaced font for URLs \usepackage[a4paper]{geometry} \usepackage{color} \usepackage{fancyvrb} @@ -65,7 +49,7 @@ \newcommand{\AnnotationTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textbf{\textit{#1}}}} \newcommand{\AttributeTok}[1]{\textcolor[rgb]{0.49,0.56,0.16}{#1}} \newcommand{\BaseNTok}[1]{\textcolor[rgb]{0.25,0.63,0.44}{#1}} -\newcommand{\BuiltInTok}[1]{#1} +\newcommand{\BuiltInTok}[1]{\textcolor[rgb]{0.00,0.50,0.00}{#1}} \newcommand{\CharTok}[1]{\textcolor[rgb]{0.25,0.44,0.63}{#1}} \newcommand{\CommentTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textit{#1}}} \newcommand{\CommentVarTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textbf{\textit{#1}}}} @@ -78,7 +62,7 @@ \newcommand{\ExtensionTok}[1]{#1} \newcommand{\FloatTok}[1]{\textcolor[rgb]{0.25,0.63,0.44}{#1}} \newcommand{\FunctionTok}[1]{\textcolor[rgb]{0.02,0.16,0.49}{#1}} -\newcommand{\ImportTok}[1]{#1} +\newcommand{\ImportTok}[1]{\textcolor[rgb]{0.00,0.50,0.00}{\textbf{#1}}} \newcommand{\InformationTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textbf{\textit{#1}}}} \newcommand{\KeywordTok}[1]{\textcolor[rgb]{0.00,0.44,0.13}{\textbf{#1}}} \newcommand{\NormalTok}[1]{#1} @@ -92,7 +76,8 @@ \newcommand{\VariableTok}[1]{\textcolor[rgb]{0.10,0.09,0.49}{#1}} \newcommand{\VerbatimStringTok}[1]{\textcolor[rgb]{0.25,0.44,0.63}{#1}} \newcommand{\WarningTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textbf{\textit{#1}}}} -\usepackage{longtable,booktabs} +\usepackage{longtable,booktabs,array} +\usepackage{calc} % for calculating minipage widths % Correct order of tables after \paragraph or \subparagraph \usepackage{etoolbox} \makeatletter @@ -118,13 +103,33 @@ \providecommand{\tightlist}{% \setlength{\itemsep}{0pt}\setlength{\parskip}{0pt}} \setcounter{secnumdepth}{5} -\ifxetex - % Load polyglossia as late as possible: uses bidi with RTL langages (e.g. Hebrew, Arabic) - \usepackage{polyglossia} - \setmainlanguage[]{spanish} +\ifLuaTeX +\usepackage[bidi=basic]{babel} \else - \usepackage[shorthands=off,main=spanish]{babel} +\usepackage[bidi=default]{babel} +\fi +\babelprovide[main,import]{spanish} +% get rid of language-specific shorthands (see #6817): +\let\LanguageShortHands\languageshorthands +\def\languageshorthands#1{} +\ifLuaTeX + \usepackage{selnolig} % disable illegal ligatures \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 +\hypersetup{ + pdftitle={Bitácora Linux Mint Ulyana 20 / Ulyssa 20.1 / Una 20.3}, + pdfauthor={Sergio Alvariño salvari@gmail.com}, + pdflang={es-ES}, + pdfsubject={Linux Mint 20.4 Ulyana}, + pdfkeywords={linux, postinstalación, mint, ulyana}, + colorlinks=true, + linkcolor={Maroon}, + filecolor={Maroon}, + citecolor={Blue}, + urlcolor={Blue}, + pdfcreator={LaTeX via pandoc}} \title{Bitácora Linux Mint Ulyana 20 / Ulyssa 20.1 / Una 20.3} \author{Sergio Alvariño @@ -134,9 +139,8 @@ \begin{document} \maketitle \begin{abstract} -Bitácora de mi portatil - -Solo para referencia rápida y personal. +Bitácora de mi portatil Instalación de Linux Mint Vanessa Solo para +referencia rápida y personal. \end{abstract} { @@ -251,22 +255,26 @@ de problemas. ¡Ojo!, nos hacemos \texttt{root} para ejecutar: -\begin{verbatim} -sudo su - -git config --global user.email xxxxx@whatever.com -git config --global user.name "Name Surname" -apt install etckeeper -\end{verbatim} +\begin{Shaded} +\begin{Highlighting}[] +\NormalTok{sudo su {-}} +\NormalTok{git config {-}{-}global user.email xxxxx@whatever.com} +\NormalTok{git config {-}{-}global user.name "Name Surname"} +\NormalTok{apt install etckeeper} +\end{Highlighting} +\end{Shaded} \emph{etckeeper} hara un control automático de tus ficheros de configuración en \texttt{/etc} Para echar una mirada a los \emph{commits} creados puedes ejecutar: -\begin{verbatim} -cd /etc -sudo git log -\end{verbatim} +\begin{Shaded} +\begin{Highlighting}[] +\NormalTok{cd /etc} +\NormalTok{sudo git log} +\end{Highlighting} +\end{Shaded} \hypertarget{controlar-dotfiles-con-git}{% \subsubsection{Controlar dotfiles con @@ -278,22 +286,26 @@ de configuración. Creamos el repo donde queramos, yo suelo usar el directorio \texttt{\textasciitilde{}/work/repos}. -\begin{verbatim} -mkdir usrcfg -cd usrcfg -git init -git config core.worktree "/home/salvari" -\end{verbatim} +\begin{Shaded} +\begin{Highlighting}[] +\NormalTok{mkdir usrcfg} +\NormalTok{cd usrcfg} +\NormalTok{git init} +\NormalTok{git config core.worktree "/home/salvari"} +\end{Highlighting} +\end{Shaded} Y ya lo tenemos, un repo de git, en la localización que queramos y que tiene el directorio de trabajo apuntando a nuestro \emph{\$HOME}. Podemos añadir los ficheros de configuración que queramos al repo: -\begin{verbatim} -git add .bashrc -git commit -m "Add some dotfiles" -\end{verbatim} +\begin{Shaded} +\begin{Highlighting}[] +\NormalTok{git add .bashrc} +\NormalTok{git commit {-}m "Add some dotfiles"} +\end{Highlighting} +\end{Shaded} Una vez que tenga añadidos los ficheros que quiero tener controlados pondré \texttt{*} en el fichero \texttt{.git/info/exclude} de mi repo @@ -331,34 +343,38 @@ tirar del swap. Añadimos el parámetro \texttt{noatime} para las particiones de \texttt{root} y \texttt{/home}, que si que se han creado en el ssd. -\begin{verbatim} -# /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 -# that works even if disks are added and removed. See fstab(5). -# -# -# / was on /dev/sda5 during installation -UUID=d96a5501-75b9-4a25-8ecb-c84cd4a3fff5 / ext4 noatime,errors=remount-ro 0 1 -# /home was on /dev/sda7 during installation -UUID=8fcde9c5-d694-4417-adc0-8dc229299f4c /home ext4 defaults,noatime 0 2 -# /store was on /dev/sdc7 during installation -UUID=0f0892e0-9183-48bd-aab4-9014dc1bd03a /store ext4 defaults 0 2 -# swap was on /dev/sda6 during installation -UUID=ce11ccb0-a67d-4e8b-9456-f49a52974160 none swap sw 0 0 -# swap was on /dev/sdc5 during installation -UUID=11090d84-ce98-40e2-b7be-dce3f841d7b4 none swap sw 0 0 -\end{verbatim} +\begin{Shaded} +\begin{Highlighting}[] +\NormalTok{\# /etc/fstab: static file system information.} +\NormalTok{\#} +\NormalTok{\# Use \textquotesingle{}blkid\textquotesingle{} to print the universally unique identifier for a} +\NormalTok{\# device; this may be used with UUID= as a more robust way to name devices} +\NormalTok{\# that works even if disks are added and removed. See fstab(5).} +\NormalTok{\#} +\NormalTok{\# \textless{}file system\textgreater{} \textless{}mount point\textgreater{} \textless{}type\textgreater{} \textless{}options\textgreater{} \textless{}dump\textgreater{} \textless{}pass\textgreater{}} +\NormalTok{\# / was on /dev/sda5 during installation} +\NormalTok{UUID=d96a5501{-}75b9{-}4a25{-}8ecb{-}c84cd4a3fff5 / ext4 noatime,errors=remount{-}ro 0 1} +\NormalTok{\# /home was on /dev/sda7 during installation} +\NormalTok{UUID=8fcde9c5{-}d694{-}4417{-}adc0{-}8dc229299f4c /home ext4 defaults,noatime 0 2} +\NormalTok{\# /store was on /dev/sdc7 during installation} +\NormalTok{UUID=0f0892e0{-}9183{-}48bd{-}aab4{-}9014dc1bd03a /store ext4 defaults 0 2} +\NormalTok{\# swap was on /dev/sda6 during installation} +\NormalTok{UUID=ce11ccb0{-}a67d{-}4e8b{-}9456{-}f49a52974160 none swap sw 0 0} +\NormalTok{\# swap was on /dev/sdc5 during installation} +\NormalTok{UUID=11090d84{-}ce98{-}40e2{-}b7be{-}dce3f841d7b4 none swap sw 0 0} +\end{Highlighting} +\end{Shaded} Una vez modificado el \texttt{/etc/fstab} no hace falta arrancar, basta con ejecutar lo siguiente: -\begin{verbatim} -mount -o remount / -mount -o remount /home -mount -\end{verbatim} +\begin{Shaded} +\begin{Highlighting}[] +\NormalTok{mount {-}o remount /} +\NormalTok{mount {-}o remount /home} +\NormalTok{mount} +\end{Highlighting} +\end{Shaded} \hypertarget{ajustes-adicionales-para-firefox}{% \subsubsection{\texorpdfstring{Ajustes adicionales para @@ -413,10 +429,12 @@ adicionales}\label{fuentes-tipogruxe1ficas-adicionales}} Instalamos algunas fuentes desde los orígenes de software: -\begin{verbatim} -sudo apt install ttf-mscorefonts-installer -sudo apt install fonts-noto -\end{verbatim} +\begin{Shaded} +\begin{Highlighting}[] +\NormalTok{sudo apt install ttf{-}mscorefonts{-}installer} +\NormalTok{sudo apt install fonts{-}noto} +\end{Highlighting} +\end{Shaded} Y la fuente \href{https://robey.lag.net/2010/06/21/mensch-font.html}{Mensch} la @@ -451,13 +469,15 @@ Fuentes interesantes: \texttt{ufw} y \texttt{gufw} vienen instalados por defecto, pero no activados. -\begin{verbatim} -aptitude install ufw -ufw default deny -ufw enable -ufw status verbose -aptitude install gufw -\end{verbatim} +\begin{Shaded} +\begin{Highlighting}[] +\NormalTok{aptitude install ufw} +\NormalTok{ufw default deny} +\NormalTok{ufw enable} +\NormalTok{ufw status verbose} +\NormalTok{aptitude install gufw} +\end{Highlighting} +\end{Shaded} \begin{center}\rule{0.5\linewidth}{0.5pt}\end{center} @@ -540,9 +560,11 @@ sudo apt install tlp tlp-rdw htop powertop Dos imprescindibles: -\begin{verbatim} -sudo apt install guake terminator -\end{verbatim} +\begin{Shaded} +\begin{Highlighting}[] +\NormalTok{sudo apt install guake terminator} +\end{Highlighting} +\end{Shaded} \emph{terminator} lo dejamos como aplicación terminal preferida del sistema. @@ -553,9 +575,11 @@ teclas. También instalo \emph{rxvt} para tener una alternativa ligera al \emph{terminator}. -\begin{verbatim} -sudo apt install rxvt-unicode -\end{verbatim} +\begin{Shaded} +\begin{Highlighting}[] +\NormalTok{sudo apt install rxvt{-}unicode} +\end{Highlighting} +\end{Shaded} \hypertarget{tmux}{% \subsubsection{tmux}\label{tmux}} @@ -564,9 +588,11 @@ sudo apt install rxvt-unicode funcionalidad que \emph{Terminator}, además merece la pena aprender a usarlo por que instalado en servidores remotos es increíblemente útil. -\begin{verbatim} -sudo apt install tmux -\end{verbatim} +\begin{Shaded} +\begin{Highlighting}[] +\NormalTok{sudo apt install tmux} +\end{Highlighting} +\end{Shaded} \begin{itemize} \tightlist @@ -675,15 +701,17 @@ Instalamos siguiendo las instrucciones de la \href{https://brave-browser.readthedocs.io/en/latest/installing-brave.html\#linux}{página web oficial} -\begin{verbatim} -curl -s https://brave-browser-apt-release.s3.brave.com/brave-core.asc | sudo apt-key --keyring /etc/apt/trusted.gpg.d/brave-browser-release.gpg add - +\begin{Shaded} +\begin{Highlighting}[] +\NormalTok{curl {-}s https://brave{-}browser{-}apt{-}release.s3.brave.com/brave{-}core.asc | sudo apt{-}key {-}{-}keyring /etc/apt/trusted.gpg.d/brave{-}browser{-}release.gpg add {-}} -echo "deb [arch=amd64] https://brave-browser-apt-release.s3.brave.com/ stable main" | sudo tee /etc/apt/sources.list.d/brave-browser-release.list +\NormalTok{echo "deb [arch=amd64] https://brave{-}browser{-}apt{-}release.s3.brave.com/ stable main" | sudo tee /etc/apt/sources.list.d/brave{-}browser{-}release.list} -sudo apt update +\NormalTok{sudo apt update} -sudo apt install brave-browser -\end{verbatim} +\NormalTok{sudo apt install brave{-}browser} +\end{Highlighting} +\end{Shaded} \hypertarget{tiddlydesktop}{% \subsubsection{TiddlyDesktop}\label{tiddlydesktop}} @@ -701,9 +729,11 @@ el portátil. Instalamos siguiendo las instrucciones de la \href{https://joplinapp.org/}{página web} -\begin{verbatim} - wget -O - https://raw.githubusercontent.com/laurent22/joplin/master/Joplin_install_and_update.sh | bash -\end{verbatim} +\begin{Shaded} +\begin{Highlighting}[] +\NormalTok{ wget {-}O {-} https://raw.githubusercontent.com/laurent22/joplin/master/Joplin\_install\_and\_update.sh | bash} +\end{Highlighting} +\end{Shaded} Joplin se instala en el directorio \texttt{\textasciitilde{}/.joplin} y crea su propia entrada en el menú. @@ -866,12 +896,14 @@ sudo apt-get install mint-meta-codecs Añadimos el ppa: -\begin{verbatim} -curl -s https://syncthing.net/release-key.txt | sudo apt-key add - -echo "deb https://apt.syncthing.net/ syncthing stable" | sudo tee /etc/apt/sources.list.d/syncthing.list -sudo apt-get update -sudo apt-get install syncthing -\end{verbatim} +\begin{Shaded} +\begin{Highlighting}[] +\NormalTok{curl {-}s https://syncthing.net/release{-}key.txt | sudo apt{-}key add {-}} +\NormalTok{echo "deb 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} +\end{Highlighting} +\end{Shaded} \hypertarget{utilidades}{% \section{Utilidades}\label{utilidades}} @@ -962,10 +994,12 @@ de usarlo por que me sobra con el org-mode de emacs. Si de todas formas lo quieres instalar, aquí tienes los comandos: -\begin{verbatim} -sudo add-apt-repository ppa:go-for-it-team/go-for-it-daily && sudo apt-get update -sudo apt-get install go-for-it -\end{verbatim} +\begin{Shaded} +\begin{Highlighting}[] +\NormalTok{sudo add{-}apt{-}repository ppa:go{-}for{-}it{-}team/go{-}for{-}it{-}daily \&\& sudo apt{-}get update} +\NormalTok{sudo apt{-}get install go{-}for{-}it} +\end{Highlighting} +\end{Shaded} \hypertarget{autokey}{% \subsection{autokey}\label{autokey}} @@ -981,7 +1015,7 @@ comandos (para la estable): \begin{Shaded} \begin{Highlighting}[] -\VariableTok{VERSION=}\NormalTok{0.95.10{-}0} +\VariableTok{VERSION}\OperatorTok{=}\NormalTok{0.95.10{-}0} \FunctionTok{sudo}\NormalTok{ dpkg }\AttributeTok{{-}{-}install}\NormalTok{ autokey{-}common\_0.95.10{-}0\_all.deb autokey{-}gtk\_0.95.10{-}0\_all.deb} \FunctionTok{sudo}\NormalTok{ apt }\AttributeTok{{-}{-}fix{-}broken}\NormalTok{ install} \end{Highlighting} @@ -1225,11 +1259,11 @@ También como \texttt{root} creamos el fichero \begin{Shaded} \begin{Highlighting}[] \ExtensionTok{[Desktop}\NormalTok{ Entry]} -\VariableTok{Name=}\NormalTok{Qtile} -\VariableTok{Comment=}\NormalTok{Qtile }\ExtensionTok{Session} -\VariableTok{Exec=}\NormalTok{launch\_qtile} -\VariableTok{Type=}\NormalTok{Application} -\VariableTok{Keywords=}\NormalTok{wm}\KeywordTok{;}\ExtensionTok{tiling} +\VariableTok{Name}\OperatorTok{=}\NormalTok{Qtile} +\VariableTok{Comment}\OperatorTok{=}\NormalTok{Qtile }\ExtensionTok{Session} +\VariableTok{Exec}\OperatorTok{=}\NormalTok{launch\_qtile} +\VariableTok{Type}\OperatorTok{=}\NormalTok{Application} +\VariableTok{Keywords}\OperatorTok{=}\NormalTok{wm}\KeywordTok{;}\ExtensionTok{tiling} \end{Highlighting} \end{Shaded} @@ -1282,7 +1316,7 @@ un script con las siguientes lineas: \begin{Shaded} \begin{Highlighting}[] \ExtensionTok{Xephyr} \AttributeTok{{-}ac} \AttributeTok{{-}screen}\NormalTok{ 800x600 }\AttributeTok{{-}br} \AttributeTok{{-}reset} \AttributeTok{{-}terminate} \DecValTok{2}\OperatorTok{\textgreater{}}\NormalTok{ /dev/null :1 }\KeywordTok{\&} -\BuiltInTok{export} \VariableTok{DISPLAY=}\NormalTok{:1} +\BuiltInTok{export} \VariableTok{DISPLAY}\OperatorTok{=}\NormalTok{:1} \ExtensionTok{i3} \end{Highlighting} \end{Shaded} @@ -1716,11 +1750,13 @@ git git-core git-crypt dpkg wget developers tienen un ppa para ubuntu, si quieres tener el git más actualizado: -\begin{verbatim} -sudo add-apt-repository ppa:git-core/ppa -sudo apt update -sudo apt upgrade -\end{verbatim} +\begin{Shaded} +\begin{Highlighting}[] +\NormalTok{sudo add{-}apt{-}repository ppa:git{-}core/ppa} +\NormalTok{sudo apt update} +\NormalTok{sudo apt upgrade} +\end{Highlighting} +\end{Shaded} \begin{center}\rule{0.5\linewidth}{0.5pt}\end{center} @@ -1872,9 +1908,11 @@ Global}\label{instalaciuxf3n-de-gnu-global}} Para instalar las dependencias, previamente instalamos: -\begin{verbatim} -sudo apt install ncurses-dev id-utils exuberant-ctags python-pygments -\end{verbatim} +\begin{Shaded} +\begin{Highlighting}[] +\NormalTok{sudo apt install ncurses{-}dev id{-}utils exuberant{-}ctags python{-}pygments} +\end{Highlighting} +\end{Shaded} Con \texttt{ctags\ -\/-version} nos aseguramos de que se llama a Exuberant y no el ctags que instala Emacs. Si no es así habrá que @@ -1892,11 +1930,13 @@ momento de escribir esto se trata de la versión 6.6.4. Descomprimimos los fuentes y los compilamos con: -\begin{verbatim} -./configure --prefix=/usr/local --with-exuberant-ctags=/usr/bin/ctags -make -sudo make install -\end{verbatim} +\begin{Shaded} +\begin{Highlighting}[] +\NormalTok{./configure {-}{-}prefix=/usr/local {-}{-}with{-}exuberant{-}ctags=/usr/bin/ctags} +\NormalTok{make} +\NormalTok{sudo make install} +\end{Highlighting} +\end{Shaded} He comprobado que make uninstall funciona correctamente, las librerías quedan instaladas en \texttt{/usr/local/lib/gtags} y los ejecutables en @@ -1909,20 +1949,22 @@ Instalamos siguiendo las instrucciones de \href{https://www.rust-lang.org/tools/install}{aqui} (Hacemos la instalación por defecto) -\begin{verbatim} -curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh +\begin{Shaded} +\begin{Highlighting}[] +\NormalTok{curl {-}{-}proto \textquotesingle{}=https\textquotesingle{} {-}{-}tlsv1.2 {-}sSf https://sh.rustup.rs | sh} - stable installed - rustc 1.47.0 (18bf6b4f0 2020-10-07) +\NormalTok{ stable installed {-} rustc 1.47.0 (18bf6b4f0 2020{-}10{-}07)} -Rust is installed now. Great! +\NormalTok{Rust is installed now. Great!} -To get started you need Cargo's bin directory ($HOME/.cargo/bin) in your PATH -environment variable. Next time you log in this will be done -automatically. +\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.} -To configure your current shell run source $HOME/.cargo/env -\end{verbatim} +\NormalTok{To configure your current shell run source $HOME/.cargo/env} +\end{Highlighting} +\end{Shaded} Yo comento la linea del fichero \texttt{.zprofile} por que mi \texttt{.zshrc} ya lee el fichero \texttt{.profile} @@ -1985,12 +2027,12 @@ Añadimos al path con las siguientes lineas en \begin{Highlighting}[] \CommentTok{\#golang} \ControlFlowTok{if} \BuiltInTok{[} \OtherTok{{-}d} \StringTok{"/usr/local/go"} \BuiltInTok{]} \KeywordTok{;} \ControlFlowTok{then} - \BuiltInTok{export} \VariableTok{GOROOT=}\StringTok{"/usr/local/go"} - \VariableTok{PATH=}\StringTok{"}\VariableTok{$PATH}\StringTok{:}\VariableTok{$GOROOT}\StringTok{/bin"} + \BuiltInTok{export} \VariableTok{GOROOT}\OperatorTok{=}\StringTok{"/usr/local/go"} + \VariableTok{PATH}\OperatorTok{=}\StringTok{"}\VariableTok{$PATH}\StringTok{:}\VariableTok{$GOROOT}\StringTok{/bin"} \ControlFlowTok{fi} \ControlFlowTok{if} \BuiltInTok{[} \OtherTok{{-}d} \StringTok{"}\VariableTok{$HOME}\StringTok{/work/development/gocode"} \BuiltInTok{]} \KeywordTok{;} \ControlFlowTok{then} - \BuiltInTok{export} \VariableTok{GOPATH=}\StringTok{"}\VariableTok{$HOME}\StringTok{/work/development/gocode"} - \VariableTok{PATH=}\StringTok{"}\VariableTok{$PATH}\StringTok{:}\VariableTok{$GOPATH}\StringTok{/bin"} + \BuiltInTok{export} \VariableTok{GOPATH}\OperatorTok{=}\StringTok{"}\VariableTok{$HOME}\StringTok{/work/development/gocode"} + \VariableTok{PATH}\OperatorTok{=}\StringTok{"}\VariableTok{$PATH}\StringTok{:}\VariableTok{$GOPATH}\StringTok{/bin"} \ControlFlowTok{fi} \end{Highlighting} \end{Shaded} @@ -2004,7 +2046,7 @@ Desde un directorio \textbf{que no sea el GOPATH} \begin{Shaded} \begin{Highlighting}[] -\VariableTok{GO111MODULE=}\NormalTok{on }\ExtensionTok{go}\NormalTok{ get golang.org/x/tools/gopls@latest} +\VariableTok{GO111MODULE}\OperatorTok{=}\NormalTok{on }\ExtensionTok{go}\NormalTok{ get golang.org/x/tools/gopls@latest} \end{Highlighting} \end{Shaded} @@ -2057,12 +2099,14 @@ contrario falla la compilación. Añade los siguientes paquetes a nuestro sistema -\begin{verbatim} -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] -\end{verbatim} +\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]} +\end{Highlighting} +\end{Shaded} No te olvides de compilar también el \emph{Project Generator}. @@ -2083,13 +2127,15 @@ En principio yo no quería instalar ninguno para averigüar que paquetes no funcionaban, pero la instalación de VirtualBox hizo que se instalara automáticamente el paquete \texttt{python-is-python2}. -\begin{verbatim} -python2 -V -Python 2.7.18rc1 +\begin{Shaded} +\begin{Highlighting}[] +\NormalTok{python2 {-}V} +\NormalTok{Python 2.7.18rc1} -python3 -V -Python 3.8.2 -\end{verbatim} +\NormalTok{python3 {-}V} +\NormalTok{Python 3.8.2} +\end{Highlighting} +\end{Shaded} \hypertarget{paquetes-de-python-instalados}{% \subsubsection{Paquetes de python @@ -2098,23 +2144,27 @@ instalados}\label{paquetes-de-python-instalados}} 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{verbatim} -sudo apt install python2-dev -sudo apt install python-all-dev -sudo apt install python3-dev -sudo apt install python3-all-dev -sudo apt install virtualenv virtualenvwrapper python3-virtualenv -\end{verbatim} +\begin{Shaded} +\begin{Highlighting}[] +\NormalTok{sudo apt install python2{-}dev} +\NormalTok{sudo apt install python{-}all{-}dev} +\NormalTok{sudo apt install python3{-}dev} +\NormalTok{sudo apt install python3{-}all{-}dev} +\NormalTok{sudo apt install virtualenv virtualenvwrapper python3{-}virtualenv} +\end{Highlighting} +\end{Shaded} Ademas añadimos las siguientes lineas al fichero \texttt{\textasciitilde{}/.profile}: -\begin{verbatim} -# WORKON_HOME for virtualenvwrapper -if [ -d "$HOME/.virtualenvs" ] ; then -WORKON_HOME="$HOME/.virtualenvs" -fi -\end{verbatim} +\begin{Shaded} +\begin{Highlighting}[] +\NormalTok{\# WORKON\_HOME for virtualenvwrapper} +\NormalTok{if [ {-}d "$HOME/.virtualenvs" ] ; then} +\NormalTok{WORKON\_HOME="$HOME/.virtualenvs"} +\NormalTok{fi} +\end{Highlighting} +\end{Shaded} \href{https://virtualenvwrapper.readthedocs.io/en/latest/command_ref.html}{Aquí} tenemos la referencia de comandos de \emph{virtualenvwrapper}. @@ -2134,10 +2184,12 @@ instalado en un virtualenv para probarlo Una instalación para pruebas. -\begin{verbatim} -mkvirtualenv -p /usr/bin/python3 jupyter -python -m pip install jupyter -\end{verbatim} +\begin{Shaded} +\begin{Highlighting}[] +\NormalTok{mkvirtualenv {-}p /usr/bin/python3 jupyter} +\NormalTok{python {-}m pip install jupyter} +\end{Highlighting} +\end{Shaded} \hypertarget{instalamos-python3.9}{% \subsubsection{\texorpdfstring{Instalamos @@ -2146,9 +2198,11 @@ python -m pip install jupyter \texttt{python3.9} está ya disponible en los repos oficiales. Para dejarla instalada: -\begin{verbatim} -sudo apt install python3.9 python3.9-dev python3.9-venv -\end{verbatim} +\begin{Shaded} +\begin{Highlighting}[] +\NormalTok{sudo apt install python3.9 python3.9{-}dev python3.9{-}venv} +\end{Highlighting} +\end{Shaded} \hypertarget{pyenv}{% \subsubsection{pyenv}\label{pyenv}} @@ -2188,8 +2242,8 @@ Añadimos al fichero \texttt{\textasciitilde{}/.profile}: \begin{Highlighting}[] \CommentTok{\# pyenv} \ControlFlowTok{if} \BuiltInTok{[} \OtherTok{{-}d} \StringTok{"}\VariableTok{$HOME}\StringTok{/.pyenv"} \BuiltInTok{]} \KeywordTok{;} \ControlFlowTok{then} - \BuiltInTok{export} \VariableTok{PYENV\_ROOT=}\StringTok{"}\VariableTok{$HOME}\StringTok{/.pyenv"} - \BuiltInTok{export} \VariableTok{PATH=}\StringTok{"}\VariableTok{$PYENV\_ROOT}\StringTok{/bin:}\VariableTok{$PATH}\StringTok{"} + \BuiltInTok{export} \VariableTok{PYENV\_ROOT}\OperatorTok{=}\StringTok{"}\VariableTok{$HOME}\StringTok{/.pyenv"} + \BuiltInTok{export} \VariableTok{PATH}\OperatorTok{=}\StringTok{"}\VariableTok{$PYENV\_ROOT}\StringTok{/bin:}\VariableTok{$PATH}\StringTok{"} \ControlFlowTok{fi} \end{Highlighting} \end{Shaded} @@ -2230,7 +2284,7 @@ Dejamos la activación solo en el fichero \begin{Highlighting}[] \CommentTok{\# poetry} \ControlFlowTok{if} \BuiltInTok{[} \OtherTok{{-}d} \StringTok{"}\VariableTok{$HOME}\StringTok{/.poetry"}\NormalTok{] }\ErrorTok{;} \ErrorTok{then} - \VariableTok{PATH=}\StringTok{"}\VariableTok{$HOME}\StringTok{/.poetry/bin:}\VariableTok{$PATH}\StringTok{"} + \VariableTok{PATH}\OperatorTok{=}\StringTok{"}\VariableTok{$HOME}\StringTok{/.poetry/bin:}\VariableTok{$PATH}\StringTok{"} \ControlFlowTok{fi} \end{Highlighting} \end{Shaded} @@ -2267,12 +2321,12 @@ Revisar \href{https://neovim.io/doc/user/provider.html\#provider-python}{esto} \begin{longtable}[]{@{}l@{}} -\toprule +\toprule() \endhead \textbf{NOTA}: El siguiente paso ya no parece necesario, las alternativas \\ se han actualizado con la instalación del \emph{neovim}. \\ -\bottomrule +\bottomrule() \end{longtable} Para actualizar las alternativas: @@ -2331,13 +2385,13 @@ porn comando ejecutando: \texttt{:PlugInstall} \textbf{Instalación de \texttt{dein}} \begin{longtable}[]{@{}l@{}} -\toprule +\toprule() \endhead \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 +\bottomrule() \end{longtable} \url{https://github.com/Shougo/dein.vim} @@ -2377,9 +2431,11 @@ descomprimir en \texttt{\textasciitilde{}/apps} y crear un lanzador. Herramientas útiles para depuración web -\begin{verbatim} -sudo apt install httpie links -\end{verbatim} +\begin{Shaded} +\begin{Highlighting}[] +\NormalTok{sudo apt install httpie links} +\end{Highlighting} +\end{Shaded} \hypertarget{mariadb}{% \subsection{MariaDB}\label{mariadb}} @@ -2391,9 +2447,11 @@ Primero añadimos los repos. Añadimos la clave de firma: -\begin{verbatim} -sudo apt-key adv --fetch-keys 'https://mariadb.org/mariadb_release_signing_key.asc' -\end{verbatim} +\begin{Shaded} +\begin{Highlighting}[] +\NormalTok{sudo apt{-}key adv {-}{-}fetch{-}keys \textquotesingle{}https://mariadb.org/mariadb\_release\_signing\_key.asc\textquotesingle{}} +\end{Highlighting} +\end{Shaded} Ahora tenemos dos opciones: @@ -2473,12 +2531,14 @@ y ya estamos listos para trabajar. Primero instalamos la última versión de R en nuestro pc: -\begin{verbatim} -sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys E298A3A825C0D65DFD57CBB651716619E084DAB9 -sudo add-apt-repository 'deb https://cloud.r-project.org/bin/linux/ubuntu focal-cran40/' -sudo apt update -sudo apt install r-base -\end{verbatim} +\begin{Shaded} +\begin{Highlighting}[] +\NormalTok{sudo apt{-}key adv {-}{-}keyserver keyserver.ubuntu.com {-}{-}recv{-}keys E298A3A825C0D65DFD57CBB651716619E084DAB9} +\NormalTok{sudo add{-}apt{-}repository \textquotesingle{}deb https://cloud.r{-}project.org/bin/linux/ubuntu focal{-}cran40/\textquotesingle{}} +\NormalTok{sudo apt update} +\NormalTok{sudo apt install r{-}base} +\end{Highlighting} +\end{Shaded} \hypertarget{r-studio}{% \subsubsection{R-studio}\label{r-studio}} @@ -2803,27 +2863,33 @@ instalarán automáticamente en el siguiente paso. \begin{center}\rule{0.5\linewidth}{0.5pt}\end{center} -\begin{verbatim} -sudo apt-get install gperf cmake ninja-build ccache libffi-dev libssl-dev -\end{verbatim} +\begin{Shaded} +\begin{Highlighting}[] +\NormalTok{sudo apt{-}get install gperf cmake ninja{-}build ccache libffi{-}dev libssl{-}dev} +\end{Highlighting} +\end{Shaded} Ahora creamos un directorio para nuestro \emph{tool-chain}: -\begin{verbatim} -mkdir ~/esp -cd ~/esp -git clone --recursive https://github.com/espressif/esp-idf -\end{verbatim} +\begin{Shaded} +\begin{Highlighting}[] +\NormalTok{mkdir \textasciitilde{}/esp} +\NormalTok{cd \textasciitilde{}/esp} +\NormalTok{git clone {-}{-}recursive https://github.com/espressif/esp{-}idf} +\end{Highlighting} +\end{Shaded} También es necesario que nuestro usuario pertenezca al grupo \texttt{dialout}, pero eso ya deberíamos tenerlo hecho de antes. Una vez clonado el repo ejecutamos el script de instalación -\begin{verbatim} -cd ~/esp/esp-idf -./install.sh -\end{verbatim} +\begin{Shaded} +\begin{Highlighting}[] +\NormalTok{cd \textasciitilde{}/esp/esp{-}idf} +\NormalTok{./install.sh} +\end{Highlighting} +\end{Shaded} Este script nos va a dejar instaladas todas las herramientas necesarias en el directorio \texttt{\textasciitilde{}/.expressif} @@ -2835,17 +2901,21 @@ script. Estas son las bibliotecas que deja instaladas: -\begin{verbatim} -Installing ESP-IDF tools -Installing tools: xtensa-esp32-elf, xtensa-esp32s2-elf, esp32ulp-elf, esp32s2ulp-elf, openocd-esp32 -\end{verbatim} +\begin{Shaded} +\begin{Highlighting}[] +\NormalTok{Installing ESP{-}IDF tools} +\NormalTok{Installing tools: xtensa{-}esp32{-}elf, xtensa{-}esp32s2{-}elf, esp32ulp{-}elf, esp32s2ulp{-}elf, openocd{-}esp32} +\end{Highlighting} +\end{Shaded} Para empezar a trabajar bastará con hacer un \emph{source} del fichero \texttt{\textasciitilde{}/apps/esp/esp-idf/export.sh}: -\begin{verbatim} -. ~/apps/esp/esp-idf/export.sh -\end{verbatim} +\begin{Shaded} +\begin{Highlighting}[] +\NormalTok{. \textasciitilde{}/apps/esp/esp{-}idf/export.sh} +\end{Highlighting} +\end{Shaded} \hypertarget{kicad}{% \subsection{KiCAD}\label{kicad}} @@ -2928,9 +2998,11 @@ hay mas info} Instalamos \textbf{Sigrok}, simplemente desde los repos de Debian: -\begin{verbatim} -sudo aptitude install sigrok -\end{verbatim} +\begin{Shaded} +\begin{Highlighting}[] +\NormalTok{sudo aptitude install sigrok} +\end{Highlighting} +\end{Shaded} Al instalar \textbf{Sigrok} instalamos también \textbf{Pulseview}. @@ -2955,9 +3027,11 @@ descomprimimos en \emph{\textasciitilde/apps}. Instalamos las dependencias: -\begin{verbatim} -sudo apt install librxtx-java -\end{verbatim} +\begin{Shaded} +\begin{Highlighting}[] +\NormalTok{sudo apt install librxtx{-}java} +\end{Highlighting} +\end{Shaded} Editamos el fichero \emph{\textasciitilde/apps/Logic Analyzer/client/run.sh} y lo dejamos así: @@ -3055,11 +3129,13 @@ manualmente el entorno virtual con \hypertarget{vscodium}{% \subsubsection{vscodium}\label{vscodium}} -\begin{verbatim} -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 -\end{verbatim} +\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} +\end{Highlighting} +\end{Shaded} \hypertarget{editor-atom}{% \subsubsection{Editor Atom}\label{editor-atom}} @@ -3146,24 +3222,28 @@ Y ya lo tenemos todo listo para ejecutar. Instalado en un entorno virtual: -\begin{verbatim} -mkvirtualenv -p `which python3` inkcut +\begin{Shaded} +\begin{Highlighting}[] +\NormalTok{mkvirtualenv {-}p \textasciigrave{}which python3\textasciigrave{} inkcut} -sudo apt install libxml2-dev libxslt-dev libcups2-dev +\NormalTok{sudo apt install libxml2{-}dev libxslt{-}dev libcups2{-}dev} -pip install PyQt5 +\NormalTok{pip install PyQt5} -pip install inkcut -\end{verbatim} +\NormalTok{pip install inkcut} +\end{Highlighting} +\end{Shaded} \hypertarget{plugin-para-inkscape}{% \subsubsection{Plugin para inkscape}\label{plugin-para-inkscape}} Instalamos dependencias: -\begin{verbatim} -pip install python-usb -\end{verbatim} +\begin{Shaded} +\begin{Highlighting}[] +\NormalTok{pip install python{-}usb} +\end{Highlighting} +\end{Shaded} Instalamos el fichero \texttt{.deb} desde la web \url{https://github.com/fablabnbg/inkscape-silhouette/releases} @@ -3184,9 +3264,11 @@ appimage} Para usar \emph{Mission Planner} en Linux Mint se recomienda instalar los paquetes: -\begin{verbatim} -sudo apt install mono-complete festival -\end{verbatim} +\begin{Shaded} +\begin{Highlighting}[] +\NormalTok{sudo apt install mono{-}complete festival} +\end{Highlighting} +\end{Shaded} Descargamos el MissionPlanner desde \href{https://firmware.ardupilot.org/Tools/MissionPlanner/MissionPlanner-latest.zip}{aquí} @@ -3220,7 +3302,7 @@ El script de instalación añade las siguientes lineas al fichero \begin{Shaded} \begin{Highlighting}[] -\BuiltInTok{export} \VariableTok{NVM\_DIR=}\StringTok{"}\VariableTok{$HOME}\StringTok{/.nvm"} +\BuiltInTok{export} \VariableTok{NVM\_DIR}\OperatorTok{=}\StringTok{"}\VariableTok{$HOME}\StringTok{/.nvm"} \BuiltInTok{[} \OtherTok{{-}s} \StringTok{"}\VariableTok{$NVM\_DIR}\StringTok{/nvm.sh"} \BuiltInTok{]} \KeywordTok{\&\&} \ExtensionTok{\textbackslash{}.} \StringTok{"}\VariableTok{$NVM\_DIR}\StringTok{/nvm.sh"} \CommentTok{\# This loads nvm} \BuiltInTok{[} \OtherTok{{-}s} \StringTok{"}\VariableTok{$NVM\_DIR}\StringTok{/bash\_completion"} \BuiltInTok{]} \KeywordTok{\&\&} \ExtensionTok{\textbackslash{}.} \StringTok{"}\VariableTok{$NVM\_DIR}\StringTok{/bash\_completion"} \CommentTok{\# This loads nvm bash\_completion} \end{Highlighting} @@ -3295,8 +3377,8 @@ Seguimos el método para ubuntu: \begin{Highlighting}[] \FunctionTok{wget} \AttributeTok{{-}qO{-}}\NormalTok{ https://repos.influxdata.com/influxdb.key }\KeywordTok{|} \FunctionTok{sudo}\NormalTok{ apt{-}key add }\AttributeTok{{-}} \CommentTok{\#source /etc/lsb{-}release} -\VariableTok{DISTRIB\_ID=}\NormalTok{ubuntu} -\VariableTok{DISTRIB\_CODENAME=}\NormalTok{focal} +\VariableTok{DISTRIB\_ID}\OperatorTok{=}\NormalTok{ubuntu} +\VariableTok{DISTRIB\_CODENAME}\OperatorTok{=}\NormalTok{focal} \BuiltInTok{echo} \StringTok{"deb https://repos.influxdata.com/}\VariableTok{$\{DISTRIB\_ID\}}\StringTok{ }\VariableTok{$\{DISTRIB\_CODENAME\}}\StringTok{ stable"} \KeywordTok{|} \FunctionTok{sudo}\NormalTok{ tee /etc/apt/sources.list.d/influxdb.list} \ExtensionTok{apt}\NormalTok{ update} @@ -3373,10 +3455,12 @@ El programa para edición y retocado de imágenes. Parece que ahora mismo los repos están más actualizados que el ppa. Así que bastaría con: -\begin{verbatim} -sudo apt install gimp gimp-data gimp-texturize \ -gimp-data-extras gimp-gap gmic gimp-gmic -\end{verbatim} +\begin{Shaded} +\begin{Highlighting}[] +\NormalTok{sudo apt install gimp gimp{-}data gimp{-}texturize \textbackslash{}} +\NormalTok{gimp{-}data{-}extras gimp{-}gap gmic gimp{-}gmic} +\end{Highlighting} +\end{Shaded} De todas formas dejo aquí las instrucciones para instalar desde el ppa por si hacen falta algún dia: @@ -3440,11 +3524,13 @@ tenemos que hacer una captura con retardo lo instalé con un Shutter vuelve a estar disponible, al instalar desde este ppa ya queda con las opciones de edición habilitadas: -\begin{verbatim} -sudo add-apt-repository ppa:linuxuprising/shutter -sudo apt update -sudo apt install shutter -\end{verbatim} +\begin{Shaded} +\begin{Highlighting}[] +\NormalTok{sudo add{-}apt{-}repository ppa:linuxuprising/shutter} +\NormalTok{sudo apt update} +\NormalTok{sudo apt install shutter} +\end{Highlighting} +\end{Shaded} \hypertarget{reoptimizar-imuxe1genes}{% \subsection{Reoptimizar imágenes}\label{reoptimizar-imuxe1genes}} @@ -3530,12 +3616,14 @@ la versión V9. Descomprimimos en \texttt{/usr/src/digimend-9} -\begin{verbatim} -cd /usr/src -sudo xvzf . -sudo dkms build digimend-kernel-drivers/9 -sudo dkms install digimend/9 -\end{verbatim} +\begin{Shaded} +\begin{Highlighting}[] +\NormalTok{cd /usr/src} +\NormalTok{sudo xvzf \textless{}path{-}to{-}digimend{-}kernel{-}drivers{-}9\textgreater{} .} +\NormalTok{sudo dkms build digimend{-}kernel{-}drivers/9} +\NormalTok{sudo dkms install digimend/9} +\end{Highlighting} +\end{Shaded} Para comprobar: @@ -3652,11 +3740,13 @@ Escoge el que más te guste. Añadimos el repositorio -\begin{verbatim} -sudo add-apt-repository ppa:obsproject/obs-studio -sudo apt update -sudo apt install obs-studio -\end{verbatim} +\begin{Shaded} +\begin{Highlighting}[] +\NormalTok{sudo add{-}apt{-}repository ppa:obsproject/obs{-}studio} +\NormalTok{sudo apt update} +\NormalTok{sudo apt install obs{-}studio} +\end{Highlighting} +\end{Shaded} \hypertarget{grabaciuxf3n-de-podcast}{% \subsection{Grabación de podcast}\label{grabaciuxf3n-de-podcast}} @@ -4053,9 +4143,11 @@ varios paquetes con número de versión (p.ej. \_virtualbox.6.1), estos Instalamos el que nos interesa: -\begin{verbatim} -sudo apt install virtualbox-6.1 -\end{verbatim} +\begin{Shaded} +\begin{Highlighting}[] +\NormalTok{sudo apt install virtualbox{-}6.1} +\end{Highlighting} +\end{Shaded} \textbf{ATENCIÓN} @@ -4185,11 +4277,13 @@ Esto dejará el servicio \emph{docker} funcionando y habilitado La forma de pararlo es: -\begin{verbatim} -sudo systemctl stop docker -sudo systemctl disable docker -systemctl status docker -\end{verbatim} +\begin{Shaded} +\begin{Highlighting}[] +\NormalTok{sudo systemctl stop docker} +\NormalTok{sudo systemctl disable docker} +\NormalTok{systemctl status docker} +\end{Highlighting} +\end{Shaded} Añadimos el \emph{bundle} \textbf{docker} en nuestro fichero \texttt{\textasciitilde{}/.zshrc} para tener autocompletado en comandos @@ -4198,11 +4292,13 @@ de docker. Para usar \emph{docker} tendremos que arrancarlo, con los alias de nuestro sistema para \emph{systemd} ejecutamos: -\begin{verbatim} -scst docker # para arrancar el servicio +\begin{Shaded} +\begin{Highlighting}[] +\NormalTok{scst docker \# para arrancar el servicio} -scsp docker # para parar el servicio -\end{verbatim} +\NormalTok{scsp docker \# para parar el servicio} +\end{Highlighting} +\end{Shaded} \hypertarget{docker-compose}{% \subsubsection{docker-compose}\label{docker-compose}} @@ -4338,10 +4434,10 @@ sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys F7E06F06199EF2F2 menulibre}\label{solucionar-problemas-de-menuxfas-duplicados-usando-menulibre}} \begin{longtable}[]{@{}l@{}} -\toprule +\toprule() \endhead \textbf{Nota}: Ya no uso \emph{MenuLibre} \\ -\bottomrule +\bottomrule() \end{longtable} En el directorio @@ -4528,10 +4624,12 @@ escogido una versión por defecto. Tenemos dos opciones: -\begin{verbatim} -apt install python-is-python2 -apt install python-is-python3 -\end{verbatim} +\begin{Shaded} +\begin{Highlighting}[] +\NormalTok{apt install python{-}is{-}python2} +\NormalTok{apt install python{-}is{-}python3} +\end{Highlighting} +\end{Shaded} \hypertarget{instalar-chromium-sin-snapdrop}{% \subsection{Instalar chromium sin diff --git a/src/100_intro.md b/src/100_intro.md index 92aeed0..251651c 100644 --- a/src/100_intro.md +++ b/src/100_intro.md @@ -9,7 +9,7 @@ subject: Linux Mint 20.4 Ulyana keywords: linux, postinstalación, mint, ulyana abstract: | Bitácora de mi portatil - + Instalación de Linux Mint Vanessa Solo para referencia rápida y personal. ...