Problemi in questa pagina? Segnalali in questa discussione
Introduzione
i3 è un tiling window manager, leggero, veloce e personalizzabile.
Installazione
Installare il metapacchetto i3 reperibile dal componente universe dei repository ufficiali di Ubuntu.
Avvio
Al termine dell'installazione sarà possibile selezionare la voce i3 dal login manager predefinito.
Per le installazioni minimali, modificare con un editor di testo il file nascosto ~/.xinitrc ed aggiungere la stringa
exec i3
Se il file non esiste crearlo.
Modificare come segue:
#!/bin/sh # # ~/.xinitrc # # Executed by startx (run your window manager from here) if [ -d /etc/X11/xinit/xinitrc.d ]; then for f in /etc/X11/xinit/xinitrc.d/*; do [ -x "$f" ] && . "$f" done unset f fi # exec gnome-session # exec startkde # exec startxfce4 # ...or the Window Manager of your choice #exec startxfce4 exec i3
salvare il file ed avviare i3 con "startx".
All'avvio della prima sessione di i3, seguire il wizard iniziale per impostare il tasto Modificatore (tasto Super o Alt).
Scorciatoie utili per iniziare:
Mod+d aprire il menu (dmenu)
Mod+Invio aprire una finestra di terminale
Mod+Shift+e logout
Mod+Shift+c ricaricare il file di configurazione
Mod+Shift+r riavviare i3
Per maggiori informazioni sulle scorciatoie visitare questa pagina
Configurazione
Il file di configurazione di i3 si trova nella cartella nascosta ~/.i3 presente nella propria Home.
Spegnimento, riavvio, blocca schermo, sospensione, ibernazione, logout
Installare il pacchetto consolekit. Aggiungere al file di configurazione (fonte):
set $mode_system System (l) lock, (e) logout, (s) suspend, (h) hibernate, (r) reboot, (Shift+s) shutdown mode "$mode_system" { bindsym l exec --no-startup-id ~/.i3/i3exit lock, mode "default" bindsym e exec --no-startup-id ~/.i3/i3exit logout, mode "default" bindsym s exec --no-startup-id ~/.i3/i3exit suspend, mode "default" bindsym h exec --no-startup-id ~/.i3/i3exit hibernate, mode "default" bindsym r exec --no-startup-id ~/.i3/i3exit reboot, mode "default" bindsym Shift+s exec --no-startup-id ~/.i3/i3exit shutdown, mode "default" # back to normal: Enter or Escape bindsym Return mode "default" bindsym Escape mode "default" } bindsym $mod+Pause mode "$mode_system"
Modificare la scorciatoia secondo le proprie esigenze. In questo esempio viene usato il tasto Pausa.
Creare nella cartella .i3/ un file chiamato i3exit e aggiungere al suo interno:
lock() { i3lock } case "$1" in lock) lock ;; logout) i3-msg exit ;; suspend) lock && dbus-send --system --print-reply --dest="org.freedesktop.UPower" /org/freedesktop/UPower org.freedesktop.UPower.Suspend ;; hibernate) lock && dbus-send --system --print-reply --dest="org.freedesktop.UPower" /org/freedesktop/UPower org.freedesktop.UPower.Hibernate ;; reboot) dbus-send --system --print-reply --dest="org.freedesktop.ConsoleKit" /org/freedesktop/ConsoleKit/Manager org.freedesktop.ConsoleKit.Manager.Restart ;; shutdown) dbus-send --system --print-reply --dest="org.freedesktop.ConsoleKit" /org/freedesktop/ConsoleKit/Manager org.freedesktop.ConsoleKit.Manager.Stop ;; *) echo "Usage: $0 {lock|logout|suspend|hibernate|reboot|shutdown}" exit 2 esac exit 0
Rendere eseguibile il file i3exit con
chmod +x ~/.i3/i3exit
di default la funzione lock, e di conseguenza anche sospensione e ibernazione, presentano una schermata bianca. Per sbloccare lo schermo, inserire la propria password e premere INVIO. |
Personalizzazione
Configurare il proprio terminale
Per impostazione predefinita i3 usera' il terminale predefinito nel sistema. Per avviare il proprio emulatore di terminale è possibile impostare una variabile nel proprio .bashrc, aggiungendo:
export TERMINAL=nome_emulatore_terminale
Oppure, più semplicemente, modificare ~/.i3/config cambiando:
bindsym $mod+Return exec i3-sensible-terminal
con
bindsym $mod+Return exec xfce4-terminal
per avviare (ad esempio) il terminale di Xfce.
Modificare il menu
Il menu di default, accessibile con i tasti mod+d, è dmenu. Il pregio/difetto di questo menu è che mostra tutti gli eseguibili presenti nel sistema, inclusi i comandi del terminale. È possibile cambiare il comportamento del menu, modificando la seguente riga nel file di configurazione:
bindsym $mod+d exec dmenu_run
con
bindsym $mod+d exec --no-startup-id i3-dmenu-desktop
i3-dmenu desktop cerca e mostra solo le applicazioni fornite di file '.desktop', ottenendo così il comportamento dei menu sui più comuni ambienti desktop.
Un'alternativa ad i3-dmenu-desktop è j4-dmenu-desktop, che potra' essere installato scaricandone il sorgente e compilandolo seguendo le istruzioni presenti su github alla pagina ufficiale del progetto.
Impostare lo sfondo
Installare il pacchetto feh. A questo punto, dal terminale impostare lo sfondo con:
feh --bg-fill /percorso/per/immagine/di/sfondo.png
È possibile usare altre opzioni secondo le proprie necessità:
feh --bg-scale
feh --bg-center
feh --bg-max
feh --bg-tile
Per ripristinare lo sfondo ad ogni avvio, con un editor di testo, aprire il file ~/.i3/config ed inserire la riga seguente:
exec --no-startup-id sh ~/.fehbg
In alternativa e' possibile impostare lo sfondo con nitrogen.
Installare il pacchetto nitrogen. Lanciare nitrogen dal terminale con:
nitrogen /percorso/cartella/immagini/
Impostare lo sfondo desiderato. Per ripristinare lo sfondo ad ogni avvio, aprire il file di configurazione e inserire la riga seguente:
exec --no-startup-id nitrogen --restore &
Personalizzare la barra di stato di i3
Copiare il file di configurazione globale nella cartella di configurazione della propria home:
cp /etc/i3status.conf ~/.i3
Modificare a proprio piacimento il file di configurazione. Aprire il file di configurazione di i3 ~/.i3/config e modificare la seguente riga
status_command i3status
in
status_command i3status --config ~/.i3/i3status.conf
Per impostare i colori usati nella barra, aggiungere le righe seguenti al file di configurazione, nella sezione bar:
colors { separator #ffffff background #000000 statusline #ffffff #colorclass <border> <background> <text> focused_workspace #000000 #52AD91 #000000 inactive_workspace #000000 #000000 #31658C urgent_workspace #333333 #95A7CC #000000 }
Modificare i colori secondo i propri gusti.
E' inoltre possibile usare conky al posto di i3status. Per l'esempio che segue abbiamo seguito la guida ufficiale, modificando solamente il percorso dei files per maggiore comodita' e ordine (per avere tutti i files nella stessa cartella). Installare il pacchetto conky.
Creare un file vuoto nella cartella nascosta ~/.i3/ chiamato conky-i3bar. Aprire il file con un editor di testo e aggiungere:
# Send the header so that i3bar knows we want to use JSON: echo '{"version":1}' # Begin the endless array. echo '[' # We send an empty first array of blocks to make the loop simpler: echo '[],' # Now send blocks with information forever: exec conky -c $HOME/.i3/conkyrc
Salvare le modifiche e dare i permessi di esecuzione al file con il comando:
chmod +x ~/.i3/conky-i3bar
Aprire il file di configurazione di i3 e modificare la riga
status_command i3status --config ~/.i3/i3status.conf
Con
status_command $HOME/.i3/conky-i3bar
Creare il file conkyrc nella cartella ~/.i3 e, come suggerito dalla guida ufficiale, aggiungere:
out_to_x no own_window no out_to_console yes background no max_text_width 0 # Update interval in seconds update_interval 2.0 # This is the number of times Conky will update before quitting. # Set to zero to run forever. total_run_times 0 # Shortens units to a single character (kiB->k, GiB->G, etc.). Default is off. short_units yes # How strict should if_up be when testing an interface for being up? # The value is one of up, link or address, to check for the interface # being solely up, being up and having link or being up, having link # and an assigned IP address. if_up_strictness address # Add spaces to keep things from moving about? This only affects certain objects. # use_spacer should have an argument of left, right, or none use_spacer left # Force UTF8? note that UTF8 support required XFT override_utf8_locale no # number of cpu samples to average # set to 1 to disable averaging cpu_avg_samples 2 # Stuff after 'TEXT' will be formatted on screen TEXT # JSON for i3bar [{ "full_text" : "Home ${fs_free /home} Free" , "color" : "\#ffffff" }, { "full_text" : "RAM ${memperc}%" , "color" : ${if_match ${memperc}<90}"\#ffffff"${else}"\#ff0000"${endif} }],
Modificare conkyrc secondo le proprie esigenze.
Impostare colori finestre
Per impostare i colori dei bordi e della barra del titolo delle finestre, aggiungere queste righe al file di configurazione:
# Colors #class border backgr. text indicator client.focused #ffffff #31658C #ffffff #31658C client.focused_inactive #4D4D4D #4D4D4D #4D4D4D #4D4D4D client.unfocused #4D4D4D #4D4D4D #4D4D4D #4D4D4D client.urgent #4D4D4D #4D4D4D #4D4D4D #4D4D4D
Modificare i colori a proprio piacimento.
alternativa alla barra di i3
un alternativa a i3bar puo' essere xfce4-panel (il pannello di xfce,con i menù per le applicazioni e un contenitore per le finestre aperte,oltre alla systray per volume,gestione connessioni ecc) se non si avesse già xfce4 installato,installare il pannelo di xfce4
sudo apt-get install xfce4-panel xfce4-goodies
a questo punto si puo' aggiungere il pannello al propio file ~./xinirc con
xfce4-panel --disable-wm-check &
oppure aggiungendo al file ~/.i3/config la seguente stringa
exec --no-startup-id i3-msg 'workspace 1; exec xfce4-panel --disable-wm-check &
Regolare il volume
Aggiungere le seguenti righe al proprio file di configurazione:
bindsym $mod+Page_Up exec --no-startup-id amixer -q set Master 3%+ -q bindsym $mod+Page_Down exec --no-startup-id amixer -q set Master 3%- -q bindsym $mod+End exec --no-startup-id amixer -q set Master toggle
In alternativa e' possibile avere un tradizionale pulsante nella tray bar installando il pacchetto volumeicon-alsa. Avviarlo aggiungendo al file di configurazione:
exec --no-startup-id volumeicon
Gestione connessioni
Per gestire facilmente le proprie connessioni (come le reti wifi) si può aggiungere una comoda icona nella tray bar. Aprire il file di configurazione ed aggiungere:
exec --no-startup-id nm-applet
Clipboard manager
Per usare le normali funzionalità di copia/incolla è necessario installare un clipboard manager.
Installare il pacchetto parcellite. Avviare il demone di parcellite all'avvio aggiungendo la riga che segue al proprio file di configurazione:
exec --no-startup-id parcellite -d
Se si preferisce è possibile utilizzare il clipboard manager di XFCE. Installare il pacchetto xfce4-clipman. Avviarlo con
exec --no-startup-id xfce4-clipman
Assegnare scorciatoie per avviare applicazioni
Aggiungere al proprio file di configurazione:
bindsym $mod+tasto exec --no-startup-id eseguibile
Esempio per firefox
bindsym $mod+Return exec --no-startup-id firefox
Lanciare applicazioni all'avvio di i3
Aggiungere al proprio file di configurazione:
exec --no-startup-id eseguibile
Avviare applicazione in uno specifico workspace
Per conoscere la stringa class usare il comando xprop contenuto in x11-utils. Avviare xprop in un terminale e cliccare sulla finestra del programma interessato (Skype in questo esempio). Cercare alla fine dell'output generato la riga:
WM_CLASS(STRING) = "skype", "Skype"
copiare la voce in maiuscolo.
Assign [class="Applicazione"] workspace
Esempio per skype
assign [class="Skype"] 1
Avviare applicazioni in floating mode
for_window [class="Applicazione"] floating enable
Esempio per skype
for_window [class="Skype"] floating enable
Selezionare finestre al passaggio del mouse
Le impostazioni di default di i3 permettono di selezionare una finestra posizionando il cursore del mouse su di essa. Se questo non è il comportamento desiderato, i3 permette di selezionare la finestra con un click o con la tastiera. Aggiungere al file di configurazione:
focus_follows_mouse no
supporto multi monitor
i3 gode di un ottimo supporto multimunitor (xinerama)
per usare piu' desktop virtuali su piu' monitor collegati via VGA o HDMI bastera' dare il comando
exec xrandr --output VGA1 --auto --right-of LVDS1
o nel caso di HDMI
exec xrandr --output HDMI1 --auto --right-of LVDS1
right o left indica la posizione del monitor,destro o sinistro.