|
|
(22 versioni intermedie di 6 utenti non mostrate) |
Riga 1: |
Riga 1: |
| == Introduzione == | | {{Versioni compatibili|Jessie|Stretch|Buster}} |
| | __TOC__ |
| | ==Preparazione: installazione dei programmi== |
|
| |
|
| Questa guida � dedicata all'uso di Aptitude.
| | Per configurare i tasti multimediali da Linux servono essenzialmente due programmi: '''<code>xev</code>''' e '''<code>xmodmap</code>'''. Prima di tutto, quindi, dobbiamo installare i pacchetti con [[privilegi di amministrazione]]: |
| | <pre># apt install x11-utils x11-xserver-utils</pre> |
| | il primo (<code>x11-utils</code>) conterà il programma <code>xev</code>, il secondo conterrà invece il programma <code>xmodmap</code>. |
|
| |
|
| Il completissimo '''manuale utente di Aptitude''' in formato html si pu� trovare installando il pacchetto <tt>aptitude-doc-en</tt>, in <tt>/usr/share/doc/aptitude/html/en/index.html</tt>. Purtroppo il manuale � solo in inglese.
| | ==Configurazione layout tasti== |
| | Dopo aver installato questi programmi la prima cosa da fare è scoprire i keycode relativi ai tasti che ci interessano e questo verrà fatto con <code>xev</code>. Apriamo una console e scriviamo <code>xev</code>, a programma lanciato premiamo il tasto che ci interessa configurare e dovremmo avere un output del genere: |
| | <pre> |
| | KeyRelease event, serial 29, synthetic NO, window 0x1c00001, |
| | root 0x75, subw 0x0, time 1436703, (287,442), root:(292,515), |
| | state 0x0, keycode 236 (keysym 0x0, NoSymbol), same_screen YES, |
| | XLookupString gives 0 bytes: |
| | </pre> |
| | da queste righe otteniamo il keycode (nell'esempio 236) e notiamo anche che non gli è associato nessun nome (<code> ..., NoSymbol</code>). Adesso dobbiamo associare un nome al tasto riferito da quel keycode. Quest'operazione deve essere fatta modificando il file <code>~/.xmodmaprc</code> che se non esiste va creato. |
|
| |
|
| == Cos'� Aptitude ==
| | In questo file vanno inserite righe del tipo: |
| | | <pre> |
| Aptitude � un frontend per la gestione avanzata dei pacchetti di una distribuzione Debian, ma risulta valida per tutte le distribuzioni che supportano APT (http://www.debian.org/doc/manuals/apt-howto/ch-distros.it.html).
| | keycode num = nome |
| | | </pre> |
| Aptitude � ormai lo strumento preferenziale per l'amministrazione dei pacchetti su Debian, in quanto non solo raggruppa in un unico semplice programma le funzionalit� di molti tool (apt-get, apt-cache ...) ma anche perch� permette di gestire in modo molto pi� facile (ed efficace) situazioni complesse (dipendenze, dipendenze inverse, rimozione pacchetti non utilizzati, ecc ...).
| | dove <code>num</code> è il keycode ottenuto con <code>xev</code> e la stringa ''nome'' dovrà essere del tipo <code>FXX</code> dove al posto di <code>XX</code> dobbiamo inserire un numero maggiore di dodici. |
| | |
| Aptitude � un frontend a dpkg esattamente come apt-get, che sembra essere destinato a sostituire integralmente lo stesso [[Introduzione_all%27_Apt_System | apt-get (e affini)]], tanto che nelle release notes di Sarge si legge:
| |
| | |
| {{Box|Citazione:|Il metodo di aggiornamento raccomandato fra le release Debian GNU/Linux prevede l'utilizzo dello strumento di gestione dei pacchetti aptitude. Tale strumento rende le decisioni riguardanti le installazioni dei pacchetti pi� sicure che l'esecuzione diretta di apt-get.}}
| |
| | |
| e anche:
| |
| | |
| {{Box|Citazione:|Test di aggiornamento hanno mostrato che la versione di sarge di aptitude � migliore sia di apt-get sia della versione di woody di aptitude nella risoluzione di dipendenze complesse durante un aggiornamento.}}
| |
| | |
| Si pu� utilizzare Aptitude in due modi: da linea di comando, cio� come apt-get (la sintassi e le opzioni sono identiche, o quasi), oppure tramite l'interfaccia visuale basata sulle librerie ncurses.
| |
| | |
| L'interfaccia visuale verr� trattata pi� diffusamente, perch� si ritiene che sia uno strumento fondamentale per la gestione dei pacchetti e soprattutto per la diagnostica e la risoluzione degli eventuali problemi riscontrati.
| |
| | |
| {{Box|Prima di iniziare|Prima di iniziare a mettere le mani sulla tastiera, notiamo che aptitude, a differenza della maggior parte delle opzioni di apt-get, si pu� lanciare anche con i diritti di utente comune.
| |
| | |
| Poich� per l'effettiva installazione o rimozione dei pacchetti � necessario possedere i diritti di root, � possibile e caldamente consigliato usare questa possibilit� per effettuare qualunque prova, visto che non si sar� in grado di modificare neanche una virgola del sistema prima di aver inserito la password di root.}}
| |
| | |
| == Uso da linea di comando ==
| |
| | |
| Anche dalla linea di comando l'uso di aptitude � molto semplice e comodo. Si usa in genere la seguente forma:
| |
| | |
| aptitude azione [argomenti...]
| |
| | |
| ''azione'' dice ad aptitude quale azione svolgere; i rimanenti argomenti dipendono dall'azione scelta e consistono tipicamente in una lista di nomi di pacchetti.
| |
| | |
| Le azioni pi� importanti sono:
| |
| | |
| ; <tt>aptitude update</tt> : aggiorna la lista dei pacchetti (come premere ''''u'''' dall'interfaccia visuale o come <tt> apt-get update</tt>)
| |
| | |
| ; <tt>aptitude upgrade</tt> : aggiorna tutti i pacchetti aggiornabili senza che nascano conflitti. Se l'aggiornamento di un pacchetto causa un conflitto il pacchetto non viene aggiornato (piuttosto che, ad esempio, rimuovere i pacchetti che generano il conflitto)
| |
| | |
| ; <tt>aptitude dist-upgrade</tt> : anche questo comando aggiorna tutti i pacchetti, ma � pi� aggressivo nella risoluzione delle dipendenze: nouvi pacchetti saranno installati e altri rimossi, fino a quando tutte le dipendenze non saranno soddifatte. Questo comando potrebbe fare cose non desiderate (come, appunto, installare nuovi pacchetti o rimuoverne altri) quindi deve essere usato con cautela.
| |
| | |
| ; <tt>aptitude [ install | remove | purge | reinstall ] pkg1 [pkg2...]</tt>: questi comandi installano, rimuovono o fanno il ''purge'' (eliminazione anche dei file di configurazione) dei pacchetti specificati.
| |
| | |
| ; <tt>aptitude search espressione1 [espressione2...]</tt>: mostra su terminale i pacchetti che contengono nel nome una delle espressioni fornite. Le espressioni possono essere semplici stringhe o anche espressioni pi� complesse ("Search Patterns").
| |
| | |
| ; <tt>aptitude show pkg1 [pkg2...]</tt> : mostra su terminale le informazioni di ogni pacchetto specificato.
| |
| | |
| I comandi che installano, aggiornano o rimuovo pacchetti accettano tutti il parametro "-s" che st� per "simula". Quando viene passato "-s" nella linea di comando, aptitude svolge tutte le azioni che svolgerebbe normalmente, ma non scarica o installa/rimuove effettivamente nessun file.
| |
| | |
| ==Interfaccia grafica==
| |
| | |
| === Descrizione dell'interfaccia grafica ===
| |
| La prima schermata che aptitude ci presenta, dopo che l'abbiamo lanciato da linea di comando, e dopo il caricamento delle informazioni attuali sui pacchetti ("caricamento della cache"), � divisa orizzontalmente in due parti.
| |
| | |
| Nella parte superiore troviamo una zona a sfondo blu con un men� che propone diverse opzioni, e una zona a sfondo nero in cui si vede l'albero dei pacchetti disponibili, classificati in base al loro stato (installati, non installati, ecc.).
| |
| | |
| Per vedere il contenuto di uno dei rami usiamo le frecce "su" e "giu" fino a selezionare la riga corrispondente e premiamo invio. Sotto al ramo in questione ora abbiamo dei sottorami, e premendo invio sui vari sottorami si accede allo stesso modo ai sotto-sottorami e cos� via, fino ad arrivare ai pacchetti.
| |
| | |
| La parte inferiore � invece dedicata alla descrizione del pacchetto attualmente selezionato. Alcuni pacchetti, per esempio k3b, hanno una descrizione molto lunga: premendo TAB e usando le frecce � possibile leggerla tutta.
| |
|
| |
|
| Ogni riga che mostra il nome di un pacchetto riporta anche molte informazioni.
| | Adesso lanciando da shell <code>xmodmap ~/.xmodmaprc</code> e rilanciando <code>xev</code> dovremmo ottenere: |
| Per esempio, riporto lo stato di alcuni pacchetti nel mio sistema (nota: il mio sistema � una sarge, ma ho installato diversi pacchetti da testing e anche alcuni da unstable. Per informazioni sul pinning vedere [[APT_uso_avanzato:_mixare_releases_diverse | APT uso avanzato: mixare releases diverse ]]):
| |
| <pre> | | <pre> |
| stato nome vers. attuale vers. aggiornata
| | KeyPress event, serial 26, synthetic NO, window 0x2400001, |
| | | root 0x75, subw 0x0, time 267243, (597,651), root:(603,723), |
| i aptitude 0.2.15.9-2 0.2.15.9-2
| | state 0x0, keycode 236 (keysym 0xffca, F13), same_screen YES, |
| i amule 2.0.3-3 2.0.3-4
| | XLookupString gives 0 bytes: |
| i A amule-common 2.0.3-3 2.0.3-4
| |
| c hotplug <nessuna> 0.0.200403
| |
| p apmd <nessuna> 3.2.2-3
| |
| </pre> | | </pre> |
|
| |
|
| Possiamo vedere che:
| | Abbiamo abbinato al tasto un nome (nell'esempio F13). |
| *aptitude � installato ed � alla versione pi� recente
| |
| *amule � installato ma � aggiornabile alla versione 2.0.3-4
| |
| *amule-common � installato per soddisfare una dipendenza (<tt>A</tt>), cio� solo a causa di un pacchetto che dipende da lui (amule). Anch'esso � aggiornabile
| |
| *hotplug non � installato, ma quando l'ho cancellato ho scelto di mantenere i file di configurazione (<tt>c</tt>)
| |
| *apmd non � installato (<tt>p</tt>), oppure � stato cancellato con l'opzione "purge" (comando: "_"): lo stato risultante � il medesimo
| |
| | |
| Tramite semplici comandi si possono visualizzare molte altre informazioni. I comandi principali sono:
| |
| ; v: visualizza le versioni disponibili per il pacchetto
| |
| ; d: visualizza le dipendenze del pacchetto
| |
| ; r: visualizza i pacchetti che dipendono dal pacchetto selezionato (dipendenze inverse)
| |
| ; C: scarica da internet e visualizza il changelog del pacchetto
| |
| ; q: chiude la schermata attuale e passa a quella precedente
| |
| | |
| Per una lista completa vedere la guida online con "?".
| |
| | |
| Ora premiamo invio su di un pacchetto: ci appare la schermata relativa al pacchetto, con la descrizione completa e molte altre informazioni, organizzate ad albero come abbiamo gi� visto. Se ci interessa qualche informazione in pi� su uno dei pacchetti che troviamo in questa schermata, lo selezioniamo e premiamo invio: appaiono le versioni disponibili del pacchetto. Se selezioniamo una delle versioni e premiamo invio ci ritroviamo nella schermata informativa di quel pacchetto. Fate attenzione perch� in questo modo si pu� perdere facilmente l'orientamento.
| |
| Torniamo alla vista dell'albero dei pacchetti premendo "q" tante volte quanto serve (se vi sbagliate e lo premete una volta in pi�, aptitude vi chiede se volete uscire dal programma: per il momento dite di no ;-)).
| |
| | |
| === Riassunto principali comandi ===
| |
| | |
| ; <tt>u</tt> ''(minuscolo)'': aggiorna la lista dei pacchetti.
| |
| ; <tt>+</tt>: marca il pacchetto selezionato per l'installazione o l'aggiornamento.
| |
| ; <tt>-</tt> ''(segno meno)'': marca il pacchetto selezionato per la rimozione.
| |
| ; <tt>_</tt> ''(underscore)'': marca il pacchetto selezionato per la rimozione, eliminado tutti i file di configurazione (''purge'').
| |
| ; <tt>U</tt> ''(maiuscolo)'': marca per l'aggiornamento tutti i pacchetti per cui sia disponibile una nuova versione.
| |
| ; <tt>=</tt> : mette in '''hold''' il pacchetto selezionato. Questo vuol dire che il pacchetto non verr� aggiornato ache se una nuova versione � disponibile e si seleziona di aggiornare i pacchetti (ad esempio con '''<tt>U</tt>''').
| |
| ; <tt>C</tt> ''(maiuscolo)'': scarica e mostra il changelog del pacchetto selezionato.
| |
| | |
| {{Box|Nota|Dopo aver premuto uno dei comandi '''<tt>+</tt>''', '''<tt>-</tt>''', '''<tt>_</tt>''' o '''<tt>U</tt>''' bisogner� premere due volte '''g''' per eseguire le azioni richieste: dopo la prima volta verr� visualizzata il lista dei pacchetti installati/aggiornati/rimossi/mantenuti, dopo il secondo '''g''' verranno eseguite le operazioni richieste.}}
| |
| | |
| === Esempio: aggiornare i pacchetti ===
| |
| | |
| Per la descrizione dell'utilizzo di aptitude useremo come esempio una sessione reale, in cui vengono svolte alcune normali operazioni di aggiornamento e amministrazione dei pacchetti.
| |
| | |
| Per prima cosa, nella nostra sessione di amministrazione, aggiorniamo le informazioni sui pacchetti disponibili. Con apt-get avremmo digitato <tt>apt-get update</tt>, mentre in aptitude � sufficiente premere "u".
| |
| | |
| Fate attenzione perch� aptitude non chiede conferma dopo che avete impartito un comando, quindi non digitate nulla senza prima essere sicuri/e di cosa state per fare.
| |
| | |
| Dopo aver fatto l'update potremmo trovare una, due, o tre voci nuove nell'albero dei pacchetti: "Aggiornamenti di sicurezza", "Pacchetti aggiornabili", e "Pacchetti nuovi". Per fare scomparire le prime due � necessario aggiornare tutti i pacchetti contenuti nei rispettivi rami, mentre per far sparire la terza � sufficiente premere "f" (forget).
| |
| | |
| Una buona regola per l'amministratore � quella di far s� che alla fine dell'aggiornamento queste tre voci non siano presenti. Se ci sono dei pacchetti che risultano aggiornabili, ma che non volete aggiornare, probabilmente dovreste bloccarli alla versione desiderata con "=", oppure dovreste leggere la guida gi� citata sul pinning.
| |
| | |
| Ora torniamo ai pacchetti mostrati prima e supponiamo di voler aggiornare amule: lo selezioniamo e premiamo "+". Questo marcher� in verde, cio� per l'installazione, sia amule che amule-common.
| |
| | |
| Poi per� ci viene un'idea migliore, e decidiamo di aggiornare tutti i pacchetti aggiornabili, quindi digitiamo "^" per risalire al ramo superiore della vista, finch� arriviamo a <tt>Pacchetti installati</tt> poi usiamo la freccia in alto e se necessario risaliamo ancora ai rami superiori finch� non arriviamo a <tt>Pacchetti aggiornabili</tt> e qui premiamo "+". Questo marcher� per l'installazione tutti i pacchetti aggiornabili :-D
| |
|
| |
|
| | ==Associazione programmi== |
| | Ora potremmo voler far eseguire un'azione al tasto configurato, questa cosa la si può fare in svariati modi: se si ha Gnome dal menu ''Desktop -> Preferenze -> Scorciatoie da tastiera'' associando al tasto un'azione predefinita, e abbiamo finito. Similmente per altri ambienti desktop. |
|
| |
|
| == Risolvere eventuali problemi con delle dipendenze == | | ===In ambienti grafici minimali=== |
| | Invece, se usiamo un ambiente grafico minimale, ci potrebbe servire un programma che permette di associare a dei tasti o ad una combinazione di tasti una determinata azione. Di questi ultimi ne esistono vari: in questo tutorial useremo <code>xbindkeys</code>, la cui configurazione è molto semplice. |
|
| |
|
| Dopo aver marcato per l'installazione tutti i pacchetti aggiornabili, aptitude ci segnala nella zona blu che c'� un pacchetto "errato" cio� con problemi di dipendenze. Senza battere ciglio premiamo "b" e leggiamo:
| | Anzitutto bisogna installarlo: |
| <pre> | | <pre> |
| iB udev 0.070 0.074
| | # apt install xbindkeys |
| </pre> | | </pre> |
| dove "B" significa "con errori", e sotto si legge:
| | |
| | Fatto ciò bisogna modificare il file <code>~/.xbindkeysrc</code>, che è formato da righe del tipo: |
| <pre> | | <pre> |
| Alcune dipendenze di udev non sono soddisfatte:
| | "comando o programma da eseguire" |
| | | tasto o combinazione di tasti associata |
| *udev � in conflitto con module-init-tools (< 3.2pre9-1)
| |
| </pre> | | </pre> |
| premiamo invio su udev, e ci appare la schermata con tutte le informazioni su udev stesso, comprese le dipendenze: selezioniamo module-init-tools e premiamo invio. Ora ci appaiono tutte le versioni disponibili di module-init-tools, tra cui vediamo che � presente la 3.2pre9-1: non ci resta che selezionarla e marcarla per l'installazione :-D.
| | per esempio: |
| | |
| Quello che � successo � semplicemente che nel mio sistema udev � in testing, e fino alla versione 0.070 funzionava bene con module-init-tools-3.2pre1-2, che invece � in stable. Aggiornando tutto abbiamo marcato per l'installazione il nuovo udev, versione 0.074, che per� dipende da module-init-tools >= 3.2pre9-1. Poich� questo pacchetto � in testing, APT non ha potuto risolvere la dipendenza automaticamente: se un pacchetto � in una distribuzione (e APT � configurato nel modo giusto) non verr� mai passato ad un'altra, a meno che non siamo noi a farlo manualmente.
| |
| | |
| Si prega di notare che questo comportamento non � un bug, ma una cosa voluta: APT ha ricevuto un comando ambiguo e lo segnala generando un errore, proprio come noi ci aspettiamo da lui ;-).
| |
| | |
| In effetti, i reali colpevoli della generazione dell'errore siamo noi. Infatti, per permettere ad APT di gestire correttamente delle dipendenze in testing, dobbiamo semplicemente usare "testing" come distribuzione predefinita.
| |
| | |
| Ricordate che abbiamo lanciato aptitude semplicemente con il comando "aptitude"? e ricorderete anche che il mio sistema � una sarge (stable). Questo equivale a lanciare aptitude con il comando "aptitude -t stable", da cui il nostro problema.
| |
| | |
| Se avessimo usato "aptitude -t testing" aptitude avrebbe risolto correttamente la dipendenza, ma attenzione: in questo modo diciamo ad aptitude che testing � la nostra release predefinita (che non � vero) e lui ci mostrer� come aggiornabili tutti i pacchetti che lo sono in testing, cio� anche tutti quelli in stable (come peraltro ci aspettiamo che faccia ;-)).
| |
| | |
| Il fatto � che aptitude, per quanto avanzato, ancora non legge il pensiero dell'amministratore, e fa solo il suo mestiere: prende tutte le decisioni ovvie autonomamente, e genera un errore quando non sa cosa decidere.
| |
| | |
| | |
| ==Cercare un pacchetto==
| |
| | |
| Ora supponiamo di voler vedere se in debian c'� qualche programma per la gestione dei contenuti, e l'acronimo in inglese � "cms". Per fare questo possiamo usare le funzioni di ricerca di aptitude: per prima cosa digitiamo <tt>'''/'''</tt> per la ricerca della stringa "cms" nei nomi dei pacchetti.
| |
| | |
| Ora per� ci viene in mente che un cms non contiene necessariamente la stringa "cms" nel nome, quindi facciamo, con la stessa stringa, una ricerca nelle descrizioni dei pacchetti: digitiamo ancora <tt>'''/'''</tt> e inseriamo "<tt>~dcms</tt>". Aptitude ci mostra il primo risultato della ricerca, per vedere i risultati successivi premiamo <tt>'''n'''</tt>, e per tornare indietro nella lista <tt>'''\'''</tt>.
| |
| | |
| Per '''L'''imitare la lista dei pacchetti visualizzati possiamo usare il comando <tt>'''l'''</tt>, che si usa allo stesso modo di <tt>'''/'''</tt> ma mostra tutti e soli i pacchetti corrispondenti alla ricerca, organizzati ad albero nel modo che abbiamo gi� visto.
| |
| | |
| === Ricerca avanzata ===
| |
| Aptitude supporta numerose opzioni di dicerca come il precedente <tt>~d</tt> per cercare una stringa nelle descrizioni. La stringa di ricerca pu� inoltre essere una [[REGEXP]] (espressione regolare). Queste opzioni possono essere usate indifferentemente da linea di comando (dopo <code>search</code>) che dall'interfaccia grafica (premendo <tt>'''/'''</tt> oppure <tt>'''l'''</tt>).
| |
| | |
| Di seguito si riporta qualche esempio. fare riferimento alla guida di aptitude citata all'inizio per i dettagli.
| |
| | |
| Volete sapere quali pacchhetti di gnome 2.14 son entrati in etch? Semplice:
| |
| | |
| $ aptitude search gnome~V2.14
| |
| | |
| Il seguente comando cerca invece i pacchetti che contengono <tt>editor</tt> nella descrizione e che appartongono alla sezione <tt>sound</tt>:
| |
| | |
| $ aptitude search ~deditor~ssound
| |
| | |
| == Personalizzare la visualizzazione dei pacchetti ==
| |
| | |
| Con aptitude � possibile personalizzare sia i campi visualizzati nella lista dei pacchetti, sia il raggruppamento in sezioni e sotto-sezioni.
| |
| | |
| === Personalizzare il raggruppamento in sezioni ===
| |
| | |
| Le sezioni nelle quali sono raggruppati i pacchetti quando si avvia Aptitude (e non solo) sono generate dinamicamente da un insieme di regole separate da virgola. E' possibile vedere e modificare le regole che generano la vista attuale premendo ''''G''''.
| |
| | |
| Le regole vengono elaborate in sequenza dalla prima all'ultima
| |
| | |
| Vediamo alcune regole:
| |
| | |
| ; <tt>filter(missing)</tt> : non visualizza i pacchetti che esistono solo nelle dipendenze di un altro pacchetto.
| |
| | |
| ; <tt>status</tt> : Raggruppa i pacchetti in:
| |
| :* Installati
| |
| :* Non installati
| |
| :* Aggiornamenti della sicurezza
| |
| :* Aggiornabili
| |
| :* Obsoleti
| |
| :* Virtuali
| |
| | |
| ; <tt>section[(''mode''[,passthrough])]</tt> : Raggruppa i pacchetti in base alla loro sezione. ''mode'' pu� assumere uno dei seguenti valori:
| |
| | |
| :; <tt>topdir</tt> : Raggruppa un base alla sezione dell'archivio debian (esempio: ''"main", "contrib", "non-free" ...'').
| |
| :; <tt>subdir</tt> : Raggruppa in base alla sezione logica (esempio: ''"adim", "base", "devel", "gnome", "kde", ecc ...'')
| |
| :; <tt>none</tt> : Raggruppa in base delle sezioni formate dalla somma delle precedenti (esempio: ''"controb/admin", "contrib/devel", "non-free/admin", "non-free/devel").
| |
| :; <tt>task</tt> : Crea un albero dei pacchetti raggruppandoli per task.
| |
| | |
| : Se viene usato il secondo parametro opzionale <tt>passthrough</tt> i pacchetti che per qualche motivo non hanno una sezione vengono passati alla regola successiva senza essere inseriti in categorie.
| |
| | |
| All'avvio di aptitude, premendo ''''G'''' si pu� vedere che vengono usate le seguenti regole:
| |
| | |
| <pre> | | <pre> |
| filter(missing),task,status,section(subdir,passthruough),section(topdir,passthrough)
| | "firefox" |
| | Control+F13 // si potevano usare anche Shift o Alt |
| </pre> | | </pre> |
| | Modificato il file bisogna lanciare da shell <code>xbindkeys -f ~/.xbindkeysrc</code> e tutto dovrebbe funzionare. |
|
| |
|
| In base a quanto detto la spiegazione di queste regole � semplice: ''visualizza solo i pacchetti reali, crea l'albero dei task, raggruppa i pacchetti per stato, per ogni stato raggruppa in sezioni logiche e all'interno di ogni sezione logica raggruppa in base alla sezione dell'archivio''.
| | Ora però dobbiamo fare in modo che il mapping dei tasti multimediali e l'associazione del programma tramite <code>xbindkeys</code> avvenga ogni volta che facciamo il login. La procedura esatta varia a seconda dell'ambiente utilizzato. |
| | |
| == Links ==
| |
| | |
| * [http://www.luv.asn.au/overheads/aptitude/aptitude-intro.html Aptitude Introduction]: ottima introduzione ad Aptitude (in inglese) che tratta (tra le altre cose) molte pi� opzioni della linea di comando rispetto alla presente guida.
| |
|
| |
|
| [[Categoria:Apt]] | | {{Autori |
| | |Autore = [[Utente:Itbhp|itbhp]] 11:07, 21 Apr 2006 (EDT) |
| | }} |
| | [[Categoria:Tastiere]][[Categoria:Ottimizzazione del sistema]] |
Versioni Compatibili Debian 8 "jessie" Debian 9 "stretch" Debian 10 "buster"
|
Preparazione: installazione dei programmi
Per configurare i tasti multimediali da Linux servono essenzialmente due programmi: xev
e xmodmap
. Prima di tutto, quindi, dobbiamo installare i pacchetti con privilegi di amministrazione:
# apt install x11-utils x11-xserver-utils
il primo (x11-utils
) conterà il programma xev
, il secondo conterrà invece il programma xmodmap
.
Configurazione layout tasti
Dopo aver installato questi programmi la prima cosa da fare è scoprire i keycode relativi ai tasti che ci interessano e questo verrà fatto con xev
. Apriamo una console e scriviamo xev
, a programma lanciato premiamo il tasto che ci interessa configurare e dovremmo avere un output del genere:
KeyRelease event, serial 29, synthetic NO, window 0x1c00001,
root 0x75, subw 0x0, time 1436703, (287,442), root:(292,515),
state 0x0, keycode 236 (keysym 0x0, NoSymbol), same_screen YES,
XLookupString gives 0 bytes:
da queste righe otteniamo il keycode (nell'esempio 236) e notiamo anche che non gli è associato nessun nome ( ..., NoSymbol
). Adesso dobbiamo associare un nome al tasto riferito da quel keycode. Quest'operazione deve essere fatta modificando il file ~/.xmodmaprc
che se non esiste va creato.
In questo file vanno inserite righe del tipo:
keycode num = nome
dove num
è il keycode ottenuto con xev
e la stringa nome dovrà essere del tipo FXX
dove al posto di XX
dobbiamo inserire un numero maggiore di dodici.
Adesso lanciando da shell xmodmap ~/.xmodmaprc
e rilanciando xev
dovremmo ottenere:
KeyPress event, serial 26, synthetic NO, window 0x2400001,
root 0x75, subw 0x0, time 267243, (597,651), root:(603,723),
state 0x0, keycode 236 (keysym 0xffca, F13), same_screen YES,
XLookupString gives 0 bytes:
Abbiamo abbinato al tasto un nome (nell'esempio F13).
Associazione programmi
Ora potremmo voler far eseguire un'azione al tasto configurato, questa cosa la si può fare in svariati modi: se si ha Gnome dal menu Desktop -> Preferenze -> Scorciatoie da tastiera associando al tasto un'azione predefinita, e abbiamo finito. Similmente per altri ambienti desktop.
In ambienti grafici minimali
Invece, se usiamo un ambiente grafico minimale, ci potrebbe servire un programma che permette di associare a dei tasti o ad una combinazione di tasti una determinata azione. Di questi ultimi ne esistono vari: in questo tutorial useremo xbindkeys
, la cui configurazione è molto semplice.
Anzitutto bisogna installarlo:
# apt install xbindkeys
Fatto ciò bisogna modificare il file ~/.xbindkeysrc
, che è formato da righe del tipo:
"comando o programma da eseguire"
tasto o combinazione di tasti associata
per esempio:
"firefox"
Control+F13 // si potevano usare anche Shift o Alt
Modificato il file bisogna lanciare da shell xbindkeys -f ~/.xbindkeysrc
e tutto dovrebbe funzionare.
Ora però dobbiamo fare in modo che il mapping dei tasti multimediali e l'associazione del programma tramite xbindkeys
avvenga ogni volta che facciamo il login. La procedura esatta varia a seconda dell'ambiente utilizzato.