Openbox (Italiano)

From ArchWiki
Revision as of 16:59, 17 September 2012 by 4javier (Talk | contribs) (Funzione simile alla "Snap" di Aero)

Jump to: navigation, search
Sommario help replacing me
Una panoramica sull'ambiente desktop Openbox.
Articoli correlati
KDE - KDEmod - Fluxbox - Enlightenment - E17 - GNOME - Xfce - LXDE - Xorg - Compiz Stand-alone

Openbox è un window manager leggero ed estremamente configurabile con un estensivo supporto di standard. Le sue funzionalità sono ben documentate sul sito ufficiale. Questo articolo riguarderà Openbox su Arch Linux.

Installazione

openbox è disponibile nel repository community:

# pacman -S openbox

Una volta installato, pacman vi indicherà di copiare i file di configurazione predefiniti rc.xml, menu.xml, autostart, e environment in ~/.config/openbox/, ad esempio:

Nota: fare questo come utente semplice, non come root.
$ mkdir -p ~/.config/openbox/
$ cp /etc/xdg/openbox/{rc.xml,menu.xml,autostart,environment} ~/.config/openbox

Questi quattro file rappresentano la base della configurazione di openbox. Ogni file copre un determinato ambito della configurazione, e nello specifico i loro ruoli sono i seguenti:

rc.xml
Questo è il file di configurazione principale di Openbox. Viene usato per gestire le scorciatoie di tastiera, i temi, i desktop virtuali e altre funzioni.
menu.xml
Questo file controlla il menu di Openbox che appare quando si fa clic con il tasto destro sul desktop. Definisce lanciatori per le applicazioni ed altre scorciatoie. Consultare la sezione #Menu.
autostart
Questo file viene letto all'avvio di openbox-session. Contiene la lista dei programmi da eseguire all'avvio. È utilizzato solitamente per impostare variabili d'ambiente, lanciare un pannello/dock, impostare lo sfondo del desktop, o eseguire altri script all'avvio. Maggiori dettagli nel Wiki di Openbox.
environment
Di questo file viene effettuato il source da openbox-session all'avvio. Contiene variabili d'ambiente da impostare nel contesto di Openbox. Ogni variabile specificata in questo file sarà visibile ad Openbox stesso ed a tutti i programmi lanciati tramite il suo menu.

Effettuare l'aggiornamento ad Openbox 3.5

Se si sta effettuando l'aggiornamento a Openbox 3.5 o successivo da una versione precedente, fare attenzione a questi cambiamenti:

  • C'è un nuovo file di configurazione environment che bisogna copiare da /etc/xdg/openbox a ~/.config/openbox.
  • Il file di configurazione precedentemente chiamato autostart.sh è ora definito autostart. Bisogna rinominare il proprio eliminando l'estensione .sh.
  • Parte della sintassi di configurazione all'interno di rc.xml è cambiata. Anche se Openbox sembra interpretare correttamente le vecchie regole, sarebbe bene confrontare il proprio file di configurazione con quello proposto in /etc/xdg/openbox e verificare i cambiamenti da apportare.

Usare Openbox come unico gestore

Openbox può essere utilizzato come window manager indipendente (WM). Fare ciò è solitamente più semplice che installarlo e configurarlo perchè si integri in un DE. Eseguirlo in maniera indipendente può ridurre drasticamente il consumo di cpu e memoria. Basta aggiungere questo comando in fondo al file ~/.xinitrc:

~/.xinitrc
exec openbox-session

É possibile avviare una sessione di Openbox anche da console tramite xinit:

$ xinit /usr/bin/openbox-session

Se in precedenza si fosse utilizzato un altro gestore di finestre, come Xfwm, e Openbox non dovesse partire dopo aver effettuato il logout da X, provare a rinominare la cartella di avvio automatico:

$ mv ~/.config/autostart ~/.config/autostart-bak

Per utilizzare Consolekit, eseguire invece questo comando:

$ exec ck-launch-session openbox-session

Se si utilizzano anche polkit e D-Bus (Es. per usufruire dell'automount su Nautilus/Gnome) eseguire:

$ exec ck-launch-session dbus-launch openbox-session
Nota: Openbox richiede il pacchetto pyxdg per eseguire il suo xdg-autostart
Nota: "dbus-launch" dovrebbe essere posto sempre dopo "ck-launch-session" per evitare problemi con l'automount

Gestore finestre per ambienti desktop

Openbox può essere utilizzato per rimpiazzare il gestore di finestre di un Desktop Environment. Il metodo per effettuare la sostituzione, varia in base al DE.

GNOME 2.24 e 2.26

Creare questo file

/usr/share/applications/openbox.desktop
[Desktop Entry]
 Type=Application
 Encoding=UTF-8
 Name=OpenBox
 Exec=openbox
 NoDisplay=true
 # name of loadable control center module
 X-GNOME-WMSettingsModule=openbox
 # name we put on the WM spec check window
 X-GNOME-WMName=OpenBox

In gconf, impostare /desktop/gnome/session/required_components/windowmanager su openbox:

$ gconftool-2 -s -t string /desktop/gnome/session/required_components/windowmanager openbox

Infine selezionare GNOME dal menù delle sessioni di GDM.

Se dopo l'installazione di openbox falliscono i tentativi di log in nella sessione 'Gnome/openbox', si può tentare quanto sotto specificato per effettuare l'avvio di openbox come window manager ogni volta che si effettua l'accesso nella sessione 'Gnome' dal proprio login manager (xdm, gdm, kdm, entrance, slim, etc.)

  1. Effettuare l'accesso solamente nella sessione di Gnome (che userà metacity quale unico window manager) per preparare quanto segue.
  2. Installare openbox se non è ancora stato fatto.
  3. Esplorare il menu verso System → Preferences → Startup Applications (probabilmente chiamato 'Session' per versioni meno recenti di Gnome)
  4. Selezionare "Applicazioni d'avvio", poi "Aggiungi" ed immettere il testo contenuto nel box sotto, omettendo quello preceduto da #.
  5. Premere "Aggiungi" per completare l'aggiunta della nuova voce ed assicurarsi che sia spuntata nella lista delle applicazioni d'avvio.
  6. Terminare la sessione di Gnome, rieffettuare l'accesso, e si dovrebbe finalmente essere nella nuova sessione di openbox.
  7. Buon divertimento!
Nome:    Openbox Windox Manager           # Can be changed
Comando: openbox --replace                # Text should not be removed from this line, but possibly added to it
Commento: Replaces metacity with openbox  # Can be changed

Sarà creata una nuova voce di avvio che verrà eseguita da gnome ogni volta che verrà richiamata una particolare sessione di gnome.

GNOME 2.26 Redux

Se la guida precedente non dovesse funzionare Ecco un altro modo per utilizzare Openbox all'interno della sessione Gnome:

  1. Effettuare il login all'interno della sessione Gnome (dovrebbe usare metacity come wm)
  2. Installare Openbox se non lo si ha ancora fatto.
  3. Navigare fino al menu System → Preferences → Startup Applications (potrebbe essere chiamato 'Session' in versioni precedenti di Gnome.
  4. Aprire Startup Application, selezionare '+add' ed inserire il testo mostrato di seguito. Omettere le righe che iniziano con un cancelletto #.
  5. Effettuare il logout dalla sessione Gnome, e ri-effettuare il login.
  6. Si dovrebbe ora stare eseguendo Openbox come window manager.

Name: Openbox Windox Manager # Can be changed Command: openbox --replace # Text should not be removed from this line, but possibly added to it Comment: Replaces metacity with openbox # Can be changed

Ciò creerà una voce nella lista di avvio di Gnome che sarà eseguita ogni volta che la sessione Gnome dell'utente sarà avviata.

GNOME 2.22 e precedenti

  1. Se si usa GDM, selezionare l'opzione di accesso "GNOME/Openbox"
  2. Usando invece startx, aggiungere exec openbox-gnome-session a ~/.xinitrc
  3. Dalla shell:
$ xinit /usr/bin/openbox-gnome-session

KDE

  1. Se si usa KDM, selezionare l'opzione di accesso "KDE/Openbox"
  2. Se si usa startx, aggiungere exec openbox-kde-session al file ~/.xinitrc
  3. Per avviare da shell:
$ xinit /usr/bin/openbox-kde-session

Xfce4

Effettuare l'accesso in una normale sessione Xfce4. Dal terminale dare:

$ killall xfwm4 ; openbox & exit

Con questo si ucciderà xfwm4, si avvierà Openbox, e si chiuderà il terminale. Terminare la sessione, assicurandosi di spuntare la casella "Salvare la sessione per prossimi accessi". Al prossimo accesso, Xfce4 avvierà Openbox come WM.

Per essere abilitati a terminare la sessione xfce4, modificare il proprio ~/.config/openbox/menu.xml (se il file non esiste, copiarlo da /etc/xdg/openbox/menu.xml). Trovare la seguente voce:

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

e modificarla così:

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

Altrimenti usando la voce "Exit" dal menu si termina l'esecuzione di Openbox, rimanendo senza window manager.

Se c'è qualche problema a cambiare tra desktops virtuali con la rotella del mouse (salta qualche desktop), aprire il file ~/.config/openbox/rc.xml e spostare i binding delmouse del mouse relativi alle azioni "DesktopPrevious" e "DesktopNext" dal contesto "Desktop" al contesto "Root" (si potrebbe dover definire il contesto Root).

Volendo usare il root-menu di Openbox invece di quello di Xfce, è possibile terminare Xfdesktop dando il seguente comando in un terminale:

$ xfdesktop --quit

In ogni caso, Xfdesktop gestisce gli sfondi e le icone del desktop, obbligando l'utente ad usare per queste funzioni altri strumenti, come ad esempio ROX.

(Quando si termina Xfdesktop, il problema di cui sopra dei desktop virtuali non si dovrebbe ripresentare.)

Openbox per sistemi multihead

Anche se Openbox fornisce un supporto al multi-monitor più che soddisfacente, esiste un branch apposito reperibile su [AUR] chiamato openbox-multihead-gitAUR che fornisce un desktop indipendente per ogni monitor. Questo modello non è molto comune tra i window manager floating, in quanto è principalmente riscontrabile in quelli tiling. È ben spiegato sul sito web di Xmonad. Consultare anche il readme specifico per una descrizione più comprensibile delle funzionalità e delle opzioni di configurazione disponibili in Openbox Multihead.

Openbox Multihead funzionerà come il classico Openbox in presenza di un solo monitor.

Una delle controindicazioni dell'utilizzo di Openbox Multihead è che non rispetta l'assunto EWMH che uno ed un solo dektop può essere visibile in un dato istante. Per questo motivo i pager esistenti non funzioneranno correttamente. Per ovviare a ciò è disponibile su [AUR] pager-multihead-gitAUR, che è compatibile con Openbox Multihead. Screenshots.

Infine, su [AUR] è anche disponibile una nuova versione di pytile3-gitAUR che funziona correttamente con Openbox Multihead.

Sia pytile3 che pager-multihead funzioneranno senza Openbox Multihead se è attivo un solo monitor.

Configurazione

Ci sono diversi metodi per configurare le impostazioni di Openbox.

Configurazione manuale

Per configurare Openbox manualmente, modificare ~/.config/openbox/rc.xml con un editor di testi. Il file contiene commenti molto esplicativi al suo interno. Consultare la documentazione per ulteriore documentazione riguardo al file.

ObConf

ObConf è uno strumento di configurazione per Openbox. È usato per definire la maggior parte delle preferenze più comuni, inclusi temi, desktop virtuali, proprietà delle finestre e margini del desktop.Per installare ObConf:

# pacman -S obconf

Al momento ObConf non può essere usato per gestire le scorciatoie di tastiera e alcune funzioni avanzate. Per queste modifiche, l'utente deve ricorrere alla modifica manuale del file rc.xml. Un'alternativa è l'applicazione obkeyAUR disponibile su AUR

Configurazione delle applicazioni

Openbox permette di definire regole per le singole applicazioni. Ad esempio si può:

  • Caricare il web browser preferito in un determinato desktop
  • Avviare il terminale senza i bordi della finestra
  • Posizionare all'avvio il client torrent in una certa posizione del monitor

Queste regole sono definite in ~/.config/openbox/rc.xml. Le istruzioni sono ben dettagliate all'interno dello stesso file. Documentazione dettagliata può anche essere reperita qui

Gestione del menu

Il menu di base di Openbox include già molte voci. Molte di queste lancerebbero applicazioni che non si utilizzano e che magari non state neppure installate. Si vorrà certamente personalizzare menu.xml prima o poi . Vi sono diversi modi per farlo:

Configurazione manuale

È possibile modificare ~/.config/openbox/menu.xml con il proprio editor di testo. Anche se molti comandi sono facilmente intuibili, potete consultare la documentazione ufficiale.

Icone nel menù

Dalla versione 3.5.0 è possibile avere delle icone affianco alle voci nel menù. Per fare questo:

  1. aggiungere <showIcons>yes</showIcons> nella sezione <menu> del file rc.xml
  2. modificare le voci del menù in menu.xml ed aggiungere icons="<path>" in questo modo:

<menu id="apps-menu" label="SomeApp" icon="/home/user/.icons/application.png">

A questo punto eseguire openbox --reconfigure o openbox --restart.

MenuMaker

MenuMaker è un potente strumento per creare menù XML per diversi Windows Manager, incluso Openbox. MenuMaker cercherà programmi eseguibili nel computer e creerà un file di menù basato sui risultati. Può essere configurato per escludere alcuni tipi di applicazione (applicazioni di GNOME, KDE, Xfce etc.) se l'utente lo desidera.

MenuMaker è disponibile nel repository [community]:

# pacman -S menumaker

Una volta installato, si può generare un menu completo (chiamato menu.xml) con uno dei seguenti comandi:

$ mmaker -v OpenBox3

in questo modo non si sovrascriverà un file di menù pre-esistente.

$ mmaker -vf OpenBox3

l'opzione force permette di sovrascrivere un file di menu pre-esistente

mmaker --help

visualizza la lista delle opzioni disponibili

MenuMaker vi darà un menu abbastanza approfondito. Ora è possibile modificare il menu.xml a mano, o rigenerare la lista ogni volta che si installa nuovo software.

Obmenu

Obmenu è un editor di menu per Openbox con un'interfaccia grafica. E' probabilmente la migliore opzione per coloro che non amano sporcarsi le mani con codice XML.

E' disponibile nei repository ufficiali:

# pacman -S obmenu

Una volta installato, basta eseguire il comando obmenu e aggiungere o rimuovere le applicazioni desiderate.

obm-xdg

obm-xdg è uno strumento per riga di comando che viene installato assieme a Obmenu. Può generare un sottomenu categorizzato di applicazioni GTK/GNOME installate.

Per usare obm-xdg con altri menù, aggiungere la riga seguente al file ~/.config/openbox/menu.xml: {{Ic|<menu execute="obm-xdg" id="xdg-menu" label="xdg"/>

Dopodichè aggiungere la seguente riga sotto la voce 'root-menu' dove si vuole che il menu venga mostrato <menu id="xdg-menu"/>

Dopodichè eseguire il comando openbox --reconfigure per aggiornare il menu di Opebox. Un sottomenu chiamato xdg dovrebbe essere ora apparso nel vostro menu.

Per utilizzare obm-xdg in maniera indipendente, creare ~/.config/openbox/menu.xml ed aggiungere queste righe: {{Ic|<openbox_menu> <menu execute="obm-xdg" id="root-menu" label="apps"/> </openbox_menu>

Dopodichè eseguire il comando openbox --reconfigure per aggiornare il menu di Opebox. Un sottomenu chiamato xdg dovrebbe essere ora apparso nel vostro menu.

Nota: Se non avete installato GNOME, allora dovete installare il pacchetto gnome-menus per utilizzare obm-xdg.

openbox-menu

Openbox-menu utilizza menu-cache dal progetto LXDE per creare un menu dinamico per Openbox. L'homepage del progetto si trova http://mimasgpc.free.fr/openbox-menu_en.html qui, mentre il pacchetto è disponibile su [AUR] come openbox-menuAUR

Script menu xdg basato su python

Questo script è reperibile nel pacchetto openbox di Fedora. Ci sarà solo da mettere lo script in qualche posto e aggiungere una voce al menu.

Qui il principale: script più recente

Scaricare dal repo mostrato sopra. È possibile metterlo ovunque, per indicare la sua posizione nell'esempio useremo <path>.

Aprire poi menu.xml con un editor di testo e aggiungere la seguente voce dove si preferisce nel nuovo menu (naturalmente è possibile modificare l'etichetta): <menu id="apps-menu" label="xdg-menu" execute="python2 <path>/xdg-menu"/>

Salvare il file ed eseguire: openbox --reconfigure.

Nota: Se non si ha Gnome installato, sarà necessario installare il pacchetto gnome-menus perchè xdg-menu funzioni.

OpenBox Menu Generator

OpenBox Menu Generator, reperibile su [AUR] come obmenugen-binAUR è un generatore di menu per Openbox che utilizza i file *.desktop. Fornisce un file di testo che filtra, usando espressioni regolari di base, le voci di menu che sono nascoste. Per utilizzarlo, lanciare semplicemente:

$ obmenugen

quindi aggiornare OpenBox con:

$ openbox --reconfigure

Pipe menus

Openbox (ed altri WM come WindowMaker e PekWM) permettono di scrivere degli scripts che generano dinamicamente dei menu. Alcuni esempi sono monitor di sistema, controlli per i media player, e previsioni del tempo. Molti altri esempi possono essere trovati su questa pagina del sito di Openbox.

L'utente Xyne ha creato un gestore di file in pipe-menu mentre l'utente brisbin33 ha creato un pipe-menu per effettuare la scansione e la connessione agli hot-spot wireless (tramite netcfg). I post sul forum per questi tool sono: file browser e wifi. L'utente jnguyen ha creato un pipe menu per la gestione dei dispositivi rimovibili tramite Udisks. Questo è il post sul forum a riguardo obdevicemenu.

Esecuzione automatica

Openbox supporta l'esecuzione automatica di programmi all'avvio. Questa funzione è fornita dal comando openbox-session.

Abilitare l'esecuzione automatica

Ci sono due modi per abilitare l'esecuzione automatica:

  1. Se si usa startx/xinit per accedere alla sessione X, modificare `./xinitrc in modo che la riga che esegue openbox esegua invece openbox-session .
  2. Se si usa GDM/KDM, selezionare la sessione Openbox e questa utilizzerà l'esecuzione automatica.

Script d'esecuzione automatica

Openbox fornisce uno script d'esecuzione automatica per tutto il sistema che viene applicato a tutti gli utenti e si trova in /etc/xdg/openbox/autostart. Un utente può comunque creare il proprio script personale che verrà eseguito subito dopo quello generico, creandolo come ~/.config/openbox/autostart. Quest'ultimo file non viene generato di default, e deve essere espressamente creato dall'utente.

Istruzioni complete sono reperibili in questo articolo sul sito di Openbox.

Nota: I file di autostart venivano chiamati autostart.sh fino alla versione 3.5.0 di Openbox. Anche se attualmente questi file sono ancora funzionanti, gli utenti che effettuano un aggiornamento del WM sono invitati ad eliminare il suffisso .sh

Temi e aspetto

Template:Box YELLOW

Programmi Raccomandati

Template:Box YELLOW

There is a list of Lightweight Applications in the wiki. Most of these work nicely with Openbox.

Suggerimenti

Funzione simile alla "Snap" di Aero

Tramite le configurazioni di Openbox, è possibile ottenere un comportamento simile alla funzione Snap di Aero (Windows Vista), cioè che le finestre vadano automaticamente ad occupare solo metà dello schermo. Una spiegazione dettagliata è reperibile [in questa discussione del forum italiano]

Associazione dei file

Dal momento che Openbox e le applicazioni che si intende utilizzare con esso non sono molto ben integrati si potrebbe incorrere nel problema che il browser non sappia quale programma si suppone di utilizzare per determinati tipi di file. Il pacchetto gnome-defaults-listAUR, scaricabile da AUR contiene un elenco di tipi di file e programmi specifici per il desktop GNOME. Una volta installato troverete la lista in /etc/gnome/defaults.list

Una volta aperto il file con il proprio editor di testo preferito, sarà necessario solo cercare e sostituire le applicazioni pre-impostate con i programmi voluti. Come ad esempio totem<=>vlc o eog<=>mirage. Salvare il file in ~/.local/share/applications/defaults.list

Un altro modo è usare il pacchetto perl-file-mimeinfo dai repository, e richiamare il comando mimeopen in questo modo:

$ mimeopen -d /percorso/del/file
Please choose a default application for files of type text/plain
       1) notepad  (wine-extension-txt)
       2) Leafpad  (leafpad)
       3) OpenOffice.org Writer  (writer)
       4) gVim  (gvim)
       5) Other...

Verrà chiesto quale applicazione da utilizzare durante l'apertura di /percorso/del/file: La vostra risposta sarà impostata come gestore predefinito per quel tipo di file. Se non si riesce a trovare mimeopen, il suo percorso è:

/usr/bin/perlbin/vendor/mimetype

Copia e incolla

Da terminale, Template:Keypress+Template:Keypress per la funzione copia e Template:Keypress+Template:Keypress per incolla funziona bene in genere. Si può anche copiare de terminale con Template:Keypress+Template:Keypress+Template:Keypress, ed incollare con il tasto centrale del mouse.

Trasparenza

Utilizzando il programma transset-df, che è in linea di massima simile a transset,

# pacman -S transset-df

è possibile abilitare la transparenza delle finestre in modo veloce. Ad esempio modificando quanto segue in ~/.config/openbox/rc.xml si otterrà che con il movimento della rotella del mouse quando il cursore è sulla barra del titolo (osservare la sezione <mouse>), si faccia variare la trasparenza della finestra.:

~/.config/openbox/rc.xml
<context name="Titlebar">
   . . .
   <mousebind button="Up" action="Click">
     <action name= "Execute" >
       <execute>transset-df -p .2 --inc  </execute>
     </action>
   </mousebind>
   <mousebind button="Down" action="Click">
     <action name= "Execute" >
       <execute>transset-df -p .2 --dec </execute>
     </action>
   </mousebind>
   . . .
</context>

Per il momento sembra funzionare bene se non sono stati abilitati altri tipi di funzione nel gruppo action.

Valori Xprop per le applicazioni

Utilizzando impostazioni personalizzate a seconda del tipo di applicazione, potrebbe essere comodo il bash alias:

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

Per usarlo eseguire xp e fare click sul programma in esecuzione di cui si vogliono definire le configurazioni per-app. Il risultato visualizzerà solo le informazioni richieste da Openbox, in pratica i valori WM_WINDOW_ROLE e WM_CLASS (nome e tipo):

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

Xprop per Firefox

Per diversi motivi, Firefox e i suoi equivalenti ignorano le regole delle applicazioni (es. <desktop>) a meno che non si usi class="Firefox*". Ciò implica il non rispetto di qualsiasi cosa venga riportata da xprop come attuale valore WM_CLASS del programma.

Associare il menu a un tasto

Ad alcuni utenti piace associare il menu pricipale di Openbox, o qualsiasi altro, ad un tasto. Potrebbe essere utile, ad esempio, per creare un menu a bottone in un pannello. Sebbene ciò non sia supportato da Openbox, un semplice script reperibile su [AUR], xdotoolAUR, basta a simulare la pressione di un tasto. Per usarlo, aggiungere semplicemente alla sezione <keyboard> del proprio rc.xml:

~/.config/openbox/rc.xml
<keybind key="A-C-q">
  <action name="ShowMenu">
     <menu>root-menu</menu>
  </action>
</keybind>

Riavviare/reconfigure Openbox. Si potrà ora magicamente richiamare il menu nella posizione del cursore eseguendo il seguente comando:

# xdotool key ctrl+alt+q

È ovviamente possibile cambiare le scorciatoie secondo i propri gusti o esigenze.

Urxvt sullo sfondo

Con Openbox, eseguire un terminale come sfondo del desktop è facile. Non avete bisogno di devilspie in questo caso.

Innanzitutto sarà necessario abilitare la trasparenza, aprendo il proprio file .Xdefaults (in caso non esistesse, andrà creato nella propria /home).

~/.Xdefaults
URxvt*transparent:true
URxvt*scrollBar:false
URxvt*geometry:124x24  #Dimensioni del terminale. In caso voi lo vogliate full-screen, non usate questa opzione ma guardate sotto
URxvt*borderLess:true
URxvt*foreground:Black #Colore dei font. Da impostare su White in caso di utilizzo di desktop scuri.

Infine, bisognerà modificare il proprio file ~/.config/openbox/rc.xml:

~/.config/openbox/rc.xml
<application name="urxvt">
  <decor>no</decor>
  <focus>yes</focus>
  <position>
    <x>center</x>
    <y>20</y>
  </position>
  <layer>below</layer>
  <desktop>all</desktop>
  <maximized>true</maximized> #In caso si voglia il terminale full-screen.
  <skip_taskbar>true</skip_taskbar> #permette al processo di venire eseguito senzache compaia nel pannello 
</application>

La magia viene dalla riga <layer>below</layer>, che piazzerà il terminale sotto tutte le altre. In questo caso, URxvt sarà visualizzato su tutti i desktop, ovviamente è possibile cambiare questo comportamento.

Notare che, invece di usare <application name="URxvt"> nella prima riga, è possibile usare un altro nome (URxvt-bg ad esempio), e utilizzare l'opzione -name al lancio di uxrvt. In questo modo, solo i terminali che lancerete con l'opzione saranno impostati con le regole scelte nel file rc.xml. Ad esempio:

urxvt -name URxvt-bg

Controllo del volume da tastiera

Se si usa ALSA per l'audio, è possibile usare il programma amixer per regolare il volume dell'audio. Inoltre è possibile usare le associazioni dei tasti di Openbox in modo che si comportino come tasti multimediali. (Alternativamente, si potrebberero cercare i nomi dei tasti multimediali che si hanno e mapparli.) Per esempio, nella sezione <keyboard> di rc.xml:

~/.config/openbox/rc.xml
<keybind key="W-Up">
  <action name="Execute">
    <command>amixer set Master 5%+</command>
  </action>
</keybind>

Questo vincola i tasti Windows + Freccia Su ad alzare il proprio volume Master ALSA del 5%. La corrispondente associazione per abbassare il volume:

~/.config/openbox/rc.xml
<keybind key="W-Down">
  <action name="Execute">
    <command>amixer set Master 5%-</command>
  </action>
</keybind>

In un altro esempio, è possibile anche usare l'associazione dei tasti per XF86Audio:

~/.config/openbox/rc.xml
<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>

Quest'ultimo esempio dovrebbe funzionare per la maggior parte delle tastiere multimediali. Dovrebbe consentire di alzare, abbassare e disattivare il controllo Master della propria scheda audio usando i rispettivi tasti multimediali. Notare inoltre che in questo esempio:

  • Il tasto "Muto" dovrebbe riattivare il controllo Master se è già disattivato.
  • I tasti "Alzare" e "Abbassare" dovrebbero riattivare il controllo Master se esso è disattivato.

Pulseaudio

Se si utilizza Pulseaudio con ALSA come backend, il precedente keybinding deve essere modificato per istruire amixer ad utilizzare pulse

~/.config/openbox/rc.xml
<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>

Questo keybinding dovrebbe funzionare per la maggior parte dei sistemi. Altri esempi sono reperibili qui

Risoluzione dei problemi

Crash del server X

Al passaggio alla versione 3.5 di Openbox, sono stati segnalati problemi che portano il server grafico ad andare in crash nel tentativo di eseguire Openbox, con messaggi d'errore simili al seguente

(metacity:25137): GLib-WARNING **: In call to g_spawn_sync(), exit status of a child process 
was requested but SIGCHLD action was set to SIG_IGN and ECHILD was received by waitpid(), so exit 
status can't be returned. This is a bug in the program calling g_spawn_sync(); either do not request 
the exit status, or do not set the SIGCHLD action.
xinit: connection to X server lost
waiting for X server to shut down

Nel caso particolare utilizzato come esempio, nel quale il problema era da imputare a metacity, la soluzione è stata la rimozione dei pacchetti metacity e compiz-decorator-gtk. Successivamente si è capito che sarebbe stata sufficiente la loro re-installazione.

È possibile trovare in rete molti casi simili, non imputabili a metacity, perciò qualsiasi cosa si utilizzi al posto di metacity, in caso di errori analoghi a quello proposto, si può provare a re-installare il proprio programma.

Avvio automatico di applicazioni indesiderate

Se si riscontra l'avvio automatico di applicazioni non volute, e che quindi non sono state aggiunte a ~/.config/openbox/autostart script, verificare che all'interno della directory ~/.config/autostart/ non vi siano residui del precedente utilizzo di DE quali Gnome, KDE etc., ed eventualmente rimuoverli.

SSH agent non viene più avviato automaticamente

Mentre fino alla versione 3.4.x di Openbox, era possibile eseguire un agente SSH da ~/.config/openbox/autostart.sh, dalla versione 3.5 questo sembra non funzionare più. È necessario inserire il proprio codice all'interno di ~/.config/openbox/environment, ad esempio

~/.config/openbox/environment
SSHAGENT="/usr/bin/ssh-agent"
SSHAGENTARGS="-s"
if [ -z "$SSH_AUTH_SOCK" -a -x "$SSHAGENT" ]; then
        eval `$SSHAGENT $SSHAGENTARGS`
        trap "kill $SSH_AGENT_PID" 0
fi

Openbox non registra una sessione D-Bus

Proprio come per l'agente SSH, molti utenti erano abituati a tenere il loro codice per l'esecuzione di una sessione D-Bus all'interno di ~/.config/openbox/autostart.sh. Questo metodo non funziona più (ad es. Thunar non rileva alcun dispositivo rimovibile). La soluzione è inserire il codice all'interno di ~/.config/openbox/environment

~/.config/openbox/environment
if which dbus-launch >/dev/null && test -z "$DBUS_SESSION_BUS_ADDRESS"; then
       eval `dbus-launch --sh-syntax --exit-with-session`
fi

L'alternativa è richiamare openbox-session associandogli una sessione D-Bus, ad esempio da ~/.xinitrc

Risorse aggiuntive