diff --git a/README.md b/README.md index 64339dd..72a80b1 100644 --- a/README.md +++ b/README.md @@ -1,55 +1,59 @@ -# Introducción +Introducción +============ Mis portatiles son: - - Un ordenador Acer 5755G con las siguientes características: - - - Core i5 2430M 2.4GHz - - - NVIDIA Geforce GT 540M (+ intel integrada) - - - 8Gb RAM - - - 750Gb HD - +- Un ordenador Acer 5755G con las siguientes características: + + - Core i5 2430M 2.4GHz + + - NVIDIA Geforce GT 540M (+ intel integrada) + + - 8Gb RAM + + - 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. - + 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 - - - Core i7-9750H - - - Nvidia GTX1650-4Gb (+ intel integrada) - - - 16Gb RAM - - - 512Gb SSD + 1Tb HDD +- Un Lenovo Legion + + - Core i7-9750H -# Programas básicos + - Nvidia GTX1650-4Gb (+ intel integrada) -## Linux Mint + - 16Gb RAM + + - 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*). -Interesa tener instalado el paquete *ppa-purge* (`sudo apt install -ppa-purge`). Sirve para eliminar ppas junto con los programas instalados -desde ese ppa. +Interesa tener instalado el paquete *ppa-purge* +(`sudo apt install ppa-purge`). Sirve para eliminar ppas junto con los +programas instalados desde ese ppa. Tampoco voy a enredar nada con los orígenes del software (de momento), es decir no voy a cambiar al depósito regional. -## Firmware +Firmware +-------- Ya no es necesario intalar los paquetes de *microcode* la instalación de Ulyana se encargó de instalar: - - `amd64-microcode` - - `intel-microcode` +- `amd64-microcode` +- `intel-microcode` Instalamos el driver de nvidia recomendado, el *Mint* nos avisa de que tenemos que revisar la instalación de los drivers. @@ -57,11 +61,12 @@ tenemos que revisar la instalación de los drivers. 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 -query`debe indicarnos la tarjeta activa y podremos cambiar de tarjeta -ejecutando `prime-select [nvidia|intel]` +Una vez instalado el driver de nvidia, el comando +`prime-select query`debe indicarnos la tarjeta activa y podremos cambiar +de tarjeta ejecutando `prime-select [nvidia|intel]` -## Control de configuraciones con git +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 @@ -73,7 +78,7 @@ controlados los cambios de configuración y ayuda en caso de problemas. ### Instalación de `etckeeper` -¡Ojo\!, nos hacemos `root` para ejecutar: +¡Ojo!, nos hacemos `root` para ejecutar: sudo su - git config --global user.email xxxxx@whatever.com @@ -120,7 +125,8 @@ 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. -## Parámetros de disco duro +Parámetros de disco duro +------------------------ Tengo un disco duro ssd y otro hdd normal. @@ -169,15 +175,16 @@ 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) -## Fuentes (tipográficas) adicionales +Fuentes (tipográficas) adicionales +---------------------------------- Instalamos algunas fuentes desde los orígenes de software: @@ -187,7 +194,8 @@ Instalamos algunas fuentes desde los orígenes de software: Y la fuente [Mensch](https://robey.lag.net/2010/06/21/mensch-font.html) la bajamos directamente al directorio `~/.local/share/fonts` -## Firewall +Firewall +-------- `ufw` y `gufw` vienen instalados por defecto, pero no activados. @@ -197,80 +205,81 @@ la bajamos directamente al directorio `~/.local/share/fonts` ufw status verbose aptitude install gufw ------ +------------------------------------------------------------------------ > **Nota**: Ojo con el log de `ufw`, tampoco le sienta muy bien al ssd > esa escritura masiva. Yo normalmente lo dejo desactivado excepto > cuando valido una nueva configuración. ------ +------------------------------------------------------------------------ -## Aplicaciones variadas +Aplicaciones variadas +--------------------- > **Nota**: Ya no instalamos *menulibre*, Linux Mint tiene una utilidad > de edición de menús. - - Keepass2 - Para mantener nuestras contraseñas a buen recaudo +Keepass2 +Para mantener nuestras contraseñas a buen recaudo - - Gnucash - Programa de contabilidad, la versión de los repos está bastante - atrasada habrá que probar la nueva que puede instalarse desde la web - o desde el flathub. +Gnucash +Programa de contabilidad, la versión de los repos está bastante atrasada +habrá que probar la nueva que puede instalarse desde la web o desde el +flathub. - - Deluge - Programa de descarga de torrents (acuérdate de configurar tus - cortafuegos) +Deluge +Programa de descarga de torrents (acuérdate de configurar tus +cortafuegos) - - rsync, grsync - Para hacer backups de nuestros ficheros +rsync, grsync +Para hacer backups de nuestros ficheros - - Descompresores variados - Para lidiar con los distintos formatos de ficheros comprimidos +Descompresores variados +Para lidiar con los distintos formatos de ficheros comprimidos - - mc - Midnight Comander, gestor de ficheros en modo texto +mc +Midnight Comander, gestor de ficheros en modo texto - - most - Un `less` mejorado +most +Un `less` mejorado - - tree - Para ver estructuras de directorios +tree +Para ver estructuras de directorios - - neofetch - Este solo vale para presumir de ordenador creo ¬\_¬ +neofetch +Este solo vale para presumir de ordenador creo ¬\_¬ - + sudo apt install keepass2 gnucash deluge rsync grsync rar unrar \ zip unzip unace bzip2 lzop p7zip p7zip-full p7zip-rar \ most mc tree neofetch - - Chromium - Como Chrome pero libre, ahora en Ubuntu solo está disponible como - snap así que tendremos que dar un rodeo. +Chromium +Como Chrome pero libre, ahora en Ubuntu solo está disponible como snap +así que tendremos que dar un rodeo. - + -``` {bash} -sudo add-apt-repository ppa:xalt7x/chromium-deb-vaapi -cat < freeplane-1.7.11 ├── freeplane-1.7.10 └── freeplane-1.7.11 - + Vemos que el enlace apunta a la versión más reciente de *freeplane*. 4. Añadimos la aplicación a los menús, al hacer esto se creará un @@ -374,15 +384,13 @@ actualizado a la última versión. Instalamos siguiendo las instrucciones de la [página web oficial](https://brave-browser.readthedocs.io/en/latest/installing-brave.html#linux) -``` {bash} -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 - + 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 + 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 + sudo apt update -sudo apt install brave-browser -``` + sudo apt install brave-browser ### TiddlyDesktop @@ -398,14 +406,13 @@ el portátil. Instalamos siguiendo las instrucciones de la [página web](https://joplinapp.org/) -``` {bash} - wget -O - https://raw.githubusercontent.com/laurent22/joplin/master/Joplin_install_and_update.sh | bash -``` + wget -O - https://raw.githubusercontent.com/laurent22/joplin/master/Joplin_install_and_update.sh | bash Joplin se instala en el directorio `~/.joplin` y crea su propia entrada en el menú. -## Terminal y shells +Terminal y shells +----------------- Por defecto tenemos instalado `bash`. @@ -445,51 +452,51 @@ Y editamos el fichero `~/.zshrc` para que contenga: # This line loads .profile, it's experimental [[ -e ~/.profile ]] && emulate sh -c 'source ~/.profile' - + source ~/apps/zsh-git-prompt/zshrc.sh source ~/apps/antigen/antigen.zsh - + # Load the oh-my-zsh's library. antigen use oh-my-zsh - + # Bundles from the default repo (robbyrussell's oh-my-zsh). antigen bundle git antigen bundle command-not-found - + # must install autojump for this #antigen bundle autojump - + # extracts every kind of compressed file antigen bundle extract - + # jump to dir used frequently antigen bundle z - + #antigen bundle pip - + antigen bundle common-aliases - + antigen bundle robbyrussell/oh-my-zsh plugins/virtualenvwrapper - + antigen bundle zsh-users/zsh-completions - + # Syntax highlighting bundle. antigen bundle zsh-users/zsh-syntax-highlighting antigen bundle zsh-users/zsh-history-substring-search ./zsh-history-substring-search.zsh - + # Arialdo Martini git needs awesome terminal font #antigen bundle arialdomartini/oh-my-git #antigen theme arialdomartini/oh-my-git-themes oppa-lana-style - + # autosuggestions antigen bundle tarruda/zsh-autosuggestions - + #antigen theme agnoster antigen theme gnzh - + # Tell antigen that you're done. antigen apply - + # Correct rm alias from common-alias bundle unalias rm alias rmi='rm -i' @@ -529,63 +536,68 @@ 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. -## Utilidades +Utilidades +---------- *Agave* y *pdftk* ya no existen, nos pasamos a *gpick* y *poppler-utils*: Instalamos *gpick* con `sudo apt install gpick` -## Codecs +Codecs +------ sudo apt-get install mint-meta-codecs -## Syncthing +Syncthing +--------- Añadimos el ppa: -``` {bash} -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 -``` + 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 -# Utilidades +Utilidades +========== - - graphviz - Una utilidad de generación de gráficos que uso a veces. También es - útil para `web2py` y para \`org-roam - - `sudo apt install graphviz` +graphviz +Una utilidad de generación de gráficos que uso a veces. También es útil +para `web2py` y para \`org-roam - - sqlite3 - Un motor de bases de datos sencillo que se uso a menudo - - `sudo apt install sqlite3` +`sudo apt install graphviz` - - cheat - Chuletas de comandos habituales, se instala bajando el ejecutable - desde [su github](https://github.com/cheat/cheat/releases) +sqlite3 +Un motor de bases de datos sencillo que se uso a menudo - - cheat.sh - Echa una mirada a su página web: , es casi - idéntico al anterior pero disponible desde cualquier ordenador con - conexión. +`sudo apt install sqlite3` - - gparted - Instalamos *gparted* para poder formatear memorias usb - - `sudo apt install gparted` +cheat +Chuletas de comandos habituales, se instala bajando el ejecutable desde +[su github](https://github.com/cheat/cheat/releases) - - wkhtmltopdf - Para pasar páginas web a pdf - - `sudo apt install wkhtmltopdf` +cheat.sh +Echa una mirada a su página web: +http://cheat.sh/, es casi +idéntico al anterior pero disponible desde cualquier ordenador con +conexión. -# Internet +gparted +Instalamos *gparted* para poder formatear memorias usb -## Rclone +`sudo apt install gparted` + +wkhtmltopdf +Para pasar páginas web a pdf + +`sudo apt install wkhtmltopdf` + +Internet +======== + +Rclone +------ Instalamos desde la página web(https://rclone.org/), descargando el fichero `.deb`. @@ -609,31 +621,34 @@ Sincronizar una carpeta remota en local: ### Referencias - - [Como usar rclone +- [Como usar rclone (blogdelazaro)](https://elblogdelazaro.gitlab.io//articles/rclone-sincroniza-ficheros-en-la-nube/) - - [y con cifrado +- [y con cifrado (blogdelazaro)](https://elblogdelazaro.gitlab.io//articles/rclone-cifrado-de-ficheros-en-la-nube/) - - [Documentación](https://rclone.org/docs/) +- [Documentación](https://rclone.org/docs/) -# time-tracking +time-tracking +============= -## Activity Watcher +Activity Watcher +---------------- Instalado desde la web -## go for it +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. -``` {bash} -sudo add-apt-repository ppa:go-for-it-team/go-for-it-daily && sudo apt-get update -sudo apt-get install go-for-it -``` + sudo add-apt-repository ppa:go-for-it-team/go-for-it-daily && sudo apt-get update + sudo apt-get install go-for-it -# Documentación +Documentación +============= -## Vanilla LaTeX +Vanilla LaTeX +------------- Para instalar la versión más reciente de LaTeX hago la instalación desde [ctan](https://www.ctan.org/) @@ -752,13 +767,15 @@ Lanzador para el actualizador de *texlive*: Icon=system-software-update EOF -## Tipos de letra +Tipos de letra +-------------- Creamos el directorio de usuario para tipos de letra: mkdir ~/.local/share/fonts -## Fuentes Adicionales +Fuentes Adicionales +------------------- Me he descargado de internet la fuente [Mensch](https://robey.lag.net/downloads/mensch.ttf) el directorio de @@ -776,7 +793,8 @@ parece que las fuentes están un poco anticuadas. La fuente Hack la he instalado directamente desde el [sitio web](https://sourcefoundry.org/hack/) -## Pandoc +Pandoc +------ *Pandoc* es un traductor entre formatos de documento. Está escrito en Python y es increiblemente útil. De hecho este documento está escrito @@ -796,19 +814,21 @@ comandos: Las plantillas no son imprescindibles pero si quieres aprender a usarlas o hacer alguna modificación viene bien tenerlas. -## Algunos editores adicionales +Algunos editores adicionales +---------------------------- Dos editores para hacer pruebas: - - Obsidian - Instalado con *appimage* descargado desde la [página - web](https://obsidian.md/) +Obsidian +Instalado con *appimage* descargado desde la [página +web](https://obsidian.md/) - - Zettlr - Instalado con fichero `.deb` descargado desde [su página - web](https://www.zettlr.com/) +Zettlr +Instalado con fichero `.deb` descargado desde [su página +web](https://www.zettlr.com/) -## Calibre +Calibre +------- La mejor utilidad para gestionar tu colección de libros electrónicos. @@ -821,24 +841,25 @@ 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 +- 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 + - Marcamos las opciones Create collections y Delete empy collections - - Marcamos *Modify CSS* - - Update metadata on device y Set series information + - 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 +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 @@ -858,14 +879,14 @@ 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 +- 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*. @@ -881,19 +902,22 @@ 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. -## Foliate: lector de libros electrónicos +Foliate: lector de libros electrónicos +-------------------------------------- Instalado el paquete deb desde [su propio github](https://github.com/johnfactotum/foliate/releases) -# Desarrollo software +Desarrollo software +=================== -## Paquetes esenciales +Paquetes esenciales +------------------- Estos son los paquetes esenciales para empezar a desarrollar software en Linux. @@ -901,21 +925,20 @@ Linux. sudo apt install build-essential checkinstall make automake cmake autoconf \ git git-core git-crypt dpkg wget -## Git +Git +--- ------ +------------------------------------------------------------------------ **NOTA**: Si quieres instalar la última versión de git, los git developers tienen un ppa para ubuntu, si quieres tener el git más actualizado: -``` {bash} -sudo add-apt-repository ppa:git-core/ppa -sudo apt update -sudo apt upgrade -``` + sudo add-apt-repository ppa:git-core/ppa + sudo apt update + sudo apt upgrade ------ +------------------------------------------------------------------------ Control de versiones distribuido. Imprescindible. Para *Linux Mint* viene instalado por defecto. @@ -925,36 +948,38 @@ Configuración básica de git: git config --global ui.color auto git config --global user.name "Pepito Pérez" git config --global user.email "pperez@mikasa.com" - + git config --global alias.cl clone - + git config --global alias.st "status -sb" git config --global alias.last "log -1 --stat" git config --global alias.lg "log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %Cblue<%an>%Creset' --abbrev-commit --date=relative --all" git config --global alias.dc "diff --cached" - + git config --global alias.unstage "reset HEAD --" - + git config --global alias.ci commit git config --global alias.ca "commit -a" - + git config --global alias.ri "rebase -i" git config --global alias.ria "rebase -i --autosquash" git config --global alias.fix "commit --fixup" git config --global alias.squ "commit --squash" - + 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 +Emacs +----- Instalado emacs desde los repos: sudo aptitude install emacs -## Lenguaje de programación D (D programming language) +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 @@ -1006,26 +1031,25 @@ 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) -## C, C++ +C, C++ +------ ### Instalación de Gnu Global Para instalar las dependencias, previamente instalamos: -``` {shell} -sudo apt install ncurses-dev id-utils exuberant-ctags python-pygments -``` + sudo apt install ncurses-dev id-utils exuberant-ctags python-pygments Con `ctags --version` nos aseguramos de que se llama a Exuberant y no el ctags que instala Emacs. Si no es así habrá que revisar la definición @@ -1043,17 +1067,16 @@ esto se trata de la versión 6.6.4. Descomprimimos los fuentes y los compilamos con: -``` {shell} -./configure --prefix=/usr/local --with-exuberant-ctags=/usr/bin/ctags -make -sudo make install -``` + ./configure --prefix=/usr/local --with-exuberant-ctags=/usr/bin/ctags + 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` -## Processing +Processing +---------- Bajamos el paquete de la [página web](https://processing.org/), descomprimimimos en `~/apps/`, en las nuevas versiones incorpora un @@ -1062,7 +1085,8 @@ 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 +openFrameworks +-------------- Nos bajamos los fuentes para linux 64bits desde [la página web del proyecto](https://openframeworks.cc), y las descomprimimos en un @@ -1079,16 +1103,15 @@ contrario falla la compilación. Añade los siguientes paquetes a nuestro sistema -``` {bash} -installing OF dependencies -OF needs to install the following packages using apt-get: -curl libjack-jackd2-0 libjack-jackd2-dev freeglut3-dev libasound2-dev libxmu-dev libxxf86vm-dev g++ libgl1-mesa-dev libglu1-mesa-dev libraw1394-dev libudev-dev libdrm-dev libglew-dev libopenal-dev libsndfile-dev libfreeimage-dev libcairo2-dev libfreetype6-dev libssl-dev libpulse-dev libusb-1.0-0-dev libgtk-3-dev libopencv-dev libassimp-dev librtaudio-dev libboost-filesystem-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev gstreamer1.0-libav gstreamer1.0-pulseaudio gstreamer1.0-x gstreamer1.0-plugins-bad gstreamer1.0-alsa gstreamer1.0-plugins-base gstreamer1.0-plugins-good gdb libglfw3-dev liburiparser-dev libcurl4-openssl-dev libpugixml-dev libgconf-2-4 libgtk2.0-0 libpoco-dev -Do you want to continue? [Y/n] -``` + 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] No te olvides de compilar también el *Project Generator*. -## Python +Python +------ De partida tenemos instalado dos versiones: *python2* y *python3* @@ -1102,13 +1125,11 @@ 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 `python-is-python2`. -``` {bash} -python2 -V -Python 2.7.18rc1 + python2 -V + Python 2.7.18rc1 -python3 -V -Python 3.8.2 -``` + python3 -V + Python 3.8.2 ### Paquetes de python instalados @@ -1123,12 +1144,10 @@ dijimos conviene que instalemos los paquetes de desarrollo: Ademas añadimos las siguientes lineas al fichero `~/.profile`: -``` {bash{ -# WORKON_HOME for virtualenvwrapper -if [ -d "$HOME/.virtualenvs" ] ; then -WORKON_HOME="$HOME/.virtualenvs" -fi -``` + # WORKON_HOME for virtualenvwrapper + if [ -d "$HOME/.virtualenvs" ] ; then + WORKON_HOME="$HOME/.virtualenvs" + fi [Aquí](https://virtualenvwrapper.readthedocs.io/en/latest/command_ref.html) tenemos la referencia de comandos de *virtualenvwrapper*. @@ -1148,7 +1167,8 @@ Una instalación para pruebas. mkvirtualenv -p /usr/bin/python3 jupyter python -m pip install jupyter -## neovim +neovim +------ Vamos a probar *neovim*, ahora mismo la versión de los repos de Ubuntu está actualizada a la penúltima versión (0.4.3). También podemos @@ -1171,8 +1191,8 @@ añadiremos al fichero `init.vim`. Revisar [esto](https://neovim.io/doc/user/provider.html#provider-python) -| | -| :------------------------------------------------------------------- | +| | +|:---------------------------------------------------------------------| | **NOTA**: El siguiente paso ya no parece necesario, las alternativas | | se han actualizado con la instalación del *neovim*. | @@ -1193,52 +1213,49 @@ Ejecutamos: Configuramos el fichero de configuración de *nvim* (`~/.config/nvim/init.vim`): -``` -" Specify a directory for plugins -" - For Neovim: ~/.local/share/nvim/plugged -" - Avoid using standard Vim directory names like 'plugin' -call plug#begin('~/.local/share/nvim/plugged') - -if has('nvim') - Plug 'Shougo/deoplete.nvim', { 'do': ':UpdateRemotePlugins' } -else - Plug 'Shougo/deoplete.nvim' - Plug 'roxma/nvim-yarp' - Plug 'roxma/vim-hug-neovim-rpc' -endif + " Specify a directory for plugins + " - For Neovim: ~/.local/share/nvim/plugged + " - Avoid using standard Vim directory names like 'plugin' + call plug#begin('~/.local/share/nvim/plugged') -Plug 'deoplete-plugins/deoplete-jedi' + if has('nvim') + Plug 'Shougo/deoplete.nvim', { 'do': ':UpdateRemotePlugins' } + else + Plug 'Shougo/deoplete.nvim' + Plug 'roxma/nvim-yarp' + Plug 'roxma/vim-hug-neovim-rpc' + endif -" Initialize plugin system -call plug#end() + Plug 'deoplete-plugins/deoplete-jedi' -let g:deoplete#enable_at_startup = 1 + " Initialize plugin system + call plug#end() -" set python enviroments -let g:python_host_prog = '/full/path/to/neovim2/bin/python' -let g:python3_host_prog = '/home/salvari/.virtualenvs/neovim3/bin/python' + let g:deoplete#enable_at_startup = 1 -``` + " set python enviroments + let g:python_host_prog = '/full/path/to/neovim2/bin/python' + let g:python3_host_prog = '/home/salvari/.virtualenvs/neovim3/bin/python' La primera vez que abramos *nvim* tenemos que instalar los plugin porn comando ejecutando: `:PlugInstall` **Instalación de `dein`** -| | -| :----------------------------------------------------------------- | +| | +|:-------------------------------------------------------------------| | **Nota**: | | Solo hay que instalar uno de los dos o *dein* o *plug-vim*. Yo uso | | *plug-vim* así que esto es sólo una referencia. | - +https://github.com/Shougo/dein.vim " Add the dein installation directory into runtimepath set runtimepath+=~/.config/nvim/dein/repos/github.com/Shougo/dein.vim - + if dein#load_state('~/.config/nvim/dein') call dein#begin('~/.config/nvim/dein') - + call dein#add('~/.config/nvim/dein/repos/github.com/Shougo/dein.vim') call dein#add('Shougo/deoplete.nvim') call dein#add('Shougo/denite.nvim') @@ -1246,29 +1263,30 @@ comando ejecutando: `:PlugInstall` call dein#add('roxma/nvim-yarp') call dein#add('roxma/vim-hug-neovim-rpc') endif - + call dein#end() call dein#save_state() endif - + filetype plugin indent on syntax enable -## Firefox developer edition +Firefox developer edition +------------------------- El rollo de siempre, descargar desde [la página web](https://www.mozilla.org/en-US/firefox/developer/) descomprimir en `~/apps` y crear un lanzador. -## Navegadores cli +Navegadores cli +--------------- Herramientas útiles para depuración web -``` {bash} -sudo apt install httpie links -``` + sudo apt install httpie links -## MariaDB +MariaDB +------- Instalamos la última estable para Ubuntu Fossa desde los repos oficiales. @@ -1277,9 +1295,7 @@ Primero añadimos los repos. Añadimos la clave de firma: -``` {bash} -sudo apt-key adv --fetch-keys 'https://mariadb.org/mariadb_release_signing_key.asc' -``` + sudo apt-key adv --fetch-keys 'https://mariadb.org/mariadb_release_signing_key.asc' Ahora tenemos dos opciones: @@ -1325,7 +1341,8 @@ ordenador: sudo systemctl stop mariadb sudo systemctl disable mariadb -## Squirrel SQL Client +Squirrel SQL Client +------------------- Bajamos el zip de estándar desde [la página web de Squirrel](http://www.squirrelsql.org/) (yo prefiero no usar el @@ -1340,16 +1357,15 @@ página oficial. Nos interesa el fichero `maria-java-client-2.6.0.jar` Configuramos el driver para que sepa donde está el fichero `.jar` y ya estamos listos para trabajar. -## R y R-studio +R y R-studio +------------ Primero instalamos la última versión de R en nuestro pc: -``` {bash} -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 -``` + 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 ### R-studio @@ -1358,15 +1374,18 @@ web](https://rstudio.com/products/rstudio/download-server/debian-ubuntu/) Instalamos con *gdebi* (basta con clicar sobre el fichero *.deb*) -## Octave +Octave +------ Instalado desde flatpak sudo flatpak install flathub org.octave.Octave -# Desarrollo hardware +Desarrollo hardware +=================== -## Arduino IDE +Arduino IDE +----------- Bajamos los paquetes de la página [web](https://www.arduino.cc), descomprimimimos en *\~/apps/arduino*. @@ -1396,28 +1415,28 @@ Fichero `90-extraacl.rules` mete mi usario en el fichero de reglas (¬\_¬) # Setting serial port rules - + KERNEL=="ttyUSB[0-9]*", TAG+="udev-acl", TAG+="uaccess", OWNER="salvari" KERNEL=="ttyACM[0-9]*", TAG+="udev-acl", TAG+="uaccess", OWNER="salvari" Fichero `98-openocd.rules` # Adding Arduino M0/M0 Pro, Primo UDEV Rules for CMSIS-DAP port - + ACTION!="add|change", GOTO="openocd_rules_end" SUBSYSTEM!="usb|tty|hidraw", GOTO="openocd_rules_end" - + #Please keep this list sorted by VID:PID - + #CMSIS-DAP compatible adapters ATTRS{product}=="*CMSIS-DAP*", MODE="664", GROUP="plugdev" - + LABEL="openocd_rules_end" Fichero `avrisp.rules` # Adding AVRisp UDEV rules - + SUBSYSTEM!="usb_device", ACTION!="add", GOTO="avrisp_end" # Atmel Corp. JTAG ICE mkII ATTR{idVendor}=="03eb", ATTRS{idProduct}=="2103", MODE="660", GROUP="dialout" @@ -1425,22 +1444,22 @@ Fichero `avrisp.rules` ATTR{idVendor}=="03eb", ATTRS{idProduct}=="2104", MODE="660", GROUP="dialout" # Atmel Corp. Dragon ATTR{idVendor}=="03eb", ATTRS{idProduct}=="2107", MODE="660", GROUP="dialout" - + LABEL="avrisp_end" Fichero `40-defuse.rules`: # Adding STM32 bootloader mode UDEV rules - + # Example udev rules (usually placed in /etc/udev/rules.d) # Makes STM32 DfuSe device writeable for the "plugdev" group - + ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="0483", ATTRS{idProduct}=="df11", MODE="664", GROUP="plugdev", TAG+="uaccess" Fichero `99-arduino-101.rules`: # Arduino 101 in DFU Mode - + SUBSYSTEM=="tty", ENV{ID_REVISION}=="8087", ENV{ID_MODEL_ID}=="0ab6", MODE="0666", ENV{ID_MM_DEVICE_IGNORE}="1", ENV{ID_MM_CANDIDATE}="0" SUBSYSTEM=="usb", ATTR{idVendor}=="8087", ATTR{idProduct}=="0aba", MODE="0666", ENV{ID_MM_DEVICE_IGNORE}="1" @@ -1461,8 +1480,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* @@ -1473,9 +1492,9 @@ Bastaría con instalar *Arduino SAMD Boards* Tenemos varias URL posibles para configurar en las preferencias del IDE Arduino: - - +- http://dan.drown.org/stm32duino/package_STM32duino_index.json (recomendada por Tutoelectro) - - +- https://github.com/stm32duino/BoardManagerFiles/raw/master/STM32/package_stm_index.json (parece la oficial) He optado por añadir los dos ficheros json al IDE, la oficial tiene @@ -1489,27 +1508,28 @@ que nos dará soporte explícito para el st-link Lo probamos con el *Blink* y funciona perfectamente con las opciones de la [Figura 1](#figura_1) -![Opciones Arduino para STM32 con -st-link](src/img/stm32_arduino_opts.jpg "Menu Arduino desplegado") +
+Opciones Arduino para STM32 con st-link +
### Añadir soporte para ESP32 Añadimos las URL: - - - - +- https://dl.espressif.com/dl/package_esp32_index.json +- http://arduino.esp8266.com/stable/package_esp8266com_index.json Añadimos la librería: - - ESP32 (de espressif) +- ESP32 (de espressif) ### Añadir biblioteca de soporte para Makeblock ------ +------------------------------------------------------------------------ **Nota**: Pendiente de instalar ------ +------------------------------------------------------------------------ Clonamos el [repo oficial en github](https://github.com/Makeblock-official/Makeblock-Libraries). @@ -1526,13 +1546,14 @@ ver los ejemplos de *Makeblock*. Un detalle importante para programar el Auriga-Me es necesario seleccionar el micro Arduino Mega 2560 en el IDE Arduino. -## Pinguino IDE +Pinguino IDE +------------ ------ +------------------------------------------------------------------------ **Nota**: Pendiente de instalar ------ +------------------------------------------------------------------------ Tenemos el paquete de instalación disponible en su página [web](http://pinguino.cc/download.php) @@ -1548,54 +1569,50 @@ instalación y no lo crea automáticamente. El programa queda correctamente instalado en */opt* y arranca correctamente, habrá que probarlo con los micros. -## stm32 cubeide +stm32 cubeide +------------- 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 +- 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, +- 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 + - 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 +esp-idf +------- Instalamos las dependencias (cmake ya lo tenemos instalado) ------ +------------------------------------------------------------------------ **NOTA**: No es necesario instalar los paquetes de python que nos especifican en las instrucciones de instalación del *esp-idf*, se instalarán automáticamente en el siguiente paso. ------ +------------------------------------------------------------------------ -``` {bash} -sudo apt-get install gperf cmake ninja-build ccache libffi-dev libssl-dev -``` + sudo apt-get install gperf cmake ninja-build ccache libffi-dev libssl-dev Ahora creamos un directorio para nuestro *tool-chain*: -``` {bash} -mkdir ~/esp -cd ~/esp -git clone --recursive https://github.com/espressif/esp-idf -``` + mkdir ~/esp + cd ~/esp + git clone --recursive https://github.com/espressif/esp-idf También es necesario que nuestro usuario pertenezca al grupo `dialout`, pero eso ya deberíamos tenerlo hecho de antes. Una vez clonado el repo ejecutamos el script de instalación -``` {bash} -cd ~/esp/esp-idf -./install.sh -``` + cd ~/esp/esp-idf + ./install.sh Este script nos va a dejar instaladas todas las herramientas necesarias en el directorio `~/.expressif` @@ -1606,19 +1623,16 @@ Basta con editar la primera linea *shebang* del script. Estas son las bibliotecas que deja instaladas: -``` {bash} -Installing ESP-IDF tools -Installing tools: xtensa-esp32-elf, xtensa-esp32s2-elf, esp32ulp-elf, esp32s2ulp-elf, openocd-esp32 -``` + Installing ESP-IDF tools + Installing tools: xtensa-esp32-elf, xtensa-esp32s2-elf, esp32ulp-elf, esp32s2ulp-elf, openocd-esp32 Para empezar a trabajar bastará con hacer un *source* del fichero `~/apps/esp/esp-idf/export.sh`: -``` {bash} -. ~/apps/esp/esp-idf/export.sh -``` + . ~/apps/esp/esp-idf/export.sh -## KiCAD +KiCAD +----- En la [página web del proyecto](http://kicad-pcb.org/download/linux-mint/) nos recomiendan el @@ -1633,7 +1647,7 @@ descargarse. Algunas librerías alternativas: - - [Freetronics](https://github.com/freetronics/freetronics_kicad_library) +- [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 @@ -1642,11 +1656,12 @@ Algunas librerías alternativas: 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) +- [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. -## Analizador lógico +Analizador lógico +----------------- Mi analizador es un OpenBench de Seedstudio, [aquí hay mas info](http://dangerousprototypes.com/docs/Open_Bench_Logic_Sniffer) @@ -1655,9 +1670,7 @@ info](http://dangerousprototypes.com/docs/Open_Bench_Logic_Sniffer) Instalamos **Sigrok**, simplemente desde los repos de Debian: -``` {bash} -sudo aptitude install sigrok -``` + sudo aptitude install sigrok Al instalar **Sigrok** instalamos también **Pulseview**. @@ -1681,15 +1694,13 @@ página](https://www.sump.org/projects/analyzer/) y descomprimimos en Instalamos las dependencias: -``` {bash} -sudo apt install librxtx-java -``` + sudo apt install librxtx-java Editamos el fichero *\~/apps/Logic Analyzer/client/run.sh* y lo dejamos así: #!/bin/bash - + # java -jar analyzer.jar $* java -cp /usr/share/java/RXTXcomm.jar:analyzer.jar org.sump.analyzer.Loader @@ -1697,15 +1708,16 @@ Y ya funciona. ### OLS ------ +------------------------------------------------------------------------ **Nota**: Pendiente de instalar ------ +------------------------------------------------------------------------ [Página oficial](https://www.lxtreme.nl/ols/) -## IceStudio +IceStudio +--------- Instalamos dependencias con `sudo apt install xclip` @@ -1713,7 +1725,8 @@ Bajamos el *AppImage* desde el [github de IceStudio](https://github.com/FPGAwars/icestudio) y lo dejamos en `~/apps/icestudio` -## PlatformIO +PlatformIO +---------- ### VS Code @@ -1752,37 +1765,36 @@ Modificamos el fichero `~/.profile` añadiendo las siguientes lineas: fi Si quieres usar Platformio desde linea de comandos, es mejor activar -manualmente el entorno virtual con `source -~/.platformio/penv/bin/activate` +manualmente el entorno virtual con +`source ~/.platformio/penv/bin/activate` ### vscodium -``` {bash} -wget -qO - https://gitlab.com/paulcarroty/vscodium-deb-rpm-repo/raw/master/pub.gpg | sudo apt-key add - -echo 'deb https://gitlab.com/paulcarroty/vscodium-deb-rpm-repo/raw/repos/debs/ vscodium main' | sudo tee --append /etc/apt/sources.list.d/vscodium.list -sudo apt update && sudo apt install codium -``` + wget -qO - https://gitlab.com/paulcarroty/vscodium-deb-rpm-repo/raw/master/pub.gpg | sudo apt-key add - + echo 'deb https://gitlab.com/paulcarroty/vscodium-deb-rpm-repo/raw/repos/debs/ vscodium main' | sudo tee --append /etc/apt/sources.list.d/vscodium.list + sudo apt update && sudo apt install codium ### Editor Atom ------ +------------------------------------------------------------------------ *NOTA*: Parece que antes recomendaban instalar Atom para disponer del Platformio CLI, ahora en cambio recomiendan VS Code. ------ +------------------------------------------------------------------------ wget -qO - https://packagecloud.io/AtomEditor/atom/gpgkey | sudo apt-key add - 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 +RepRap +------ ### OpenScad -El OpenSCAD está disponible en los orígenes de software, así que `sudo -apt install openscad`. +El OpenSCAD está disponible en los orígenes de software, así que +`sudo apt install openscad`. ### Slic3r @@ -1827,42 +1839,42 @@ Clonamos el repo: Y ya lo tenemos todo listo para ejecutar. -## Cortadora de vinilos +Cortadora de vinilos +-------------------- ### Inkcut Instalado en un entorno virtual: -``` {bash} -mkvirtualenv -p `which python3` inkcut + mkvirtualenv -p `which python3` inkcut -sudo apt install libxml2-dev libxslt-dev libcups2-dev + sudo apt install libxml2-dev libxslt-dev libcups2-dev -pip install PyQt5 + pip install PyQt5 -pip install inkcut -``` + pip install inkcut ### Plugin para inkscape Instalamos dependencias: -``` {bash} -pip install python-usb -``` + pip install python-usb Instalamos el fichero `.deb` desde la web - +https://github.com/fablabnbg/inkscape-silhouette/releases -# Aplicaciones de gráficos +Aplicaciones de gráficos +======================== -## LibreCAD +LibreCAD +-------- Diseño en 2D sudo apt install librecad -## FreeCAD +FreeCAD +------- No hay ppa disponible para Ubuntu 20. @@ -1875,14 +1887,15 @@ Dejo la instalación desde ppa como recordatorio. sudo apt update sudo install freecad ------ +------------------------------------------------------------------------ **NOTA:** the ccx package brings CalculiX support to the FEM workbench, and needs to be installed separately. ------ +------------------------------------------------------------------------ -## Inkscape +Inkscape +-------- El programa libre para creación y edición de gráficos vectoriales. @@ -1890,17 +1903,16 @@ El programa libre para creación y edición de gráficos vectoriales. sudo apt update sudo apt install inkscape -## Gimp +Gimp +---- El programa para edición y retocado de imágenes. Parece que ahora mismo los repos están más actualizados que el ppa. Así que bastaría con: -``` {bash} -sudo apt install gimp gimp-data gimp-texturize \ -gimp-data-extras gimp-gap gmic gimp-gmic -``` + sudo apt install gimp gimp-data gimp-texturize \ + gimp-data-extras gimp-gap gmic gimp-gmic De todas formas dejo aquí las instrucciones para instalar desde el ppa por si hacen falta algún dia: @@ -1918,15 +1930,16 @@ Para instalar los principales plugins basta con: sudo apt install gimp-plugin-registry -| | -| :----------------------------------------------------------------------------------------------------------------------------------------- | +| | +|:-------------------------------------------------------------------------------------------------------------------------------------------| | Esta sección ya no está vigente | | \#\#\#\# resynthesizer | | Descargamos el plugin desde [aquí](https://github.com/bootchk/resynthesizer) y descomprimimos el fichero en `~/.config/GIMP/2.10/plug-ins` | | Tenemos que asegurarnos que los fichero *python* son ejecutables: | | \~\~\~\~ chmod 755 \~/.config/GIMP/2.10/plug-ins/\*.py \~\~\~\~ | -## Krita +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 @@ -1936,21 +1949,24 @@ Lo copiamos a `~/apps/krita` y creamos un lanzador con el editor de menús. Alternativamente también lo tenemos disponible por ppa en - +https://launchpad.net/~kritalime/+archive/ubuntu/ppa -## MyPaint +MyPaint +------- Desde el [github](https://github.com/mypaint/) tenemos disponible la última versión en formato *appimage*. La descargamos la dejamos en `~/apps` y creamos un acceso con *Menulibre*, como siempre. -## Alchemy +Alchemy +------- Igual que el *MyPaint* descargamos desde [la página web](http://al.chemy.org), descomprimimos en `~/apps` y creamos un accso con *Menulibre*. -## Capturas de pantalla +Capturas de pantalla +-------------------- El [*flameshot*](https://flameshot.js.org/#/) cubre el 99% de mis necesidades: `sudo apt install flameshot` @@ -1961,13 +1977,12 @@ hacer una captura con retardo lo instalé con un *appimage*. Shutter vuelve a estar disponible, al instalar desde este ppa ya queda con las opciones de edición habilitadas: -``` {bash} -sudo add-apt-repository ppa:linuxuprising/shutter -sudo apt update -sudo apt install shutter -``` + sudo add-apt-repository ppa:linuxuprising/shutter + sudo apt update + sudo apt install shutter -## Reoptimizar imágenes +Reoptimizar imágenes +-------------------- ### ImageMagick @@ -1980,13 +1995,15 @@ Instalamos desde los repos, simplemente: Nos bajamos un *AppImage* desde el [github](https://github.com/meowtec/Imagine/releases) de la aplicación -## dia +dia +--- Un programa para crear diagramas sudo apt install dia dia-shapes gsfonts-x11 -## Blender +Blender +------- Bajamos el Blender linkado estáticamente de [la página web](https://www.blender.org) y lo descomprimimos en `~/apps/blender`. @@ -1994,31 +2011,35 @@ web](https://www.blender.org) y lo descomprimimos en `~/apps/blender`. El paquete incluye un fichero `blender.desktop` que podemos editar y copiar en `~/.local/share/applications`. -## Structure Synth +Structure Synth +--------------- Instalado desde repos, junto con sunflow para explorar un poco. sudo apt install structure-synth sunflow -## Heron animation +Heron animation +--------------- El proyecto parece abandonado. El software ya no funciona en el último linux. -## Stopmotion +Stopmotion +---------- Primero probamos el del repo: `sudo apt install stopmotion` -## Instalación del driver digiment para tabletas gráficas Huion +Instalación del driver digiment para tabletas gráficas Huion +------------------------------------------------------------ He intentado un par de veces instalar con el fichero `deb` pero parece que no funciona. Para hacer la instalación via DKMS el truco está en: - - Dejar el código fuente en un directorio de la forma +- Dejar el código fuente en un directorio de la forma `/usr/src/-` - - Lanzar el `build` pero usando esta vez `/` +- 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), @@ -2026,12 +2047,10 @@ en el momento de escribir esto descargamos la versión V9. Descomprimimos en `/usr/src/digimend-9` -``` {bash} -cd /usr/src -sudo xvzf . -sudo dkms build digimend-kernel-drivers/9 -sudo dkms install digimend/9 -``` + cd /usr/src + sudo xvzf . + sudo dkms build digimend-kernel-drivers/9 + sudo dkms install digimend/9 Para comprobar: @@ -2040,15 +2059,18 @@ 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 +Sonido +====== -## Spotify +Spotify +------- Spotify instalado desde las opciones de Linux Mint via flatpak. -## Audacity +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 @@ -2066,15 +2088,18 @@ Añadimos ppa: Instalamos también el plugin [Chris’s Dynamic Compressor plugin](https://theaudacitytopodcast.com/chriss-dynamic-compressor-plugin-for-audacity/) -## Clementine +Clementine +---------- La version disponible en los orígenes de software parece al dia: sudo apt install clementine -# Video +Video +===== -## Shotcut +Shotcut +------- Nos bajamos la *AppImage* para Linux desde la [página web](https://www.shotcut.org/). @@ -2085,17 +2110,20 @@ La dejamos en `~/apps/shotcut` y: chmod 744 Shotcutxxxxxx.AppImage ./Shotcutxxxxxx.AppImage -## kdenlive +kdenlive +-------- Está disponible [en la web](https://kdenlive.org) como ppa o como *appimage*. Lo he bajado como *appimage* para probarlo. -## Openshot +Openshot +-------- También descargado desde [su web](https://www.openshot.org) como *appimage*, para probar. Tienen un ppa disponible. -## Grabación de screencast +Grabación de screencast +----------------------- ### Vokoscreen y Kazam @@ -2108,13 +2136,12 @@ Instalados desde los repos oficiales: Añadimos el repositorio -``` {bash} -sudo add-apt-repository ppa:obsproject/obs-studio -sudo apt update -sudo apt install obs-studio -``` + sudo add-apt-repository ppa:obsproject/obs-studio + sudo apt update + sudo apt install obs-studio -## Grabación de podcast +Grabación de podcast +-------------------- ### Mumble @@ -2129,9 +2156,11 @@ instrucciones por si lo corrigen. sudo apt update sudo apt install mumble -# Fotografía +Fotografía +========== -## Rawtherapee +Rawtherapee +----------- Bajamos el AppImage desde la [página web](http://rawtherapee.com/) al directorio `~/apps/rawtherapee`. @@ -2143,7 +2172,8 @@ directorio `~/apps/rawtherapee`. Al ejecutarla la primera vez ya se encarga la propia aplicación de integrarse en nuestro sistema. -## Darktable +Darktable +--------- Instalamos ppa (ver [esta web](https://software.opensuse.org/download/package?package=darktable&project=graphics%3Adarktable)) @@ -2159,14 +2189,17 @@ Se instala la última versión de Darktable (3.0.2) linux no le gustan los ficheros con un ‘:’ Revisa `/etc/apt/trusted.gpg.d/` -## Digikam +Digikam +------- Instalado desde la [página web](https://www.digikam.org/) de la aplicación con appimage. -# Seguridad +Seguridad +========= -## Autenticación en servidores por clave pública +Autenticación en servidores por clave pública +--------------------------------------------- Generar contraseñas para conexión servidores remotos: @@ -2182,21 +2215,24 @@ del servidor remoto. [¿Cómo funciona esto?](https://www.digitalocean.com/community/tutorials/understanding-the-ssh-encryption-and-connection-process) -## Claves gpg +Claves gpg +---------- `gpg --gen-key` Para generar nuestra clave. - - **Siempre** hay que ponerle una fecha de expiración, la puedes +- **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 escoger la máxima longitud posible -## Seahorse +Seahorse +-------- Para manejar todas nuestras claves con comodidad: `sudo apt install seahorse` -## Conexión a github con claves ssh +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. @@ -2244,7 +2280,8 @@ Ahora en los repos donde queramos usar ssh debemos cambiar el remote: git remote set-url origin git@github.com:$USER/$REPONAME.git -## Signal +Signal +------ El procedimiento recomendado en la página oficial: @@ -2252,13 +2289,14 @@ El procedimiento recomendado en la página oficial: echo "deb [arch=amd64] https://updates.signal.org/desktop/apt xenial main" | sudo tee -a /etc/apt/sources.list.d/signal-xenial.list sudo apt update && sudo apt install signal-desktop ------ +------------------------------------------------------------------------ **NOTA**: Parece que no funciona. Lo he instalado via *flatpack* ------ +------------------------------------------------------------------------ -## Lector DNI electrónico +Lector DNI electrónico +---------------------- Instalamos: @@ -2285,7 +2323,7 @@ Si insertamos el lector veremos algo como esto: Waiting for the first reader...found one Scanning present readers... 0: C3PO LTC31 v2 (11061005) 00 00 - + Wed Jan 25 01:17:20 2017 Reader 0: C3PO LTC31 v2 (11061005) 00 00 Card state: Card removed, @@ -2305,32 +2343,32 @@ Y además: aptitude install pinentry-gtk2 opensc -# Virtualizaciones y contenedores +Virtualizaciones y contenedores +=============================== -## Instalación de *virtualBox* +Instalación de *virtualBox* +--------------------------- Lo hacemos con los origenes de software oficiales (alternativamente, podríamos hacerlo manualmente): # Importamos la clave gpg wget -q https://www.virtualbox.org/download/oracle_vbox_2016.asc -O- | sudo apt-key add - - + # Añadimos el nuevo origen de software sudo add-apt-repository "deb [arch=amd64] https://download.virtualbox.org/virtualbox/debian $(. /etc/os-release; echo "$UBUNTU_CODENAME") contrib" - + # Actualizamos la base de datos de paquetes sudo apt update Ahora podemos comprobar que además del paquete *virtualbox* tenemos varios paquetes con número de versión (p.ej. \_virtualbox.6.1), estos -últimos son los que hemos añadido (compruebalo con `apt-cache policy -[nombrepaquete]`) +últimos son los que hemos añadido (compruebalo con +`apt-cache policy [nombrepaquete]`) Instalamos el que nos interesa: -``` {bash} -sudo apt install virtualbox-6.1 -``` + sudo apt install virtualbox-6.1 **ATENCIÓN** @@ -2348,13 +2386,14 @@ Sólo nos queda añadir nuestro usuario al grupo `vboxusers`, con el comando `sudo gpasswd -a username vboxusers`, y tendremos que cerrar la sesión para refrescar nuestros grupos. -## qemu +qemu +---- Un par de comprobaciones previas: - - El comando `egrep -c '(vmx|svm)' /proc/cpuinfo` debe devolvernos un +- 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 +- 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`) @@ -2363,44 +2402,45 @@ Instalamos desde el repo oficial: sudo apt install qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils virtinst virt-manager sudo apt install virt-viewer - - qemu-kvm - nos da la emulación hardware para el hipervisor KVM +qemu-kvm +nos da la emulación hardware para el hipervisor KVM - - libvirt-daemon-system - los ficheros de configuración para ejecutar el demonio `libvirt` - como servicio +libvirt-daemon-system +los ficheros de configuración para ejecutar el demonio `libvirt` como +servicio - - libvirt-clients - software para gestionar plataformas de virtualización +libvirt-clients +software para gestionar plataformas de virtualización - - bridge-utils - utilidades de linea de comandos para configurar bridges ethernet +bridge-utils +utilidades de linea de comandos para configurar bridges ethernet - - virtinst - utilidades de linea de comandos para crear máquinas virtuales +virtinst +utilidades de linea de comandos para crear máquinas virtuales - - virt-manager - un interfaz gráfico junto con utilidades de linea de comandos para - gestionar máquinas virtuales a través de *libvirt* +virt-manager +un interfaz gráfico junto con utilidades de linea de comandos para +gestionar máquinas virtuales a través de *libvirt* Solo queda añadir nuestro usuario a los grupos: sudo gpasswd -a username libvirt sudo gpasswd -a username kvm -Podemos comprobar el estado del servicio con `scs libvirtd` (`systemctl -status libvirtd`). +Podemos comprobar el estado del servicio con `scs libvirtd` +(`systemctl status libvirtd`). ### Referencias - - [How to install KVM on Ubuntu 20.04 Graphical & headless +- [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](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 +Docker +------ Tenemos que añadir el repositorio correspondiente a nuestra distribución: @@ -2409,27 +2449,27 @@ distribución: sudo apt remove docker docker-engine docker.io sudo apt autoremove sudo apt update - + # Install pre-requisites sudo apt install ca-certificates curl - + # Import the GPG key - + curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - - + # Next, point the package manager to the official Docker repository - + sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(. /etc/os-release; echo "$UBUNTU_CODENAME") stable" - + # Update the package database - + sudo apt update # - + apt-cache policy docker-ce - + sudo apt install docker-ce - + sudo gpasswd -a username docker Esto dejará el servicio *docker* funcionando y habilitado (arrancará en @@ -2437,11 +2477,9 @@ cada reinicio del ordenador) La forma de pararlo es: -``` {bash} -sudo systemctl stop docker -sudo systemctl disable docker -systemctl status docker -``` + sudo systemctl stop docker + sudo systemctl disable docker + systemctl status docker Añadimos el *bundle* **docker** en nuestro fichero `~/.zshrc` para tener autocompletado en comandos de docker. @@ -2449,24 +2487,24 @@ autocompletado en comandos de docker. Para usar *docker* tendremos que arrancarlo, con los alias de nuestro sistema para *systemd* ejecutamos: -``` {bash} -scst docker # para arrancar el servicio + scst docker # para arrancar el servicio -scsp docker # para parar el servicio -``` + scsp docker # para parar el servicio ### docker-compose - - Nos bajamos la última versión disponible de [las releases de +- 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 +- 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` +- Y le damos permisos de ejecución + `sudo chmod +x /usr/local/bin/docker-compose` -# Utilidades para mapas y cartografía +Utilidades para mapas y cartografía +=================================== -## josm +josm +---- Descargamos y añadimos la clave gpg: @@ -2488,7 +2526,8 @@ siguiente comando, pero tendréis actualizaciones diarias: Ya estamos listos para editar Open Street Map offline. -## MOBAC +MOBAC +----- Bajamos el paquete desde [la página web](http://mobac.sourceforge.net/) y descomprimimos en `~/apps/mobac` como de costumbre nos creamos una @@ -2502,7 +2541,8 @@ wiki](http://mobac.sourceforge.net/wiki/index.php/Custom_XML_Map_Sources) \*\[Cartografía digital\] (https://digimapas.blogspot.com.es/2015/01/oruxmaps-vii-mapas-de-mobac.html) -## QGIS +QGIS +---- Añadimos la clave gpg: @@ -2519,30 +2559,34 @@ E instalamos como siempre ### Referencias - - [Conectar WMS con +- [Conectar WMS con QGIS](https://mappinggis.com/2015/09/como-conectar-con-servicios-wms-y-wfs-con-arcgis-qgis-y-gvsig/) - - [Importar OSM en +- [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 +- [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 +Recetas variadas +================ -## Añadir las claves GPG de un repo +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 +Solucionar problemas de menús duplicados usando menulibre +--------------------------------------------------------- -| | -| :------------------------------ | +| | +|:--------------------------------| | **Nota**: Ya no uso *MenuLibre* | En el directorio `~/.config/menus/applications-merged` borramos todos los ficheros que haya. -## Formatear memoria usb +Formatear memoria usb +--------------------- “The driver descriptor says the physical block size is 2048 bytes, but Linux says it is 512 bytes.” @@ -2576,20 +2620,22 @@ 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 +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'` +`cat /home/tim/.ssh/id_rsa.pub | ssh tim@just.some.other.server 'cat >> .ssh/authorized_keys'` O también: `ssh-copy-id -i ~/.ssh/id_rsa.pub username@remote.server` -## ssh access from termux +ssh access from termux +---------------------- - +https://linuxconfig.org/ssh-into-linux-your-computer-from-android-with-termux -## SDR instalaciones varias +SDR instalaciones varias +------------------------ Vamos a trastear con un dispositivo [RTL-SDR.com](https://www.rtl-sdr.com/). @@ -2605,14 +2651,15 @@ 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 +- 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 +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 @@ -2644,7 +2691,8 @@ https://starter-kit.nettigo.eu/2015/serial-port-busy-for-avrdude-on-ubuntu-with- https://www.codeproject.com/Tips/349002/Select-a-USB-Serial-Device-via-its-VID-PID -## Programar los nanos con chip ch340 o ch341 +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” @@ -2658,14 +2706,15 @@ que escoger: Y ya funciona todo. -## Linux Mint 20 es *python agnostic* +Linux Mint 20 es *python agnostic* +---------------------------------- En principio no podemos invocar a `python` por que no se ha escogido una versión por defecto. Tenemos dos opciones: -``` {bash} -apt install python-is-python2 -apt install python-is-python3 -``` + apt install python-is-python2 + apt install python-is-python3 + +“test” diff --git a/makefile b/makefile index ef90748..068021a 100644 --- a/makefile +++ b/makefile @@ -11,12 +11,20 @@ target := LinuxMintUlyana mainfont := 'Ubuntu' monofont := 'Ubuntu Mono' -pdf_opt := -t markdown-smart --standalone --variable geometry:a4paper --variable lang=$(lang) \ - --number-sections --toc --from=markdown --to latex --pdf-engine=xelatex \ - --variable colorlinks \ +pdf_opt := --standalone \ + --variable geometry:a4paper \ + --variable lang=$(lang) \ --variable mainfont=$(mainfont) \ --variable monofont=$(monofont) \ --variable fontsize='12pt' \ + --variable colorlinks \ + --toc \ + --number-sections \ + --from=markdown \--to latex \ + --pdf-engine=xelatex \ + + + ## Recipes for targets @@ -88,11 +96,11 @@ README.md: $(sources) $(sources) clean: - rm -f $(output)/*.pdf - rm -f $(output)/*.tex - rm -f $(output)/*.mw - rm -f $(output)/*.dw - rm -f $(output)/*.epub - rm -f $(output)/*.odt - rm -f $(output)/*.docx - rm -r README.md + -rm -f $(output)/*.pdf + -rm -f $(output)/*.tex + -rm -f $(output)/*.mw + -rm -f $(output)/*.dw + -rm -f $(output)/*.epub + -rm -f $(output)/*.odt + -rm -f $(output)/*.docx + -rm -r README.md diff --git a/out/LinuxMintUlyana.dw b/out/LinuxMintUlyana.dw index 94fee8f..ce71259 100644 --- a/out/LinuxMintUlyana.dw +++ b/out/LinuxMintUlyana.dw @@ -2334,3 +2334,4 @@ Tenemos dos opciones: apt install python-is-python2 apt install python-is-python3 +“test” diff --git a/out/LinuxMintUlyana.epub b/out/LinuxMintUlyana.epub index a77b2c7..1fe215c 100644 Binary files a/out/LinuxMintUlyana.epub and b/out/LinuxMintUlyana.epub differ diff --git a/out/LinuxMintUlyana.mw b/out/LinuxMintUlyana.mw index b4e97ce..f6c2ae1 100644 --- a/out/LinuxMintUlyana.mw +++ b/out/LinuxMintUlyana.mw @@ -53,7 +53,7 @@ Yo nunca almaceno esta información en la nube, pero me permite tener controlado ¡Ojo!, nos hacemos root para ejecutar: -
sudo su -
+
sudo su -
 git config --global user.email xxxxx@whatever.com
 git config --global user.name "Name Surname"
 apt install etckeeper
@@ -61,7 +61,7 @@ apt install etckeeper
Para echar una mirada a los ''commits'' creados puedes ejecutar: -
cd /etc
+
cd /etc
 sudo git log
=== Controlar dotfiles con git === @@ -69,7 +69,7 @@ Vamos a crear un repo de git para controlar nuestros ficheros personales de conf Creamos el repo donde queramos -
mkdir usrcfg
+
mkdir usrcfg
 cd usrcfg
 git init
 git config core.worktree "/home/salvari"
@@ -77,7 +77,7 @@ Y ya lo tenemos, un repo que tiene el directorio de trabajo apuntando a nuestro Podemos añadir los ficheros de configuración que queramos al repo: -
git add .bashrc
+
git add .bashrc
 git commit -m "Add some dotfiles"
Una vez que tenga añadidos los ficheros que quiero tener controlados pondré * en el fichero .git/info/exclude de mi repo para que ignore todos los ficheros de mi $HOME. @@ -93,7 +93,7 @@ El area de intercambio la hemos creado en el disco duro hdd, no se usará mucho Añadimos el parámetro noatime para las particiones de root y /home, que si que se han creado en el ssd. -
# /etc/fstab: static file system information.
+
# /etc/fstab: static file system information.
 #
 # Use 'blkid' to print the universally unique identifier for a
 # device; this may be used with UUID= as a more robust way to name devices
@@ -112,7 +112,7 @@ UUID=ce11ccb0-a67d-4e8b-9456-f49a52974160 none            swap    sw
 UUID=11090d84-ce98-40e2-b7be-dce3f841d7b4 none            swap    sw              0       0
Una vez modificado el /etc/fstab no hace falta arrancar, basta con ejecutar lo siguiente: -
mount -o remount /
+
mount -o remount /
 mount -o remount /home
 mount
=== Ajustar ''Firefox'' === @@ -136,7 +136,7 @@ TODO: Comprobar ''trim'' en mi disco duro. Y mirar [https://easylinuxtipsproject Instalamos algunas fuentes desde los orígenes de software: -
sudo apt install ttf-mscorefonts-installer
+
sudo apt install ttf-mscorefonts-installer
 sudo apt install fonts-noto
Y la fuente [https://robey.lag.net/2010/06/21/mensch-font.html Mensch] la bajamos directamente al directorio ~/.local/share/fonts @@ -144,7 +144,7 @@ Y la fuente [https://robey.lag.net/2010/06/21/mensch-font.html Mensch] la bajamo ufw y gufw vienen instalados por defecto, pero no activados. -
aptitude install ufw
+
aptitude install ufw
 ufw default deny
 ufw enable
 ufw status verbose
@@ -204,7 +204,7 @@ Son útiles para control de consumo.
 
 Dos imprescindibles:
 
-
sudo apt install guake terminator
+
sudo apt install guake terminator
''terminator'' lo dejamos como aplicación terminal preferida del sistema. '''TODO:''' asociar ''Guake'' a una combinación apropiada de teclas. @@ -216,7 +216,7 @@ También instalo ''rxvt'' para tener una alternativa ligera al ''terminator''. ''tmux'' combinado por ejemplo con ''rxvt'' nos da la misma funcionalidad que ''Terminator'', además merece la pena aprender a usarlo por que instalado en servidores remotos es increíblemente útil. -
sudo apt install tmux
+
sudo apt install tmux
[https://leanpub.com/the-tao-of-tmux/read El tao de tmux] [https://www.askapache.com/linux/rxvt-xresources/ rxvt customizations] == Dropbox == @@ -2035,3 +2035,4 @@ Tenemos dos opciones:
apt install python-is-python2
 apt install python-is-python3
+“test” diff --git a/out/LinuxMintUlyana.odt b/out/LinuxMintUlyana.odt index 95f90fa..af31c7a 100644 Binary files a/out/LinuxMintUlyana.odt and b/out/LinuxMintUlyana.odt differ diff --git a/out/LinuxMintUlyana.pdf b/out/LinuxMintUlyana.pdf index 221cb1e..3c75b96 100644 Binary files a/out/LinuxMintUlyana.pdf and b/out/LinuxMintUlyana.pdf differ diff --git a/out/LinuxMintUlyana.tex b/out/LinuxMintUlyana.tex index 588727f..b8e4949 100644 --- a/out/LinuxMintUlyana.tex +++ b/out/LinuxMintUlyana.tex @@ -44,6 +44,8 @@ pdftitle={Bitácora Linux Mint Ulyana 20}, 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, @@ -3508,4 +3510,6 @@ apt install python-is-python2 apt install python-is-python3 \end{verbatim} +``test'' + \end{document} diff --git a/src/100_intro.md b/src/100_intro.md index 3908717..a460a34 100644 --- a/src/100_intro.md +++ b/src/100_intro.md @@ -5,11 +5,13 @@ author: tags: [LinuxMint, Pandoc, Documentación, makefile, git] date: junio-2020 lang: es-ES +subject: Linux Mint 20.4 Ulyana +keywords: linux, postinstalación, mint, ulyana abstract: | Bitácora de mi portatil Solo para referencia rápida y personal. ---- +... # Introducción diff --git a/src/200_basics.md b/src/200_basics.md index e7c0e8c..3d1d365 100644 --- a/src/200_basics.md +++ b/src/200_basics.md @@ -44,7 +44,7 @@ controlados los cambios de configuración y ayuda en caso de problemas. ¡Ojo!, nos hacemos `root` para ejecutar: -~~~~ +~~~~{bash} sudo su - git config --global user.email xxxxx@whatever.com git config --global user.name "Name Surname" @@ -56,7 +56,7 @@ configuración en `/etc` Para echar una mirada a los _commits_ creados puedes ejecutar: -~~~~ +~~~~{bash} cd /etc sudo git log ~~~~ @@ -68,7 +68,7 @@ personales de configuración. Creamos el repo donde queramos -~~~~ +~~~~{bash} mkdir usrcfg cd usrcfg git init @@ -80,7 +80,7 @@ a nuestro _$HOME_. Podemos añadir los ficheros de configuración que queramos al repo: -~~~~ +~~~~{bash} git add .bashrc git commit -m "Add some dotfiles" ~~~~ @@ -109,7 +109,7 @@ tirar del swap. Añadimos el parámetro `noatime` para las particiones de `root` y `/home`, que si que se han creado en el ssd. -~~~~ +~~~~{fstab} # /etc/fstab: static file system information. # # Use 'blkid' to print the universally unique identifier for a @@ -132,7 +132,7 @@ UUID=11090d84-ce98-40e2-b7be-dce3f841d7b4 none swap sw Una vez modificado el `/etc/fstab` no hace falta arrancar, basta con ejecutar lo siguiente: -~~~~ +~~~~{bash} mount -o remount / mount -o remount /home mount @@ -163,7 +163,7 @@ TODO: Comprobar _trim_ en mi disco duro. Y mirar Instalamos algunas fuentes desde los orígenes de software: -~~~~ +~~~~{bash} sudo apt install ttf-mscorefonts-installer sudo apt install fonts-noto ~~~~ @@ -176,7 +176,7 @@ directamente al directorio `~/.local/share/fonts` `ufw` y `gufw` vienen instalados por defecto, pero no activados. -~~~~ +~~~~{bash} aptitude install ufw ufw default deny ufw enable @@ -269,7 +269,7 @@ sudo apt install tlp tlp-rdw htop powertop Dos imprescindibles: -~~~~ +~~~~{bash} sudo apt install guake terminator ~~~~ @@ -287,7 +287,7 @@ sudo apt install rxvt-unicode _tmux_ combinado por ejemplo con _rxvt_ nos da la misma funcionalidad que _Terminator_, además merece la pena aprender a usarlo por que instalado en servidores remotos es increíblemente útil. -~~~~ +~~~~{bash} sudo apt install tmux ~~~~ diff --git a/src/850_recipes.md b/src/850_recipes.md index 4104aa5..0559ccf 100644 --- a/src/850_recipes.md +++ b/src/850_recipes.md @@ -140,3 +140,5 @@ Tenemos dos opciones: apt install python-is-python2 apt install python-is-python3 ~~~~ + +"test"