Sophie

Sophie

distrib > Mandriva > 9.1 > i586 > by-pkgid > f1098342ec4a2b28475e34123ce17201 > files > 138

howto-html-it-9.1-0.5mdk.noarch.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML>
<HEAD>
<TITLE>Il Control+Alt+End Micro HowTo</TITLE>


</HEAD>
<BODY>
<H1>Il Control+Alt+End Micro HowTo</H1>

<H2>Galluzzo Gabriele (gnappoTOGLIMI@mail.viplink.it)</H2>v. 0.01 15/9/1998
<P><HR>
<EM>Questo documento nasce dall'esigenza di avere la possibilit&agrave; di
effettuare in modo rapido lo shutdown ed il reboot della Linux Box
premendo pochi tasti. In particolare, usando una macchina con un
utente normale, sarebbe comodo avere la possibilit&agrave; di effettuare
reboot e shutdown con due differenti combinazioni di tasti senza
diventare root. Con questo (micro) HowTo cercher&ograve; di dare una "pezza"
che possa essere utile a quanti, come me, sentono l'esigenza di
"uscire rapidamente" da Linux (per rientrarci per&ograve; subito dopo ;-) ). Non me ne vogliano i guru se dico cose a loro arcinote.</EM>
<HR>
<H2><A NAME="s1">1. Copyright</A></H2>

<P>Potete copiare, diffondere questo HowTo.
<P>Se lo modificate, migliorate (cosa di sicuro molto facile :) ) o lo
traducete mi piacerebbe saperlo (vedi 
<A HREF="#NF">Note Finali</A>).  
<P>
<P>
<H2><A NAME="s2">2. Nota legale</A></H2>

<P>Quanto riportato funziona sul mio sistema RedHat 5.0 ed &egrave; frutto di mie 
personali sperimentazioni, non assicuro che funzioni sul vostro
sistema (non sono un guru!).
<P>Se fate i backup dei file che modificate non dovrebbero esserci
problemi se qualcosa dovesse andare storto.
<P>Usate quanto descritto a vostro rischio e pericolo.
<P>
<H2><A NAME="s3">3. Soluzione !</A></H2>

<P>La soluzione a questo (piccolo) problema &egrave; abbastanza semplice: far
capire ad init che vogliamo usare CTRL+ALT+END per lo shutdown.
<P>Il problema &egrave; che lui capisce l'evento CTRL+ALT+CANC ma non quello che
ci serve.
<P>Allora dobbiamo andare un po' pi&ugrave; a monte e modifichiamo il file di
mappa dei caratteri.
<P>Personalmente uso it.map.gz che si trova nella directory
/usr/lib/kbd/keytables/ (uso una RedHat 5.0) per cui far&ograve;
riferimento a questa mappa. 
<P>Nella documentazione del kbd c'&egrave; un riferimento ad una "curiosa" azione che 
pu&ograve; essere associata a QUALSIASI tasto o combinazione di tasto+modificatori: 
<CODE>Spawn_Console</CODE>.
<P>Questa azione, a dispetto del nome (a nota nell'autore del kbd), pu&ograve; essere 
usata per qualsiasi cosa.
<P>
<UL>
<LI>Come prima cosa copiamo /usr/lib/kbd/keytables/it.map.gz
in /tmp o dovunque volete, serve solo per lavorare
tranquilli. 
</LI>
<LI>Poniamoci in /tmp o dove lo avete copiato.
</LI>
<LI>Scompattiamolo (potreste averlo gi&agrave; in forma decompressa):
<CODE>gunzip it.map.gz</CODE></LI>
<LI>Editiamolo : <CODE>vi it.map</CODE></LI>
<LI>A questo punto cerchiamo la riga con: <CODE>keycode 107 = Select</CODE>
ed aggiungiamovi sotto la riga seguente (se gi&agrave; ci fosse la modificheremo):
<BLOCKQUOTE><CODE>
<PRE>
        control alt     keycode 107 = Spawn_Console
</PRE>
</CODE></BLOCKQUOTE>

(attenzione agli spazi!, non so quanto il kbd sia permaloso al riguardo, per non offenderlo usiamo la sua spaziatura).

L'aspetto di it.map dovrebbe essere il seguente (per il tasto End):
<BLOCKQUOTE><CODE>
<PRE>
keycode 107 = Select
        control alt     keycode 107 = Spawn_Console
</PRE>
</CODE></BLOCKQUOTE>

</LI>
<LI>Ricompattiamo: <CODE>gzip it.map</CODE></LI>
<LI>Ricopiamolo al suo posto: <CODE>cp -f it.map.gz
/usr/lib/kbd/keytables/</CODE> </LI>
<LI>Carichiamo la nuova mappa: <CODE>loadkeys it.map</CODE></LI>
<LI>Proviamo la combinazione ctrl+alt+end ... <EM>non funziona!</EM></LI>
</UL>
<P>Occorre dire ad init cosa vogliamo e per farlo editiamo il file /etc/inittab.
<UL>
<LI>Solita copia di sicurezza: <CODE>cp /etc/inittab /tmp</CODE></LI>
<LI>Editiamolo: <CODE>vi inittab</CODE></LI>
<LI>Inseriamo le righe seguenti:
<BLOCKQUOTE><CODE>
<PRE>
# Cattura CTRL+ALT+END 
ce::kbrequest:/sbin/shutdown -h now
</PRE>
</CODE></BLOCKQUOTE>


(Nota che c'&egrave; all'inizio della seconda riga una coppia di caratteri (ce) 
arbitrari ma che devono essere comunque unici nell'inittab, potete sostituirla
con qualsiasi combinazione volete, inoltre il carattere # indica una riga di 
commento).<BR>

Il punto focale &egrave; "kbrequest" che dice ad inittab che c'&egrave; una richiesta dalla tastiera e che deve eseguire il programma che gli abbiamo specificato che nel 
nostro caso &egrave; proprio lo shutdown.
</LI>
<LI>Per far s&igrave; che init sappia che &egrave; stato cambiato il suo file di
configurazione diamo un bel:
<BLOCKQUOTE><CODE>
<PRE>
telinit q
</PRE>
</CODE></BLOCKQUOTE>
</LI>
</UL>
<P>Ora &egrave; tutto a posto, salvate tutto quello che avete aperto e date un bel 
ctrl+alt+end.
<P>Et voil&agrave; lo shutdown &egrave; servito!
Per un ulteriore test, dopo aver rebootato Linux, date ctrl+alt+canc e dovrebbe effettuare il reboot.
<P>Per ricapitolare ora abbiamo disponibili:
<DL>
<DT><B>The Three Finger Salute</B><DD><P>che effettua il reboot   : ctrl+alt+canc
<DT><B>The Three Finger Salute2</B><DD><P>che effettua lo shutdown : ctlr+alt+end
</DL>
<P><B>NOTA:</B> Se l'evento kbdrequest &egrave; gi&agrave; gestito da init, quanto
descritto in questo documento non credo che funzioner&agrave; (non l'ho
testato ma da quanto ho capito c'&egrave; un solo evento kbdrequest gestibile
da init). 
<P>Per accertarsi che questo evento non sia gi&agrave; gestito &egrave; sufficiente dare uno 
sguardo al file inittab e vedere se &egrave; gi&agrave; presente un kbrequest (nelle 
distribuzioni che ho visto non c'&egrave; mai un kbrequest gi&agrave; gestito, ma
conviene controllare).
<P>In ogni caso se avete altre soluzioni siete vivamente invitati ad
inviarmele (vedi 
<A HREF="#NF">Note Finali</A> alla fine del documento).
<P>
<P>
<H2>3.1 Limitazione dello shutdown</H2>

<P>Potrebbe darsi il caso che abbiate la Linux Box condivisa con alcune persone
di cui non vi fidate troppo e che vogliate essere loggato voi per effettuare
lo shutdown.
<P>Niente paura! &egrave; sufficiente editare il file
/etc/shutdown.allow ed inserirvi i nomi di login degli
utenti che devono essere loggati per consentire a tutti di dare le
sequenze di reboot e shutdown. 
<P>Per esempio se /etc/shutdown.allow contiene
<BLOCKQUOTE><CODE>
<PRE>
root
pippo
pluto
</PRE>
</CODE></BLOCKQUOTE>

allora QUALSIASI utente (per es. paperino) pu&ograve; dare le due sequenze:
ctrl+alt+end e ctrl+alt+canc SOLO se almeno uno dei tre utenti (root,
pluto, pippo) &egrave; loggato da console.
<P>In caso contrario non avviene nessuno shutdown/reboot.
<P>
<H2><A NAME="s4">4. Documenti ispiratori e ringraziamenti</A></H2>

<P>Ringrazio tutti quelli che supportano, sviluppano, diffondono, criticano,
(positivamente) e fanno crescere Linux e ne apprezzano lo "spirito"
libero, il Pluto Group, Linus Torvalds &amp; C. :) e Tiziana C. (Titti ;-P ).
<P>Documenti consigliati, secondo me, per saperne di pi&ugrave; sono (i path
sono quelli della RedHat 5.0): 
<UL>
<LI>la documentazione del kbd (/usr/doc/kbd-xxx dove xxx &egrave; la vesione)</LI>
<LI>il Keyboard HowTo (/usr/doc/HOWTO/Keyboard-and-Console-HOWTO.gz)</LI>
<LI>l' Italian-HowTo (/usr/doc/HOWTO/Italian-HOWTO.gz) che mi ha
dato la voglia di saperne di pi&ugrave; sulla tastiera in Linux. </LI>
</UL>
<P>
<H2><A NAME="NF"></A> <A NAME="s5">5. Note Finali</A></H2>

<P>Se questo documento vi &egrave; stato utile fatemelo sapere :
(gnappoTOGLIMI@mail.viplink.it ovviamente dovete togliere TOGLIMI).
<P>Se vi ha procurato fastidi, notti insonni o avete trovato soluzioni migliori 
avete l'obbligo :) di farmelo sapere.
<P>Se intedete tradurlo (nel rarissimo caso in cui ci&ograve; fosse ritenuto
opportuno :) ) mi piacerebbe che me lo diceste sempre all'indirizzo
email precedente. 
<P>Grazie a Te che hai avuto la pazienza di leggere questo HowTo fin qui!
</BODY>
</HTML>