JustToThePoint English Website Version
JustToThePoint en español
JustToThePoint in Thai

Cómo usar los gestores de ventanas para aumentar tu productividad II (Linux)

Los gestores de ventanas definen la forma en que las ventanas son posicionadas y distribuidas, es decir, controlan la apariencia de las ventanas. Pueden ayudarte a aprovechar al máximo tu escritorio y mejorar tu productividad en entornos multitarea. Algunos ejemplos son: FancyZones (Windows), Amethyst (macOS), i3, Awesome WM y XMonad. Gestores de ventana

Gestores de ventana

 

i3

i3 es un administrador de ventanas minimalista que está dirigido principalmente a desarrolladores y usuarios avanzados.

  1. En primer lugar, instala algunos paquetes: sudo apt install xorg i3 i3blocks fonts-font-awesome suckless-tools picom nitrogen

  2. Cierra sesión y selecciona i3 como administrador de ventanas.

  3. Cuando inicies sesión por primera vez, se te preguntará: Do you want me to generate an i3 configuration file (~/.config/i3/config) or use the default configuration file? (¿Quieres que genere un archivo de configuración i3 o utilizar el archivo de configuración por defecto?) Presiona Enter/INTRO para generar un archivo de configuración para i3. A continuación, debes definir la tecla principal o modificadora ($mod). Puedes elegir entre la tecla de Windows (Super) o la tecla Alt. Pulsa Enter/INTRO para usar la tecla de Windows.

  4. Finalmente, puedes ver y usar tu escritorio. A continuación, abre un terminal: $mod + ENTER. Abre varios terminales y notarás que i3 los coloca automáticamente para ocupar todo el espacio disponible. Es posible que desees utilizar Mod + v para distribuirlas verticalmente o Mod + h para posicionar las ventanas horizontalmente. Para lanzar aplicaciones con dmenu, utiliza la combinación de teclas: Mod + d. Para alternar de modo de pantalla completa a normal, pulsa Mod + f. Otras combinaciones: Cerrar la ventana de una aplicación: Mod + Shift + q. Reiniciar i3: Mod + Shift + r. Salir de i3: Mod + Shift + e. Cambiar al espacio de trabajo n: Mod + n. Mover la ventana activa al espacio de trabajo n: Mod + Shift + n.

  5. Instala los temas Pop GTK y Material, los temas de iconos Pop y Papirus, y lxappearance (un programa para cambiar temas GTK+, temas de iconos y fuentes): sudo apt install pop-gtk-theme materia-gtk-theme pop -icon-theme papirus-icon-theme lxappearance. Lanza lxappearance y selecciona Control y Temas de icono (Pop) y Tipo de letra predeterminada (Ubuntu, 12).

  6. Editemos el archivo de configuración de i3: gedit ~/.config/i3/config (siempre puedes encontrar problemas con tu configuración y depurar errores con i3 -C -c ~/.config/i3/config)

    # Tecla principal (modificadora) para trabajar con i3 sea Windows o Super
    set $mod Mod4
    # Fuente del sistema, por ejemplo, para los títulos de las ventanas
    font pango:Ubuntu Regular 14
    set $myTerm kitty 
    # Utilizaremos kitty como terminal predeterminado
    bindsym $mod+Return exec $myTerm # Lanza el terminal
    bindsym $mod+Shift+x exec i3lock -c 000000 # Bloquea el sistema
    bindsym $mod+b exec pavucontrol # Inicia el control de volumen de PulseAudio
    
  7. playerctl es un programa que permite controlar reproductores multimedia desde la línea de comandos: reproducir, pausar, anterior, etc.

    bindsym $mod+Shift+F1 exec playerctl play-pause # Controles del reproductor multimedia.
    bindsym $mod+Shift+F5 exec playerctl pause
    bindsym $mod+Shift+F6 exec playerctl previous
    bindsym $mod+Shift+F7 exec playerctl next
    # Usamos pactl para ajustar el volumen en PulseAudio. Controla el volumen del sink predeterminado -flujo de audio activo-: aumentar el volumen, disminuir el volumen y silenciar.
    bindsym $mod+Shift+F3 exec pactl set-sink-volume @DEFAULT_SINK@ +6% 
    bindsym $mod+Shift+F2 exec pactl set-sink-volume @DEFAULT_SINK@ -5%
    bindsym $mod+Shift+F4 exec pactl set-sink-mute @DEFAULT_SINK@ toggle
    

    pactl es una utilidad de línea de comandos para ejecutar comandos de control al servidor de sonido PulseAudio.

    Es posible que desees cambiar el sink predeterminado: (cambiar entre altavoces y auriculares):

    pacmd list-sinks | grep -e 'name:' -e 'index:'   
    En mi caso, devuelve:
     index: 1
       name: <alsa_output.pci-0000_00_1f.3.iec958-stereo> # Headphones
    * index: 5
       name: <alsa_output.pci-0000_01_00.1.hdmi-stereo> # Speakers are the default sink 
    

    Edita sudo vim /etc/pulse/default.pa: y añade la siguiente línea:

      set-defaults-sink alsa_output.pci-0000_01_00.1.hdmi-stereo
    

    Finalmente, reinicia PulseAudio: systemctl –user restart pulseaudio.socket

  8. Seleccionamos Rofi, un lanzador de aplicaciones, como alternativa a dmenu.

      bindsym $mod+d exec rofi -show run
      bindsym $mod+Shift+d exec rofi -show p -modi p:$HOME/.local/bin/rofi-power-menu -theme Paper -font "JetBrains Mono NF 16" -width 20 -lines 6
      # Toma capturas de pantalla y las guarda en Dropbox. Utiliza scrot, una aplicación de captura de pantalla de línea de comandos minimalista.
      bindsym --release $mod+z exec scrot -s ~/Dropbox/%b%d::%H%M%S.png 
      # Una alternativa es flameshot, un software de captura de pantalla potente pero sencillo de utilizar
      bindsym --release Print exec flameshot full # Tomas capturas de pantalla completa. Puede añadir la opción -p rutaADirectory.
      bindsym --release Shift+Print exec flameshot gui # Tomas capturas de pantallas de una región.
    
  9. Conky es un monitor de sistema gratuito para el sistema X Window. Queremos activar/desactivar Conky con un atajo de teclado (Win+Shift+t) por lo que usamos el siguiente script conkytoggle.sh: if pgrep conky; then pkill conky; else conky; fi (pgrep busca procesos utilizando como criterio el nombre que se le pasa como parámetro).

    # Activa y desactiva Conky con un atajo de teclado.
    bindsym $mod+Shift+t exec /home/nmaximo7/.local/bin/conkytoggle.sh
    # Definimos nombres para los espacios de trabajo predeterminados para los que configuraremos atajos de teclas más adelante.
    set $ws1 "1: Terminal"
    set $ws2 "2: Chrome"
    set $ws3 "3: Gedit"
    set $ws4 "4: Station"
    set $ws5 "5: Nautilus"
    # Forzamos a que determinadas aplicaciones se lancen en espacios de trabajo predefinidos. xprop es una utilidad para visualizar las propiedades de las ventanas y fuentes para X. Lanza xprop, haz clic sobre la ventana de la que deseas obtener información (en mi caso, el navegador de Google) y obtendrás bastante información, entre la cual destaca: WM_CLASS(STRING) = "google-chrome", "Google-chrome"
    for_window [class="Google-chrome"] move to workspace $ws2
    # Aplicaciones para programación
    for_window [class="Code"] move to workspace $ws3
    for_window [class="Gedit"] move to workspace $ws3
    # Station
    for_window [class="Station"] move to workspace $ws4
    # Administradores de archivos
    for_window [class="Nautilus"] move to workspace $ws5
    # Configuración del color
    set $bgcolor 	 #3F8AC2
    set $ibgcolor    #424242
    set $textcolor   #ffffff
    set $ubgcolor    #ff0000
    
    # Colores de las ventanas
    client.focused          $bgcolor    $bgcolor   $textcolor         $bgcolor
    client.unfocused        $ibgcolor   $ibgcolor  $textcolor         $ibgcolor
    client.focused_inactive $ibgcolor   $ibgcolor  $textcolor         $ibgcolor
    client.urgent           $ubgcolor   $ubgcolor  $textcolor         $ubgcolor
    
    # Configuración de la barra i3wm
    bar {
            status_command i3status -c ~/.config/i3status/i3status.conf
            colors {
              background $bgcolor
              separator #292929
              focused_workspace   $bgcolor    $bgcolor   $textcolor
              inactive_workspace  $ibgcolor   $ibgcolor  $textcolor
              urgent_workspace    $bgcolor    $bgcolor   $textcolor  
            }
    }
    
    # Aplicaciones que se ejecutan al inicio automáticamente
    exec --no-startup-id nm-applet # Network Manager proporciona una interfaz de alto nivel para la configuración de las interfaces de red y nm-applet es un simple applet de NetworkManager que proporciona una bandeja del sistema.
    exec --no-startup-id start-pulseaudio-x11 # Inicia el servidor PulseAudio, un servidor de sonido de propósito general destinado a ejecutarse como un software intermedio entre tus aplicaciones y los dispositivos de hardware.
    exec /usr/bin/barrierc -f --no-tray --debug INFO --name myarch [192.168.1.40]:24800 &
    exec_always Dropbox start -i
    
  10. Picom es el compositor o gestor de composición de ventanas más popular y utilizado para GNU/Linux.

      exec_always picom --config ~/.config/picom/picom.conf
    
  11. Nitrogen es un selector y gestor de fondos de escritorios ligero. Clona los fondos de pantallas de Derek Taylor: git clone https://gitlab.com/dwt1/wallpapers.git ~/Pictures/wallpapers. El argumento ‐‐random selecciona un archivo de la carpeta especificada y lo aplica como fondo de escritorio utilizando la opción de relleno/zoom (‐‐set‐zoom-fill). En definitiva, Nitrogen seleccionará fondos arbitrarios de la carpeta ~/Pictures/wallpapers.

    exec_always nitrogen --set-zoom-fill --random ~/wallpapers
    exec_always --no-startup-id copyq # CopyQ es un administrador de portapapeles
    exec --no-startup-id i3-msg 'workspace 1:Terminal; exec /usr/bin/kitty'
    exec --no-startup-id i3-msg 'workspace 3:Code; exec /usr/bin/code ~/justtothepoint/'
    exec --no-startup-id i3-msg 'workspace 5:Nautilus; exec /usr/bin/nautilus'
    exec --no-startup-id i3-msg 'workspace 2:Brave; exec /usr/bin/brave'
    exec --no-startup-id greenclip daemon>/dev/null # Greenclip es un gestor de portapapeles sencillo diseñado para integrarse con Rofi.
    exec --no-startup-id /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1
    

    polkit es un agente de autenticación (sudo pacman -Syu polkit, sudo pacman -Syu polkit-gnome). Se utiliza para que el usuario de una sesión demuestre que realmente es el usuario (autenticándose como usuario) o un usuario con privilegios administrativos (autenticándose como administrador).

  12. Barra de estado: mkdir .config/i3status && sudo cp /etc/i3status.conf ~/.config/i3status/i3status.conf && sudo chown myUser:myUser i3status.conf

  13. i3-autolayout es un servicio ligero que ayuda a mantener un diseño de ventanas razonable para tu gestor de ventanas i3.

    Primero, debes instalar Cargo: curl https://sh.rustup.rs -sSf | sh. Para configurar tu shell actual, ejecuta: source “$HOME/.cargo/env”. Para instalar i3-autolayout: cargo install i3-autolayout (no se necesita clonar el repositorio).

      exec_always --no-startup-id i3-autolayout autolayout
      gaps inner 5 # Márgenes entre ventanas
      gaps outer 5
    

Arch (i3)

Arch (i3)

 

Xmonad

Xmonad es un administrador de ventanas de mosaico dinámico que está escrito y configurado en Haskell.

  1. En primer lugar, instalamos algunos paquetes: sudo apt install xmonad libghc-xmonad-contrib-dev xterm suckless-tools picom nitrogen xterm xmobar, y selecciona como gestor de inicio de sesión lightdm.
  2. Descarga un archivo plantilla o modelo de configuración xmonad del portal web HaskellWiki, y cópialo a .xmonad.
  3. Abre un terminal con la combinación de teclas: Alt (ModKey) + Shift + Enter.
  4. Edita el archivo de configuración de XMonad, gedit .xmonad/xmonad.hs:
    -- Necesitamos esta biblioteca para lanzar programas en el inicio.
    import XMonad.Util.SpawnOnce
    -- Necesitamos estas bibliotecas para ejecutar xmobar
    import XMonad.Util.Run
    import XMonad.Hooks.ManageDocks
    -- Definimos nuestro terminal por defecto
    myTerminal      = "kitty"
    -- Ancho del borde de la ventana en píxeles
    myBorderWidth   = 2
    -- modMask te permite especificar qué tecla de mod quieres usar: mod4Mask es la "tecla de Windows"
    myModMask = mod4Mask
    -- Atajos de teclado
    myKeys conf@(XConfig {XMonad.modMask = modm}) = M.fromList $
        -- Lanzar un terminal: Super + Shift + Enter
        [ ((modm .|. shiftMask, xK_Return), spawn $ XMonad.terminal conf)
        -- Lanzar dmenu: Super + p
        , ((modm,               xK_p     ), spawn "dmenu_run")
        -- Reiniciar xmonad: Super + q.
        , ((modm              , xK_q     ), spawn "xmonad --recompile; xmonad --restart")
    -- Puedes alternar los modos de mosaico o de distribución de ventanas con mod-Espacio, que recorrerá los modos disponibles y cambiar al espacio de trabajo N con mod-N (N = 1, 2, etc.) El algoritmo de distribución/organización de ventanas en mosaico predeterminado divide la pantalla en dos paneles: a la izquierda, una sola ventana (maestra), a la derecha, las demás ventanas apiladas horizontalmente ocupando todo el panel izquierdo.
    -- Añadimos el modificador avoidStruts para evitar que las ventanas se superpongan a xmobar.
    myLayout = avoidStruts (tiled ||| Mirror tiled ||| Full)
    -- Aplicaciones que arrancamos automáticamente al inicio
    myStartupHook = do
      spawnOnce "nitrogen --set-zoom-fill --random ~/wallpapers"
      spawnOnce "picom -b"
      spawnOnce "barrier"
      spawnOnce "dropbox"
    -- Lanzar xmonad con xmobar
    main = do
      xmproc <- spawnPipe "xmobar -x 0 /home/myUser/.config/xmobar/xmobar.config"
      -- Cambiamos "xmonad defaults" con este código para que XMonad.Hooks.ManageDocks pueda automáticamente administrar xmobar.
      xmonad $ docks defaults
    
  5. Reinicia xmonad con Alt + q porque estará leyendo del antiguo archivo de configuración de Xmonad. La próxima vez, lo reiniciarás con: Super + q.

Awesome Window Manager

Awesome Window Manager es un administrador de ventanas altamente configurable. Es gratis, rápido y extensible.

  1. Instalación: sudo apt install awesome.
  2. Awesome proporciona un archivo de configuración predeterminado. Por lo general, lo encontrarás en /etc/xdg/awesome/. Cópialo en ~/.config/awesome/: cp /etc/xdg/awesome/rc.lua /home/nmaximo7/.config/awesome.
  3. Instala también algunos paquetes necesarios: sudo apt install compton nitrogen dmenu.
  4. Atajos de teclado más importantes: Mostrar todas los atajos o combinaciones de teclas: Super + s. Abrir un terminal: Mod4 + Enter, recuerda que Mod4 es la “tecla de Windows”; Cerrar un terminal: Mod4 + Shift + c; Lanzar aplicaciones: Mod4 + r. Mod4 + Izquierda: ir al escritorio de la izquierda; Mod4 + Derecha: navegar o desplazarse al escritorio de la derecha.
  5. Editemos el archivo de configuración de Awesome, gedit /home/myUser/.config/awesome/rc.lua
    -- Variables personales
    terminal = "kitty"
    editor = os.getenv("EDITOR") or "nvim"
    -- Modkey predeterminado. Mod4 es la tecla "especial" (la tecla de Windows)
    modkey = "Mod4"
    -- Las ventanas se organizan siguiendo un diseño predeterminado. El diseño en mosaico consta de dos columnas: una para la ventana principal y la otra para las ventanas "no principales". Solo hay una ventana maestra que ocupa la mitad de la pantalla, mientras que todas las demás ventanas, no maestras, se apilan verticalmente.
    awful.layout.layouts = {
          awful.layout.suit.tile,
    }
    [...]-- Eliminar barras de título.
    { rule_any = {type = { "normal", "dialog" }
      }, properties = { titlebars_enabled = false }
    },[...]
    -- Combinaciones de teclas personales.
        -- Dmenu
        awful.key({ modkey },            "r",     function () awful.util.spawn("dmenu_run") end,
                  {description = "Dmenu", group = "launcher"}),
        -- Google Chrome
        awful.key({ modkey },            "c",     function () awful.util.spawn("google-chrome") end,
                  {description = "Open Google Chrome", group = "launcher"}),
        -- Station
        awful.key({ modkey },            "b",     function () awful.util.spawn( terminal.." -e /home/myUser/Applications/Station.AppImage") end,
                  {description = "Open Station", group = "launcher"}),
    beautiful.useless_gap = 5 -- Espacio entre ventanas clientes
    -- Aplicaciones que se inician automáticamente al iniciar la sesión
    awful.spawn.with_shell("barrier")
    awful.spawn.with_shell("dropbox")
    -- Nitrogen es un navegador y configurador de fondos de escritorio rápido y ligero. Descarga la galería de fondos de pantalla de Derek Taylor: git clone https://gitlab.com/dwt1/wallpapers.git. Con la opción --random, Nitrogen elige fondos aleatorios del directorio ~/wallpapers
    awful.spawn.with_shell("nitrogen --set-zoom-fill --random ~/wallpapers")
    -- Usamos picom como compositor de ventanas. Asegúrate de editar ~/.config/kitty/kitty.conf e incluir la línea: _background_opacity 0.9_ para habilitar las transparencias en el terminal.
    awful.spawn.with_shell("picom -b")

Utilizaremos Rofi (sudo apt install rofi) como una alternativa a dmenu. Rofi es un commutador de ventanas, un lanzador de aplicaciones y una excelente alternativa a dmenu. Es liviano, de código abierto, gratuito y muy configurable. Ctrl + tab te permite cambiar entre los diferentes modos: run (lanzador de aplicaciones), window (commutador de ventes), y ssh.

    -- Rofi. Teclas rápidas: Modkey + r
        awful.key({ modkey },            "r",     function () awful.util.spawn("rofi -show run") end,
                  {description = "Dmenu", group = "launcher"}),
Bitcoin donation

JustToThePoint Copyright © 2011 - 2024 Anawim. ALL RIGHTS RESERVED. Bilingual e-books, articles, and videos to help your child and your entire family succeed, develop a healthy lifestyle, and have a lot of fun. Social Issues, Join us.

Esta web utiliza 'cookies' propias y de terceros para ofrecerte una mejor experiencia y servicio.
Al navegar o utilizar nuestros servicios, estas aceptando nuestra Política de Cookies, así como, nuestros Términos y condiciones de uso.