|
|
|
# Programas básicos
|
|
|
|
|
|
|
|
## Linux Mint
|
|
|
|
|
|
|
|
Linux Mint incluye `sudo` ^[ya no incluye gksu pero tampoco es
|
|
|
|
imprescindible] y las aplicaciones que uso habitualmente para gestión
|
|
|
|
de paquetes por defecto (_aptitude_ y _synaptic_).
|
|
|
|
|
|
|
|
Interesa tener instalado `sudo apt install ppa-purge`. Sirve para
|
|
|
|
eliminar ppas junto con los programas instalados desde ese ppa.
|
|
|
|
|
|
|
|
Tampoco voy a enredar nada con los orígenes del software (de momento)
|
|
|
|
|
|
|
|
## Firmware
|
|
|
|
|
|
|
|
Ya no es necesario intalar los paquetes de _microcode_ la instalación
|
|
|
|
de Tricia se encargó de instalar:
|
|
|
|
|
|
|
|
* `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.
|
|
|
|
|
|
|
|
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]`
|
|
|
|
|
|
|
|
## 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 toda nuestra
|
|
|
|
instalación quede reflejada en los repos.
|
|
|
|
|
|
|
|
|
|
|
|
### Instalación de `etckeeper`
|
|
|
|
|
|
|
|
¡Ojo!, nos hacemos `root` para ejecutar:
|
|
|
|
|
|
|
|
~~~~
|
|
|
|
sudo su -
|
|
|
|
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:
|
|
|
|
|
|
|
|
~~~~
|
|
|
|
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
|
|
|
|
|
|
|
|
~~~~
|
|
|
|
mkdir usrcfg
|
|
|
|
cd usrcfg
|
|
|
|
git init
|
|
|
|
git config core.worktree "/home/salvari"
|
|
|
|
~~~~
|
|
|
|
|
|
|
|
Y ya lo tenemos, un repo que tiene el directorio de trabajo apuntando
|
|
|
|
a nuestro _$HOME_.
|
|
|
|
|
|
|
|
Podemos añadir los ficheros de configuración que queramos al repo:
|
|
|
|
|
|
|
|
~~~~
|
|
|
|
git add .bashrc
|
|
|
|
git commit -m "Add some dotfiles"
|
|
|
|
~~~~
|
|
|
|
|
|
|
|
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 al repo.
|
|
|
|
|
|
|
|
## 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 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.
|
|
|
|
|
|
|
|
~~~~
|
|
|
|
# /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:
|
|
|
|
|
|
|
|
~~~~
|
|
|
|
mount -o remount /
|
|
|
|
mount -o remount /home
|
|
|
|
mount
|
|
|
|
~~~~
|
|
|
|
|
|
|
|
### Ajustar _Firefox_
|
|
|
|
|
|
|
|
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)
|
|
|
|
|
|
|
|
|
|
|
|
## Fuentes adicionales
|
|
|
|
|
|
|
|
Instalamos algunas fuentes desde los orígenes de software:
|
|
|
|
|
|
|
|
~~~~
|
|
|
|
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`
|
|
|
|
|
|
|
|
## Firewall
|
|
|
|
|
|
|
|
`ufw` y `gufw` vienen instalados por defecto, pero no activados.
|
|
|
|
|
|
|
|
~~~~
|
|
|
|
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.
|
|
|
|
|
|
|
|
-------------------------------
|
|
|
|
|
|
|
|
|
|
|
|
## 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
|
|
|
|
|
|
|
|
Gnucash
|
|
|
|
|
|
|
|
: Programa de contabilidad, la versión de los repos está bastante atrasada habrá que probar la nueva.
|
|
|
|
|
|
|
|
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
|
|
|
|
|
|
|
|
~~~~
|
|
|
|
sudo apt install keepass2 gnucash deluge rsync grsync rar unrar \
|
|
|
|
zip unzip unace bzip2 lzop p7zip p7zip-full p7zip-rar chromium-browser\
|
|
|
|
most mc
|
|
|
|
~~~~
|
|
|
|
|
|
|
|
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 <<EOF | sudo tee /etc/apt/preferences.d/pin-xalt7x-chromium-deb-vaapi
|
|
|
|
Package: *
|
|
|
|
Pin: release o=LP-PPA-xalt7x-chromium-deb-vaapi
|
|
|
|
Pin-Priority: 1337
|
|
|
|
EOF
|
|
|
|
|
|
|
|
sudo apt update
|
|
|
|
sudo apt install chromium-browser chromium-codecs-ffmpeg
|
|
|
|
~~~~
|
|
|
|
|
|
|
|
|
|
|
|
## Algunos programas de control
|
|
|
|
|
|
|
|
Son útiles para control de consumo.
|
|
|
|
|
|
|
|
~~~~
|
|
|
|
sudo apt install tlp tlp-rdw htop powertop
|
|
|
|
~~~~
|
|
|
|
|
|
|
|
## Programas de terminal
|
|
|
|
|
|
|
|
Dos imprescindibles:
|
|
|
|
|
|
|
|
~~~~
|
|
|
|
sudo apt install guake terminator
|
|
|
|
~~~~
|
|
|
|
|
|
|
|
__TODO:__ asociar _Guake_ a una combinación apropiada de teclas.
|
|
|
|
|
|
|
|
## Dropbox
|
|
|
|
|
|
|
|
Lo instalamos desde el software manager.
|
|
|
|
|
|
|
|
## Chrome
|
|
|
|
|
|
|
|
Instalado desde [la página web de Chrome](https://www.google.com/chrome/)
|
|
|
|
|
|
|
|
|
|
|
|
## Varias aplicaciones instaladas de binarios
|
|
|
|
|
|
|
|
Lo recomendable en un sistema POSIX es instalar los programas
|
|
|
|
adicionales en `/usr/local` o en `/opt`. Yo soy más chapuzas y suelo
|
|
|
|
instalar en `~/apt` por que el portátil es personal e
|
|
|
|
intrasferible. En un ordenador compartido es mejor usar `/opt`.
|
|
|
|
|
|
|
|
### Freeplane
|
|
|
|
|
|
|
|
Para hacer mapas mentales, presentaciones, resúmenes, apuntes... La
|
|
|
|
versión incluida en LinuxMint está un poco anticuada.
|
|
|
|
|
|
|
|
1. descargamos desde [la
|
|
|
|
web](http://freeplane.sourceforge.net/wiki/index.php/Home).
|
|
|
|
2. Descomprimimos en `~/apps/freeplane`
|
|
|
|
3. Creamos enlace simbólico
|
|
|
|
4. Añadimos a los menús
|
|
|
|
|
|
|
|
### Telegram Desktop
|
|
|
|
|
|
|
|
Cliente de Telegram, descargado desde la [página
|
|
|
|
web](https://desktop.telegram.org/).
|
|
|
|
|
|
|
|
### 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
|
|
|
|
~~~~
|
|
|
|
|
|
|
|
### Brave browser
|
|
|
|
|
|
|
|
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 -
|
|
|
|
|
|
|
|
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 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.
|
|
|
|
|
|
|
|
La instalamos en el directorio `~/apps/joplin` descargando el AppImage
|
|
|
|
desde la [página web](https://joplinapp.org/)
|
|
|
|
|
|
|
|
Como siempre nos creamos una entrada en el menú.
|
|
|
|
|
|
|
|
|
|
|
|
## Terminal y Shell
|
|
|
|
|
|
|
|
Por defecto tenemos instalado `bash`.
|
|
|
|
|
|
|
|
|
|
|
|
### bash-git-promt
|
|
|
|
|
|
|
|
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-all-dev
|
|
|
|
apt install python3-all-dev
|
|
|
|
apt install python-pip python-virtualenv virtualenv python3-pip
|
|
|
|
apt install virtualenvwrapper
|
|
|
|
~~~~
|
|
|
|
|
|
|
|
_zsh_ viene por defecto en mi instalación, en caso contrario:
|
|
|
|
|
|
|
|
~~~~
|
|
|
|
apt install zsh
|
|
|
|
~~~~
|
|
|
|
|
|
|
|
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)
|
|
|
|
~~~~
|
|
|
|
|
|
|
|
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'
|
|
|
|
~~~~
|
|
|
|
|
|
|
|
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/.local/share/virtualenvs" ] ; then
|
|
|
|
WORKON_HOME="$HOME/.local/share/virtualenvs"
|
|
|
|
fi
|
|
|
|
~~~~
|
|
|
|
|
|
|
|
_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_ y el fichero del tema _gnzh_ en
|
|
|
|
`~/.antigen/bundles/robbyrussell/oh-my-zsh/themes/gnzh.zsh-theme`
|
|
|
|
|
|
|
|
Después de seguir estos pasos basta con arrancar el _zsh_
|
|
|
|
|
|
|
|
### tmux
|
|
|
|
|
|
|
|
Esto no tiene mucho que ver con los shell, lo he instalado para
|
|
|
|
aprender a usarlo.
|
|
|
|
|
|
|
|
~~~~
|
|
|
|
sudo apt install tmux
|
|
|
|
~~~~
|
|
|
|
|
|
|
|
[El tao de tmux](https://leanpub.com/the-tao-of-tmux/read)
|
|
|
|
|
|
|
|
-----------------------
|
|
|
|
|
|
|
|
> __Nota__: Instalar _rxvt_ junto con tmux como terminal alternativo
|
|
|
|
|
|
|
|
-----------------------
|
|
|
|
|
|
|
|
## Utilidades
|
|
|
|
|
|
|
|
_Agave_ y _pdftk_ ya no existen, nos pasamos a _gpick_ y _poppler-utils_:
|
|
|
|
|
|
|
|
Instalamos _gpick_ con `sudo apt install gpick`
|
|
|
|
|
|
|
|
|
|
|
|
## Codecs
|
|
|
|
|
|
|
|
~~~~
|
|
|
|
sudo apt-get install mint-meta-codecs
|
|
|
|
~~~~
|
|
|
|
|
|
|
|
|
|
|
|
## 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
|
|
|
|
~~~~
|