Update
2018-04-28 Added more packages I use and new settings I do (reinstalled machine)
En esta entrada explico las aplicaciones y configuraciones que uso para mi máquina de desarrollo local.
Sistema Operativo: GNU/Linux - Debian Stretch
Dektop Manager: xfce4
Aplicaciones usadas frecuentemente
Estas son las aplicaciones que uso con más frecuencia y siempre trato de tenerlas instaladas, algunas son de proposito general y otras relacionadas con programación, experimentos, trabajo y proyectos personales.
- Gnome file roller para comprimir archivos
file-roller
- Font Viewer para la instalación de fuentes
gnome-font-viewer
- Google Chrome
- Terminal music player
mocp
- Vim editor, para edición por línea de comandos y servidores
vim
- Build essentials
build-essential
- SublimeText3 editor de texto que uso para casi todo.
- Emacs editor de texto que uso para algunas cosas
emacs
- Redshift para cambiar la temperatura del monitor
redshift
- Kazam para grabar el escritorio
kazam
- Kupfer similar a Spotlight para búsquedas rápidas
kupfer
- Shutter para screenshots
shutter
- Editor de gráficos vectoriales
inkscape
- Gnome Hex Editor
ghex
- Meld para comparar diferencias entre dos archivos
meld
- Armagetron, juego basado en Tron
armagetronad
- DOSBox emulador de juegos antiguos de DOS
dosbox
- Drivers faltantes
firmware-linux-free
firmware-linux-nonfree
- Ristretto Image viewer
- Ettercap para investigación de ataques MITM, pensé en usar Bettercap pero no soy un fanático de Ruby
- Transmission cliente bit torrent
transmission
- Wireshark para interceptar paquetes de red
wireshark
- Slack messaging, personalmente uso la versión web gran parte del tiempo, pero cuando necesito compartir mi escritorio es cuando uso la versión de escritorio (descargar de su sitio)
- Pavu Controller para configuraciones de audio
pavucontrol
- VLC Media Player
vlc
- Evince como visor de pdf
evince
- xCHM visor de archivos .chm
xchm
- Utildad para manejar discos
gparted
- Información del hardware
hardinfo
- Docker Community Edition
- NodeJs
Esta es otra lista de aplicaciones que utilizo con más frecuencia específicamente en línea de comandos:
- Terminal multiplexer
tmux
- htop visor de procesos basado en ncurses
htop
- Tracer de llamadas al sistema
strace
- Cliente HTTP
curl
- Utilidades de DNS
dnsutils
- Instalar
sudo
- Compresores
zip
sudo
Obviamente hay otros paquetes para cosas bastante específicas los cuales los instalando cuando es necesario.
Escritorio
Uso xfce4 con dos panels ambos en la parte superior. El primero contiene el menú de aplicación con el logo de Debian; un separador transparente que se extiende; las ventanas abiertas; otro separador transparente que se extiende. El segundo panel tiene estos items: las áreas de trabajo con dos files y dos áreas en cada fila; el visor de uso de CPU; el área de notificaciones; plugin de PulseAudio para cambiar el volumen; finalmente el plugin de fecha mostrando la fecha arriba y la hora abajo.
El primer panel tiene un fondo negro mientras que el otro usa el estilo por defecto del sistema para evitar colisión en colores de fuente.
Apariencia
Para mis configuraciones de apariencia utilizo lo siguiente:
- Iconos
Numix Light
que vienen en el paquetenumix-icon-theme
- Tema de ventanas
Adwaita
- Fuente por defecto: Sans (10) con antialias en
Slight
y DPI en101
Tweaks Extra
El “Switcher de Ventanas” (alt + tab) de xfce4 que viene en Debian Stretch no me agrada por el tamaño gigante de preview de ventana. Personalmente prefiero tener solo los íconos pequeños sin nombre de la ventana, para ello son solo un par de cambios a realizar: ir a Settings > Window Manager Tweaks
y en el tab Cycling
deseleccionar Cycle through windows in a list
y finalmente en el tab Compositor
deseleccionar Show windows preview in place of icons when cycling
.
Hotkeys
Tengo algunos hotkeys que uso en xfce4 para tareas comunes. Para configurar los hotkeys de xfce4 voy a Settings > Keyboard > Application Shortcuts tab
. Mis hotkeys son los siguientes:
Hotkey | Comando | Descripción |
---|---|---|
win_key + f |
thunar |
Abrir manejador de archivos Thunar |
win_key + t |
/usr/bin/xfce4-terminal |
Abrir una nueva terminal |
win_key + n |
mocp --next |
Ir a la siguiente canción en MOC player |
win_key + b |
mocp --previous |
Ir a la anterior canción en MOC player |
win_key + o |
mocp --pause |
Pausar la canción actual en MOC player |
win_key + p |
mocp --unpause |
Reanudar reproducción en MOC player |
Otras hotkeys: Este no es un hotkey de xfce4 pero lo uso con mucha frecuencia ctrl + shift + space
para lanzar kupfer.
Terminal
Tema
Para la terminal uso la que viene por defecto xfce4-terminal
con estas configuraciones en ~/.config/xfce4/terminal/terminalrc
.
Prompt
Por defecto la terminal bash tiene un prompt simple como usuario@host:directorio-actual
. En mi caso que uso bastantes repositorios git, este prompt por defecto no es suficiente ya que quiero ver en el prompt si hay cambios, conflictos, etc. Podria correr git status
pero con un prompt personalizado podría ahorrarme ese paso 😉. Este es el script que llamo desde mi archivo .bashrc
, que basicamente muestra hora, directorio actual y la información del repositorio en caso de estar usando uno. Gracias a Mike Stewart que es el autor original de este script.
Intente utilizar zsh
y sus frameworks pero no me sentia comodo y me fue difícil acostumbrarme a este, así que la forma más simple fue tener un prompt personalizado. Afortunadamente habian muchos recursos disponibles para ello, así que no fue un dolor.
Configuración
Configuración de Tmux
Utilizo tmux desde Debian Wheezy pero cuando cambié a Debian Jessie tuve algunos problemas con el directorio al crear nuevos panels. Este es el .tmux.conf que uso.
Configuración de MOC Player
Como esta es una herramienta de línea de comandos pienso que entra en esta sección. Hay dos archivos que tengo .moc/config
y el tema que uso, ambos pueden ser encontrados en mi gist.
Comentarios Finales
Si bien estas configuraciones son bastante personalizadas para mi caso, hice esta entrada con el propósito de tener algo que leer por si olvido y lo compartí en caso le sea de utilidad a algún lector.