|
|
|
|
# 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
|
|
|
|
|
|
|
|
|
|
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
|
|
|
|
|
|
|
|
|
|
# Instalación de Linux Mint
|
|
|
|
|
|
|
|
|
|
Lanzamos el programa de instalación desde una memoria USB con la ISO de
|
|
|
|
|
la versión Mate.
|
|
|
|
|
|
|
|
|
|
Al arrancar el USB podemos conectarnos a internet (en mi caso, me
|
|
|
|
|
conecto a la wifi)
|
|
|
|
|
|
|
|
|
|
Mis opciones de instalación:
|
|
|
|
|
|
|
|
|
|
- Escojo el idioma *Inglés* (manias mias, suelo dejar mi Linux en
|
|
|
|
|
inglés)
|
|
|
|
|
- Teclado: *Español*
|
|
|
|
|
- Marco la opción de instalar codecs
|
|
|
|
|
|
|
|
|
|
Generalmente hago particiones:
|
|
|
|
|
|
|
|
|
|
- 540 Mb para EFI (opcional, si desactivas UEFI en la Bios no te hace
|
|
|
|
|
falta)
|
|
|
|
|
- 70 Gb para *root*, es decir `/`
|
|
|
|
|
- El resto del disco SSD para `/home`
|
|
|
|
|
- El disco HDD lo monto en una sola partición en `/store`
|
|
|
|
|
|
|
|
|
|
# Programas básicos
|
|
|
|
|
|
|
|
|
|
Lo primero de todo es hacer una actualización completa del sistema:
|
|
|
|
|
|
|
|
|
|
``` bash
|
|
|
|
|
sudo apt update
|
|
|
|
|
sudo apt upgrade
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
## 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.
|
|
|
|
|
|
|
|
|
|
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
|
|
|
|
|
Linux Mint se encargó de instalar:
|
|
|
|
|
|
|
|
|
|
- `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
|
|
|
|
|
de los drivers.
|
|
|
|
|
|
|
|
|
|
El driver de Nvidia viene muy mejorado. Merece la pena ver todas las
|
|
|
|
|
opciones del menú del driver.
|
|
|
|
|
|
|
|
|
|
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]`. También podremos
|
|
|
|
|
acceder a las funciones de Nvidia a través del applet en la barra de
|
|
|
|
|
estado de nuestro escritorio.
|
|
|
|
|
|
|
|
|
|
Además de los drivers adicionales, Linux Mint nos dirá que tiene que
|
|
|
|
|
instalar unos paquetes de idioma, los instalamos.
|
|
|
|
|
|
|
|
|
|
## 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:
|
|
|
|
|
|
|
|
|
|
``` bash
|
|
|
|
|
sudo su -
|
|
|
|
|
git config --global init.defaultBranch main
|
|
|
|
|
git config --global user.email xxxxx@whatever.com
|
|
|
|
|
git config --global user.name "Name Surname"
|
|
|
|
|
apt install etckeeper
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
*etckeeper* hara un control automático de tus ficheros de configuración
|
|
|
|
|
en `/etc`
|
|
|
|
|
|
|
|
|
|
Para echar una mirada a los *commits* creados puedes ejecutar:
|
|
|
|
|
|
|
|
|
|
``` bash
|
|
|
|
|
cd /etc
|
|
|
|
|
sudo git log
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
### Controlar dotfiles con git
|
|
|
|
|
|
|
|
|
|
Vamos a crear un repo de git para controlar nuestros ficheros personales
|
|
|
|
|
de configuración.
|
|
|
|
|
|
|
|
|
|
Creamos el repo donde queramos, yo suelo usar el directorio
|
|
|
|
|
`~/work/repos`.
|
|
|
|
|
|
|
|
|
|
``` bash
|
|
|
|
|
mkdir usrcfg
|
|
|
|
|
cd usrcfg
|
|
|
|
|
git init
|
|
|
|
|
git config core.worktree "/home/salvari"
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
Y ya lo tenemos, un repo de git, en la localización que queramos y que
|
|
|
|
|
tiene el directorio de trabajo apuntando a nuestro *\$HOME*.
|
|
|
|
|
|
|
|
|
|
Podemos añadir los ficheros de configuración que queramos al repo:
|
|
|
|
|
|
|
|
|
|
``` bash
|
|
|
|
|
git add .bashrc
|
|
|
|
|
git commit -m "Add some dotfiles"
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
Una vez que tenga añadidos los ficheros que quiero tener controlados
|
|
|
|
|
pondré `*` en el fichero `.git/info/exclude` de mi repo para que ignore
|
|
|
|
|
todos los ficheros de mi `$HOME`.
|
|
|
|
|
|
|
|
|
|
Cuando instalo algún programa nuevo añado a mano los ficheros de
|
|
|
|
|
configuración que quiero tener controlados al repo.
|
|
|
|
|
|
|
|
|
|
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.
|
|
|
|
|
|
|
|
|
|
## Parámetros de disco duro
|
|
|
|
|
|
|
|
|
|
Tengo un disco duro ssd y otro hdd normal.
|
|
|
|
|
|
|
|
|
|
El area de intercambio la hemos creado en el disco duro hdd, no se usará
|
|
|
|
|
mucho (mejor dicho: no se usará nunca) pero evitamos multiples
|
|
|
|
|
operaciones de escritura en el disco ssd en caso de que se empiece a
|
|
|
|
|
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
|
|
|
|
|
# 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).
|
|
|
|
|
#
|
|
|
|
|
# <file system> <mount point> <type> <options> <dump> <pass>
|
|
|
|
|
# / 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
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
Una vez modificado el `/etc/fstab` no hace falta arrancar, basta con
|
|
|
|
|
ejecutar lo siguiente:
|
|
|
|
|
|
|
|
|
|
``` bash
|
|
|
|
|
mount -o remount /
|
|
|
|
|
mount -o remount /home
|
|
|
|
|
mount
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
### Ajustes adicionales para *Firefox*
|
|
|
|
|
|
|
|
|
|
Las diferencias de rendimiento del Firefox con estos ajustes son
|
|
|
|
|
bastante notables.
|
|
|
|
|
|
|
|
|
|
Seguimos [esta
|
|
|
|
|
referencia](https://easylinuxtipsproject.blogspot.com/p/ssd.html#ID10)
|
|
|
|
|
|
|
|
|
|
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**
|
|
|
|
|
|
|
|
|
|
TODO: Comprobar *trim* en mi disco duro. Y mirar
|
|
|
|
|
[esto](https://easylinuxtipsproject.blogspot.com/p/speed-mint.html)
|
|
|
|
|
|
|
|
|
|
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)
|
|
|
|
|
|
|
|
|
|
Reiniciamos nuestro *Firefox* (podemos visitar `about:restartRequired`)
|
|
|
|
|
|
|
|
|
|
## Fuentes (tipográficas) adicionales
|
|
|
|
|
|
|
|
|
|
Instalamos algunas fuentes desde los orígenes de software:
|
|
|
|
|
|
|
|
|
|
``` bash
|
|
|
|
|
sudo apt install ttf-mscorefonts-installer
|
|
|
|
|
sudo apt install fonts-noto
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
Y la fuente [Mensch](https://robey.lag.net/2010/06/21/mensch-font.html)
|
|
|
|
|
la bajamos directamente al directorio `~/.local/share/fonts`
|
|
|
|
|
|
|
|
|
|
Puede ser conveniente instalar el paquete *font-manager*
|
|
|
|
|
(`sudo apt install font-manager`), sólo lo uso para visualizar fuentes,
|
|
|
|
|
no para hacer configuración.
|
|
|
|
|
|
|
|
|
|
Instaladas varias de las
|
|
|
|
|
[nerd-fonts](https://github.com/ryanoasis/nerd-fonts) en
|
|
|
|
|
`~/.local/share/fonts`. Simplemente descargamos las fuentes interesantes
|
|
|
|
|
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)
|
|
|
|
|
|
|
|
|
|
## Firewall
|
|
|
|
|
|
|
|
|
|
`ufw` y `gufw` vienen instalados por defecto, pero no activados.
|
|
|
|
|
|
|
|
|
|
``` bash
|
|
|
|
|
aptitude install ufw
|
|
|
|
|
ufw default deny
|
|
|
|
|
ufw enable
|
|
|
|
|
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
|
|
|
|
|
|
|
|
|
|
> **Nota**: Ya no instalamos *menulibre*, Linux Mint tiene una utilidad
|
|
|
|
|
> de edición de menús.
|
|
|
|
|
|
|
|
|
|
KeepassXC
|
|
|
|
|
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.
|
|
|
|
|
|
|
|
|
|
Deluge
|
|
|
|
|
Programa de descarga de torrents (acuérdate de configurar tus
|
|
|
|
|
cortafuegos)
|
|
|
|
|
|
|
|
|
|
rsync, grsync
|
|
|
|
|
Para hacer backups de nuestros ficheros
|
|
|
|
|
|
|
|
|
|
Descompresores variados
|
|
|
|
|
Para lidiar con los distintos formatos de ficheros comprimidos
|
|
|
|
|
|
|
|
|
|
mc
|
|
|
|
|
Midnight Comander, gestor de ficheros en modo texto
|
|
|
|
|
|
|
|
|
|
most
|
|
|
|
|
Un `less` mejorado
|
|
|
|
|
|
|
|
|
|
tree
|
|
|
|
|
Para ver estructuras de directorios
|
|
|
|
|
|
|
|
|
|
neofetch
|
|
|
|
|
Este solo vale para presumir de ordenador creo ¬\_¬
|
|
|
|
|
|
|
|
|
|
fasd
|
|
|
|
|
Para cambiar entre directorios rápidamente
|
|
|
|
|
|
|
|
|
|
silversearcher-ag
|
|
|
|
|
Una alternativa mejorada al clásico *grep*
|
|
|
|
|
|
|
|
|
|
ack
|
|
|
|
|
Otro grep mejorado
|
|
|
|
|
|
|
|
|
|
ncdu
|
|
|
|
|
Un analizador de uso de disco alternativa a `du`
|
|
|
|
|
|
|
|
|
|
mate-tweak
|
|
|
|
|
Para *customizar* nuestro escritorio Mate
|
|
|
|
|
|
|
|
|
|
filezilla
|
|
|
|
|
Un interfaz gráfico para transferencia de ficheros
|
|
|
|
|
|
|
|
|
|
rofi
|
|
|
|
|
Un conmutador de ventanas capaz de automatizar muchas tareas
|
|
|
|
|
|
|
|
|
|
Chromium
|
|
|
|
|
Como Chrome pero libre, en Linux Mint no hay snaps, puedes instalarlo
|
|
|
|
|
directamente con `apt`
|
|
|
|
|
|
|
|
|
|
Para instalar todos los programas ejecutamos:
|
|
|
|
|
|
|
|
|
|
sudo apt install keepassxc gnucash deluge rsync grsync rar unrar \
|
|
|
|
|
zip unzip unace bzip2 lzop p7zip p7zip-full p7zip-rar \
|
|
|
|
|
most mc tree neofetch fasd silversearcher-ag ack 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
|
|
|
|
|
|
|
|
|
|
**btop** también está muy bien, así que descargamos los binarios desde
|
|
|
|
|
[su página web](https://github.com/aristocratos/btop) dentro del binario
|
|
|
|
|
tenemos el ejecutable y un fichero `.desktop`. En mi caso hago una
|
|
|
|
|
cutre-instalación con el ejecutable en `~/.local/bin` y el fichero
|
|
|
|
|
`.desktop` copiado en mi `~/.local/share/applications` (ver la sección
|
|
|
|
|
[Varias aplicaciones instaladas de
|
|
|
|
|
binarios](#varias-aplicaciones-instaladas-de-binarios))
|
|
|
|
|
|
|
|
|
|
## Programas de terminal
|
|
|
|
|
|
|
|
|
|
Antes instalaba dos programas de terminal:
|
|
|
|
|
|
|
|
|
|
``` bash
|
|
|
|
|
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.
|
|
|
|
|
|
|
|
|
|
Pero es mucho más sencillo intalar *Terminus* de ***rastersoft***.
|
|
|
|
|
Descargo el paquete desde su web
|
|
|
|
|
[www.rastersoft.com](https://www.rastersoft.com/programas/terminus.html)
|
|
|
|
|
Con este programa tienes lo mismo que ofrecen Terminator y Guake por
|
|
|
|
|
separado.
|
|
|
|
|
|
|
|
|
|
También instalo *rxvt* teoricamente más ligero y que puedes complementar
|
|
|
|
|
con *tmux*.
|
|
|
|
|
|
|
|
|
|
``` bash
|
|
|
|
|
sudo apt install rxvt-unicode
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
### tmux
|
|
|
|
|
|
|
|
|
|
*tmux* combinado por ejemplo con *rxvt* nos da la misma funcionalidad
|
|
|
|
|
que *Terminator*, además merece la pena aprender a usarlo por que
|
|
|
|
|
instalado en servidores remotos es increíblemente útil.
|
|
|
|
|
|
|
|
|
|
``` bash
|
|
|
|
|
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/)
|
|
|
|
|
|
|
|
|
|
## Dropbox
|
|
|
|
|
|
|
|
|
|
Lo instalamos desde el software manager. Previamente debemos instalar el
|
|
|
|
|
paquete `python3-gpg` y desde el software manager instalamos también el
|
|
|
|
|
paquete `Caja-dropbox`, para tener las integraciones de Dropbox en el
|
|
|
|
|
gestor de ficheros.
|
|
|
|
|
|
|
|
|
|
## pCloud
|
|
|
|
|
|
|
|
|
|
Instalado desde su página web.
|
|
|
|
|
|
|
|
|
|
## Chrome
|
|
|
|
|
|
|
|
|
|
No lo he instalado.
|
|
|
|
|
|
|
|
|
|
Puede instalarse desde [la página web de
|
|
|
|
|
Chrome](https://www.google.com/chrome/)
|
|
|
|
|
|
|
|
|
|
## Thorium
|
|
|
|
|
|
|
|
|
|
Bajamos los binarios desde [su página web](https://thorium.rocks/).
|
|
|
|
|
Descomprimimos en `~/apps` y ajustamos los ficheros `.desktop` para que
|
|
|
|
|
apunten a los binarios. (ver la siguiente sección [Varias aplicaciones
|
|
|
|
|
instaladas de binarios](#varias-aplicaciones-instaladas-de-binarios))
|
|
|
|
|
|
|
|
|
|
## 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 `~/apps` por que el portátil es personal e intrasferible. En
|
|
|
|
|
un ordenador compartido es mejor usar `/opt`.
|
|
|
|
|
|
|
|
|
|
En general cuando instalo en el directorio `~/apps` sigo los siguientes
|
|
|
|
|
pasos:
|
|
|
|
|
|
|
|
|
|
1. Descargamos los binarios o *appimage* desde la web
|
|
|
|
|
|
|
|
|
|
2. Descomprimo en un nuevo directorio para la aplicación, tomamos como
|
|
|
|
|
ejemplo freeplane, así que el directorio se llamará:
|
|
|
|
|
`~/apps/mi_aplicacion` en nuestro ejemplo `~/apps/freeplane`
|
|
|
|
|
|
|
|
|
|
3. Creamos enlace simbólico al que llamamos `current`. Esto es para no
|
|
|
|
|
editar los ficheros `.desktop` cada vez que actualicemos la versión
|
|
|
|
|
del programa. El enlace puede apuntar a un directorio o a un
|
|
|
|
|
binario, depende de como obtengamos la aplicación. En el caso de
|
|
|
|
|
freeplane yo tengo la siguiente estructura
|
|
|
|
|
|
|
|
|
|
freeplane
|
|
|
|
|
├── current -> 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
|
|
|
|
|
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, descargamos el
|
|
|
|
|
programa desde [la página web](https://docs.freeplane.org/).
|
|
|
|
|
|
|
|
|
|
### Treesheets
|
|
|
|
|
|
|
|
|
|
Está bien para hacer chuletas rápidamente. Descargamos el *appimage*
|
|
|
|
|
desde [la web](http://strlen.com/treesheets/)
|
|
|
|
|
|
|
|
|
|
### Telegram Desktop
|
|
|
|
|
|
|
|
|
|
Cliente de Telegram, descargado desde la [página
|
|
|
|
|
web](https://desktop.telegram.org/). El programa de instalación de
|
|
|
|
|
Telegram ya se encarga de crear el fichero `.desktop`
|
|
|
|
|
|
|
|
|
|
### Tor browser
|
|
|
|
|
|
|
|
|
|
Descargamos desde la [página oficial del
|
|
|
|
|
proyecto](https://www.torproject.org/) Descomprimimos en `~/apps/` y
|
|
|
|
|
ejecutamos desde terminal:
|
|
|
|
|
|
|
|
|
|
cd ~/apps/tor-browser
|
|
|
|
|
./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 [página web
|
|
|
|
|
oficial](https://brave-browser.readthedocs.io/en/latest/installing-brave.html#linux)
|
|
|
|
|
|
|
|
|
|
``` bash
|
|
|
|
|
sudo apt install curl
|
|
|
|
|
|
|
|
|
|
sudo curl -fsSLo /usr/local/share/keyrings/brave-browser-archive-keyring.gpg https://brave-browser-apt-release.s3.brave.com/brave-browser-archive-keyring.gpg
|
|
|
|
|
|
|
|
|
|
echo "deb [signed-by=/usr/local/share/keyrings/brave-browser-archive-keyring.gpg] https://brave-browser-apt-release.s3.brave.com/ stable main"|sudo tee /etc/apt/sources.list.d/brave-browser-release.list
|
|
|
|
|
|
|
|
|
|
sudo apt update
|
|
|
|
|
|
|
|
|
|
sudo apt install brave-browser
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
### TiddlyDesktop
|
|
|
|
|
|
|
|
|
|
Descargamos desde la [página
|
|
|
|
|
web](https://github.com/Jermolene/TiddlyDesktop), descomprimimos y
|
|
|
|
|
generamos la entrada en el menú.
|
|
|
|
|
|
|
|
|
|
### Joplin
|
|
|
|
|
|
|
|
|
|
Una herramienta libre para mantener notas sincronizadas entre el móvil y
|
|
|
|
|
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
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
Joplin se instala en el directorio `~/.joplin` y crea su propia entrada
|
|
|
|
|
en el menú.
|
|
|
|
|
|
|
|
|
|
La primera vez que configuremos la sincronización de Joplin conviene
|
|
|
|
|
hacer un borrado local con download desde el remoto.
|
|
|
|
|
|
|
|
|
|
## Terminal y shells
|
|
|
|
|
|
|
|
|
|
Por defecto tenemos instalado `bash`.
|
|
|
|
|
|
|
|
|
|
### bash-git-promt
|
|
|
|
|
|
|
|
|
|
Para dejar configurado el *bash-git-prompt* seguimos las instrucciones
|
|
|
|
|
de [este github](https://github.com/magicmonty/bash-git-prompt)
|
|
|
|
|
|
|
|
|
|
### zsh
|
|
|
|
|
|
|
|
|
|
Nos adelantamos a los acontecimientos, pero conviene tener instaladas
|
|
|
|
|
las herramientas de entornos virtuales de python antes de instalar *zsh*
|
|
|
|
|
con el plugin para *virtualenvwrapper*.
|
|
|
|
|
|
|
|
|
|
apt install python-is-python3
|
|
|
|
|
apt install python3-all-dev
|
|
|
|
|
apt install python3-virtualenv python3-virtualenvwrapper
|
|
|
|
|
apt install pipx python3-poetry
|
|
|
|
|
|
|
|
|
|
Para *zsh* vamos a usar [antigen](https://github.com/zsh-users/antigen),
|
|
|
|
|
así que nos lo clonamos en `~/apps/`
|
|
|
|
|
|
|
|
|
|
cd ~/apps
|
|
|
|
|
git clone https://github.com/zsh-users/antigen
|
|
|
|
|
|
|
|
|
|
También vamos a usar
|
|
|
|
|
[zsh-git-prompt](https://github.com/olivierverdier/zsh-git-prompt), así
|
|
|
|
|
que lo clonamos también:
|
|
|
|
|
|
|
|
|
|
cd ~/apps
|
|
|
|
|
git clone https://github.com/olivierverdier/zsh-git-prompt
|
|
|
|
|
|
|
|
|
|
Para el `zsh-git-prompt` clonamos el fichero `zshrc.sh` desde nuestro
|
|
|
|
|
repo de configuraciones.
|
|
|
|
|
|
|
|
|
|
Clonamos el fichero `~/.zshrc` desde nuestro repo de configuraciones. De
|
|
|
|
|
momento es mejor comentar la linea del tema :
|
|
|
|
|
|
|
|
|
|
antigen theme gnzh
|
|
|
|
|
|
|
|
|
|
Para usar *virtualenvwrapper* hay que decidir en que directorio queremos
|
|
|
|
|
salvar los entornos virtuales. El obvio seria `~/.virtualenvs` la
|
|
|
|
|
alternativa sería `~/.local/share/virtualenvs`.
|
|
|
|
|
|
|
|
|
|
El que escojamos lo tenemos que crear y añadirlo a nuestro `~/.profile`
|
|
|
|
|
con las líneas:
|
|
|
|
|
|
|
|
|
|
# WORKON_HOME for virtualenvwrapper
|
|
|
|
|
if [ -d "$HOME/.virtualenvs" ] ; then
|
|
|
|
|
WORKON_HOME="$HOME/.virtualenvs"
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
Después de seguir estos pasos basta con arrancar el *zsh*
|
|
|
|
|
|
|
|
|
|
*Antigen* ya se encarga de descargar todos los plugins que queramos
|
|
|
|
|
utilizar en zsh. Todos el software se descarga en `~/.antigen`
|
|
|
|
|
|
|
|
|
|
Para configurar el
|
|
|
|
|
[zsh-git-prompt](https://github.com/olivierverdier/zsh-git-prompt), que
|
|
|
|
|
inspiró el bash-git-prompt.
|
|
|
|
|
|
|
|
|
|
He modificado el fichero `zshrc.sh` de `zsh-git-prompt` cambiando la
|
|
|
|
|
linea \`echo “\$STATUS”:
|
|
|
|
|
|
|
|
|
|
#echo "$STATUS"
|
|
|
|
|
if [[ "$__CURRENT_GIT_STATUS" == ": 0 0 0 0 0 0" ]]; then
|
|
|
|
|
echo ""
|
|
|
|
|
else
|
|
|
|
|
echo "$STATUS"
|
|
|
|
|
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.
|
|
|
|
|
|
|
|
|
|
*zsh* viene por defecto en mi instalación, en caso contrario:
|
|
|
|
|
|
|
|
|
|
apt install zsh
|
|
|
|
|
|
|
|
|
|
Cuando estemos contentos con nuestro `zsh` tendremos que ejecutar
|
|
|
|
|
`chsh -s /usr/bin/zsh`
|
|
|
|
|
|
|
|
|
|
## Syncthing
|
|
|
|
|
|
|
|
|
|
Añadimos el ppa:
|
|
|
|
|
|
|
|
|
|
``` bash
|
|
|
|
|
curl -s https://syncthing.net/release-key.txt | sudo gpg --dearmour -o /usr/local/share/keyrings/synching-archive-keyring.gpg
|
|
|
|
|
echo "deb [ signed-by=/usr/local/share/keyrings/synching-archive-keyring.gpg ] https://apt.syncthing.net/ syncthing stable" | sudo tee /etc/apt/sources.list.d/syncthing.list
|
|
|
|
|
sudo apt-get update
|
|
|
|
|
sudo apt-get install syncthing
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
# Utilidades
|
|
|
|
|
|
|
|
|
|
## Utilidades variadas
|
|
|
|
|
|
|
|
|
|
gpick con
|
|
|
|
|
*Agave* y *pdftk* ya no existen, nos pasamos a *gpick* y *poppler-utils*
|
|
|
|
|
|
|
|
|
|
`sudo apt install gpick`
|
|
|
|
|
|
|
|
|
|
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`
|
|
|
|
|
|
|
|
|
|
sqlite3
|
|
|
|
|
Un motor de bases de datos sencillo que se uso a menudo
|
|
|
|
|
|
|
|
|
|
`sudo apt install sqlite3`
|
|
|
|
|
|
|
|
|
|
cheat
|
|
|
|
|
Chuletas de comandos habituales, se instala desde los fuentes ejecutando
|
|
|
|
|
`go install github.com/cheat/cheat/cmd/cheat@latest` (ver [su
|
|
|
|
|
github](https://github.com/cheat/cheat/))
|
|
|
|
|
|
|
|
|
|
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.
|
|
|
|
|
|
|
|
|
|
gparted
|
|
|
|
|
Instalamos *gparted* para poder formatear memorias usb
|
|
|
|
|
|
|
|
|
|
`sudo apt install gparted`
|
|
|
|
|
|
|
|
|
|
wkhtmltopdf
|
|
|
|
|
Para pasar páginas web a pdf
|
|
|
|
|
|
|
|
|
|
`sudo apt install wkhtmltopdf`
|
|
|
|
|
|
|
|
|
|
lsd
|
|
|
|
|
`ls` potenciado, instalamos el paquete desde los fuentes con
|
|
|
|
|
`cargo install lsd` (ver [la página del
|
|
|
|
|
proyecto](https://github.com/Peltoche/lsd)
|
|
|
|
|
|
|
|
|
|
bat
|
|
|
|
|
`cat` potenciado, instalamos el paquete desde los fuentes con
|
|
|
|
|
`cargo install bat` [ver la página del
|
|
|
|
|
proyecto](https://github.com/sharkdp/bat)
|
|
|
|
|
|
|
|
|
|
nmap ndiff ncat
|
|
|
|
|
`nmap` nos permite realizar mapeos de subredes en nuestras redes
|
|
|
|
|
locales. Por ejemplo para localizar dispositivos enganchados a nuestra
|
|
|
|
|
red. `ndiff` nos permite comparar escaneos realizados con `nmap` y
|
|
|
|
|
`ncat` hace todo tipo de cosas (mira en la red)
|
|
|
|
|
|
|
|
|
|
`sudo apt install nmap ndiff ncat`
|
|
|
|
|
|
|
|
|
|
rofi
|
|
|
|
|
El super conmutador de ventanas (y muchas más cosas).
|
|
|
|
|
|
|
|
|
|
Creamos el fichero `~/.config/rofi/config.rasi` con el siguiente
|
|
|
|
|
contenido
|
|
|
|
|
|
|
|
|
|
``` json
|
|
|
|
|
configuration {
|
|
|
|
|
modi: "drun,run,ssh,combi";
|
|
|
|
|
font: "mensch 16";
|
|
|
|
|
combi-modi: "window,drun,ssh";
|
|
|
|
|
}
|
|
|
|
|
@theme "fancy"
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
Asociamos un atajo de teclado al comando: `rofi -show drun`
|
|
|
|
|
|
|
|
|
|
## autokey
|
|
|
|
|
|
|
|
|
|
Instalamos [autokey](https://github.com/autokey/autokey) siguiendo [las
|
|
|
|
|
instrucciones para instalarlo con paquetes
|
|
|
|
|
debian](https://github.com/autokey/autokey/wiki/Installing#debian-and-derivatives)
|
|
|
|
|
|
|
|
|
|
Me he descargado la última estable en el Legion y la beta en el Acer.
|
|
|
|
|
|
|
|
|
|
Después de descargar los paquetes Debian ejecutamos los siguientes
|
|
|
|
|
comandos (para la estable):
|
|
|
|
|
|
|
|
|
|
``` bash
|
|
|
|
|
VERSION=0.95.10-0
|
|
|
|
|
sudo dpkg --install autokey-common_0.95.10-0_all.deb autokey-gtk_0.95.10-0_all.deb
|
|
|
|
|
sudo apt --fix-broken install
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
El único paquete que se instala a mayores en el python del sistema sería
|
|
|
|
|
`python3-pyinotify`
|
|
|
|
|
|
|
|
|
|
Si estamos usando un entorno virtual con pyenv creo que sería mejor usar
|
|
|
|
|
la instalación con `pip` ([ver
|
|
|
|
|
documentación](https://github.com/autokey/autokey/wiki/Installing#pip-installation))
|
|
|
|
|
|
|
|
|
|
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`.
|
|
|
|
|
|
|
|
|
|
### Recetas rclone
|
|
|
|
|
|
|
|
|
|
Copiar directorio local en la nube:
|
|
|
|
|
|
|
|
|
|
rclone copy /localdir hubic:backup -vv
|
|
|
|
|
|
|
|
|
|
Si queremos ver el directorio en la web de Hubic tenemos que copiarlo en
|
|
|
|
|
*default*:
|
|
|
|
|
|
|
|
|
|
rclone copy /localdir hubic:default/backup -vv
|
|
|
|
|
|
|
|
|
|
Sincronizar una carpeta remota en local:
|
|
|
|
|
|
|
|
|
|
rclone sync hubic:directorio_remoto /home/salvari/directorio_local -vv
|
|
|
|
|
|
|
|
|
|
### 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/)
|
|
|
|
|
|
|
|
|
|
## Nyxt
|
|
|
|
|
|
|
|
|
|
Descargamos la estable y además instalamos la libreria libssl1.1
|
|
|
|
|
|
|
|
|
|
``` bash
|
|
|
|
|
wget http://archive.ubuntu.com/ubuntu/pool/main/o/openssl/libssl1.1_1.1.0g-2ubuntu4_amd64.deb
|
|
|
|
|
sudo dpkg -i ./libssl1.1_1.1.0g-2ubuntu4_amd64.deb
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
## Qutebrowser
|
|
|
|
|
|
|
|
|
|
Instalamos desde los repos con `sudo apt install qutebrowser`.
|
|
|
|
|
|
|
|
|
|
## Palemoon
|
|
|
|
|
|
|
|
|
|
Un fork de *Firefox* con menos chorradas. Instalado con el paquete `deb`
|
|
|
|
|
descargado de su [página
|
|
|
|
|
web](https://software.opensuse.org/download.html?project=home:stevenpusser&package=palemoon)
|
|
|
|
|
|
|
|
|
|
``` bash
|
|
|
|
|
curl -fsSL https://download.opensuse.org/repositories/home:stevenpusser/xUbuntu_22.10/Release.key | gpg --dearmor | sudo tee /usr/local/share/keyrings/palemoon.gpg > /dev/null
|
|
|
|
|
echo 'deb [ signed-by=/usr/local/share/keyrings/palemoon.gpg ] http://download.opensuse.org/repositories/home:/stevenpusser/xUbuntu_20.04/ /' | sudo tee /etc/apt/sources.list.d/palemoon.list
|
|
|
|
|
sudo apt update
|
|
|
|
|
sudo apt install palemoon
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
## LibreWolf
|
|
|
|
|
|
|
|
|
|
Otro fork de *Firefox* centrado en la privacidad. Instalado como
|
|
|
|
|
*appimage* descargado desde su [página
|
|
|
|
|
web](https://librewolf-community.gitlab.io/)
|
|
|
|
|
|
|
|
|
|
**UPDATE**: Ya está disponible el repo para Mint:
|
|
|
|
|
|
|
|
|
|
``` bash
|
|
|
|
|
echo "deb [arch=amd64] http://deb.librewolf.net $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/librewolf.list
|
|
|
|
|
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 [aqui](https://librewolf-community.gitlab.io/docs/addons/).
|
|
|
|
|
|
|
|
|
|
- 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`
|
|
|
|
|
|
|
|
|
|
- Clear URLs
|
|
|