Openbox (Español)

From ArchWiki
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Tango-preferences-desktop-locale-modified.pngLa traducción de este artículo o sección no refleja el texto original.Tango-preferences-desktop-locale-modified.png

Motivos: Last updated in 2012 (Discusión en Talk:Openbox (Español)#)

Openbox es un gestor de ventanas ligero, altamente configurable y con amplia compatibilidad en cuanto estándares. Puede construirse y ejecutarse de forma independiente como base de un entorno de escritorio único o dentro de otros entornos de escritorio integrados como KDE y Xfce, como alternativa a los gestores de ventanas que proporcionan. El entorno de escritorio LXDE está construido alrededor de Openbox.

Instalación

Instala el paquete openbox disponible desde los repositorios oficiales.

Una vez instalado, pacman te indicará que copies los archivos rc.xml, rc.xml, autostart y environment de la configuración por defecto a ~/.config/openbox/.

Nota: haz esto como un usuario normal, no como root.
$ mkdir -p ~/.config/openbox
$ cp /etc/xdg/openbox/{rc.xml,menu.xml,autostart, environment} ~/.config/openbox

Estos archivos son la base de tu configuración en openbox. Cada archivo apunta a un único aspecto de la configuración y cumplen los siguientes roles:

rc.xml
Es el principal archivo de configuración de Openbox. Se utiliza para configurar los atajos de teclado, temas, escritorios virtuales demás propiedades.
menu.xml
Controla el menú de aplicaciones de Openbox que aparece al hacer click secundario en el escritorio. ver la sección menú.
autostart
Este es el archivo que se lee al iniciar la sesión de openbox. Contiene los programas que se iniciarán con la sesión. típicamente es usado para lanzar páneles/docks, establecer la imagen de fondo o ejecutar scripts al inicio.
environment
Este archivo establece las variables del entorno openbox. Cualquier variable establecida será ejcutada en cada inicio de sesión. Usado para iniciar IMEs, exportar módulos de idioma, indicar el directorio por defecto y demás.

Actualizando a Openbox 3.5

Si has actualizado openbox a su versión 3.5 o superiores, debes tener en cuenta lo siguiente:

  • Hay un nuevo achivo llamado environment que deberia ser copiado de /etc/xdg/openbox a ~/.config/openbox.
  • El archivo anteriormente llamado austart.sh pasa a llamarse simplemente austart, debes renombrarlo.
  • La gramatica en algunas secciones del rc.xml han cambiado. Openbox seguirá entendiendo las viejas opciones pero sería aconsejable comparar tu rc.xml con el que se encuentra en /etc/xdg/openbox para averiguar los cambios que pueden afectarte.

Openbox Solo

Para ejecutar Openbox en solitario,(es decir, sin ningún entorno de escritorio) solo tiene que añadir lo siguiente al final de ~/.xinitrc:

exec openbox-session

Véase xinitrc para mas detalles.

Si usaste otro gestor de ventanas anteriormente (como xfwm) y ahora openbox no inicia después de cerrar la sesión de X, trata moviendo la carpeta autostart:

mv ~/.config/autostart ~/.config/autostart.bak
Nota: python2-xdg es requerido para iniciar openbox mediante xdg-autostart.

Openbox como WM junto a otros entornos de escritorio

Openbox puede ser usado para remplazar el gestor de ventanas en otro Entorno de escritorio.

GNOME

  1. Si utiliza GDM, seleccione la opción de sesión "GNOME/Openbox"
  2. Si utiliza startx, añada exec openbox-gnome-session a ~/.xinitrc
  3. Desde la shell:
xinit /usr/bin/openbox-gnome-session

KDE

  1. Si utiliza KDM, seleccione la opción de sesión "KDE/Openbox"
  2. Si utiliza startx, añada exec openbox-kde-session a ~/.xinitrc
  3. Desde la the shell:
xinit /usr/bin/openbox-kde-session

Xfce4

Ingrese en una sesión normal de Xfce4. Desde su terminal de preferencia, haga:

killall xfwm4 ; openbox & exit

Esto matará al proceso xfwm4, ejecutará Openbox, y cerrará el terminal. Salga, asegurándose de marcar la casilla "Guardar sesion para futuros ingresos". En el próximo ingreso, Xfce4 utilizará Openbox como su gestor de ventanas. Para poder salir de la sesión mediante xfce4-session, abra su archivo ~/.config/openbox/menu.xml.

Busque la entrada:

 <item label="Exit Openbox">
   <action name="Exit">
     <prompt>yes</prompt>
   </action>
 </item>

y cámbiela a:

 <item label="Exit Openbox">
   <action name="Exit">
     <prompt>yes</prompt>
    <command>xfce4-session-logout</command>
   </action>
 </item>

Si no lo hace, utilizar la entrada "Exit" del primer nivel del menú provocará que Openbox termine su ejecución, dejándole sin un gestor de ventanas.

Si tiene problemas al cambiar de escritorio virtual con la rueda del ratón, abra su archivo ~/.config/openbox/rc.xml y cambie de posición las ligaduras del ratón file que tiene acciones tipo "DesktopPrevious" y "DesktopNext" desde el contexto "Desktop" al contexto "Root" (puede que tenga que definir el contexto Root).

Si quiere utilizar el nivel principal del menú de Openbox en vez del que utiliza Xfce, puede terminar el proceso Xfdesktop ejecutando en un terminal la siguiente orden:

xfdesktop --quit

Por otra parte, Xfdesktop se encarga también del fondo y de los iconos de escritorio, lo que le obliga a utilizar otras utilidades, como por ejemplo ROX, para estas funciones.

(Cuando se termina Xfdesktop, el asunto anterior de los escritorios virtuales deja de ser un problema.)

Configuración

Actualmente, hay dos opciones para configurar las preferencias esenciales de Openbox:

Cofiguración Manual

Para configurar manualmente Openbox, tienes que editar ~/.config/openbox/rc.xmlcon su editor de texto favorito. El archivo contiene comentarios explicativos,para mas detalles puedes visitar la OpenBox wiki.

ObConf

ObConf es una herramienta de interfaz gráfica para la configuración de Openbox, que puede establecer la mayor parte de las preferencias incluyendo los temas, los escritorios virtuales, las propiedades de ventana y los márgenes del escritorio. Puede ser instalado con el paquete obconf, disponible en los repositorios oficiales.

ObConf no sirve para configurar ni atajos de teclado, ni otras características avanzadas. Para hacer este tipo de modificaciones, debes editar rc.xml, alternativamente, puedes utilizar obkeyAUR desde AUR.

Personalización de Aplicaciones

Openbox permite personalización de aplicaciones, permitiendo definir reglas de ejecución. Por ejemplo:

  • Iniciar tu navegador web en un específico escritorio virtual.
  • Abrir una terminal sin decoración de ventana.
  • Hacer que tu cliente de bit-torrent aparezca en determinada posición de la pantalla.

Estas configuraciones se pueden definir en ~/.config/openbox/rc.xml. Las instrucciones se encuentran en los comentarios del archivo. Mas detalles en la Openbox wiki

Menús

El menú de Openbox incluye por defecto una serie de aplicaciones para que pueda comenzar, pero tendrá probablemente que personalizarlo hasta cierto punto. Hay varias maneras de hacer esto:

Manualmente

De manera similar a como se hace con al archivo rc.xml, puede editar ~/.config/openbox/menu.xml con su editor de texto favorito.

Iconos en el Menú

Desde la versión 3.5.0 puedes tener íconos en las entradas del menú, de la siguiente manera:

  • agrega <showIcons>yes</showIcons> en la sección <menu> del archivo rc.xml.
  • edita las entradas del menú en menu.xml agregando icons="<path>" así:
<menu id="apps-menu" label="Aplicacion" icon="/home/usuario/.icons/applicacion.png">

luego ejecuta openbox --reconfigure ó openbox --restart si el menú no se actualiza adecuadamente.

MenuMaker

MenuMaker es una poderosa herramienta que que crea menús basados en XML para una serie de gestores de ventana, incluyendo Openbox. MenuMaker buscará los programas ejecutables que estén instalados en su ordenador y creará en menú XML basánodse en los resultados. Se la puede configurar para que excluya lsa viejas aplicaciones de X, o las de GNOME, KDE, y Xfce a gusto del usuario.

MenuMaker está disponible desde el menumaker.

Una vez instalado, puede generar un menú completo ejecutando:

$ mmaker -v OpenBox3

Por defecto, MenuMaker no sobreescribirá un archivo menu.xml anterior. Para hacerlo así, ejecútelo con el argumento -f (force):

$ mmaker -vf OpenBox3

Para consultar una lista completa de opciones, ejecute mmaker --help

Esto le proporcionará un menú bastante completo. Ahora puede modificar el archivo menu.xml a mano, o simplemente regenerar la lista cuando instale nuevo software.

Obmenu

Obmenu es un editor gráfico para el menu de Openbox. Para todos aquellos que no les gusta mucho enredar con el codigo fuente XML. ésta es probablemente la mejor opción para usted. Se instala mediante el paquete obmenuAUR, disponible en los repositorios oficiales.

Una vez instalado, tan sólo debe ejecutar obmenu y añadir o quitar las aplicaciones que se desee.

Obm-xdg

obm-xdg es una herramienta en línea de comandos que viene con Obmenu. Puede generar un submenú categorizado de las aplicaciones GTK/GNOME instaladas.

Para utilizar obm-xdg, añada la siguiente línea a ~/.config/openbox/menu.xml:

<menu execute="obm-xdg" id="xdg-menu" label="xdg"/>

Ejecute entonces openbox --reconfigure para actualizar el menú de Openbox. Debería ver ahora en su menú, un submenú etiquetado como xdg.

Nota: Si no tiene GNOME instalado, deberá instalar entonces el paquete gnome-menus para que funcione obm-xdg.

openbox-menu

Openbox-menu[enlace roto 2020-08-04] usa menu-cache del proyecto LXDE para generar menús para Openbox.

Puede ser instalado con el paquete openbox-menuAUR vía AUR.

Si obtienes un error cuando trates de abrir el menú, intenta añadir íconos al menú de Openbox .

Script Menú xdg Basado en Python

Este script se encuentra en el paquete de Openbox para Fedora. Solamente debes guardarlo en cualquier lugar y crear una entrada en el menú. La útima versión del script puede encontrarse aquí[enlace roto 2020-08-04].

Descarga el script antes mencionado y guárdalo en el directorio que mas te parezca. Edita el archivo rc.xml con tu editor de texto favorito y agrega la siguiente entrada, Por supuesto, puedes cambiar la etiqueta en el parámetro "label":

<menu id="apps-menu" label="xdg-menu" execute="python2 /path/to/xdg-menu"/>

Guarda el archivo y ejecuta openbox --reconfigure.

Nota: Si no tiene GNOME instalado, deberá instalar entonces el paquete gnome-menus para que funcione obm-xdg.

Generador Automático De Menú

Sino desea editar el archivo ~/.config/openbox/menu.xml con los métodos anteriores, puede utilizar la aplicación obmenugen-binAUR[enlace roto: package not found], (disponible en AUR), para generar las nuevas entradas en el menú. Este utiliza los archivos .desktop para generar el menú. Una vez instalado ejecutar:

$ obmenugen               # Crear el nuevo menu
$ openbox --reconfigure   # Para ver el nuevo menu generado

menús Dinámicos (Pipe menus)

Al igual que otros gestores de ventanas, Openbox permite scripts para para crear menús dinámicos, Ejemplos serían : monitores del sistema, controles de reproducción multimedia, o monitores de clima. Ejemplos de menús dinámicos pueden ser encontrados en la página Openbox:Pipemenus, en el sitio oficial de Openbox.

Algunos scripts interesantes proporcionados por los usuarios de Openbox:

  • obfilebrowser — Un menú para navegar entre directorios.
https://xyne.dev/projects/obfilebrowser/ || obfilebrowserAUR
  • obdevicemenu — Un menú capaz de gestionar dispositivos extraíbles utilizando udisks.
https://bbs.archlinux.org/viewtopic.php?id=114702 || obdevicemenuAUR

Programas en el arranque

Openbox proporciona la posibilidad de ejecutar diversos programas en el arranque. Esto se consigue por la orden openbox-session.

Habilitar el auto-arranque

Hay dos maneras de habilitar el auto-arranque:

  1. Si utilizas startx para iniciar sesión , edita ~/.xinitrc y cambi la línea de openbox a openbox-session.
  2. Si utilizas GDM/KDM, selecciona entonces la sesión Openbox y se utilizará automáticamente el guión autostart.

Script de inicio (autostart)

Openbox proporciona un script de inicio de todo el sistema que se aplica a todos los usuarios y se encuentra en /etc/xdg/openbox/autostart. Los usuarios también pueden indicar que programas al iniciar sesión creando o editando el archivo ~/.config/openbox/autostart.

Otras instrucciones están disponibles en Help:Autostart en el sitio oficial de Openbox.

Nota: Todos los programas en el archivo autostart deben ser ejecutados como demonios o en segundo plano, de lo contrario los elementos en /etc/xdg/openbox/autostart no arrancán.

Openbox también se inicia cualquier archivo *.desktop en la carpeta /etc/xdg/autostart. Esto sucede independientemente del script de inicio del usuario. nm-applet, por ejemplo, instala un archivo en esta ubicación, y puede causar que se ejecute dos veces para los usuarios con el habitual (sleep 3 && / usr / bin / nm-applet - sm-disable) en su script de inicio. Hay una Discusión acerca de esto [1].

Temas y apariencia

Ver Artículo Principal: #Temas y apariencia.

Temas de Openbox

Los temas de Openbox controlan la apariencia de los bordes de ventana, incluyendo la barra del título y sus botones ademas de las notificaciones (OSD). Una serie de temas estan disponibles instalando el paquete openbox-themesAUR, disponible desde los repositorios oficiales.

Box-Look[enlace roto 2021-11-15] es una gran fuente de recursos para obtener temas de Openbox.

Los temas descargados deberían ser desempaquetados en ~/.themes y puede ser instalados o seleccionados con la herramienta ObConf.

Cursores , Iconos y Fondos de Escritorio

Los temas para Xcursor pueden ser instalados con el paquete xcursor-themes, otros paquetes como xcursor-bluecurve, xcursor-vanilla-dmz ó xcursor-pinux y muchos otros estan disponibles en los repositorios o vía AUR

Los temas para iconos estan disponibles vía repositorio, por ejemplo lxde-icon-theme, tangerine-icon-themeAUR ó gnome-icon-theme muchos mas pueden ser encontrados en los repositorios oficiales o en AUR

Los fondos de escritorio pueden ser fácilmente establecidos con herramientas como Nitrogen, Feh or hsetroot.

mas información sobre temas de personalización en Openbox Themes and Apps (Español)

Consejos y trucos

Programas recomendados

Ver Artículo Principal: #Programas recomendados.

Obtener rápidamente valores xprop para ajustes individualizados

Si utiliza frecuentemente ajustes individualizados para cada aplicación, podría encontra útil este alias de bash:

alias xp='xprop | grep "WM_WINDOW_ROLE\|WM_CLASS" && echo "WM_CLASS(STRING) = \"NAME\", \"CLASS\""'

Para utilizarlo, ejecute xp y haga click en un programa que esté ejecutándose y para el que quiera definir un ajuste individualizado. El resultado mostrará únicamente la información que requiere Openbox, por ejemplo, los valores de WM_WINDOW_ROLE y de WM_CLASS (nombre y clase):

[thayer@dublin:~] $ xp
WM_WINDOW_ROLE(STRING) = "roster"
WM_CLASS(STRING) = "gajim.py", "Gajim.py"
WM_CLASS(STRING) = "NAME", "CLASS"

Ligando el menú a una orden

Podría haber gente que quisiera ligar el menú principal de Openbox, o cualquier otra cosa, a una orden. Esto es útil para crear por ejemplo, un botón de menú en un panel. Aunque Openbox no proporciona esto, un guión muy sencillo, xdotool, puede simular la pulsación de una tecla ejecutando una orden. Xdotool está disponible en xdotool. Para utilizarlo, sólo tiene que añadir el siguiente código a la sección <keyboard> de su archivo lxde-rc.xml:

    <keybind key="A-C-q">
      <action name="ShowMenu">
        <menu>root-menu</menu>
      </action>
    </keybind>

Rearranque/reconfigure Openbox. Ahora puede hacer la magia de invocar su menu en la posición del cursor ejecutando la siguiente orden:

# xdotool key ctrl+alt+q

Por supuesto, puede cambiar la combinación de letras a su gusto.

Control de volumen por teclado

Para los teclados multimedia es posible habilitar las teclas de control de volumen. Para esto editar el archivo ~/.config/openbox/rc.xml en la sección <keyboard>, y agregar:

Alsa

<keybind key="XF86AudioRaiseVolume">
  <action name="Execute">
    <command>amixer set Master 5%+ unmute</command>
  </action>
</keybind>
<keybind key="XF86AudioLowerVolume">
  <action name="Execute">
    <command>amixer set Master 5%- unmute</command>
  </action>
</keybind>
<keybind key="XF86AudioMute">
  <action name="Execute">
    <command>amixer set Master toggle</command>
  </action>
</keybind>

El ejemplo anterior debería funcionar para la mayoría de los teclados multimedia. Debe permitir el subir, bajar y silenciar el Master Control del dispositivo de audio. Nótese también que en este ejemplo:

  • El Silencio debe activar el Master Control si ya está en modo de silencio.
  • El Subir/Bajar el volumen debe activar/desactivar el Master Control cuando se llega a valores limites.

Pulseaudio

<keybind key="XF86AudioRaiseVolume">
  <action name="Execute">
    <command>amixer -D pulse set Master 5%+ unmute</command>
  </action>
</keybind>
<keybind key="XF86AudioLowerVolume">
  <action name="Execute">
    <command>amixer -D pulse set Master 5%- unmute</command>
  </action>
</keybind>
 <keybind key="XF86AudioMute">
  <action name="Execute">
    <command>amixer set Master toggle</command>
  </action>
</keybind>

Esta configuración de teclas deben funcionar para la mayoría de los sistemas. Otros ejemplos se pueden encontrar aquí.

Sin teclas multimedia

En el caso de que tu teclado no disponga de las teclas multimedia puedes crear combinaciones de teclas para el conol de volumen, por ejemplo:

  <keybind key="W-Up">
    <action name="Execute">
      <command>amixer set Master 5%+</command>
    </action>
  </keybind>
  <keybind key="W-Down">
    <action name="Execute">
      <command>amixer set Master 5%-</command>
    </action>
  </keybind>

Recursos adicionales