Difference between revisions of "Xinitrc (Italiano)"

From ArchWiki
Jump to: navigation, search
(Agg.pagina)
m (codeline -> ic)
Line 11: Line 11:
 
{{Article summary end}} {{DISPLAYTITLE:xinitrc}}
 
{{Article summary end}} {{DISPLAYTITLE:xinitrc}}
  
Il file {{Filename|~/.xinitrc}} è uno shell script letto da {{Codeline|xinit}} e {{Codeline|startx}}. Viene tipicamente utilizzato per eseguire i [[Window Manager (Italiano)|window manager]] e altri programmi all'avvio di X, ad esempio demoni e configurazioni delle variabili d'ambiente. Il programma {{Codeline|xinit}} viene utilizzato per avviare l'[[Xorg (Italiano)|X Window System]] e funziona come un primo programma client su sistemi che non possono avviare direttamente X da {{Filename|/etc/init}}, o in ambienti che usano vari window manager. Il file {{Filename|~/.xinitrc}} è quindi un modo semplice per avviare X, di solito in parallelo con [[Start X at boot (Italiano)#Metodo /etc/inittab|l'avvio dello script startx direttamente da inittab]].
+
Il file {{Filename|~/.xinitrc}} è uno shell script letto da {{Ic|xinit}} e {{Ic|startx}}. Viene tipicamente utilizzato per eseguire i [[Window Manager (Italiano)|window manager]] e altri programmi all'avvio di X, ad esempio demoni e configurazioni delle variabili d'ambiente. Il programma {{Ic|xinit}} viene utilizzato per avviare l'[[Xorg (Italiano)|X Window System]] e funziona come un primo programma client su sistemi che non possono avviare direttamente X da {{Filename|/etc/init}}, o in ambienti che usano vari window manager. Il file {{Filename|~/.xinitrc}} è quindi un modo semplice per avviare X, di solito in parallelo con [[Start X at boot (Italiano)#Metodo /etc/inittab|l'avvio dello script startx direttamente da inittab]].
  
 
== File d'esempio==
 
== File d'esempio==
Line 58: Line 58:
 
</nowiki>}}
 
</nowiki>}}
  
Anteporre {{Codeline|exec}} è raccomandato in quanto sostituisce il processo corrente con il gestore, ma non è necessario se tutti i desktop/window manager aggiuntivi sono commentati come nell'esempio di cui sopra. Usare il percorso completo per il window manager o l'ambiente desktop quando possibile. È possibile ottenere il relativo percorso utilizzando {{Codeline|type}}, ad es. {{Codeline|type startkde}}.  
+
Anteporre {{Ic|exec}} è raccomandato in quanto sostituisce il processo corrente con il gestore, ma non è necessario se tutti i desktop/window manager aggiuntivi sono commentati come nell'esempio di cui sopra. Usare il percorso completo per il window manager o l'ambiente desktop quando possibile. È possibile ottenere il relativo percorso utilizzando {{Ic|type}}, ad es. {{Ic|type startkde}}.  
  
 
Oltre agli esempi qui forniti, si può trovare un file standard in {{Filename|/etc/skel/.xinitrc}} fornito da {{Package Official|xorg-xinit}}. Per utilizzarlo, è sufficiente copiarlo nella cartella home:
 
Oltre agli esempi qui forniti, si può trovare un file standard in {{Filename|/etc/skel/.xinitrc}} fornito da {{Package Official|xorg-xinit}}. Per utilizzarlo, è sufficiente copiarlo nella cartella home:
Line 67: Line 67:
 
Quando non viene utilizzato un display manager, è importante ricordare che la vita della sessione di X inizia e finisce con lo script {{Filename|.xinitrc}}. Ciò significa che una volta terminato lo script, X termina indipendentemente dai programmi che stanno ancora girando (compreso il gestore delle finestre). È importante perciò che la chiusura del gestore delle finestre e di X coincidano. Ciò può essere facilmente realizzato lanciando il gestore finestre come ultimo programma nello script.
 
Quando non viene utilizzato un display manager, è importante ricordare che la vita della sessione di X inizia e finisce con lo script {{Filename|.xinitrc}}. Ciò significa che una volta terminato lo script, X termina indipendentemente dai programmi che stanno ancora girando (compreso il gestore delle finestre). È importante perciò che la chiusura del gestore delle finestre e di X coincidano. Ciò può essere facilmente realizzato lanciando il gestore finestre come ultimo programma nello script.
  
Si noti che nel primo esempio di cui sopra, programmi come {{Codeline|cairo-compmgr}}, {{Codeline|xscreensaver}}, {{Codeline|xsetroot}} e {{Codeline|sh}} vengono eseguiti in background (con aggiunto il suffisso {{Codeline|&}}). Altrimenti, lo script potrebbe fermarsi e attendere che ogni programma e demone termini prima di eseguire {{Codeline|openbox-session}}. Notare inotre che {{Codeline|openbox-session}} non è in background. Questo garantisce che lo script non si chiuderà prima di openbox stesso. Se si esegue lo script {{Codeline|startx}} manualmente, terminare lo script significa terminare anche X e lascierà solo le console virtuali {{Filename|/etc/inittab}} che erano avviate.  
+
Si noti che nel primo esempio di cui sopra, programmi come {{Ic|cairo-compmgr}}, {{Ic|xscreensaver}}, {{Ic|xsetroot}} e {{Ic|sh}} vengono eseguiti in background (con aggiunto il suffisso {{Ic|&}}). Altrimenti, lo script potrebbe fermarsi e attendere che ogni programma e demone termini prima di eseguire {{Ic|openbox-session}}. Notare inotre che {{Ic|openbox-session}} non è in background. Questo garantisce che lo script non si chiuderà prima di openbox stesso. Se si esegue lo script {{Ic|startx}} manualmente, terminare lo script significa terminare anche X e lascierà solo le console virtuali {{Filename|/etc/inittab}} che erano avviate.  
  
Se si esegue il file da {{Filename|/etc/inittab}} e la riga è configurata su {{Codeline|respawn}} invece di {{Codeline|once}}, {{Filename|~/.xinitrc}} verrà riavviato. In questo modo X può essere riavviato senza dover riavviare il computer.
+
Se si esegue il file da {{Filename|/etc/inittab}} e la riga è configurata su {{Ic|respawn}} invece di {{Ic|once}}, {{Filename|~/.xinitrc}} verrà riavviato. In questo modo X può essere riavviato senza dover riavviare il computer.
  
 
Nelle sezioni seguenti verrà spiegato come configurare {{Filename|~/.xinitrc}} per usi diversi.
 
Nelle sezioni seguenti verrà spiegato come configurare {{Filename|~/.xinitrc}} per usi diversi.
Line 76: Line 76:
 
==== Dalla riga di comando ====
 
==== Dalla riga di comando ====
  
Se si dispone di un {{Filename|~/.xinitrc}} funzionante, ma si desidera provare altri WM/DE, è possibile farlo mediante l'esecuzione di {{Codeline|xinit}} seguito dal percorso del window manager:
+
Se si dispone di un {{Filename|~/.xinitrc}} funzionante, ma si desidera provare altri WM/DE, è possibile farlo mediante l'esecuzione di {{Ic|xinit}} seguito dal percorso del window manager:
  
 
  xinit /full/path/to/window-manager
 
  xinit /full/path/to/window-manager
  
Si noti che il percorso completo è '''richiesto'''. Opzionalmente, è possibile passare delle opzioni al server X con l'aggiunta di {{Codeline|--}}, ad es.:
+
Si noti che il percorso completo è '''richiesto'''. Opzionalmente, è possibile passare delle opzioni al server X con l'aggiunta di {{Ic|--}}, ad es.:
  
 
  xinit /usr/bin/enlightenment -- -br +bs -dpi 96
 
  xinit /usr/bin/enlightenment -- -br +bs -dpi 96
Line 106: Line 106:
 
</nowiki>}}
 
</nowiki>}}
  
Utilizzando questo esempio è possibile avviare fluxbox o scrotwm con il comando {{Codeline|xinit fluxbox}} o {{Codeline|xinit scrotwm}}.
+
Utilizzando questo esempio è possibile avviare fluxbox o scrotwm con il comando {{Ic|xinit fluxbox}} o {{Ic|xinit scrotwm}}.
  
 
==== All'avvio ====
 
==== All'avvio ====
Line 126: Line 126:
 
  initrd /boot/initramfs-linux.img
 
  initrd /boot/initramfs-linux.img
  
Alla fine, bisogna assicurarsi che il file {{Filename|.xinitrc}} sia avviato effettivamente sul runlevel scelto. Usando i consigli da [[Start X at boot (Italiano)#Metodo /etc/inittab|Start X at boot]], si può editare il file {{Filename|inittab}} semplicemente lanciando {{Codeline|startx}} sul runlevel desiderato che in cambio userà il proprio script {{Filename|.xinitrc}}:
+
Alla fine, bisogna assicurarsi che il file {{Filename|.xinitrc}} sia avviato effettivamente sul runlevel scelto. Usando i consigli da [[Start X at boot (Italiano)#Metodo /etc/inittab|Start X at boot]], si può editare il file {{Filename|inittab}} semplicemente lanciando {{Ic|startx}} sul runlevel desiderato che in cambio userà il proprio script {{Filename|.xinitrc}}:
  
 
  x:45:once:/bin/su PREFERED_USER -l -c "/bin/bash --login -c startx >/dev/null 2>&1"
 
  x:45:once:/bin/su PREFERED_USER -l -c "/bin/bash --login -c startx >/dev/null 2>&1"
Line 164: Line 164:
 
  wait $wmpid
 
  wait $wmpid
  
Con la prima riga openbox viene eseguito come un processo in background e memorizza immediatamente l'id del processo ({{Codeline|$!}}) nella variabile {{Codeline|wmpid}}. Nell'ultima riga, l'incorporazione di "wait" è utilizzata per attendere che termini il processo specificato da {{Codeline|wmpid}}.
+
Con la prima riga openbox viene eseguito come un processo in background e memorizza immediatamente l'id del processo ({{Ic|$!}}) nella variabile {{Ic|wmpid}}. Nell'ultima riga, l'incorporazione di "wait" è utilizzata per attendere che termini il processo specificato da {{Ic|wmpid}}.
  
 
== Link esterni ==
 
== Link esterni ==
 
* [http://www.slackbook.org/html/x-window-system-xinitrc.html slackbook.org]
 
* [http://www.slackbook.org/html/x-window-system-xinitrc.html slackbook.org]
 
* [http://fluxbox-wiki.org/index.php?title=.xinitrc .xinitrc @ Fluxbox-wiki]
 
* [http://fluxbox-wiki.org/index.php?title=.xinitrc .xinitrc @ Fluxbox-wiki]

Revision as of 17:57, 11 December 2011

This template has only maintenance purposes. For linking to local translations please use interlanguage links, see Help:i18n#Interlanguage links.


Local languages: Català – Dansk – English – Español – Esperanto – Hrvatski – Indonesia – Italiano – Lietuviškai – Magyar – Nederlands – Norsk Bokmål – Polski – Português – Slovenský – Česky – Ελληνικά – Български – Русский – Српски – Українська – עברית – العربية – ไทย – 日本語 – 正體中文 – 简体中文 – 한국어


External languages (all articles in these languages should be moved to the external wiki): Deutsch – Français – Română – Suomi – Svenska – Tiếng Việt – Türkçe – فارسی

Template:Article summary start Template:Article summary text Template:Article summary heading Template:Article summary wiki Template:Article summary wiki Template:Article summary wiki Template:Article summary wiki Template:Article summary end

Il file Template:Filename è uno shell script letto da xinit e startx. Viene tipicamente utilizzato per eseguire i window manager e altri programmi all'avvio di X, ad esempio demoni e configurazioni delle variabili d'ambiente. Il programma xinit viene utilizzato per avviare l'X Window System e funziona come un primo programma client su sistemi che non possono avviare direttamente X da Template:Filename, o in ambienti che usano vari window manager. Il file Template:Filename è quindi un modo semplice per avviare X, di solito in parallelo con l'avvio dello script startx direttamente da inittab.

File d'esempio

Quello che segue è un semplice file Template:Filename d'esempio, compresi alcuni programmi in avvio automatico: Template:File


L'esempio che segue può essere utilizzato come modello per l'esecuzione di vari window manager, decommentando quello da utilizzare, ad es. Openbox:

Template:File

Anteporre exec è raccomandato in quanto sostituisce il processo corrente con il gestore, ma non è necessario se tutti i desktop/window manager aggiuntivi sono commentati come nell'esempio di cui sopra. Usare il percorso completo per il window manager o l'ambiente desktop quando possibile. È possibile ottenere il relativo percorso utilizzando type, ad es. type startkde.

Oltre agli esempi qui forniti, si può trovare un file standard in Template:Filename fornito da Template:Package Official. Per utilizzarlo, è sufficiente copiarlo nella cartella home:

$ cp /etc/skel/.xinitrc ~/

Configurazione del file

Quando non viene utilizzato un display manager, è importante ricordare che la vita della sessione di X inizia e finisce con lo script Template:Filename. Ciò significa che una volta terminato lo script, X termina indipendentemente dai programmi che stanno ancora girando (compreso il gestore delle finestre). È importante perciò che la chiusura del gestore delle finestre e di X coincidano. Ciò può essere facilmente realizzato lanciando il gestore finestre come ultimo programma nello script.

Si noti che nel primo esempio di cui sopra, programmi come cairo-compmgr, xscreensaver, xsetroot e sh vengono eseguiti in background (con aggiunto il suffisso &). Altrimenti, lo script potrebbe fermarsi e attendere che ogni programma e demone termini prima di eseguire openbox-session. Notare inotre che openbox-session non è in background. Questo garantisce che lo script non si chiuderà prima di openbox stesso. Se si esegue lo script startx manualmente, terminare lo script significa terminare anche X e lascierà solo le console virtuali Template:Filename che erano avviate.

Se si esegue il file da Template:Filename e la riga è configurata su respawn invece di once, Template:Filename verrà riavviato. In questo modo X può essere riavviato senza dover riavviare il computer.

Nelle sezioni seguenti verrà spiegato come configurare Template:Filename per usi diversi.

Multipli DE e WM

Dalla riga di comando

Se si dispone di un Template:Filename funzionante, ma si desidera provare altri WM/DE, è possibile farlo mediante l'esecuzione di xinit seguito dal percorso del window manager:

xinit /full/path/to/window-manager

Si noti che il percorso completo è richiesto. Opzionalmente, è possibile passare delle opzioni al server X con l'aggiunta di --, ad es.:

xinit /usr/bin/enlightenment -- -br +bs -dpi 96

Il file Template:Filename seguente, mostra come avviare un particolare window manager con un argomento:

Template:File

Utilizzando questo esempio è possibile avviare fluxbox o scrotwm con il comando xinit fluxbox o xinit scrotwm.

All'avvio

È possibile avere anche una scelta di gestori di finestre e di ambienti desktop all'avvio, usando solo Template:Filename e GRUB e nessun display manager. L'idea è quella di prendere vantaggio dal fatto che Arch non fa alcun uso particolare del sistema di runlevel. Il seguente Template:Filename testerà il runlevel corrente e avvierà Openbox e GNOME rispettivamente sui runlevel 5 e 4:

rl=$(runlevel | grep -o [0-6])

case $rl in
	4) exec gnome-session;;
	5) exec openbox-session;;
esac

Scegliere tra diversi runlevel è semplicemente una questione di clonazione delle entrate di GRUB e di aggiunta all'argomento kernel del runlevel desiderato. Inserendo il runlevel alla fine della linea "kernel" si indica che l'Template:Filename di base sul runlevel 5 dovrà essere ignorato e sostituito con il runlevel desiderato, 4 in questo caso:

title  Arch Linux GNOME
root   (hd0,2)
kernel /boot/vmlinuz-linux root=/dev/sda1 ro 4
initrd /boot/initramfs-linux.img

Alla fine, bisogna assicurarsi che il file Template:Filename sia avviato effettivamente sul runlevel scelto. Usando i consigli da Start X at boot, si può editare il file Template:Filename semplicemente lanciando startx sul runlevel desiderato che in cambio userà il proprio script Template:Filename:

x:45:once:/bin/su PREFERED_USER -l -c "/bin/bash --login -c startx >/dev/null 2>&1"

Da notare che "45" significa che ciò accade sia sul runlevel 4 che 5. La differenziazione finale tra 4 e 5 arrivera poi nel file Template:Filename come descritto sopra. Questo è preferibile rispetto al tentativo di differenziazione nel file Template:Filename dal momento che ci atteniamo abbastanza vicino a utilizzare i vari file di configurazione così come erano destinati in principio.

Suggerimenti

Policykit e ConsoleKit

Svariate applicazioni di vari ambienti desktop richiedono che le PolicyKit e ConsoleKit siano attive, e produrranno degli errori in caso contrario. Un errore comune è l'impossibilità di accedere alle opzioni di spegnimento o riavvio dalle finestre del proprio ambiente desktop, come anche eventuali errori al montaggio di dispositivi usb o cd-rom senza permessi di root. I login manager più moderni avvieranno PolicyKit automaticamente, ma quando si usa solamente Template:Filename con display manager come ad es. Slim, lo si dovrebbe avviare in questa maniera:

exec ck-launch-session gnome-session
Note:

A partire dal 10/09/2011, vi è una combinazione di fattori che causano un bug: Se si ottiene l'errore Not authorized con una qualsiasi applicazione sul desktop, questo è il bug.

È perché si usa lo snippet (incluso anche in /etc/skel/.xinitrc) che punta a tutti i file in /etc/X11/xinit/xinitrc.d Il problema è /etc/X11/xinit/xinitrc.d/30-bus che lancia dbus prima che che sia eseguito ck-launch-session, causing the bug FS#25031

Per risolvere il problema rimuovere quel frammento o utilizzare quella riga nel proprio ~/.xinitrc

exec ck-launch-session dbus-launch gnome-session
fino quando il bug FS#25031 venga risolto. Consultare inoltre le note di Xfce#Manually per maggiori delucidazioni

Avviare per primo il WM

Se è necessario avviare il window manager prima del lancio di applicazioni aggiuntive, utilizzare il seguente metodo:

#!/bin/bash

openbox & wmpid=$!

urxvtd -q -f -o &
xscreensaver -no-splash &
fbpanel &

wait $wmpid

Con la prima riga openbox viene eseguito come un processo in background e memorizza immediatamente l'id del processo ($!) nella variabile wmpid. Nell'ultima riga, l'incorporazione di "wait" è utilizzata per attendere che termini il processo specificato da wmpid.

Link esterni