Wiki Ubuntu-it

Indice
Partecipa
FAQ
Wiki Blog
------------------
Ubuntu-it.org
Forum
Chiedi
Chat
Cerca
Planet
  • Pagina non alterabile
  • Informazioni
  • Allegati
  • Differenze per "AmbienteGrafico/I3"
Differenze tra le versioni 38 e 39
Versione 38 del 29/04/2015 15.34.13
Dimensione: 21964
Autore: jeremie2
Commento:
Versione 39 del 29/04/2015 15.50.43
Dimensione: 22015
Autore: jeremie2
Commento:
Le cancellazioni sono segnalate in questo modo. Le aggiunte sono segnalate in questo modo.
Linea 322: Linea 322:
Aggiungere le seguenti righe al proprio file di configurazione:
{{{
Aggiungere le seguenti righe al file `~/.i3/config`:{{{
Linea 329: Linea 328:
In alternativa è possibile avere un tradizionale pulsante nella tray bar installando il pacchetto [[apt://volumeicon-alsa|volumeicon-alsa]]. Avviarlo aggiungendo al file di configurazione:
{{{
In alternativa è possibile avere un tradizionale pulsante nella tray bar installando il pacchetto [[apt://volumeicon-alsa|volumeicon-alsa]]. Avviarlo aggiungendo al file `~/.i3/config` la stringa:{{{
Linea 336: Linea 334:
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:
{{{
Per gestire facilmente le proprie connessioni (come le reti wifi) si può aggiungere una comoda icona nella tray bar. Aprire il file `~/.i3/config` e aggiungere:{{{
Linea 343: Linea 340:
Per usare le normali funzionalità di copia/incolla è necessario installare un clipboard manager.

[[AmministrazioneSistema/InstallareProgrammi | Installare]] il pacchetto [[apt://parcellite|parcellite]]. Avviare il demone di parcellite all'avvio aggiungendo la riga che segue al proprio file di configurazione:
{{{
Per usare le normali funzionalità di copia/incolla è necessario installare un ''clipboard manager''.

=== Tramite parcellite ===

 0.
[[AmministrazioneSistema/InstallareProgrammi|Installare]] il pacchetto [[apt://parcellite|parcellite]].
 0
. Avviare il demone di '''parcellite''' all'avvio aggiungendo la riga che segue al file `~/.i3/config`:{{{
Linea 349: Linea 348:
Se si preferisce è possibile utilizzare il clipboard manager di XFCE. Installare il pacchetto [[apt://xfce4-clipman|xfce4-clipman]]. Avviarlo con
{{{

=== Tramit
e clipboard manager di XFCE ===

 0
. Installare il pacchetto [[apt://xfce4-clipman|xfce4-clipman]].
 0.
Avviarlo aggiungendo la riga che segue al file `~/.i3/config`:{{{
Linea 356: Linea 358:
Aggiungere al proprio file di configurazione:
{{{
Aggiungere al file `~/.i3/config` la stringa:{{{


Problemi in questa pagina? Segnalali in questa discussione

Introduzione

i3 è un tiling window manager, leggero, veloce e personalizzabile.

Installazione

Installare il metapacchetto i3.

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 aggiungendo la stringa:

exec i3

Se il file non esiste crearlo inserendo le seguenti stringhe:

  #!/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 e avviare i3 tramite il comando:

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

Procedere come segue:

  1. Installare il pacchetto consolekit.

  2. Aggiungere al file di configurazione il testo seguente (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.

  3. Creare nella cartella .i3/ un file chiamato i3exit e aggiungere al suo interno il testo seguente:

    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
  4. Rendere eseguibile il file i3exit con il comando seguente:

    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 menù

Metodo 1

Il menù di default, accessibile con i tasti mod+d, è dmenu. La caratteristica di questo menù è che mostra tutti gli eseguibili presenti nel sistema, inclusi i comandi del terminale. È possibile cambiare il comportamento del menù, modificando la seguente riga nel file ~/.i3/config:

bindsym $mod+d exec dmenu_run

con

bindsym $mod+d exec --no-startup-id i3-dmenu-desktop

in modo che i3-dmenu-desktop mostri solo le applicazioni fornite di file .desktop, ottenendo così il classico comportamento dei menu sui più comuni ambienti desktop.

Metodo 2

Un'alternativa a i3-dmenu-desktop è j4-dmenu-desktop, che potrà essere installato scaricandone il sorgente e compilandolo, seguendo le istruzioni presenti su Github nella pagina ufficiale del progetto.

Impostare lo sfondo

Tramite feh

  1. Installare il pacchetto feh.

  2. Impostare lo sfondo da terminale tramite il comando:

    feh --bg-fill /percorso/per/immagine/di/sfondo.png
  3. Eventualmente utilizzare le diverse opzioni a secondo le proprie necessità:

    feh --bg-scale
    feh --bg-center
    feh --bg-max
    feh --bg-tile

Per ripristinare lo sfondo ad ogni avvio, aprire il file ~/.i3/config con un editor di testo e inserire la riga seguente:

exec --no-startup-id sh ~/.fehbg

Tramite nitrogen

  1. Installare il pacchetto nitrogen.

  2. Avviare nitrogen dal terminale digitando:

    nitrogen /percorso/cartella/immagini/
  3. Impostare lo sfondo desiderato.

Per ripristinare lo sfondo a 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

Tramite i3status

  1. Copiare il file di configurazione globale nella cartella di configurazione della propria home:

    cp /etc/i3status.conf ~/.i3
  2. Modificare a proprio piacimento il file di configurazione.
  3. 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
  4. 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
    }
    e quindi modificare i colori secondo i propri gusti.

Tramite Conky

Per l'esempio che segue abbiamo seguito la guida ufficiale, modificando solamente il percorso dei file per maggiore comodità e ordine (per avere tutti i file nella stessa cartella).

  1. Installare il pacchetto conky.

  2. Creare un file vuoto nella cartella nascosta ~/.i3/ chiamato conky-i3bar e con un editor di testo aggiungere le seguenti stringhe:

    # 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
  3. Salvare le modifiche e dare i permessi di esecuzione al file con il comando:

    chmod +x ~/.i3/conky-i3bar
  4. 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
  5. 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} }],
  6. Modificare il file conkyrc secondo le proprie esigenze.

Impostare colori finestre

Per impostare i colori dei bordi e della barra del titolo delle finestre:

  1. aggiungere le seguenti righe al file ~/.i3/config:

    # 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
  2. Modificare i colori a proprio piacimento.

Alternativa alla barra di i3

Un'alternativa a i3bar può 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..).

  1. Se xfce4 non è già installato, installare il pannelo di xfce4:

    sudo apt-get install xfce4-panel xfce4-goodies
  2. Aggiungere il pannello al propio file ~./xinirc digitando:

    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 file ~/.i3/config:

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 è possibile avere un tradizionale pulsante nella tray bar installando il pacchetto volumeicon-alsa. Avviarlo aggiungendo al file ~/.i3/config la stringa:

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 ~/.i3/config e aggiungere:

exec --no-startup-id nm-applet

Clipboard manager

Per usare le normali funzionalità di copia/incolla è necessario installare un clipboard manager.

Tramite parcellite

  1. Installare il pacchetto parcellite.

  2. Avviare il demone di parcellite all'avvio aggiungendo la riga che segue al file ~/.i3/config:

    exec --no-startup-id parcellite -d

Tramite clipboard manager di XFCE

  1. Installare il pacchetto xfce4-clipman.

  2. Avviarlo aggiungendo la riga che segue al file ~/.i3/config:

    exec --no-startup-id xfce4-clipman

Assegnare scorciatoie per avviare applicazioni

Aggiungere al file ~/.i3/config la stringa:

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 basterà 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.

Font iconici

Per inserire come nomi ai workspace gli awesome-fonts installare il pacchetto fonts-font-awesome. il pacchetto è necessario a visualizzare i font iconici correttamente.

.i3/config d'esempio

File di configurazione di i3 da cui poter prender spunto per configurarne uno ad hoc.

# imposta il tasto Mod
set $mod Mod4
# font
font pango: FontAwesome 8
# Use Mouse+$mod to drag floating windows to their wanted position
floating_modifier $mod
# avvia il terminale
bindsym $mod+Return exec urxvt
# chiude la finestra in focus
bindsym $mod+Shift+q kill
# start dmenu (a program launcher)
bindsym $mod+d exec dmenu_run
# avvio automatico
exec --no-startup-id i3-msg 'workspace 1; exec /usr/bin/xcompmgr-fF -t-5 -l-5 -r4.2 -o.55 -D2 -m.75'
exec --no-startup-id i3-msg 'workspace 1; exec sh ~/.fehbg &'
exec --no-startup-id i3-msg 'workspace 1; exec wicd-gtk --tray'
exec --no-startup-id i3-msg 'workspace 1; exec tomboy --panel-applet'
exec --no-startup-id i3-msg 'workspace 1; exec sh /usr/bin/wallpaper.sh'
#exec --no-startup-id i3-msg 'workspace 1; exec telegram & '
exec --no-startup-id i3-msg 'workspace 1; exec dropbox &'
# cambia il fuoco alle finestre
bindsym $mod+j focus left
bindsym $mod+k focus down
bindsym $mod+l focus up
bindsym $mod+ograve focus right
# oppure usando i tasti "freccia":
bindsym $mod+Left focus left
bindsym $mod+Down focus down
bindsym $mod+Up focus up
bindsym $mod+Right focus right
# muove la finestra in focus
bindsym $mod+Shift+j move left
bindsym $mod+Shift+k move down
bindsym $mod+Shift+l move up
bindsym $mod+Shift+ograve move right
# oppure usando i tasti freccia:
bindsym $mod+Shift+Left move left
bindsym $mod+Shift+Down move down
bindsym $mod+Shift+Up move up
bindsym $mod+Shift+Right move right
# split in orrizzonale
bindsym $mod+h split h
# split in verticale
bindsym $mod+v split v
# va in modalità fullscreen sulla finestra in focus
bindsym $mod+f fullscreen
# cambia il layout container (stacked, tabbed, toggle split)
bindsym $mod+s layout stacking
bindsym $mod+w layout tabbed
bindsym $mod+e layout toggle split
# passa da modalità tiling a floating
bindsym $mod+Shift+space floating toggle
# cambia modalità finestre tra tiling e floating 
bindsym $mod+space focus mode_toggle
# focus the parent container
bindsym $mod+a focus parent
# focus the child container
#bindsym $mod+d focus child
#finestre senza bordi
for_window [class="Firefox"] border none
for_window [class="urxvt"] border none
for_window [class="Midori"] border none
for_window [class="xfce4-terminal"] border none
for_window [class="Xfce4-notifyd"] floating enable; border none; focus mode_toggle
#hide_edge_borders both 
# gestione volume
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
# variabili personalizzate per gli spazi di lavoro
set $tag1 cmus
set $tag2 IRC
set $tag3 WWW
set $tag4 Spotify
set $tag5 FM
set $tag6 qemu
set $tag7 telegram
set $tag8 HTOP
set $tag9 free
set $tag0 RSS 
# switch tra spazi di lavoro
bindsym $mod+1 workspace 1 $tag1
bindsym $mod+2 workspace 2 $tag2
bindsym $mod+3 workspace 3 $tag3
bindsym $mod+4 workspace 4 $tag4
bindsym $mod+5 workspace 5 $tag5
bindsym $mod+6 workspace 6 $tag6
bindsym $mod+7 workspace 7 $tag7
bindsym $mod+8 workspace 8 $tag8
bindsym $mod+9 workspace 9 $tag9
bindsym $mod+0 workspace 10 $tag0
# sposta la finestra in focus su altro spazio di lavoro
bindsym $mod+Shift+1 move container to workspace 1 $tag1
bindsym $mod+Shift+2 move container to workspace 2 $tag2
bindsym $mod+Shift+3 move container to workspace 3 $tag3
bindsym $mod+Shift+4 move container to workspace 4 $tag4
bindsym $mod+Shift+5 move container to workspace 5 $tag5
bindsym $mod+Shift+6 move container to workspace 6 $tag6
bindsym $mod+Shift+7 move container to workspace 7 $tag7
bindsym $mod+Shift+8 move container to workspace 8 $tag8
bindsym $mod+Shift+9 move container to workspace 9 $tag9
bindsym $mod+Shift+0 move container to workspace 10 $tag0
# ricarica la configurazione
bindsym $mod+Shift+c reload
# restart i3 inplace (preserves your layout/session, can be used to upgrade i3)
bindsym $mod+Shift+r restart
# exit i3 (logs you out of your X session)
bindsym $mod+Shift+e exec "i3-nagbar -t warning -m 'hai premuto la scorciatoia x uscire! davvero vuoi uscire da i3? questo chiuderà la sessione X.' -b 'Si Muoviti' 'i3-msg exit'"
# ridimensiona finestra (oppure con il mouse usando tasto sinistro o destro)
mode "resize" {
        # These bindings trigger as soon as you enter the resize mode

        # Pressing left will shrink the window’s width.
        # Pressing right will grow the window’s width.
        # Pressing up will shrink the window’s height.
        # Pressing down will grow the window’s height.
        bindsym j resize shrink width 10 px or 10 ppt
        bindsym k resize grow height 10 px or 10 ppt
        bindsym l resize shrink height 10 px or 10 ppt
        bindsym ograve resize grow width 10 px or 10 ppt

        # same bindings, but for the arrow keys
        bindsym Left resize shrink width 10 px or 10 ppt
        bindsym Down resize grow height 10 px or 10 ppt
        bindsym Up resize shrink height 10 px or 10 ppt
        bindsym Right resize grow width 10 px or 10 ppt

        # back to normal: Enter or Escape
        bindsym Return mode "default"
        bindsym Escape mode "default"
}

bindsym $mod+r mode "resize"
# lancia la barra di i3 (plus the system information i3status
# finds out, if available)
bar {
  status_command i3status
  position top
mode dock
workspace_buttons yes
binding_mode_indicator yes
font pango: FontAwesome 8
  colors {
    separator  #4F27EC
    background #2300B5
    statusline #FF006E
    focused_workspace #ffffff #7F009
    active_workspace #FF6600 #6c71c4 #FF6600
    inactive_workspace #586e75 #6EEE00 #002b36
    urgent_workspace #d33682 #d33682 #fdf6e3
  }
}

client.focused #859900 #910099 #fdf6e3 #859900
client.focused_inactive #EB0603 #073642 #eee8d5 #6c71c4
client.unfocused #340051 #340051 #93a1a1 #586e75
client.urgent #d33682 #d33682 #fdf6e3 #dc322f

Ulteriori risorse