amorinn / ParrotOS-desktop-enviroment

Un entorno de escritorio probado en Parrot basado en el video de s4vitar pero mas automatizado

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

ParrotOS desktop enviroment.

Esta es una guía basada en este video de @s4vitar, no es con intención de hacer un plagio, es con intención de aprender y hacerle la vida un poquito más fácil a la gente.

Aquí está el pastebin original.

1. Actualizamos el sistema.

sudo apt upgrade 

Esto lleva un rato...

2. Clonamos este repositorio.

cd ~/Descargas/
git clone https://github.com/amorinn/ParrotOS-desktop-enviroment.git

3. Instalamos los siguientes paquetes:

sudo apt install build-essential git vim xcb libxcb-util0-dev libxcb-ewmh-dev libxcb-randr0-dev libxcb-icccm4-dev libxcb-keysyms1-dev libxcb-xinerama0-dev libasound2-dev libxcb-xtest0-dev libxcb-shape0-dev 

4. Instalamos bspwm y sxhkd:

cd ~/Descargas/
git clone https://github.com/baskerville/bspwm.git
git clone https://github.com/baskerville/sxhkd.git
cd bspwm/
make
sudo make install
cd ../sxhkd/
make
sudo make install
sudo apt install bspwm

5. Cargamos en bspwm y sxhkd ficheros de ejemplo:

mkdir ~/.config/bspwm
mkdir ~/.config/sxhkd
cd ~/Descargas/bspwm/
cp examples/bspwmrc ~/.config/bspwm/
chmod +x ~/.config/bspwm/bspwmrc 
cp examples/sxhkdrc ~/.config/sxhkd/

6. Añadimos keybindings a sxhkd:

Modificamos ~/.config/sxhkd/sxhkdrc borramos su contenido y pegamos los siguiente:

#
# wm independent hotkeys
#
 
# terminal emulator
super + Return
    gnome-terminal
 
# program launcher
super + d
    rofi -show run
 
# make sxhkd reload its configuration files:
super + Escape
    pkill -USR1 -x sxhkd
 
#
# bspwm hotkeys
#
 
# quit/restart bspwm
super + alt + {q,r}
    bspc {quit,wm -r}
 
# close and kill
super + {_,shift + }w
    bspc node -{c,k}
 
# alternate between the tiled and monocle layout
super + m
    bspc desktop -l next
 
# send the newest marked node to the newest preselected node
super + y
    bspc node newest.marked.local -n newest.!automatic.local
 
# swap the current node and the biggest node
super + g
    bspc node -s biggest
 
#
# state/flags
#
 
# set the window state
super + {t,shift + t,s,f}
    bspc node -t {tiled,pseudo_tiled,floating,fullscreen}
 
# set the node flags
super + ctrl + {m,x,y,z}
    bspc node -g {marked,locked,sticky,private}
 
#
# focus/swap
#
 
super + {_,shift + }{Left,Down,Up,Right}
       bspc node -{f,s} {west,south,north,east}
 
 
# focus the node for the given path jump
super + {p,b,comma,period}
    bspc node -f @{parent,brother,first,second}
 
# focus the next/previous node in the current desktop
super + {_,shift + }c
    bspc node -f {next,prev}.local
 
# focus the next/previous desktop in the current monitor
super + bracket{left,right}
    bspc desktop -f {prev,next}.local
 
# focus the last node/desktop
super + {grave,Tab}
    bspc {node,desktop} -f last
 
# focus the older or newer node in the focus history
super + {o,i}
    bspc wm -h off; \
    bspc node {older,newer} -f; \
    bspc wm -h on
 
# focus or send to the given desktop
super + {_,shift + }{1-9,0}
    bspc {desktop -f,node -d} '^{1-9,10}'
 
#
# preselect
#
 
# preselect the direction
super + ctrl + alt + {Left,Down,Up,Right}
    bspc node -p {west,south,north,east}
 
 
# preselect the ratio
super + ctrl + {1-9}
    bspc node -o 0.{1-9}
 
# cancel the preselection for the focused node
super + ctrl + space
    bspc node -p cancel
 
# cancel the preselection for the focused desktop
super + ctrl + alt + space
    bspc query -N -d | xargs -I id -n 1 bspc node id -p cancel
 
#
# move/resize
#
 
# expand a window by moving one of its side outward
#super + alt + {h,j,k,l}
#   bspc node -z {left -20 0,bottom 0 20,top 0 -20,right 20 0}
 
# contract a window by moving one of its side inward
#super + alt + shift + {h,j,k,l}
#   bspc node -z {right -20 0,top 0 20,bottom 0 -20,left 20 0}
 
# move a floating window
super + ctrl + {Left,Down,Up,Right}
    bspc node -v {-20 0,0 20,0 -20,20 0}
 
# Custom move/resize
alt + super + {Left,Down,Up,Right}
    ~/.config/bspwm/scripts/bspwm_resize {west,south,north,east}
# ------------------------------------------------------------------------------------------------```
Y ejecutamos:
```bash
mkdir ~/.config/bspwm/scripts/
cp ~/Descargas/ParrotOS-desktop-enviroment/bspwm_resize ~/.config/bspwm/scripts
chmod +x ~/.config/bspwm/scripts/bspwm_resize

7. Procedemos a instalar la polybar.

Para ello instalamos los siguientes paquetes:

sudo apt install cmake cmake-data pkg-config python3-sphinx libcairo2-dev libxcb1-dev libxcb-util0-dev libxcb-randr0-dev libxcb-composite0-dev python3-xcbgen xcb-proto libxcb-image0-dev libxcb-ewmh-dev libxcb-icccm4-dev libxcb-xkb-dev libxcb-xrm-dev libxcb-cursor-dev libasound2-dev libpulse-dev libjsoncpp-dev libmpdclient-dev libcurl4-openssl-dev libnl-genl-3-dev liuv1-dev

Para instalar la polybar hacemos lo siguiente:

cd ~/Descargas/
git clone --recursive https://github.com/polybar/polybar
cd polybar/
mkdir build
cd build/
cmake ..
make -j$(nproc)
sudo make install

8. Procedemos con la instalación de Picom

Actualizamos el sistema:

sudo apt update

E instalamos los siguientes paquetes:

sudo apt install meson 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 libpixman-1-dev libdbus-1-dev libconfig-dev libgl1-mesa-dev libpcre2-dev libevdev-dev uthash-dev libev-dev libx11-xcb-dev libxcb-glx0-dev feh rofi

A continuación

cd ~/Descargas/
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

9. Reiniciamos y seleccionamos bspwm

Para seleccionar bspwm clickamos encima del circulo blanco que nos aparece en la derecha de nuestro usuario en la pantalla de bloqueo cuando reiniciamos y seleccionamos bspwm y nos logueamos.

Si no quieres reiniciar haz kill -9 -1 .

Una vez dentro se verá todo en negro, al pulsar super + enter se nos abrirá una terminal.

Siendo "super" la tecla de windows

Para conectarse a internet escribe nmcli device wifi para ver las redes disponibles y nmcli device wifi connect "TU WIFI" password "CONTRASEÑA"

10. Instalamos la Hack Nerd Font.

Ejecutamos los siguientes comandos:

cd ~/Descargas/
wget https://github.com/ryanoasis/nerd-fonts/releases/download/v2.1.0/Hack.zip
sudo mv  ~/Descargas/Hack.zip /usr/local/share/fonts
cd /usr/local/share/fonts
unzip Hack.zip
sudo rm Hack.zip
fc-cache -v

y ya tendríamos las Hack Nerd fonts instaladas, ahora nos dirigimos al apartado "Editar" en una terminal y elegimos perfiles, desmarcamos la casilla de "Usar la tipografía de ancho fijo del sistema" y seleccionamos "Hack nerd fonts mono regular". Antes de salir desmarcamos las casillas de "Permitir texto resaltado","Mostrar la barra de menús en los terminales nuevos por defecto" y "Campana del terminal". Y por último vamos a la pestaña de desplazamiento y donde dice "La barra de desplazamiento está:" seleccionamos desconectado.

11. Configuramos un fondo de pantalla:

​Descargamos el fondo y lo movemos al directorio que queramos.

echo "feh --bg-fill /ruta/al/fondo.jpg" >> ~/.config/bspwm/bspwmrc

Siendo "/ruta/al/fondo" la ruta a nuestro fondo. Si quieres puedes utilizar el que ya viene en ~/Descargas/ParrotOS-desktop-enviroment.

12. Configuramos la polybar.

cd ~/Descargas
git clone https://github.com/VaughnValle/blue-sky.git
mkdir ~/.config/polybar
cd ~/Descargas/blue-sky/polybar/
cp * -r ~/.config/polybar
echo '~/.config/polybar/./launch.sh' >> ~/.config/bspwm/bspwmrc
cd fonts
sudo cp * /usr/share/fonts/truetype/
fc-cache -v

Pulsamos super + r para ver la polybar.

Aquí puedes aprender a hacer un módulo para spotify.

13. Configuramos picom.

mkdir ~/.config/picom
cd ~/.config/picom
cp ~/Descargas/blue-sky/picom.conf .

Luego modificamos picom.conf y comentamos 'backend ="glx"' y descomentamos 'backend = "xrender"' ​

Antes de recargar la configuración, hacemos un seguimiento del ratón para saber en qué ventana estamos con el siguiente comando: ​

echo "bspc config focus_follows_pointer true" >> ~/.config/bspwm/bspwmrc

Posteriormente, ejecutamos los siguientes comandos para aplicar los bordeados:

echo 'picom --experimental-backends &' >> ~/.config/bspwm/bspwmrc 
echo 'bspc config border_width 0' >> ~/.config/bspwm/bspwmrc

Y hacemos super + r para ver los cambios.

Si experimentamos lentitud o problemas de rendimiento probamos a volver a descomentar 'backend = "glx"' y a comentar 'backend = "xrender"' en ~/.config/picom/picom.comf y si eso no funciona jugamos con los ajustes de picom.comf

14. Instalamos el tema nord para rofi.

En una terminal escribimos rofi-theme-selector y se nos abrirá rofi con un a selección de temas para elegir, abajo de todo estará el tema nord, ponemos el seleccionador encima y pulsamos alt + a.

15. Configuramos la polybar.

Ejecutamos:

echo "xsetroot -cursor_name left_ptr &" >> ~/.config/bspwm/bspwmrc

Para configurar el estilo de la polybar editamos ~/.config/polybar/current.ini y modificamos todo a nuestro antojo.

16. Instalamos Slim y Slimlock.

sudo apt update
sudo apt install slim libpam0g-dev libxrandr-dev libfreetype6-dev libimlib2-dev libxft-dev​
cd ~/Descargas/
git clone https://github.com/joelburget/slimlock.git
cd slimlock/
sudo make
sudo make install
cd ~/Descargas/blue-sky/slim
sudo cp slim.conf /etc/
sudo cp slimlock.conf /etc
cd ~/Descargas
git clone https://github.com/adi1090x/slim_themes.git
cd /slim-themes/themes
mv /overlay /default
sudo cp -r  default /usr/share/slim/themes

Y reiniciamos el equipo.

17. Instalamos la powerlevel10k.

git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ~/powerlevel10k
echo 'source ~/powerlevel10k/powerlevel10k.zsh-theme' >>~/.zshrc 

Despues escribimos zsh y empezará la configuración de la powerlevel10k, elegimos las opciones que mas se adapten a nosotros. Y lo volvemos a hacer con el usuario Root. Ahora tendremos que hacer que la zsh sea nuestra shell predeterminada con estos dos comandos:

usermod --shell /usr/bin/zsh tuUsuario 

Donde pone "tuUsuario" pones tu usuario 😐.

usermod --shell /usr/bin/zsh root

Y enlazamos el .zshrc de nuestro usuario con el de Root:

sudo ln -s -f ~/.zshrc /root/.zshrc 

Luego editamos el archivo .p10k a nuestro gustos y con nuestros propios colores. Para arreglar un problema de permisos al migrar de su a nuestro usuario ejecutamos los siguientes comandos.

chown tuUsuario:tuUsuario /root
chown tuUsuario:tuUsuario /root/.cache -R
chown tuUsuario:tuUsuario /root/.local -R

18. Instalamos bat, lsd, fzf y ranger.

cd ~/Descargas/
wget https://github.com/Peltoche/lsd/releases/download/0.20.1/lsd_0.20.1_amd64.deb
wget https://github.com/sharkdp/bat/releases/download/v0.18.3/bat_0.18.3_amd64.deb
sudo dpkg -i *.deb
sudo apt install fzf ranger

19. Instalamos plugins para la zsh.

cd /usr/share
sudo mkdir zsh-plugins
sudo chown tuUsuario:tuUsuario zsh-plugins
cd zsh-plugins
wget https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/plugins/sudo/sudo.plugin.zsh

20. Configuramos los aliases.

cd ~/Descargas/ParrotOS-desktop-enviroment
cat aliases >> ~/.zshrc

Resultados.

1 3

2021-12-07-151326_1920x1080_scrot

About

Un entorno de escritorio probado en Parrot basado en el video de s4vitar pero mas automatizado


Languages

Language:Shell 100.0%