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

Como Personalizar Tu Entorno Linux

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í:

Ejemplo 1

Ejemplo 2


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)

ArchivoFunción
config.iniArchivo que contiene la configuración general de la polybar
modules.iniConfiguración de los módulos
bars.iniConfiguración de los módulos con barras
colors.iniTodos los colores
launch.shAl 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.iniAhí están todos los módulos de usuario

Módulos

Configuración módulos

Principales configuraciones de los módulos

VariablesFunción
intervalEn interval puedes poner cada cuanto tiempo quieres que se actualice (en segundos)
format-prefixPuedes poner el icono que quieras
format-prefix-foregroundEl color del icono
labelPuedes escoger que es lo que quieres que ponga, en Available tokens tinenes las opciones disponibles
formatPuedes 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