Como Personalizar Tu Entorno Linux
November 25, 2022 in Linux5 minutes
Los entornos que vienen por defecto en distribuciones de pentesting como kali o parrot son muy poco productivos. En este post vas a ver un ejemplo de un gestor de ventanas de tipo 'Tiling' llamado bspwm, el cual te va a hacer ser mucho más productivo y rápido con tu trabajo
En esta guía explico como puedes crear tu propio entorno completamente personalizable y desde 0, para que puedas dar tu 100% en tu trabajo o estudios. ¡Aviso! Esta guía está pensada para distribuciones basadas en debían aunque se puede hacer en otras también, pero los comandos cambiaran
Ejemplos de entornos hechos por mí:
Bspwm
¿Qué es?
Bspwm es un gestor de ventanas tipo mosaico, lo cual va muy bien para escribir y programar. Aunque si necesitas hacer tareas en las cuales necesites otro entorno de escritorio, puedes cambiarlo en el menú de login.
¿Cómo se instala?
sudo apt install bspwm
Configuración
El archivo de configuración de bspwm se tiene que mover a ~/.config/bspwm/bspwmrc
bspwmrc default:
#! /bin/sh
pgrep -x sxhkd > /dev/null || sxhkd &
bspc monitor -d I II III IV V VI VII VIII IX X
bspc config border_width 2
bspc config window_gap 12
bspc config split_ratio 0.52
bspc config borderless_monocle true
bspc config gapless_monocle true
bspc rule -a Gimp desktop='^8' state=floating follow=on
bspc rule -a Chromium desktop='^2'
bspc rule -a mplayer2 state=floating
bspc rule -a Kupfer.py focus=on
bspc rule -a Screenkey manage=off
Ahí puedes personalizar la cantidad de espacios de trabajo que quieras, puedes poner programas que se ejecuten al abrir bspwm, configurar bordes, etc…
Polybar
¿Qué es?
Polybar es una herramienta para crear la barra de estado, es totalmente personalizable, las únicas dos limitaciones que tiene es que no la puedes poner a la derecha o a la izquierda y que no puedes poner imágenes.
¿Cómo se instala?
sudo apt install polybar
Configuración
La Polybar se divide en diferentes módulos como por ejemplo el módulo de la fecha, wifi, etc… puedes usar los de los temas, añadir módulos extras o crearlos todos desde 0
Temas
Existen muchos temas ya creados para la polybar como por ejemplo
github.com/adi1090x/polybar-themes
Si os gustan o los usáis no olvidéis apoyar al creador dándole una estrella en github
¿Cómo instalar los temas?:
adi1090x
#Clonar el Repositorio
git clone https://github.com/adi1090x/polybar-themes
#Y entrar en la carpeta, dar permisos de ejecución al setup.sh y ejecutarlo.
cd polybar-themes
chmod +x setup.sh
./setup.sh
Mi tema
#Clonar el repositorio
git clone https://github.com/d3b0o/dotfiles
#Crear la carpeta de configuraciones de la polybar y mover la configuración ahí.
cd dotfiles
mv polybar ~/.config/polybar
Ahora en el ~/.config/polybar/ tenéis todos los temas instalados.
¿Qué hace cada archivo?
Cada tema tiene los siguientes archivos (Algunos temas tienen otros archivos, pero al final todos tienen lo mismo)
Archivo | Función |
---|---|
config.ini | Archivo que contiene la configuración general de la polybar |
modules.ini | Configuración de los módulos |
bars.ini | Configuración de los módulos con barras |
colors.ini | Todos los colores |
launch.sh | Al ejecutarlo, se muestra la polybar, para que se muestre la polybar cada vez que abrimos el bspwm tendremos que agregar la ruta del launch en el ~/.config/bspwm/bspwmrc |
user_modules.ini | Ahí están todos los módulos de usuario |
Módulos
Configuración módulos
Principales configuraciones de los módulos
Variables | Función |
---|---|
interval | En interval puedes poner cada cuanto tiempo quieres que se actualice (en segundos) |
format-prefix | Puedes poner el icono que quieras |
format-prefix-foreground | El color del icono |
label | Puedes escoger que es lo que quieres que ponga, en Available tokens tinenes las opciones disponibles |
format | Puedes escoger el formato que quieres que tenga, en Available tokens tinenes las opciones disponibles |
¿Cómo crear un módulo?
Plantilla para módulo script
[module/]
type = custom/script
interval =
exec =
En exec se tiene que poner el script que quieres que el output salga en la polybar
Plantilla para módulo texto
[module/]
type = custom/text
content =
En content va el texto que quieres que salga en la polybar
En los módulos puedes añadir que al clicar ejecute algo…
clicks posibles |
---|
click-left = |
click-middle = |
click-right = |
scroll-up = |
scroll-down = |
double-click-left = |
double-click-right = |
sxhkd
¿Qué es?
sxhkd es un simple servicio de combinaciones de teclas usables dentro de bspwm, requerido para comunicarse con bspwm y lanzar aplicaciones a elección.
¿Cómo se instala?
git clone https://github.com/baskerville/sxhkd.git
cd sxhkd
make
Configuración
Para la configuración hay que tener el siguiente archivo en ~/.config/sxhkd/sxhkdrc
https://github.com/baskerville/bspwm/blob/master/examples/sxhkdrc
¿Cómo añadir comandos personalizados?
Abajo del archivo de configuración (~/.config/sxhkd/sxhkdrc)
#combinación de teclas
#que ejecutara
#Ejemplo
super + shift + g
google-chrome
Picom
¿Qué es?
Picom, es lo que se conoce como un compositor para Xorg. Se trata de un fork de compton que a su vez es un fork de otros compositorios. Este compositor te permite utilizar tanto sombras, como transparencias, como redondear bordes, etc…
¿Cómo se instala?
#dependencias
sudo apt install libxext-dev libxcb1-dev libxcb-damage0-dev libxcb-xfixes0-dev libxcb-shape0-dev libxcb-render-util0-dev libxcb-render0-dev libxcb-randr0-dev libxcb-composite0-dev libxcb-image0-dev libxcb-present-dev libxcb-xinerama0-dev libxcb-glx0-dev libpixman-1-dev libdbus-1-dev libconfig-dev libgl-dev libegl-dev libpcre2-dev libevdev-dev uthash-dev libev-dev libx11-xcb-dev meson
git clone https://github.com/ibhagwan/picom.git
cd picom
git submodule update --init --recursive
meson --buildtype=release . build
ninja -C build
sudo ninja -C build install
Configuración
El archivo de configuración de picom está en ~/.config/picom/picom.conf, en él puedes modificar los bordes, sombras, transparencias, etc…
Esto es lo que contiene el picom.conf
https://gist.github.com/scheckley/b91d7b50c7f372ba7107baf01127da3a
Rofi
¿Qué es?
Rofi comenzó como un clon de simpleswitcher, escrito por Sean Pringle, un conmutador de ventana emergente basado aproximadamente en superswitcher. Simpleswitcher sentó las bases y, por lo tanto, Sean Pringle merece la mayor parte del crédito por esta herramienta. Rofi (renombrado, ya que perdió la propiedad simple) se ha ampliado con funciones adicionales, como un iniciador de aplicaciones y un iniciador de ssh, y puede actuar como un reemplazo de dmenu directo, lo que lo convierte en una herramienta muy versátil.
Rofi, como dmenu, proporcionará al usuario una lista textual de opciones donde se pueden seleccionar una o más. Esto puede ser ejecutar una aplicación, seleccionar una ventana u opciones proporcionadas por un script externo.
¿Cómo se instala?
sudo apt install rofi
Configuración
Temas
Al igual que la polybar hay muchos temas ya creados como por ejemplo:
github.com/adi1090x/rofi
Si usáis u os gustan los temas no olvidéis darle una estrella en github
Para instalar el tema es simplemente:
git clone 2--depth=1 https://github.com/adi1090x/rofi.git
cd rofi
chmod +x setup.sh
./setup.sh
Configuración temas
Todos los temas están en el ~/.config/rofi
En el github de los temas hay fotos de todos los temas y puedes escoger el que más te guste
Para abrir rofi simplemente tienes que ejecutar él .sh que hay en la carpeta de los temas