Xinitrc (Italiano)

From ArchWiki
Revision as of 17:57, 11 December 2011 by Strcat (Talk | contribs) (codeline -> ic)

Jump to: navigation, search

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 – فارسی

Summary help replacing me
Una veduta d'insieme sulle configurazioni principali per il programma xinit (startx).
Related
Display Manager (Italiano)
Start X at boot (Italiano)
Xorg (Italiano)
xprofile

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