Capitolo 7. Il sistema X Window

Indice

7.1. Pacchetti fondamentali
7.2. Impostare l'ambiente desktop
7.2.1. Menu Debian
7.2.2. Menu Freedesktop.org
7.2.3. Il menu Debian nell'ambiente desktop GNOME
7.3. La relazione client/server
7.4. Il server X
7.4.1. La (ri)configurazione del server X
7.4.2. I metodi di connessione al server X
7.5. Avviare il sistema X Window
7.5.1. Avviare la sessione X con gdm
7.5.2. Personalizzare la sessione X (metodo classico)
7.5.3. Personalizzare la sessione X (metodo nuovo)
7.5.4. Connettersi ad un client X remoto via SSH
7.5.5. Terminale X sicuro via Internet
7.6. Tipi di carattere in X Window
7.6.1. Tipi di carattere base
7.6.2. Tipi di carattere aggiuntivi
7.6.3. Tipi di carattere CJK
7.7. Applicazioni per X
7.7.1. Applicazioni da ufficio per X
7.7.2. Applicazioni di utilità per X
7.8. Informazioni varie su X
7.8.1. Mappatura della tastiera e dei pulsanti del dispositivo di puntamento in X
7.8.2. Client X classici
7.8.3. L'emulatore di terminale per X - xterm
7.8.4. Eseguire client X come root

Il sistema X Window in Debian è basato sui sorgenti di X.org. A partire da luglio 2009 sono X11R7.1(etch), X11R7.3(lenny), X11R7.3(squeeze) e X11R7.4(sid).

7.1. Pacchetti fondamentali

Per facilitare l'installazione sono forniti alcuni (meta)pacchetti

Tabella 7.1. Elenco di (meta)pacchetti fondamentali per X Window

(meta)pacchetto popcon dimensione descrizione
xorg * I:43 80 librerie X, un server X, un insieme di tipi di carattere e un gruppo di client e utilità X di base (metapacchetto)
xserver-xorg * V:30, I:51 228 insiee completo del server X e della sua configurazione
xbase-clients * V:3, I:47 132 vari client X assortiti
x11-common * V:41, I:92 568 infrastruttura del filesystem per il sistema X Window
xorg-docs * I:6 1956 documentazione varia per la suite software X.Org
menu * V:28, I:52 2060 genera il menu Debian per tutte le applicazioni con supporto per il menu
gksu * V:23, I:46 540 frontend Gtk+ a su(1) o sudo(8)
menu-xdg * I:47 76 converte la struttura del menu Debian nella struttura del menu xdg di freedesktop.org
xdg-utils * V:16, I:46 300 utilità per integrare l'ambiente desktop fornito da freedesktop.org
gnome-desktop-environment * I:29 44 ambiente desktop GNOME standard (metapacchetto)
kde-standard * I:3 36 ambiente desktop KDE di base (metapacchetto)
xfce4 * I:4 40 ambiente desktop leggero Xfce (metapacchetto)
lxde-core * I:2 36 ambiente desktop leggero LXDE (metapacchetto)
fluxbox * V:0.9, I:2 4424 Fluxbox: pacchetto per un gestore di finestre per X altamente configurabile e con basso uso di risorse

Per le nozioni base su X fare riferimento a X(7) e il XWindow-User-HOWTO del LDP.

7.2. Impostare l'ambiente desktop

Un ambiente desktop è solitamente una combinazione di un gestore di finestre per X, un gestore di file e una suite di utilità compatibili.

Si può configurare un ambiente desktop completo come GNOME, KDE, Xfce o LXDE da aptitude nel menu dei task.

[Suggerimento] Suggerimento

Il menu dei task potrebbe non essere in sincrono con le più recenti transizioni di pacchetti negli ambienti Debian unstable/testing. In questo caso è necessario deselezionare alcuni (meta)pacchetti elencati nel menu dei task di aptitude(8) per evitare conflitti tra pacchetti. Quando si deselezionano (meta)pacchetti, è necessario selezionare manualmente alcuni pacchetti che forniscono le loro dipendenze per evitare che vengano automaticamente rimossi.

In alternativa è possibile impostare manualmente un ambiente semplice con semplicemente un gestore di finestre per X come Fluxbox.

Vedere Gestori di finestre per X per una guida ai gestori di finestre per X e agli ambienti desktop.

7.2.1. Menu Debian

Il sistema del menu Debian fornisce un'interfaccia generale ai programmi sia testuali sia orientati ad X, tramite update-menus(1) nel pacchetto menu. Ciascun pacchetto installa i propri dati per il menu nella directory "/usr/share/menu/". Vedere "/usr/share/menu/README".

7.2.2. Menu Freedesktop.org

Ogni pacchetto conforme al sistema di menu xdg di Freedesktop.org installa i propri dati di menu forniti da "*.desktop" in "/usr/share/applications/". Gli ambienti desktop moderni che sono conformi agli standard Freedesktop.org usano questi dati per generare i propri menu usando il pacchetto xdg-utils. Vedere "/usr/share/doc/xdg-utils/README".

7.2.3. Il menu Debian nell'ambiente desktop GNOME

Per ottenere l'accesso al menu Debian tradizionale nell'ambiente desktop GNOME, si deve installare il pacchetto menu-xdg, cliccare su "Sistema" → "Preferenze" → "Menu principale" e spuntare la casella per "Debian".

[Suggerimento] Suggerimento

Potrebbe essere necessario fare un'azione simile per altri ambienti desktop moderni che sono conformi allo standard Freedesktop.org.

7.3. La relazione client/server

Il sistema X Window è attivato come combinazione di programmi server e client. Il significato delle parole server e client in relazione alle parole locale e remoto richiede un po' di attenzione.

Tabella 7.2. Elenco della terminologia per server/client

tipo descrizione
server X un programma eseguito su un host locale connesso al display dell'utente e ai device di input
client X un programma in esecuzione su un host remoto che elabora dati e comunica con il server X
application server un programma in esecuzione su un host remoto che elabora dati e comunica con i client
client applicativo un programma eseguito su un host locale connesso al display dell'utente e ai device di input

7.4. Il server X

Per informazioni sul server X vedere xorg(1).

7.4.1. La (ri)configurazione del server X

[Nota] Nota

Il server X (post-lenny) è stato riscritto per usare, per la sua configurazione, più informazioni da servizi standard del sistema operativo, come HAL e D-bus, piuttosto che dal file "/etc/X11/xorg.conf". Perciò i contenuti del file "/etc/X11/xorg.conf" si sono ridotti. Potrebbe essere necessario aggirare alcuni problemi di transizione del server X

I comandi seguenti (ri)configurano un server X generando un nuovo file "/etc/X11/xorg.conf" usando dexconf(1)

# dpkg-reconfigure --priority=low x11-common
# dpkg-reconfigure --priority=low xserver-xorg

Se il file "/etc/X11/xorg.conf" è stato modificato manualmente ma si desidera che venga aggiornato automaticamente, eseguire il comando seguente.

# sudo dpkg-reconfigure -phigh xserver-xorg

Controllare attentamente la propria configurazione di X in relazione alle specifiche del proprio monitor. Per alte risoluzioni di monitor CRT, è una buona idea impostare la frequenza di aggiornamento al valore più alto gestito dal monitor (85 Hz è un valore ottimo, 75 Hz è OK) per ridurre lo sfarfallio. Per i monitor LCD frequenze di aggiornamento standard più basse (60Hz) vanno solitamente bene a causa della risposta più lenta.

[Nota] Nota

Fare attenzione a non usare una frequenza di aggiornamento troppo alta che potrebbe causare danni hardware critici al monitor.

7.4.2. I metodi di connessione al server X

Ci sono diversi modi per far sì che il "server X" (lato display) accetti connessioni da un "client X" (lato applicazione).

Tabella 7.3. Elenco di metodi di connessione al server X

metodo pacchetto popcon dimensione utente cifratura uso collegato
comando xhost xbase-clients * V:3, I:47 132 non controllato no deprecato
comando xauth xbase-clients * V:3, I:47 132 controllato no connessione locale attraverso una pipe
comando ssh -X openssh-client * V:52, I:99 2104 controllato connessione di rete remota
GNOME display manager gdm * V:22, I:33 16548 controllato no (XDMCP) connessione locale attraverso una pipe
KDE display manager kdm * V:8, I:11 5510 controllato no (XDMCP) connessione locale attraverso una pipe
gestore dello schermo di X xdm * V:0.7, I:1.8 780 controllato no (XDMCP) connessione locale attraverso una pipe
WindowMaker display manager wdm * V:24, I:84 1992 controllato no (XDMCP) connessione locale attraverso una pipe
LTSP display manager ldm * V:0.02, I:0.09 392 controllato connessione SSH di rete remota (thin client)

[Avvertimento] Avvertimento

Non usare connessioni remote TCP/IP su reti non sicure per la connessione X a meno che non esistano ragioni molto buone per farlo, come l'uso di cifratura. Una connessione remota via socket TCP/IP senza cifratura è esposta ad attacchi di spionaggio ed è disabilitata in modo predefinito nel sistema Debian. Usare "ssh -X".

[Avvertimento] Avvertimento

Non usare nemmeno connessioni XDMCP su reti non sicure. Inviano dati attraverso UDP/ IP senza cifratura e sono esposte ad attacchi di spionaggio.

[Suggerimento] Suggerimento

Se si è in un ambiente completamente sicuro, si può osare e abilitare le connessioni TCP/IP remote impostando "DisallowTCP=false" in "/etc/gdm/gdm.conf" per sovrascrivere "/usr/share/gdm/defaults.conf" e rimuovendo "-nolisten" dalle righe trovate con "find /etc/X11 -type f -print0 | xargs -0 grep nolisten".

7.5. Avviare il sistema X Window

Il sistema X Window è solitamente avviato come una sessine X, che è la combinazione di un server X e di client X connessi. Per un normale sistema desktop entrambe le componenti sono eseguite su una macchina.

La sessione X viene avviata in uno dei modi seguenti.

  • Il comando startx avviato dalla riga di comando
  • Uno dei programmi demone display manager per X, *dm avviati al termine dello script di avvio nella directory "/etc/rc?.d/" (dove "?" corrisponde al runlevel)
[Suggerimento] Suggerimento

Lo script di avvio dei demoni display manager controlla il contenuto del file "/etc/X11/default-display-manager" prima della effettivo avvio del demone. ciò assicura che venga attivato un solo programma demone per display manager di X.

[Suggerimento] Suggerimento

Vedere Sezione 8.3.5, «Localizzazione specifica solamente in X Window» per le variabili d'ambiente iniziali del display manager per X.

Essenzialmente tutti questi programmi eseguono lo script "/etc/X11/Xsession"; poi questo script effettua un'azione simile a run-parts(8) per eseguire tutti gli script nella directory "/etc/X11/Xsession.d/". Ciò è fondamentalmente l'esecuzione, con il comando interno exec, del primo programma trovato cercando nell'ordine seguente.

  1. Lo script specificato come argomento di "/etc/X11/Xsession" dal display manager di X, se definito.
  2. Lo script "~/.xsession" o "~/.Xsession", se definito.
  3. Il comando "/usr/bin/x-session-manager", se definito.
  4. Il comando "/usr/bin/x-window-manager", se definito.
  5. Il comando "/usr/bin/x-terminal-emulator", se definito.

Questo processo è influenzato dal contenuto di "/etc/X11/Xsession.options". I programmi effettivi a cui puntano questi comandi "/usr/bin/x-*" sono determinati dal sistema di alternative di Debian e possono essere modificati con "update-alternatives --config x-session-manager", ecc.

7.5.1. Avviare la sessione X con gdm

gdm(1) permette di selezionare dal suo menu il tipo di sessione (o l'ambiente desktop: Sezione 7.2, «Impostare l'ambiente desktop») e la lingua (o la localizzazione: Sezione 8.3, «La localizzazione») della sessione X. Archivia il valore selezionato predefinito in "~/.dmrc" nel formato seguente.

[Desktop]
Session=default
Language=ja_JP.UTF-8

7.5.2. Personalizzare la sessione X (metodo classico)

In un sistema in cui "/etc/X11/Xsession.options" contiene una riga "allow-user-xsession" non preceduta da nessun carattere "#, qualsiasi utente che configuri "~/.xsession" o "~/.Xsession" è in grado di personalizzare il comportamento di "/etc/X11/Xsession" sovrascrivendo completamente il codice del sistema. L'ultimo comando nel file "~/.xsession dovrebbe essere nella forma "exec un-qualche-gestore-di-finestre/sessione" per avviare il proprio gestore di finestre/sessione di X preferito.

7.5.3. Personalizzare la sessione X (metodo nuovo)

Quelli che seguono sono metodi nuovi per personalizzare la sessione X senza sovrascrivere completamente le impostazioni di sistema come nell'esempio precedente.

  • Il display manager gdm può selezionare una specifica sessione ed impostarla come argomento di "/etc/X11/Xsession".
  • Il file "~/.xsessionrc" è eseguito come parte del processo di avvio. (indipendente dal desktop)
  • Il file "~/.gnomerc" è eseguito come parte del processo di avvio (solo desktop GNOME)
  • Il software di gestione della sessione basata su programma con interfaccia grafica può usare il file "~/.gnome2/session", ecc.

7.5.4. Connettersi ad un client X remoto via SSH

L'uso di "ssh -X" permette una connessione sicura da un server X locale ad un application server remoto.

Impostare le voci "X11Forwarding" a "yes" nel file "/etc/ssh/sshd_config" dell'host remoto, se si vuole evitare l'opzione "-X" nella riga di comando.

Avviare il server X sull'host locale

Aprire un xterm sull'host locale.

Eseguire ssh(1) per stabilire una connessione con il sito remoto nel modo seguente.

nomelocale @ hostlocale $ ssh -q -X nomelogin@hostremoto.dominio
Password:

Eseguire un comando applicativo X, ad esempio "gimp", sul sito remoto nel modo seguente.

nomelogin @ hostremoto $ gimp &

Questo metodo può mostrare l'output da un client X remoto come se fosse connesso localmente attraverso un socket UNIX locale.

7.5.5. Terminale X sicuro via Internet

Un terminale X sicuro via Internet, che mostri in remoto l'intero ambiente desktop X, può essere ottenuto facilmente usando pacchetti specializzati, come ldm. La macchina locale diventa un thin client sicuro per l'application server remoto connesso via SSH.

Se si vuole aggiungere una funzione simile al proprio display manager normale gdm, creare uno script di shell eseguibile "/usr/local/bin/ssh-session" come il seguente.

#!/bin/sh -e
# Basato su gdm-ssh-session nei sorgenti di gdm (GPL)
ZENITY=$(type -p zenity)
TARGETHOST=$($ZENITY --width=600 \
--title "Host a cui connettersi" --entry \
--text "Inserire il nome dell'host su cui fare il login come utente@host.dom:")
TARGETSESSION=$($ZENITY --width=600 --height=400 \
--title "Nome della sessione remota" --list --radiolist --text "Selezionarne una" \
--column " " --column "Sessione" --column "descrizione" --print-column 2 \
TRUE "/etc/X11/Xsession" "Debian" \
FALSE "/etc/X11/xinit/Xclients" "Varianti RH" \
FALSE "gnome-session" "Sessione GNOME" \
FALSE "xterm" "Scelta sicura" \
FALSE "rxvt" "Scelta sicura" \
FALSE "gnome-terminal" "Scelta sicura")
echo "Connessione a "$TARGETHOST" con $TARGETSESSION in corso"
/usr/bin/ssh -A -X -T -n "$TARGETHOST" "$TARGETSESSION"
#SSH_ASKPASS=/usr/bin/ssh-askpass /usr/bin/ssh -A -X -T -n "$TARGETHOST" "$TARGETSESSION"

Aggiungere a "/etc/dm/Sessions/ssh.desktop" quanto segue.

[Desktop Entry]
Encoding=UTF-8
Name=SSH
Comment=Questa sessione fa il login su un host remoto usando ssh
Exec=/usr/local/bin/ssh-session
Type=Application

7.6. Tipi di carattere in X Window

Fontconfig 2.0 è stato creato nel 2002 per fornire una libreria indipendente dalla distribuzione per configurare e personalizzare l'accesso ai tipi di carattere. Debian a partire da squeeze usa Fontconfig 2.0 per la sua configurazione.

Il supporto dei tipi di carattere nel sistema X Window può essere riassunto nel modo seguente.

  • Sistema datato di supporto dei tipi di carattere dal lato server X

    • Il sistema originale base di X per i caratteri fornisce la compatibilità all'indietro per le versioni più vecchie dei client X.
    • I tipi di carattere originali base di X11 sono installati nel server X.
  • Sistema moderno di supporto dei tipi di carattere dal lato client X

Tabella 7.4. Tabella dei pacchetti che supportano i sistemi dei tipi di carattere in X Window

pacchetto popcon dimensione descrizione
xfonts-utils * V:23, I:71 516 programmi di utilità del sistema X Window per i tipi di carattere
libxft2 * V:44, I:74 148 Xft, una libreria che connette le applicazioni X con la libreria di rasterizzazione dei caratteri FreeType
libfreetype6 * V:58, I:87 740 libreria di rasterizzazione dei tipi di carattere FreeType 2.0
fontconfig * V:21, I:73 472 Fontconfig, una libreria generica per la configurazione dei tipi di caratteri - binari di supporto
fontconfig-config * I:81 440 Fontconfig, una libreria generica per la configurazione dei tipi di caratteri - dati di configurazione

È possibile controllare le informazioni sulla configurazione dei tipi di carattere nei modi seguenti.

  • "xset q" per il percorso dei tipi di carattere base di X11
  • "fc-match" per le impostazioni predefinite per i tipi di carattere di fontconfig
  • "fc-list" per l'elenco dei tipi di carattere di fontconfig disponibili
[Suggerimento] Suggerimento

"The Penguin and Unicode" è una buona panoramica sul sistema X Window moderno. Altra documentazione all'indirizzo http://unifont.org/ dovrebbe fornire buone informazioni su tipi di carattere Unicode, software che gestisce Unicode, internazionalizzazione e problematiche correlate all'uso di Unicode su sistemi operativi free/libre/liberi/open source (FLOSS).

7.6.1. Tipi di carattere base

Ci sono due tipi principali di caratteri per computer.

  • I tipi di carattere bitmap (buoni per rasterizzazione a basse risoluzioni)
  • Tipi di carattere outline/stroke (buoni per rasterizzazione ad alte risoluzioni)

Mentre il ridimensionamento dei caratteri bitmap causa immagini dentellate, il ridimensionamento dei caratteri outline/stroke produce un'immagine pulita.

I caratteri bitmap nel sistema Debian sono di solito forniti da file di caratteri bitmap pcf per X11 compressi, la cui estensione è ".pcf.gz".

I caratteri outline nel sistema Debian sono forniti dai tipi seguenti.

  • File di caratteri PostScript Type 1, la cui estensione è ".pfb" (file di caratteri binario) e ".afm" (file della metrica dei caratteri).
  • File di caratteri TrueType (o OpenType), la cui estensione è normalmente ".ttf".
[Suggerimento] Suggerimento

OpenType è pensato per rendere superati sia TrueType sia PostScript Type 1.

Tabella 7.5. Tabella dei tipi di carattere PostScript Type 1

pacchetto con i caratteri popcon dimensione carattere sans serif carattere serif carattere monospace origine del carattere
PostScript N/D N/D Helvetica Times Courier Adobe
gsfonts * V:18, I:66 4632 Nimbus Sans L Nimbus Roman No9 L Nimbus Mono L URW (dimensione Adobe-compatibile)
gsfonts-x11 * I:30 116 Nimbus Sans L Nimbus Roman No9 L Nimbus Mono L supporto per i caratteri per X con caratteri PostScript Type 1
t1-cyrillic * I:1.9 5008 Free Helvetian Free Times Free Courier URW esteso (dimensione Adobe-compatibile)
lmodern * V:2, I:16 45644 LMSans* LMRoman* LMTypewriter* caratteri PostScript e OpenType scalabili basati su Computer Modern (da TeX)

Tabella 7.6. Tabella dei tipi di carattere TrueType

pacchetto con i caratteri popcon dimensione carattere sans serif carattere serif carattere monospace origine del carattere
ttf-mscorefonts-installer * I:11 200 Arial Times New Roman Courier New Microsoft (dimensione Adobe-compatibile) (Installa dati non liberi)
ttf-liberation * I:43 1724 Liberation Sans Liberation Serif Liberation Mono Progetto Liberation Fonts (dimensione Microsoft-compatibile)
ttf-freefont * V:10, I:26 4204 FreeSans FreeSerif FreeMono GNU freefont (dimensione Microsoft-compatibile)
ttf-dejavu * I:77 68 DejaVu Sans DejaVu Serif DejaVu Sans Mono DejaVu, Bitstream Vera con copertura di Unicode
ttf-dejavu-core * I:72 2592 DejaVu Sans DejaVu Serif DejaVu Sans Mono DejaVu, Bitstream Vera con copertura di Unicode (sans, sans-bold, serif, serif-bold, mono, mono-bold)
ttf-dejavu-extra * I:69 5788 N/D N/D N/D DejaVu, Bitstream Vera with Unicode coverage (oblique, italic, bold-oblique, bold-italic, condensed)
ttf-unifont * I:4 16060 N/D N/D unifont GNU Unifont, con tutti i codici di carattere stampabili in Unicode 5.1 BMP (Basic Multilingual Plane)

[Suggerimento] Suggerimento

I tipi di carattere DejaVu sono basati sui caratteri Bitstream Vera di cui sono un sovrainsieme.

7.6.2. Tipi di carattere aggiuntivi

aptitude(8) aiuta a trovare facilmente caratteri aggiuntivi.

  • Il corto elenco di pacchetti in "Task" → "Localizzazione"
  • L'elenco unico dei pacchetti filtrato per i dati dei tipi di carattere usando un'espressione regolare sui debtag: "~Gmade-of::data:font"
  • L'elenco unico dei pacchetti filtrato per i pacchetti con caratteri BDF (bitmap) usando un'espressione regolare sui nomi di pacchetto: "~nxfonts-"
  • L'elenco unico dei pacchetti filtrato per i pacchetti con caratteri TrueType (outline) usando un'espressione regolare sui nomi di pacchetto: "~nttf-"

Dato che i tipi di carattere Liberi sono a volte limitati, l'installazione o la condivisione di caratteri TrueType commerciali è un'opzione da considerare per un utente Debian. Per facilitare ciò sono stati creati alcuni pacchetti di comodo.

  • ttf-mathematica4.1
  • ttf-mscorefonts-installer

Si avrà un'ottima selezione di caratteri TrueType al prezzo della contaminazione del proprio sistema Libero con tipi di carattere non-Liberi.

7.6.3. Tipi di carattere CJK

In questa sezione ci sono alcune nozioni fondamentali centrate sull'uso di tipi di carattere con caratteri CJK.

Tabella 7.7. Tabella delle parole chiave usate nei nomi dei tipi di carattere CJK per indicarne il tipo

tipologia del carattere nome del tipo di carattere in giapponese nome del tipo di carattere in cinese nome del tipo di carattere in coreano
sans-serif gothic, ゴチック hei, gothic dodum, gulim, gothic
serif mincho, 明朝 song, ming batang

I tipi di carattere con nomi come "VL PGothic", dove la "P" sta per carattere proporzionale, sono la versione proporzionale dei corrispondenti caratteri a spaziatura fissa, come "VL Gothic".

Per esempio la tabella dei codici Shift_JIS comprende 7070 caratteri che possono essere raggruppati nel modo seguente.

  • Caratteri a byte-singolo JIS X 0201 (191 caratteri, alias caratteri a mezza larghezza)
  • Caratteri a doppio-byte JIS X 0208 (6879 caratteri, alias caratteri a piena larghezza)

I caratteri a doppio-byte occupano, nei terminali console che usano tipi di carattere CJK a spaziatura fissa, una larghezza doppia. Per gestire tale situazione, possono essere usati i file HBF (Hanzi Bitmap Font), con estensione ".hbf", per avere tipi di carattere contententi caratteri a byte-singolo e doppio-byte.

Per risparmiare spazio, per i file di caratteri TrueType, si possono usare file con raccolte di tipi di carattere TrueType con estensione ".ttc.

Per gestire complesse spaziature dei caratteri, i tipi di carattere PostScript CID Type 1 sono usati con file CMap che iniziano con "%!PS-Adobe-3.0 Resource-CMap". Ciò viene raramente usato per il normale display X, ma è usato per la resa in file PDF, ecc. (vedere Sezione 7.7.2, «Applicazioni di utilità per X»).

[Suggerimento] Suggerimento

Per alcuni punti della codifica Unicode sono presenti glifi multipli, a causa della unificazione Han. Un esmpio di glifi più problematici sono "U+3001 IDEOGRAPHIC COMMA" e "U+3002 IDEOGRAPHIC FULL STOP" la cui posizione è diversa tra le nazioni CJK. La configurazione della priorità dei caratteri pensati per il giapponese, rispetto a quelli cinesi, usando " ~/.fonts.conf" dovrebbe dare un po' di pace agli utenti giapponesi.

7.7. Applicazioni per X

7.7.1. Applicazioni da ufficio per X

Ecco un elenco di applicazioni base per l'ufficio (OO è OpenOffice.org).

Tabella 7.8. Elenco di applicazioni base da ufficio per X

pacchetto popcon dimensione del pacchetto tipo descrizione
openoffice.org-writer * V:21, I:41 26892 OO elaboratore di testi
openoffice.org-calc * V:21, I:40 20524 OO foglio di calcolo
openoffice.org-impress * V:18, I:40 4208 OO presentazioni
openoffice.org-base * V:16, I:39 10708 OO gestione di database
openoffice.org-draw * V:18, I:40 10720 OO editor di grafica vettoriale (draw)
openoffice.org-math * V:17, I:40 2712 OO editor di equazioni matematiche e formule
abiword * V:6, I:10 4776 GNOME elaboratore di testi
gnumeric * V:5, I:11 7860 GNOME foglio di calcolo
gimp * V:12, I:44 13560 GTK editor di grafica bitmap (paint)
inkscape * V:15, I:32 87436 GNOME editor di grafica vettoriale (draw)
dia-gnome * V:1.4, I:2 576 GNOME editor di grafi e diagrammi di flusso
planner * V:0.4, I:4 6704 GNOME gestione progetti
kword * V:0.6, I:1.5 5334 KDE elaboratore di testi
kspread * V:0.6, I:1.6 8792 KDE foglio di calcolo
kpresenter * V:0.5, I:1.3 2877 KDE presentazioni
kexi * V:0.2, I:1.6 7625 KDE gestione di database
karbon * V:0.6, I:1.4 2403 KDE editor di grafica vettoriale (draw)
krita * V:0.6, I:1.6 11822 KDE editor di grafica bitmap (paint)
kchart * V:0.8, I:1.9 2503 KDE programma di disegno di grafici e grafi
kformula * V:0.4, I:1.3 2065 KDE editor di equazioni matematiche e formule
kplato * V:0.15, I:1.4 5978 KDE gestione progetti

7.7.2. Applicazioni di utilità per X

Ecco un elenco di utilità base che hanno attirato la mia attenzione.

Tabella 7.9. Elenco di applicazioni base di utilità per X

pacchetto popcon dimensione del pacchetto tipo descrizione
evince * V:26, I:38 1116 GNOME visualizzatore di documenti (pdf)
okular * V:4, I:6 3408 KDE visualizzatore di documenti (pdf)
evolution * V:16, I:34 4724 GNOME gestione di informazioni personali (groupware e posta elettronica)
kontact * V:1.3, I:8 1326 KDE gestione di informazioni personali (groupware e posta elettronica)
scribus * V:0.5, I:3 26888 KDE editor di impaginazione per il desktop
glabels * V:0.16, I:0.7 1148 GNOME editor di etichette
kbarcode * V:0.05, I:0.3 2180 KDE applicazione per stampa di codici a barre ed etichette
gnucash * V:0.7, I:2 5748 GNOME contabilità personale
homebank * V:0.09, I:0.4 1092 GTK contabilità personale
kmymoney2 * V:0.06, I:0.5 144 KDE contabilità personale
xsane * V:5, I:36 748 GTK frontend per lo scanner

[Attenzione] Attenzione

Per far sì che evince e okular visualizzino documenti PDF CJK usando dati Cmap (Sezione 7.6.3, «Tipi di carattere CJK»), deve essere installato il pacchetto poppler-data (precedentemente non libero, vedere Sezione 11.3.1, «Ghostscript»).

[Nota] Nota

L'installazione di software come scribus (KDE) nell'ambiente desktop GNOME è piuttosto accettabile dato che le funzionalità corrispondenti non sono disponibili in GNOME. Tuttavia l'installazione di troppi pacchetti con le stesse funzionalità ingombra il menu.

7.8. Informazioni varie su X

7.8.1. Mappatura della tastiera e dei pulsanti del dispositivo di puntamento in X

xmodmap(1) è un'utilità per modificare mappature di tastiera e dei pulsanti del dispositivo di puntamento nel sistema X Window. Per ottenere il codice dei tasti, eseguire xev(1) in X e premere i tasti. Per capire il significato di keysym, guardare la definizione di MACRO nel file "/usr/include/X11/keysymdef.h" (pacchetto x11proto-core-dev). Tutte le dichiarazioni "#define" in questo file hanno un nome che inizia con "XK_" che è seguito da i nomi keysym.

7.8.2. Client X classici

La maggior parte dei programmi client X tradizionali, come xterm(1), può essere avviata con un insieme di opzioni a riga di comando standard per specificare la geometria, il tipo di carattere e il display.

Usano anche il database delle risorse X per configurare il loro aspetto. I valori predefiniti a livello di sistema delle risorse X sono memorizzati in "/etc/X11/Xresources/*" e i valori predefiniti per le singole applicazioni sono memorizzati in "/etc/X11/app-defaults/*". Usare queste impostazioni come punto di partenza.

Il file "~/.Xresources" viene usato per memorizzare valori specifici dell'utente per le risorse. Questo file viene automaticamente unito ai valori predefiniti delle risorse X al momento del login. Per fare cambiamenti a queste impostazioni e rendere attivo immediatamente il loro effetto, unire le loro impostazioni al database usando il comando seguente.

$ xrdb -merge ~/.Xresources

Vedere x(7) e xrdb(1).

7.8.3. L'emulatore di terminale per X - xterm

Si può imparare tutto ciò che c'è da sapere su xterm(1) all'indirizzo http://dickey.his.com/xterm/xterm.faq.html.

7.8.4. Eseguire client X come root

[Avvertimento] Avvertimento

Non avviare mai il gestore di display/sessione X dall'account root digitando "root al prompt di un display manager come gdm, perché è considerato rischioso (non sicuro), anche quando si ha in mente di eseguire attività di amministrazione del sistema. L'intera architettura X è considerata non sicura se eseguita come utente root. Bisogna sempre utilizzare il livello di privilegi più basso possibile, come un account di un utente regolare.

Un modo facile di eseguire un particolare client X, ad esempio "pippo", come root è l'uso di sudo(8) ecc., nel modo seguente.

$ sudo pippo &
$ sudo -s
# pippo &
$ gksu pippo &
$ ssh -X root@localhost
# pippo &
[Attenzione] Attenzione

L'uso di ssh(1) solo per questo scopo, come nell'esempio precedente, è uno spreco di risorse.

Per fare sì che il client X si connetta al server X, tenere a mente quanto segue.

  • I valori delle variabili d'ambiente "$XAUTHORITY" e "$DISPLAY" del vecchio utente devono essere copiati nelle variabili del nuovo utente.
  • Il nuovo utente deve avere i permessi di lettura per il file a cui punta la variabile d'ambiente "$XAUTHORITY".

Il pacchetto gksu (popcon: V:23, I:46) è un pacchetto specializzato, con interfaccia utente grafica GTK+, per ottenere i privilegi di root. Può essere configurato per usare su(1) o sudo(8) come backend, a seconda della chiave di gconf "/apps/gksu/sudo-mode". Si può modificare la chiave di gconf usando gconf-editor(1) (menu: "Applicazioni" → "Strumenti di sistema" → "Editor della configurazione").