Difference between revisions of "JWM (Italiano)"

From ArchWiki
Jump to: navigation, search
(Avviare JWM: out of date)
Line 24: Line 24:
  
 
== Avviare JWM ==
 
== Avviare JWM ==
 +
 +
{{Out of date|ConsoleKit is deprecated, see [https://www.archlinux.org/news/consolekit-replaced-by-logind/] and [[General Troubleshooting#Session permissions]].}}
  
 
*Lanciando il programma xinit per avviare il server X ed il client JWM:
 
*Lanciando il programma xinit per avviare il server X ed il client JWM:

Revision as of 19:52, 29 November 2013

Sommario help replacing me
Questo articolo accompagnerà l'utente all'installazione e alla configurazione del gestore delle finestre JWM
Articoli correlati
CWM - Evilwm - FVWM - Fluxbox - IceWM - Openbox - Pawm - Twm - PekWM - Window Maker - Awesome3

Introduzione

JWM (Joe's Window Manager) è un peso piuma tra i Window Manager per il X11 Window System. scritto in C; È in uno stato di sviluppo attivo ed è mantenuto da Joe Wingbermuehle. ...Sebbene lo sviluppo di JWM abbia rallentato un po', Joe Wingbermuehle continua a lavorarci...ci sarà probabilmente un nuovo rilascio un giorno di questi.[1] JWM usa all'incirca 5 MB di memoria in condizioni operative normali. All'inizio del 2009, la dimensione della versione presente nei repository ufficiali di Arch Linux è inferiore ai 76 KB (confronto con dwm che è sotto i 17 KB) e sotto i 171 KB una volta installato (confronto con dwm che occupa 68 KB).Una versione minimale compilata consuma approssimativamente 136 KB di spazio su disco e occupa al di sotto di 1500 KB di memoria ram.

JWM è generalmente considerato come il più leggero e veloce window manager disponibile per X11 ed è il window manager predefinito per distribuzioni come Puppy Linux e Damn Small Linux. Numerose opzioni permettono layout di grande flessibilità. Alcune tra le maggiori peculiarità di JWM includono la semplicità e facilità di configurazione (in un singolo file XML), supporto nativo per le personalizzazioni di pannelli e bottoni e il modo in cui è stata integrata una dock sul desktop.

[1] Wingbermuehle, Joe. News. 06 Sep. 2008. 11 Feb. 2009 <http://joewing.net/index.shtml>.

Installazione dei pacchetti

JWM è disponibile su official Arch Linux (community/X11) repository.

Installare l'ultima versione di JWM:

# pacman -S jwm
Attenzione: La recente snapshots SVN(e.g. 500) have migrated to Mod key masks (e.g. H to 4).

Avviare JWM

Tango-view-refresh-red.pngThis article or section is out of date.Tango-view-refresh-red.png

Reason: ConsoleKit is deprecated, see [1] and General Troubleshooting#Session permissions. (Discuss in Talk:JWM (Italiano)#)
  • Lanciando il programma xinit per avviare il server X ed il client JWM:
$ xinit /usr/bin/jwm
  • In alternativa includere la voce appropriata (es. /usr/bin/jwm o exec ck-launch-session /usr/bin/jwm nel file ~/.xinitrc e avviare la sessione con :
$ startx

Configurazione

Creare ~/.jwmrc

Coerentemente con i principi di The Arch Way, il look & feel, oltre che le funzioni del desktop JWM vengono controllati da un unico file di configurazione: ~/.jwmrc

Un semplice file di configurazione viene installato al momento dell'installazione ed è localizzabile in /etc/system.jwmrc. Il file {Filename|~/.jwmrc}} deve essere creato dall'utente:

$ touch ~/.jwmrc

o

$ cp -i /etc/system.jwmrc ~/.jwmrc

Tutto ciò che segue da questo punto in poi è configurare l'ambiente editando il file basato su XML .jwmrc.

  • JWM Configuration specifica la lista completa di tags, attributi e valori disponibili per JWM.
Note: Il contenuto aggiornato della Configurazione di JWM è basato sull'ultima snapshot SVN e potrebbe non riflettere le opzioni disponibili nella versione presente.

Panoramica impostazioni

<Comandi avvio>

  • Carica e aggancia Parcellite come demone in background quando JWM viene avviato:
 <StartupCommand>parcellite -d</StartupCommand>
  • Collega e aggancia a urxvtd daemon al $DISPLAY corrente quando viene avviato JWM
 <StartupCommand>urxvtd -q -o -f</StartupCommand>
  • Rimozione ricorsiva forzata delle cartelle come misura di carattere generale di pulizia della vostra sessione quando si avvia JWM:
<StartupCommand>rm -rf $HOME/.adobe $HOME/.cache $HOME/.local/share/Trash $HOME/.macromedia $HOME/.recently-used.xbel $HOME/.Xauthority</StartupCommand>
  • Abilitare il controllo energetico DPMS (Energy Star) su un monitor con indirizzo 0:0 dopo 900 secondi di inattività dall'avvio di JWM:
<StartupCommand>xset -display :0.0 dpms 0 0 900</StartupCommand>
Note: Lanciare il comando xdpyinfo (incluso nel pacchetto xorg-utils) per rilevare l'esatto nome del vostro display in uso.

<Programmi>

  • Avviare Thunar in una cartella specifica
<Program label="Thunar">thunar ~/Desktop</Program>
  • Collegarsi tramite interfaccia web al server CUPS usando l'applicazione web preferita (xdg-open) :
<Program label="CUPS Printing">xdg-open http://localhost:631</Program>
  • Iconifica ed avvia FileZilla con l'avvio di Site Manager
<Program icon="filezilla.png">filezilla -s</Program>

<Menu>

  • Creare dei contenitori per una lista di programmi addizionali e visualizzarli come sotto-menu all'interno di <RootMenu>
<Menu label="Sample">
  <Program label="Xfburn">xfburn -d</Program>
  <Program label="urxvt Client">urxvtc</Program>
</Menu>
<Etichetta menu="Example">
  <Program label="Opera">opera -nolirc -nomail </Program>
  <Program label="Writer">/opt/openoffice.org3/program/swriter -nologo</Program>
</Menu>

<RootMenu>

  • Creare un contenitore del menu visualizzando etichetta="Test" di altezza="24" pixels e vincolato dal tasto sinistro del mouse onroot="1" sotto <RootMenu>
<RootMenu labeled="true" label="Test" height="24" onroot="1">
    <Program label="Thunar">thunar ~/Desktop</Program>
    <Program label="CUPS Printing">xdg-open http://localhost:631</Program>
    <Program icon="filezilla.png">filezilla -s</Program>
  <Menu label="Sample">
    <Program label="Xfburn">xfburn -d</Program>
    <Program label="urxvt Client">urxvtc</Program>
  </Menu>
  <Menu label="Example">
    <Program label="Opera">opera -newprivatetab -noargb -nolirc -nomail </Program>
    <Program label="Writer">/usr/lib/openoffice.org3/program/swriter -nologo</Program>
  </Menu>
</RootMenu>
  • Creare un contenitore nidificato per il menu senza etichetta, di altezza="32" pixels e vincolato dal tasto destro del mouse onroot="3" sotto <RootMenu>
<RootMenu height="32" onroot="3">
    <Program label="Thunar">thunar ~/Desktop</Program>
    <Program label="CUPS Printing">xdg-open http://localhost:631</Program>
    <Program icon="filezilla.png" label="FileZilla">filezilla -s</Program>
  <Menu label="Sample">
    <Program label="Xfburn">xfburn -d</Program>
    <Program label="urxvt Client">urxvtc</Program>
  <Menu label="Example">
    <Program label="Opera">opera -newprivatetab -noargb -nolirc -nomail </Program>
    <Program label="Writer">/usr/lib/openoffice.org3/program/swriter -nologo</Program>
  </Menu>
  </Menu>
</RootMenu>

<Gruppi>

  • Conservare della spazio sul pannello non visualizzando Squeeze e Xarchiver dentro le <Tasklist>
<Group>
  <Class>Squeeze</Class>
  <Class>Xarchiver</Class>
    <Option>nolist</Option>
</Group>
  • Avviare sempre Firefox massimizzato sul desktop:2 senza la barra del titolo
<Group>
  <Class>Firefox</Class>
    <Option>maximized</Option>
    <Option>desktop:2</Option>
    <Option>notitle</Option>
</Group>
Window Class

L'utility xprop può gestire le proprietà delle finestre e dei caratteri in un server X.

  • Impostare xprop per visualizzare il nome della classe della finestra di una applicazione:
xprop WM_CLASS 
  • Fare clic sulla finestra dell'applicazione desiderata per visualizzare il nome della classe della finestra:
WM_CLASS(STRING) = "urxvt", "URxvt"

xprop è parte del pacchettoxorg-utils reperibile nel repositorio [extra] di Arch Linux.

# pacman -S xorg-utils

<TrayButton>

  • Creare un pannello <TrayButton> visualizzando l' etichetta="Pattern" che lancia il root:1 menu
<TrayButton label="Pattern">root:1</TrayButton>

<Swallow>

  • Integrare <Swallow> nel vassoio il programma il cui nome è name=wicd-gtk e permettergli di eseguire il comando wicd-gtk
<Swallow name="wicd-gtk">
  wicd-gtk
</Swallow>

<Vassoio>

  • Creare un pannello <Tray> di altezza="24" pixels offset x="0" pixels dalla parte sinistra dello schermo y="0" ed in alto. Visualizzare senza il pannello:
  1. Un menu <TrayButton> che mostra il root:1 menu.
  2. Una <TaskList/> che mostra applicazioni in esecuzione nel desktop corrente.
  3. Una <TrayButton> con il testo label="X" che minimizza le finestre aperte per mostrare il desktop.
  4. Un desktop virtuale <Pager/> per visualizzare le aree di lavoro disponibili.
  5. L'integrazione <Swallow> dell'applet di rete Wicd.
    1. É attualmente raccomandato impostare wicd-gtk con il tag <StartupCommand>.
  6. Per le applicazioni supportate, un'icona per l'area di sistema dei programmi <Dock/>.
  7. Un orologio <Clock> che visualizza data e ora in uno specifico formato.
    1. Consultare la paginaMan strftime per le specifiche sul formato e sul carattere della data e ora.
<Tray x="0" y="0" height="24">
  <TrayButton label="Pattern">root:1</TrayButton>
  <TaskList/> 
  <TrayButton label="X">showdesktop</TrayButton>
  <Pager/>
  <Swallow name="wicd-gtk">
    wicd-client
  </Swallow>
  <Dock/>
  <Clock format="%a %b %d %l:%M %p"></Clock>
</Tray>

<Tasti>

  • Vincolare il tasto F1 al lancio e visualizzazione del menu root:3
<Key key="F1">root:1</Key>
  • Vincolare la conbinazione di tasti Super+l per bloccare il monitor (XScreenSaver)
<Key mask="S" key="l">exec:xscreensaver-command -lock</Key>
Note: Lanciare il comando xev (contenuto nel pacchetto xorg-utils) per visualizzare l'output standard è il suo contenuto alla pressione di un tasto.

<Include>

  • Elaborare configurazioni di file <Include> per facilitare controllo e manutenzione
<Key key="F1">root:1</Key>
<Include>./.jwmrc-super-hyper-keys</Include> 
<Key mask="S" key="l">exec:xscreensaver-command -lock</Key>
  • Contenuto di un esempio ~/.jwmrc-super-hyper-keys
<Key mask="PH" key="t">exec:thunderbird -addressbook</Key>
<Key mask="PH" key="h">exec:htop -d 10 -u USER --sort-key PERCENT_MEM</Key>
<Key mask="PH" key="c">exec:catfish --hidden --path=/usr</Key>

<Comandi di Riavvio>

  • Chiamare sync per svuotare il buffer del file system prima di smontare tutti i volumi montati con TrueCrypt quando l'utente si disconnette dalla sessione X corrente:
<RestartCommand>sync; truecrypt -d</RestartCommand>
  • L'oggetto <<RestartCommand>< implementa o può prendere il posto di $HOME/.bash_logout per gli utenti che lavorano in una ambiente X.

<Comando di spegnimento>

  • Forzare ricorsivamente la rimozione del contenuto della cartella Trash quando si spegne JWM
 <ShutdownCommand>rm -rf ~/.local/share/Trash/*</ShutdownCommand>
Note: <ShutdownCommand> non sembra comportarsi come previsto quando si utilizzano i comandi dbus-send, Shutdown o Stop .

Verificare eventuali modifiche di configurazione

$ jwm -p

Eseguire l'utilità di controllo dei file di configurazione originali di JWM restituendo errori di sintassi (Inclusi i relativi numeri di linea ) nei file di configurazione, nel caso ce ne siano. Se la sintassi è corretta e il file di configurazione è ritenuto correttamente contrassegnato , non verrà restituito alcun codice errato. Cambiamenti nel file di configurazione sono disponibili immediatamente dopo il riavvio, o il refresh di JWM con il comando <Restart/>. Non c'è bisogno di riavviare il server X per applicare le modifiche. Il comando <Restart> è disponibile agli utenti per l'accesso al menu root iniziale. Si raccomanda agli utenti di usare questo strumento quando si eseguono cambiamenti di configurazione al fine di garantire la riuscita degli aggiornamenti ed un ambiente stabile.

Additional Troubleshooting

Se non si è loggati e non si sta lavorando su tty1, la combinazione di tasti Ctrl+Alt+F1 vi permetterà di rivedere a video i messaggi standard e gli errori. Consultate la pagina MAN del comando script per i dettagli di come creare un typescript di quello che si vuole visualizzare sul terminale.

Suggerimenti utili

Ulteriori Applicazioni

  • pal può essere lanciato con <Clock> per implementare il supporto del calendario e della lista degli eventi e delle cose da fare.
<Clock format="%a %b %d %l:%M %p">xterm -hold -e pal</Clock>
  • Orage può essere eseguito in JWM <Clock> per fornire funzioni di calendario, eventi, caratteristiche.
  • slock può essere associato a <Program> e/o <Key> per fornire una soluzione leggere per bloccare lo schermo in X.
  • Parcellite può essere integrato nel vassoio come un leggero X11 gestore per gli appunti.
  • Conky può venir eseguito con <StartupCommand> per la visualizzazione di molti tipi di informazioni sul sistema (es. batteria, spazio su disco, ram, cpu, etc).
  • PCMan File Manager Si può usare per gestire i file ed il desktop. Il vantaggio di PCMan File Manager è la leggerezza integrata ad un gestore potente come altri più blasonati.
  • Xfce Desktop Manager (o xfdesktop) Altra alternativa alla gestione del desktop. Per aggirare il problema di ridisegnare xfdesktop sulla finestra principale del desktop di Conky :
  1. Consultare le FAQ di Conky per soluzioni alternative in ~/.conkyrc
  2. Creare un <Group> Conky e specificare i seguenti tag <Option> in ~/.jwmrc
<Group>
<Class>Conky</Class>
<Option>nolist</Option>
<Option>noborder</Option>
<Option>notitle</Option>
<Option>sticky</Option>
</Group>

Xinitrc applicazioni d'avvio

Le applicazioni d'avvio possono venir eseguite al di fuori di <StartupCommand> includendo le opzioni appropriate in ~./xinitrc

~./xinitrc
 
#!/bin/bash
/usr/bin/parcellite -d &
/usr/bin/Thunar --daemon &
/usr/bin/urxvtd -q -f -o &
/usr/bin/xcalib -d :0 /usr/share/color/icc/P221W-Native.icc &
/usr/bin/nvidia-settings -a GPUOverclockingState=1 -a GPU2DClockFreqs=640,655 -a GPU3DClockFreqs=640,655 &
/usr/bin/setxkbmap -option terminate:ctrl_alt_bksp &
export OPERAPLUGINWRAPPER_PRIORITY=0
export OPERA_KEEP_BLOCKED_PLUGIN=0
exec ck-launch-session /usr/bin/jwm

Migliorare il contrasto <Tasklist>

Cambiare le impostazioni predefinite <Tasklist> per migliorare il contrasto allo stile di default <MenuStyle> abilitando <WindowStyle>

<TaskListStyle>
  <ActiveForeground>black</ActiveForeground>
  <ActiveBackground>gray90:gray70</ActiveBackground>
</TaskListStyle>
<TaskListStyle>
  <ActiveForeground>white</ActiveForeground>
  <ActiveBackground>#70849d:#2e3a67</ActiveBackground>
</TaskListStyle>

Gestione energia

Gli eventi della gestione energetica possono essere eseguiti con i tag <Key> e/o <Program>

Logout e Refresh

<Exit/> (Logout) è il comando del menu per uscire correttamente dalla sessione di X.
<Restart/> (Refresh) è il comando del menu che reinizializza la configurazione dei file e aggiorna i menu e i vincoli da tastiera.
<Restart/> e <Exit/> si trovano nei tasti modificati Ctrl+Alt seguendo la sintassi d'esempio sotto:

<Key mask="CA" key="r">exec:jwm -restart</Key>
<Key mask="CA" key="e">exec:jwm -exit</Key>

Riavvio e Spegnimento

Un sistema con sudo installato e propriamente configurato può essere riavviato con le opzioni di menu Restart e Poweroff.

<Program label="Restart">sudo reboot</Program>
<Program label="Poweroff">sudo poweroff</Program>

Consultare ArchWiki entry regarding allowing users to shutdown per ulteriori informazioni.

Template:Box Note

L'alimentazione del sistema e la gestione degli eventi può essere gestita da HAL tramite le chiamate dbus-send senza l'ausilio di modificare il file sudoers.

<Program label="Restart">dbus-send --system --print-reply --dest=org.freedesktop.Hal /org/freedesktop/Hal/devices/computer org.freedesktop.Hal.Device.SystemPowerManagement.Reboot</Program>
<Program label="Shutdown">dbus-send --system --print-reply --dest=org.freedesktop.Hal /org/freedesktop/Hal/devices/computer org.freedesktop.Hal.Device.SystemPowerManagement.Shutdown</Program>
<Key mask="H" key="F4">exec:dbus-send --system --print-reply --dest=org.freedesktop.Hal /org/freedesktop/Hal/devices/computer org.freedesktop.Hal.Device.SystemPowerManagement.Suspend int32:0</Key
<Key mask="H" key="F12>exec:dbus-send --system --print-reply --dest=org.freedesktop.Hal /org/freedesktop/Hal/devices/computer org.freedesktop.Hal.Device.SystemPowerManagement.Hibernate</Key>

L'alimentazione del sistema e la gestione degli eventi può essere gestita da ConsoleKit e UPower tramite le chiamate dbus-send senza l'ausilio di modificare il file sudoers. In questo caso non si utilizza HAL.

<Program label="Restart">dbus-send --system --print-reply --dest=org.freedesktop.ConsoleKit /org/freedesktop/ConsoleKit/Manager org.freedesktop.ConsoleKit.Manager.Restart</Program>
<Program label="Poweroff">dbus-send --system --print-reply --dest=org.freedesktop.ConsoleKit /org/freedesktop/ConsoleKit/Manager org.freedesktop.ConsoleKit.Manager.Stop</Program>
<Key mask="H" key="F4">exec:dbus-send --print-reply --system --dest=org.freedesktop.UPower /org/freedesktop/UPower org.freedesktop.UPower.Suspend</Key>
<Key mask="H" key="F12>exec:dbus-send --print-reply --system --dest=org.freedesktop.UPower /org/freedesktop/UPower org.freedesktop.UPower.Hibernate</Key>

Compilazione minimale personalizzata

Un incremento di reattività delle interfacce grafiche si può ottenere non usando le icone dei menu e disabilitando l'uso dei Xft fonts. Un ulteriore guadagno si può ottenere rimuovendo il supporto alle librerie esterne con una compilazione personalizzata. Si avrà inoltre una riduzione di assorbimento delle risorse del sistema. Una compilazione minima con il supporto Xft e usando i font Xft allocca circa tra 3 MB e 1.5 MB di memoria. La stessa compilazione senza il supporto Xft ne occupa rispettivamente tra 1.5 MB e 1.2 MB. Consultare la pagina Arch Build System per ulteriori informazioni.

Minimal PKGBUILD Example

PKGBUILD
pkgname=jwm
pkgver=2.0.1
pkgrel=100
pkgdesc="A lightweight window manager for the X11 Window System"
arch=('i686' 'x86_64')
url="http://joewing.net/programs/jwm/"
license=('GPL2')
depends=('libx11')
backup=('etc/system.jwmrc')
source=(http://joewing.net/programs/jwm/releases/jwm-$pkgver.tar.bz2)
md5sums=('48f323cd78ea891172b2a61790e8c0ec')

build() {
  cd ${srcdir/${pkgname}-${pkgver}

  ./configure --disable-confirm --disable-icons --disable-png  \ 
  --disable-xpm --disable-jpeg --disable-fribidi --disable-xinerama  \
  --disable-shape --disable-xft --disable-xrender --disable-debug  \ 
  --prefix=/usr --sysconfdir=/etc
  make
  make BINDIR=$pkgdir/usr/bin \
       MANDIR=$pkgdir/usr/share/man \
       SYSCONF=$pkgdir/etc install
}

Suggerimenti compilazione minimale font

<WindowStyle>
<Font>-*-fixed-*-r-*-*-10-*-*-*-*-*-*-*</Font>

<TaskListStyle>
<Font>-*-fixed-*-r-*-*-13-*-*-*-*-*-*-*</Font>

<TrayStyle>
<Font>-*-fixed-*-r-*-*-13-*-*-*-*-*-*-*</Font>

Supporto Tiling manuale

Il supporto al tiling può essere aggiunto a JWM usando lo script in python Poor Man's Tiling Window Manager. Supponendo che manage.py is located in a command directory as part of the local PATH, varie azioni di tiling possono essere vincolate a tastiera seguendo l'esempio sotto:

<Key mask="H" key="Up">exec:manage.py swap</Key>
<Key mask="H" key="Down">exec:manage.py cycle</Key>
<Key mask="H" key="Left">exec:manage.py left</Key>
<Key mask="H" key="Right">exec:manage.py right</Key>
Note: Run the env command to list the modified environments of the current user.

Rimozione pacchetti

Per rimuovere il pacchetto JWM conservandone dipendenze e file di configurazione:

# pacman -R jwm

Per rimuovere il pacchetto JWM e i file di configurazione conservandone le dipendenze:

# pacman -Rn jwm

Per rimuovere il pacchetto JWM e le dipendenze non richieste da altri pacchetti conservandone i file di configurazione:

# pacman -Rs jwm

Per rimuovere il pacchetto JWM, i file di configurazione e le dipendenze non richieste da altri pacchetti:

# pacman -Rns jwm
Note: Pacman non rimuove file di configurazione al di fuori di quelli predefiniti creati durante l'installazione dei pacchetti. Ciò include ~/.jwmrc
}

Ulteriori risorse

Esempi di cosa è possibile realizzare con un po' di creativtà possono essere trovati qui: