[ precedente ] [ Contenuti ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ 11 ] [ 12 ] [ 13 ] [ 14 ] [ 15 ] [ A ] [ successivo ]
Questo capitolo descrive solo i principi basilari della configurazione del sistema tramite l'interfaccia a carattere. Un prerequisito di questo capitolo è aver letto Suggerimenti per l'installazione di un sistema Debian, Capitolo 3.
Per coloro interessati alla sicurezza, si raccomanda caldamente di leggere il
Securing Debian
Manual
, che si può anche reperire come pacchetto
harden-doc
.
debian; usa il sistema di script System V. Vedere Il programma init
, Sezione
2.4.1 per un'introduzione.
Il modo più semplice di controllare il comportamento di uno script di
inizializzazione è modificando i compiti assegnati alle variabili d'ambiente
nel file con lo stesso nome dello script nella directory
/etc/default/*
. [40] Per esempio, /etc/default/hotplug
può essere
utlizzato per controllare il comportamento di /etc/init.d/hotplug
.
Il file /etc/init.d/rcS
può essere utilizzato per personalizzare i
default al boot per motd
, sulogin
, etc.
Se non riuscite ad ottenere il comportamento che volete modificando dette variabili, potete allora modificare gli script stessi: sono tutti file di configurazione.
La modalità del log del sistema può essere configurata tramite
/etc/syslog.conf
. Date un'occhiata al pacchetto
colorize
per un programma che assegna colori differenti ai vari
file di log. Vedere anche syslogd(8)
e
syslog.conf(5)
.
Esistono alcune configurazioni hardware la cui ottimizzazione e lasciata da Debian alla cura dell'amministratore di sistema.
hdparm
Ottimizzazione dell'accesso all'hard disk. Molto efficiente.
Pericolosa. Dovete leggere prima hdparm(8)
.
hdparm -tT /dev/hda per provare la velocità di accesso al disco.
hdparm -q -c3 -d1 -u1 -m16 /dev/hda per accelerare un moderno sistema IDE. (Può essere pericoloso.)
setcd
Ottimizzazione dell'accesso al lettore CD
setcd -x 2 per rallentare a velocità 2x.
Vedere setcd(1)
.
setserial
Collezione di strumenti per la gestione delle porte seriali.
scsitools
Collezione di strumenti per la gestione di hardware SCSI.
memtest86
Collezione di strumenti per la gestione dell'hardware di memoria.
hwtools
Collezione di strumenti per la gestione dell'hardware a basso livello.
irqtune
: modifica la priorità dell'IRQ delle periferiche per
concedere alte priorità e servizi veloci alle periferiche (tipo porte seriali,
modem) che ne hanno bisogno. In tal modo è possibile ottenere accelerazioni 3X
del throughput delle seriali/modem.
scanport
: effettua la scansione dello spazio I/O da 0x100 a 0x3ff
cercando periferiche ISA installate.
inb
: un trucchetto piccolo e veloce che legge una porta I/O port e
ne mostra il valore in esadecimale e binario.
schedutils
Utilità del Linux scheduler.
sono compresi taskset
, irqset
, lsrt
, e
rt
.
Insieme a nice
e renice
(non incluso), permettono un
controllo completo dei parametri di scheduling dei processi.
Montare un filesystem con l'opzione noatime è anch'esso molto
efficace nel velocizzare l'accesso in lettura ai file. Vedere
fstab(5)
e mount(8)
.
Alcuni componenti hardware possono essere messi a punto direttamente dal kernel stesso, tramite il filesystem proc. Vedere Mettere a punto il kernel tramite il filesystem proc, Sezione 7.3.
Esistono molte utilità di configurazione hardware-specifiche in Debian. Molte di loro sono specifiche per i bisogni dei PC portatili. Ecco alcuni pacchetti interssanti disponibili in Debian:
tpconfig
- Programma per la configurazione del touchpad
apmd
- Utilità per Advanced Power Management (APM)
acpi
- mostra le informazioni sui device ACPI
acpid
- Utilità per usare ACPI
lphdisk
- prepara la partizione per l'ibernazione per i Phoenix
NoteBIOS
sleepd
- mette il portatile in sleep durante l'inattività
noflushd
- permette il rallentamento dei dischi inattivi
big-cursor
- cursori del mouse più grandi per X
acme
- Abilita i "multimedia buttons" dei portatili
tpctl
- Strumenti di configurazione hardware per IBM ThinkPad
mwavem
- Supporto per i modem Mwave/ACP
toshset
- Accede a gran parte delle interfacce per l'hardware dei
portatitili Toshiba
toshutils
- Toshiba laptop utilities
sjog
- Programma per usare il "Jog Dial" dei portatili
Sony Vaio
spicctrl
- Programma per il controllo della luminosità dello
schermo dei Sony Vaio
ACPI è un'infrastruttura più nuova di APM per la gestione dei profili energetici.
Alcuni di questi pacchetti richiedono speciali moduli del kernel. In molti casi sono già inclusi nei sorgenti più recenti. In caso di problemi potreste dover applicare da voi l'ultima patch.
PAM (Pluggable Authentication Modules) forniscono il controllo sul login.
/etc/pam.d/* # file di controllo PAM /etc/pam.d/login # file di controllo PAM per il login /etc/security/* # parametri dei moduli PAM /etc/securetty # controlla il login di root da console (login) /etc/login.defs # controlla i vari comportamenti del login (login)
Se volete dei terminali senza password, ma insicuri, modificate a vostro
rischio e pericolo il contenuto di /etc/pam.d/login
come segue.
#auth required pam_unix.so nullok auth required pam_permit.so
Trucchetti simili possono essere applicati a xdm
,
gdm
, ... , per un accesso senza password alla console X.
Al contrario, se volete applicare una buona politica di password, installate
cracklib2
e modificate /etc/pam.d/passwd
come segue.
password required pam_cracklib.so retry=3 minlen=6 difok=3
Le password utilizzabili solo una volta per l'attivazione degli account possono
anche essere utili. Per fare ciò, usate il comando passwd
con
l'opzione -e. Vedere passwd(1)
.
Il numero massimo di processi può essere impostato con ulimit -u
1000 nella Bash shell oppure tramite
/etc/security/limits.conf
da PAM. Altri parametri, come
core possono essere impostati allo stesso modo. Il valore
iniziale di PATH
può essere impostato tramite
/etc/login.defs
prima che intervenga lo script di inizializzazione
della shell.
La documentazione per PAM è contenuta nel pacchetto libpam-doc
.
La Linux-PAM System Administrator's Guide copre gli aspetti della
configurazione di, quali moduli sono disponibili, ecc. La documentazione
comprende, inoltre, la The Linux-PAM Application Developers' Guide e
la The Linux-PAM Module Writers' Guide.
su
does not support the wheel group" (Perchè GNU su
non supporta il gruppo wheel)
Questa è la famosa frase al termine della vecchia pagina di info
su, di Richard M. Stallman. Per non preoccuparsi: l'attuale
su
in Debian usa PAM, così che potete ridurre la capacità di usare
su
a qualsiasi gruppo usando pam_wheel.so
in
/etc/pam.d/su
. Quanto segue imposta il gruppo adm
group di un sistema Debian come equivalente del gruppo wheel di
BSD, permettendo su
senza la password per i suoi membri.
# configurazione anti-RMS in /etc/pam.d/su auth required pam_wheel.so group=adm # I membri del gruppo wheel possono dare su senza la password auth sufficient pam_wheel.so trust group=adm
Alcuni gruppi interessanti:
il gruppo root è il gruppo wheel di default per su
se
pam_wheel.so
è utilizzato senza l'argomento group=.
adm può leggere il file di log.
cdrom può essere usato localmente per fornire ad una serie di utenti l'accesso ad un drive CD-ROM.
floppy può essere usato localmente per fornire ad una serie di utenti l'accesso ad un drive floppy.
audio può essere usato localmente per fornire ad una serie di utenti l'accesso ad un device audio.
src è proprietario del codice sorgente, compresi i file in
/usr/src
. può essere usato localmente per fornire ad un utente la
possibilità di modificare il codice sorgente del sistema.
staff: la sua appartenenza è utile per personale di helpdesk o
amministratori di sistema aggiunti, dando loro la possibilità di fare modifiche
in /usr/local
e di creare delle directory in /home
.
Per una lista completa, leggete la sezione "FAQ" del Securing Debian
Manual
, che può anche essere reperita come pacchetto
harden-doc
in Woody. Anche il nuovo pacchetto
base-passwd
(>3.4.6) contiene una lista autorevole:
/usr/share/doc/base-passwd/users-and-groups.html
.
sudo
– lavorare con maggiore sicurezza
L'uso che faccio di sudo
è fondamentalmente a protezione dalla mia
stessa stupidità. Reputo l'uso di sudo
un'alternativa migliore al
continuo uso del sistema come root. Per voi le cose possono essere diverse.
Installate sudo
ed attivatelo impostando le opzioni in
/etc/
. Controllate
anche le caratteristiche del gruppo sudo in
sudoers
/usr/share/doc/sudo/OPTIONS
.
La configurazione di esempio fornisce ai membri del gruppo "staff"
accesso a qualsiasi comando come root tramite sudo
nonchè accesso
ai membri di "src" a comandi selezionati come root, sempre tramite
sudo
.
Il vantaggio di sudo
è che richiede solo la password utente, e che
l'attività e monitorizzata. E' un modo carino per dare un minimo di autorità
ad un amministratore alle prime armi. Per esempio:
$ sudo chown -R myself:mygrp .
Ovviamente se conoscete la password di root (come la maggior parte degli utenti casalinghi) qualunque comando può essere eseguito come root da un account utente:
$ su -c "shutdown -h now" Password:
(So che dovrei restringere i privilegi dell'account admin in sudo
.
Dato che è il mio server casalingo, non me ne sono ancora preso la briga.)
Per un programma differente che permetta agli utenti ordinari di eseguire
comandi con privilegi di root, vedere il pacchetto super
.
Il super-server Internet inetd
, viene lanciato al boot da
/etc/rc2.d/S20inetd
(per RUNLEVEL=2), che è un collegamento
simbolico a /etc/init.d/inetd
. In breve, inetd
permette il lancio di un demone per richiamarne altri, riducendo il carico sul
sistema.
Ogni volta che arriva la richiesta di un servizio, il suo protocollo ed il
servizio vengono identificati guardando nel database contenuto in
/etc/protocols
e in /etc/services
.
inetd
cerca, poi, un normale servizio Internet nel database
/etc/inetd.conf
, oppure un servizio basato su Sun-RPC in
/etc/rpc.conf
.
Per la sicurezza del sistema, accertatevi di disabilitare i servizi
inutilizzati in /etc/inetd.conf
. I servizi Sun-RPC devono essere
attivi per il NFS ed altri programmi basati su RPC.
Talvolta inetd
non lancia il server interessato direttamente, ma
lancia il wrapper del demone TCP/IP tcpd
con il nome del server
come argomento in /etc/inetd.conf
. In questo caso
tcpd
lancia il server appropriato dopo aver registrato la
richiesta e fatto alcuni controlli addizionali, utilizzando
/etc/hosts.deny
e /etc/hosts.allow
.
Se avete problemi con l'accesso remoto in un sistema Debian recente, commentate
"ALL: PARANOID" in /etc/hosts.deny
, se esiste.
Per i dettagli, vedere inetd(8)
, inetd.conf(5)
,
protocols(5)
, services(5)
, tcpd(8)
,
hosts_access(5)
, e hosts_options(5)
.
Per maggiori informazioni su Sun-RPC, vedere rpcinfo(8)
,
portmap(8)
, e
/usr/share/doc/portmap/portmapper.txt.gz
.
Usate il Lightweight Directory Access Protocol (LDAP) Riferimenti:
OpenLDAP Admin Guide nel pacchetto openldap-guide
LDP: LDAP Linux
HOWTO
I masterizzatori con interfaccia ATAPI/IDE sono di recente diventati un'opzione
molto popolare. Rappresentano un supporto valido per il backup e
l'archiviazione per l'utente casalingo che ha bisogno di capacità di < 640
MB. Per le informazioni più autorevoli, consultate il LDP CD-Writing-HOWTO
.
Primo, ogni danneggiamento di dati inviati al masterizzatore porterà ad un danno irreparabile del CD. Prendete il masterizzatore con il buffer più grande possibile. Se i soldi non sono un problema, prendetene uno con interfaccia SCSI. Se potete scegliere quale interfaccia IDE connettere, prendete quello su bus PCI (sulla scheda madre), piuttosto che su bus ISA (schede SB16, ecc.). etc.).
Quando il masterizzatore è connesso su IDE, deve essere comandato dal driver IDE-SCSI, non dall'IDE-CD. Deve essere attivato anche il driver generico SCSI. Esistono due approcci per ottenere ciò, per i kernel delle moderne distribuzioni (aggiornato a Marzo 2001).
Per il kernel 2.6, dovreste usare il driver ordinario IDE ed accedere al
masterizzatore direttamente con il nome del device, tipo
/dev/hdx
. In questo modo, potete usare il DMA.
lilo
Aggiungete la riga seguente a /etc/lilo.conf
se state usando un
kernel Debian standard. Se usate opzioni multiple, separatele da spazi:
append="hdx=ide-scsi ignore=hdx"
Dove la collocazione del masterizzatore, a cui si accede tramite il driver ide-scsi, è indicata da hdx, dove x rappresenta uno dei seguenti:
hda se master sulla prima porta IDE hdb se slave sulla prima porta IDE hdc se master sulla seconda porta IDE hdd se slave sulla seconda porta IDE hde ... hdh per un drive su porta IDE esterna, ATA66/100
Date i comandi seguenti per l'attivazione dopo la configurazione:
# lilo # shutdown -h now
Debian usa make-kpkg
per creare il kernel. Usate il nuovo
--append_to_version con make-kpkg per produrre più kernel. Vedere
Il kernel Linux su Debian, Capitolo 7.
Usate le seguenti impostazioni attraverso make menuconfig:
bzImage
Escludete il driver IDE CD (non è obbligatorio, ma rende le cose più semplici)
Compilate ide-scsi e sg, direttamente nel kernel o come moduli
Il supporto del kernel per il CD-writer può essere attivato al boot con il seguente:
# echo ide-scsi >>/etc/modules # echo sg >>/etc/modules # cd /dev; ln -sf scd0 cdrom
L'attivazione manuale può essere fatta con:
# modprobe ide-scsi # modprobe sg
Dopo il reboot, potete controllarne l'installazione con:
$ dmesg|less # apt-get install cdrecord # cdrecord -scanbus
[Da Warren Dodge] Talvolta sorgono conflitti fra ide-scsi e
ide-cd se ci sono sia un lettore che un masterizzatore nel
sistema. Provate ad aggiungere la riga seguente al vostro
/etc/modutils/aliases
, lanciando poi update-modules
,
e facendo il reboot.
pre-install ide-scsi modprobe ide-cd
Ciò determina il caricamento del driver IDE prima di ide-scsi. Il driver IDE ide-cd prende il controllo del CD_ROM ATAPI—qualsiasi che non gli sia stato detto di ignorare. Ciò lascia solo i device ignorati al controllo di ide-scsi.
Per creare un CD-ROM con files contenuti nella target-directory/
come cd-image.raw
(avviabile, con il formato Joliet TRANS.TBL
abilitato; se non lo volete avviabile, togliete le opzioni -b e
-c), inserite un boot floppy nel drive e,
# dd if=/dev/fd0 target-directory/boot.img # mkisofs -r -V volume_id -b boot.img -c bootcatalog -J -T \ -o cd-image.raw target_directory/
Una trucco divertente è fare dei CD-ROM avviabili in DOS. Se una normale
immagine DOS di un boot floppy è contenuta in boot.img
,
il CD-ROM eseguirà il boot come se nel primo floppy drive (A:) ci fosse un
floppy DOS. Più interessante potrebbe essere farlo con freeDOS.
Il file CD-image può essere ispezionato montandolo sul device loop.
# mount -t iso9660 -o ro,loop cd-image.raw /cdrom # cd /cdrom # mc # umount /cdrom
Primo test con (in caso di velocità 2x)
# nice --10 cdrecord -dummy speed=2 dev=0,0 disk.img
Se tutto va bene, scrivete sul CD-R con
# nice --10 cdrecord -v -eject speed=2 dev=0,0 disk.img
Oppure, sul CD-RW con
# nice --10 cdrecord -v -eject blank=fast speed=2 dev=0,0 disk.img
Alcune periferiche CD-RW funzionano meglio con
# nice --10 cdrecord -v blank=all speed=2 dev=0,0 disk.img
seguito da
# nice --10 cdrecord -v -eject speed=2 dev=0,0 disk.img
Sono necessari due passaggi per prevenire i timeout SCSI durante la fase di
blanking dall'interferire con la fase di masterizzazione. Il valore
dell'argomento di nice
può richiedere qualche aggiustamento.
Alcuni CD-R e CD commerciali hanno dei settori spuri alla fine, cosa che rende
impossibile la copia tramite dd
(il CD di Windows 98 è uno di
questi). Il pacchetto cdrecord
ha il comando readcd
.
Usatelo per copiare qualsiasi CD in un file immagine. Se è un disco di dati,
montatelo ed eseguite mount
per vedere le dimensioni reali.
Dividete il numero ottenuto (in blocchi = 1024 bytes) per 2 per avere il numero
reale di settori del CD (2048 bytes). Lanciate readcd
con le
opzioni ed usate l'immagine risultante per bruciare il CD-R/RW.
# readcd dev=target,lun,scsibusno # select function 11
Impostate tutti e tre i parametri a 0 per la maggior parte dei casi. Talvolta
il numero di settori dato da readcd
è eccessivo! Utilizzate il
numero ottenuto da un montaggio reale per i migliori risultati.
Dovrebbe essere notato che l'uso di dd
ha alcuni problemi se usato
su CD-ROM. La prima esecuzione del comando dd
può causare un
messaggio di errore e produrre un'immagine del disco più piccola con perdita
della coda. La seconda esecuzione di dd
può produrre un'immagine
più grande, con dati spuri attaccati alla fine su alcuni sistemi se le
dimensioni dei dati non sono specificate. Solo la seconda esecuzione di
dd
con le dimensioni corrette dei dati specificate e senza
espellere il CD dopo un messaggio di errore, sembra evitare questi problemi.
Se, per esempio, le dimensioni dell'immagine mostrate da df
sono
di 46301184 blocchi, usate il comando seguente due volte per
ottenere l'immagine corretta (queste sono mie informazioni empiriche):
# dd if=/dev/cdrom of=cd.img bs=2048 count=$((46301184/2))
Per le informazioni più aggiornate sui CD Debian visitate il Sito Debian CD
.
Se avete una connessione Internet veloce, potete prendere in considerazione l'installazione via rete usando:
alcune immagini
floppy
.
Se non avete una connessione veloce, considerate l'acquisto dei CD dai Venditori di CD
.
Non sprecate banda scaricando i CD immagine standard a meno di non essere un tester di CD immagine (anche con il nuovo metodo jigdo).
Un'mmagine degna di nota è KNOPPIX - Live Linux
Filesystem On CD
. Questo CD farà il boot in un sistema Debian
perfettamente funzionante senza installarsi sul disco rigido.
Per copiare i file di configurazione chiave e di dati sul CD-R, usate lo script
di "backup" backup
. Vedete
anche Copia ed archiviazione di una
intera sottodirectory, Sezione 8.3 e Backup differenziali e sincronizzazione
dei dati, Sezione 8.4.
Non testato da me:
# apt-get install cdrecord cdparanoia # cdparanoia -s -B # cdrecord dev=0,0,0 speed=2 -v -dao -eject defpregap=1 -audio *.wav
oppure,
# apt-get install cdrdao #disk at once # cdrdao read-cd --device /dev/cdrom --paranoia-mode 3 mio_cd # legge il cd # cdrdao write --device /dev/cdrom --speed 8 mio_cd # scrive un nuovo CD
cdrdao
esegue una copia conforme (senza pause, ecc...)
Per masterizzare i DVD, avete due approcci:
Usate growisofs
con mkisofs
.
Ricompilate cdrecord
con l'opzione dvd per creare un pacchetto
locale come da /usr/share/doc/cdrecord/README.DVD.Debian
.
L'ambiente grafico X è fornito da Xfree86
. Due sono le versioni
principali del server X disponibili su un sistema Debian: Le serie di XFree86
Versione 3.3 (XF3) e XFree86 Versione 4.x (XF4) sono basate sulle specifiche
X11R6 di X.Org
.
Per le basi di X, fate riferimento a X(7)
, l'LDP XWindow-User-HOWTO
,
ed il Remote
X Apps mini-HOWTO
. Per una guida per l'utente Debian-specifica,
leggete /usr/share/doc/xfree86-common/FAQ.gz
fornito dal pacchetto
xfree86-common
. Questa contiene una interessante ed autorevole
revisione dei problemi chiave di Branden Robinson.
è un programma su host locale che mostra una finestra X e/o un desktop sul monitor di un utente (CRT, LCD) ed accetta input da tastiera e mouse.
è un programma su un host (locale o remoto) su cui girano applicazioni compatibili con X window.
Queste definizioni ribaltano il concetto normale di "server" e "client".
Molteplici sono i modi di far accettare al "server X" (lato schermo) connessioni remote da un "client X" (lato applicazione):
il metodo xhost
meccanismo della lista degli host (molto poco sicuro).
protocollo non criptato (soggetto ad attacchi tipo eavesdropping).
Se possibile, non utilizzatelo.
Vedere Connessioni ad un X server remoto –
xhost
, Sezione 9.4.7 and xhost(1x)
.
il metodo xauth
meccanismo MIT dei cookie magici (non sicuro, ma migliore di
xhost
).
protocollo non criptato (soggetto ad attacchi tipo eavesdropping).
usatelo solo per connessioni locali, dato che chiede meno CPU di ssh
-X
.
Vedere Diventare root in X, Sezione 9.4.12 e
xauth(1x)
.
xdm
, wdm
, gdm
, kdm
, ...
meccanismo MIT dei cookie magici (non sicuro, come xauth
).
Vedere xdm(1x)
e Xsecurity(7)
per le basi del
controllo degli accessi allo schermo X.
Vedere wdm(1x)
, gdm(8)
, e kdm.options(5)
per maggiori informazioni, se sono installati.
Vedere Personalizzare i
runlevel, Sezione 2.4.3 su come disabilitare xdm
per avere una
cosole Linux al boot senza rimuovere il pacchetto xdm
.
il metodo ssh -X
meccanismo del port forwarding tramite shell sicura (sicuro).
procollo criptato (uno spreco di risorse se usato localmente).
usatelo per connessioni remote.
Vedere Connessioni ad un X server remoto –
ssh
, Sezione 9.4.8.
Tutti i metodi di connessione remota, tranne ssh
, richiedono
l'abilitazione della connessione TCP/IP sul server X. Vedere Connessione TCP/IP ad X, Sezione 9.4.6.
Per facilitare l'installazione di X esistono alcuni (meta)pacchetti in Woody.
x-window-system-core
Questo metapacchetto fornisce i componenti essenziali per una singola
postazione con l' X Window System. Fornisce le librerie X, un X server
xserver-xfree86
, una serie di font ed un gruppo di X client base e
di utilità.
x-window-system
Fornisce in sostanza tutti i componenti dell' X Window System così come sono
stati sviluppati dall' XFree86 Project, ed una serie di programmi accessori
storicamente popolari. (Da notare che dipende da
x-window-system-core
, twm
, e xdm
, cioè
non è necessario installare x-window-system-core
se installate
questo.)
xserver-common-v3
Files ed utilità comuni agli X server XFree86 3.x (XF3)
xserver-*
Pacchetti supplementari per XF3 server per supportare hardware non supportato
dal nuovo XF4 server per qualsiasi ragione. Alcune vecchie ATI mach64 non sono
supportate in XF4, alcune schede video si piantano brutalmente nella versione
di XF4 per Woody, ecc. (Per una lista di pacchetti disponibili, usate
apt-cache search xserver-|less. Tutti questi XF3 server dipendono
da xserver-common-v3
.)
Per la maggior parte dei casi il pacchetto da installare è
x-window-system
. (Se volete il login da console, assicuratevi di
diasbilitare xdm
come descritto in "Voglio disabilitare X al boot!",
Sezione 8.1.4.)
Per abilitare il riconoscimento dell' hardware durante la fase di configurazione di X, installate i seguenti pacchetti prima di installare X:
discover
— sistema di identificazione hardware.
mdetect
— Strumento di autoidentificazione del mouse.
read-edid
— strumento per la raccoglta di informazioni
sull'hardware per monitor VESA PnP.
Vedere XFree86(1x)
per informazioni sull' X server.
Invocare l' X server da una console locale:
$ startx -- :<display> vtXX p.es.: $ startx -- :1 vt8 -bpp 16 ... parte su vt8 connesso ao localhost:1 in modalità 16 bpp
Gli argomenti dati dopo -- sono per l' X server.
Notate che, quando si usa uno script ~/.xserverrc
per la
personalizzazione dell'avvio dell' X server, bisogna essere certi di
exec l' X server reale. Non fare ciò può causare rallentamenti
nell'avvio e nell'uscita del server. Per esempio:
#!/bin/sh exec /usr/bin/X11/X -dpi 100 -nolisten tcp
Per (ri-)configurare l' XF4 server,
# dpkg-reconfigure --priority=low xserver-common # dpkg-reconfigure --priority=low xserver-xfree86
genererà il file /etc/X11/XF86Config-4
e configurerà X usando lo
script dexconf
.
Per (ri-)configurare l' X3 server,
# dpkg-reconfigure --priority=low xserver-common-v3 # dpkg-reconfigure --priority=low xserver-mach64
genererà il file /etc/X11/XF86Config
e configurerà X usando lo
script xf86config-v3
.
Per aggiungere delle personalizzazioni utente a
/etc/X11/XF86Config-4
, non modificate il file di
configurazione compreso fra il testo:
### BEGIN DEBCONF SECTION [snip] ### END DEBCONF SECTION
Invece, aggiungete le personalizzazioni prima del testo. Per esempio, per usare una scheda video personalizzata, aggiungete qualcosa di simile al testo seguente all' inizio del file:
Section "Device" Identifier "Custom Device" Driver "ati" Option "NoAccel" EndSection Section "Screen" Identifier "Custom Screen" Device "Custom Device" Monitor "Generic Monitor" DefaultDepth 24 Subsection "Display" Depth 8 Modes "1280x960" "1152x864" "1024x768" "800x600" "640x480" EndSubsection Subsection "Display" Depth 16 Modes "1280x960" "1152x864" "1024x768" "800x600" "640x480" EndSubsection Subsection "Display" Depth 24 Modes "1280x960" "1152x864" "1024x768" "800x600" "640x480" EndSubsection EndSection Section "ServerLayout" Identifier "Custom" Screen "Custom Screen" InputDevice "Generic Keyboard" "CoreKeyboard" InputDevice "Configured Mouse" "CorePointer" EndSection
Per Sarge (testing al momento di scrivere), se volete mantenere le
personalizzazioni dell'utente a /etc/X11/XF86Config
attraverso gli
aggiornamenti, lanciate da root il comando seguente:
# cp /etc/X11/XF86Config-4 /etc/X11/XF86Config-4.custom # md5sum /etc/X11/XF86Config-4 > /var/lib/xfree86/XF86Config-4.md5sum # dpkg-reconfigure xserver-xfree86
Per ottenere un abbellimento dei caratteri, dovete modificare
/etc/X11/XF86Config-4
come descritto in Font
TrueType in X, Sezione 9.4.13.
Controllate anche le altre parti della vostra confiurazione di X. Impostazioni errate per il monitor possono dare più mal di testa dei caratteri brutti, quindi assicuratevi che il refresh rate sia il più alto che il vostro monitor possa gestire (85 Hz è ottimo, 75 Hz buono, 60 Hz doloroso).
La maggior parte dei programmi X client possono essere lanciati con un comando tipo questo:
client $ xterm -geometry 80x24+30+200 -fn 6x10 -display hostname:0 &
Dove gli argomenti opzionali vogliono dire:
-geometry WIDTHxHEIGHT+XOFF+YOFF: le dimensioni iniziali e la posizione della finestra.
-fn FONTNAME: il font da usare per il testo. FONTNAME può essere:
a14: Font di grandezza normale
a24: Font di grandezza aumentata
... (controllate i font disponibili con xlsfont.)
-display displayname: il nome dell' X server da usare. displayname può essere:
hostname:D.S significa schermo S sul display D dell' host hostname; l' X server per questo display è in ascolto sulla porta TCP 6000+D.
host/unix:D.S significa schermo
S sul display D dell' host
host; l' X server per questo display è in ascolto sullo
UNIX domain socket /tmp/.X11-unix/XD
(in tal modo è raggiungibile
solo da host).
:D.S è equivalente a host/unix:D.S, dove host è il nome dell'host locale.
Il displayname predefinito per il programma X client program (lato applicazione) può essere impostato tramite la variabile d'ambiente DISPLAY. Per esempio, prima di lanciare un programma X client l'esecuzione di uno dei seguenti comandi permette ciò:
$ export DISPLAY=:0 # il predefinito, macchina locale, utilizzando il primo schermo X $ export DISPLAY=hostname.fulldomain.name:0.2 $ export DISPLAY=localhost:0
Il suo lancio può essere personalizzato tramite ~/.xinitrc
. Per
esempio:
xrdb -load $HOME/.Xresources xsetroot -solid gray & xclock -g 50x50-0+0 -bw 0 & xload -g 50x50-50+0 -bw 0 & xterm -g 80x24+0+0 & xterm -g 80x24+0-0 & twm
Come descritto in Personalizzare le X session, Sezione
9.4.5.1, ciò scavalca ogni normale esecuzione di Xsession
,
quando lanciato da startx
. Usate questo approccio solo come
ultima risorsa. Vedere xsetroot(1x)
, xset(1x)
, e X resources, Sezione 9.4.10.
Una X session (X server + X client) può essere lanciata da:
startx
: script wrapper per initx
per lanciare l' X
server e client dalla console di Linux. Se ~/.xinitrc
non esiste,
/etc/X11/Xsession
viene lanciato tramite
/etc/X11/xinit/xinitrc
.
xdm
, gdm
, kdm
, o wdm
:
demoni di X display manager per lanciare l' X server e client e per controllare
il login da un'interfaccia grafica. /etc/X11/Xsession
viene
eseguito direttamente.
Si può avere l'accesso alla console come da "Voglio disabilitare X al boot!", Sezione 8.1.4.
Lo script di inizializzazione predefinito, /etc/X11/Xsession
è, in
effetti, una combinazione di
/etc/X11/Xsession.d/50xfree86-common_determine-startup
e di
/etc/X11/Xsession.d/99xfree86-common_start
.
L'esecuzione di /etc/X11/Xsession
viene in qualche modo
influenzata da /etc/X11/Xsession.options
ed è fondamentalmente
l'esecuzione del programma che viene trovato per primo nella seguente lista dal
comando exec
:
~/.xsession
o ~/.Xsession
, se è definito.
/usr/bin/x-session-manager
, se è definito.
/usr/bin/x-window-manager
, se è definito.
/usr/bin/x-terminal-emulator
, se è definito.
L'esatto significato di questi comandi è determinato dal sistema alternativo Debian descritto in Comandi alternativi, Sezione 6.5.3. Per esempio:
# update-alternatives --config x-session-manager ... oppure # update-alternatives --config x-window-manager
Per rendere qualsiasi X window manager quello predefinito mentre si mantengono
installati i session manager di GNOME e KDE, sostituite
/etc/X11/Xsession.d/50xfree86-common_determine-startup
con quello
allegato al secondo bug report in http://bugs.debian.org/168347
(Spero che venga presto incluso.) e modificate
/etc/X11/Xsession.options
come segue per disabilitare l' X session
manager:
# /etc/X11/Xsession.options # # configuration options for /etc/X11/Xsession # See Xsession.options(5) for an explanation of the available options. # Default enabled allow-failsafe allow-user-resources allow-user-xsession use-ssh-agent # Default disabled (enable them by uncommenting) do-not-use-x-session-manager #do-not-use-x-window-manager
Senza le summenzionate modifiche al sistema, gnome-session
e
kdebase
sono i pacchetti che contengono questi X session manager.
Rimuovendoli si permette all'X window manager preferito di essere quello
predefinito. (Idee migliori?)
Su un sistema in cui /etc/X11/Xsession.options
contiene una riga
allow-user-xsession non preceduta da altri caratteri, qualsiasi
utente che definisse un proprio ~/.xsession
o
~/.Xsession
sarebbe in grado di personalizzare le azioni di
/etc/X11/Xsession
.
L'ultimo comando nel file ~/.xsession
dovrebbe essere sotto forma
di exec some-window/session-manager per lanciare il
vostro X window/session manager preferito.
Un buon esempio del file ~/.xsession
si trova in
/usr/share/doc/xfree86-common/examples/xsession.gz
.
Io lo uso per impostare il window manager, accesso allo schermo e lingua per ciascun utente. Vedere Lanciare una X session per un utente, Sezione 9.4.5.2, Diventare root in X, Sezione 9.4.12, e Esempio per un sistema multilingue per X window system, Sezione 9.7.9.
Se volete avere lanciare automaticamente parecchi programmi X client, guardate
gli esempi di X client, Sezione 9.4.4 ed invocateli da
~/.xsession
invece che da ~/.xinitrc
.
Risorse addizionali di X specifiche per utente possono essere inserite in
~/.Xresources
. Vedere X resources,
Sezione 9.4.10.
Mappature del mouse e della tastiera specifiche per ciascun utente in X possono essere definite nello script di lancio dell'utente. Vedere Mappatura della tastiiera e dei tasti del puntatore in X, Sezione 9.4.11.
Seguendo il principio descritto in Personalizzare le X
session, Sezione 9.4.5.1, X session/window manager specifici per l'utente
possono essere attivati installando il pacchetto indicato ed impostando il
contenuto alla fine del file ~/.xsession
come segue. (Amo
blackbox
/fluxbox
per lo stile semplice e la
velocità.):
default X session manager.
exec /usr/bin/x-session-manager
default X window manager.
exec /usr/bin/x-window-manager
GNOME session manager. (caricato)
Installare il pacchetto: gnome-session
exec /usr/bin/gnome-session
KDE session manager. (caricato)
Installare il pacchetto: kdebase
(oppure kdebase3
per
KDE3)
exec /usr/bin/kde2
Blackbox window manager. (leggero).
Installare il pacchetto: blackbox
exec /usr/bin/blackbox
Fluxbox window manager (leggero, il nuovo blackbox)
Installare il pacchetto: fluxbox
exec /usr/bin/fluxbox
Xfce window manager (Mac OS-X, SUN CDE–simile)
Installare il pacchetto: xfce
exec /usr/bin/xfwm
IceWM window manager. (leggero, alternativa a GNOME)
Installare il pacchetto: icewm
exec /usr/bin/X11/icewm
FVWM2 window manager virtuale (leggero, tipo Win95)
Installare il pacchetto: fvwm
exec /usr/bin/fvwm2
Windowmaker window manager (in qualche modo simile a NexT)
Installare il pacchetto: wmaker
exec /usr/bin/wmaker
Enlightenment window manager (caricato).
Installare il pacchetto: enlightenment
exec /usr/bin/enlightenment
Vedere Window Manager per X
.
Per un setup completo degli ambienti KDE o GNOME sono utili i seguenti metapacchetti:
KDE: installare il pacchetto kde
GNOME: installare il pacchetto gnome
L'installazione di questi pacchetti con programmi in grado di maneggiare
pacchetti marcati con Raccomanda, tipo dselect
ed
aptitude
, fornisce una scelta di software rispetto alla semplice
installazione con apt-get
.
Se volete comunque il login da console, disabilitate gli X display manager,
tipo kdm
, gdm
, e wdm
, che possono essere
richiamati dal gioco delle dipendenze, come descritto in "Voglio disabilitare X al boot!",
Sezione 8.1.4.
Se volete GNOME come sistema predefinito invece che KDE, configurate
x-session-manager
come descritto in Comandi alternativi, Sezione
6.5.3.
Siccome una connessione remota TCP/IP senza cifratura è vulnerabile ad attacchi
tipo eavesdropping, l'impostazione predefinita per X nelle versioni Debian più
recenti disabilita il socket TCP/IP. Prendete in considerazione
ssh
per una connessione remota ad X (vedere Connessioni ad un X server remoto – ssh
,
Sezione 9.4.8).
Il metodo qui descritto non è consigliato, a meno di essere in un ambiente altamente sicuro, dietro un buon firewall, solo con utenti fidati. Usate il seguente comando per verificare le impostazioni del vostro X server rispetto al socket TCP/IP:
# find /etc/X11 -type f -print0 | xargs -0 grep nolisten /etc/X11/xinit/xserverrc:exec /usr/bin/X11/X -dpi 100 -nolisten tcp
Rimuovete -nolisten per ripristinare l'ascolto TCP/IP sull' X server.
xhost
xhost
permette l'accesso basato sugli hostname. Altamente
insicuro. Quanto segue disabilita il controllo degli host e permette le
connessioni da ovunque se una connessione TCP/IP è permessa (vedere Connessione TCP/IP ad X, Sezione 9.4.6):
$ xhost +
Potete riabilitare il controllo dell'host con:
$ xhost -
xhost
non fa distinzioni fra utenti differenti sull'host remoto.
In più gli hostname (in realtà gli indirizzi) possono essere contraffatti.
Tale metodo va evitato, anche con criteri relativi agli host più restrittivi,
se siete su una rete non fidata (tipo l'accesso dialup con PPP ad Internet).
Vedere xhost(1x)
.
ssh
L'uso di ssh
permette una connessione sicura da un server X locale
ad un application server remoto.
Impostate i parametri di X11Forwarding e
AllowTcpForwarding a yes in
/etc/ssh/sshd_config
sull'host remoto.
lanciate l' X server sull'host locale.
Aprite un xterm
sul'host locale.
Lanciate ssh
per stabilire una connessione col sito remoto.
localname @ localhost $ ssh -q -X -l loginname remotehost.domain Password: .....
Eseguire comandi di applicazioni X sul sito remoto.
loginname @ remotehost $ gimp &
Questo metodo permette la visione dell'output del client X remoto come fosse connesso localmente attraverso uno UNIX domain socket.
xterm
Per conoscere tutto su xterm
guardate a http://dickey.his.com/xterm/xterm.faq.html
.
Molti programmi per X più vecchi, tipo xterm
, usano il cosiddetto
X resource database per configurare il loro aspetto. Per immagazzinare le
risorse specifiche per l'utente si usa il file ~/.Xresources
.
Questo file viene fatto confluire automaticamente al login nelle X resources di
default. Le X resources predefinite per il sistema sono contenute in
/etc/X11/Xresources/*
e i loro application defaults in
/etc/X11/app-defaults/*
. Usate queste impostazioni come punto di
partenza.
Ecco alcune impostazioni utili da aggiungere al vostro file
~/.Xresources
:
! Imposta il font ad un più leggibile 9x15 XTerm*font: 9x15 ! Mostra la barra di scorrimento XTerm*scrollBar: true ! Imposta la grandezza del buffer a 1000 linee XTerm*saveLines: 1000 ! Schermo kterm più grande KTerm*VT100*fontList: -*-fixed-medium-r-normal--24-*,\ -*-gothic-medium-r-normal--24-*,\ -*-mincho-medium-r-normal--24-*
Affinchè queste impostazioni abbianno effetto immediato, fatele confluire nel database con il comando:
xrdb -merge ~/.Xresources
Vedere xrdb(1x)
.
Il programma xmodmap
viene usato per modificare e mostrare la la
modifier map della tastiera la keymap table usate dalle applicazioni client per
convertire i keycode in keysyms in X.
$ xmodmap -pm ... mostra la modifier map attuale $ xmodmap -pk | pager ... mostra la keymap tabl attuale $ xmodmap -e "pointer = 3 2 1" # imposta il mauose per la mano sinistra $ xmodmap ~/.xmodmaprc # imposta la tastiera come in ~/.xmodmaprc
E' in genere lanciato dallo script di inizio della sessione di ciascun utente,
~/.xsession
.
Per avvere il keycode, lanciate xev
in X e premete i
tasti. Per sapere cosa significa keysym, guardate alla
definizione MACRO in /usr/include/X11/keysymdef.h
. Tutte le
istruzioni #define in questo file sono chiamate con
XK_ davanti ai nomi keysym.
Vedere xmodmap(1x)
.
Se un programma con interfaccia grafica richiede l'esecuzione da root, usate le seguenti procedure per visualizzare l'output del programma sull'X server dell'utente. Non tentate mai di lanciare un X server direttamente dal root account per evitare possibili rischi dal punto di vista della sicurezza.
Lanciate l' X server come un utente normale, ed aprite una console
xterm
. Poi:
$ XAUTHORITY=$HOME/.Xauthority $ export XAUTHORITY $ su root Password:***** # printtool &
Quando usate questo trucco con su
verso un utente non root,
assicuratevi che ~/.Xauthority
sia leggibile dal gruppo di detto
utente non root.
Per automatizzare questa sequenza di comandi, create un file
~/.xsession
dall'accout utente che contenga le seguenti righe:
# Questo fa funzionare X quando lancio su verso l'account root. if [ -z "$XAUTHORITY" ]; then XAUTHORITY=$HOME/.Xauthority export XAUTHORITY fi unset XSTARTUP # Se si desidera un window/session manager particolare, decommentate la riga seguente # e modificatela a vostro piacimento. #XSTARTUP=/usr/bin/blackbox # Questo lancia il programma x-window/session-manager if [ -z "$XSTARTUP" ]; then if [ -x /usr/bin/x-session-manager ]; then XSTARTUP=x-session-manager elif [ -x /usr/bin/x-window-manager ]; then XSTARTUP=x-window-manager elif [ -x /usr/bin/x-terminal-emulator ]; then XSTARTUP=x-terminal-emulator fi fi # lancia automaticamente l'X window/session manager selezionato exec $XSTARTUP
Poi lanciate su
(non su -) in una finestra
xterm
dell'utente. I programmi con interfaccia grafica lanciati
da questo xterm
possono visualizzare l'output sull'X window
dell'utente mentre girano con i privilegi di root. Il trucco funziona finchè
si usa il file /etc/X11/Xsession
di default. Se un utente fa le
proprie modifiche tramite ~/.xinit
o ~/.xsession
, la
variabile d'ambiente sopra descritta XAUTHORITY dovrà essere
impostata allo stesso modo in questi script.
In alternativa, si può usare, sudo
per automatizzare la sequenza
di comandi:
$ sudo xterm ... oppure $ sudo -H -s
In questo caso /root/.bashrc
dovrà contenere:
if [ $SUDO_USER ]; then sudo -H -u $SUDO_USER xauth extract - $DISPLAY | xauth merge - fi
Questo funziona bene anche se la directory home dell'utente è montata su NFS
mount, poichè root non legge il file .Xauthority
.
Esistono anche parecchi altri pacchetti specializzati all'uopo:
kdesu
, gksu
, gksudo
,
gnome-sudo
, e xsu
. Altri metodi possono essere usati
per raggiungere lo stesso risultato: creare un collegamento simbolico tra
/root/.Xauthority
ed il corrispettivo dell'utente; usare lo script
sux
; or
mettere "xauth merge
~USER_RUNNING_X/.Xauthority" nello script di
inizializzazione di root.
Vedere anche sulla lista
di messaggi debian-devel
.
Lo standard xfs
in XFree86-4 funziona bene con i fonts TrueType.
Se usate XFree86-3 dovete installare un server di terzi, tipo
xfs-xtt
.
Dovete solo assicurarvi che con qualsiasi applicazione vogliate usare, i font TrueType siano collegati a libXft o libfreetype (se usate file .deb precompilati non dovete nemmeno preoccuparvi di questo, probabilmente).
Per prima cosa, impostate l'infrastruttura per il supporto dei font:_
Installate i pacchetti x-ttcidfont-conf
e defoma
.
Ciò automatizza la generazione dei file fonts.scale
e
fonts.dir
.
# apt-get install x-ttcidfont-conf
Modificate /etc/X11/XF86Config-4
in Section
"Files" come segue:
Section "Files" FontPath "/var/lib/defoma/x-ttcidfont-conf.d/dirs/TrueType" FontPath "/usr/share/fonts/truetype" FontPath "/usr/lib/X11/fonts/CID" FontPath "/usr/lib/X11/fonts/Speedo" FontPath "/usr/lib/X11/fonts/misc" FontPath "/usr/lib/X11/fonts/cyrillic" FontPath "/usr/lib/X11/fonts/100dpi:unscaled" FontPath "/usr/lib/X11/fonts/75dpi:unscaled" FontPath "/usr/lib/X11/fonts/Type1" EndSection
la prima riga imposta XFree86 ad usare qualsiasi font TrueType installiate da un pacchetto Debian. La voce relativa al font Type1 è stata spostata in basso, poichè XFree86 non fa un bel lavoro nel rendere i font Type1. Il trucco :unscaled per i font bitmap non dovrebbe essere più necessario con il nuovo XF4, ma lo ho incluso lo stesso, tanto per essere sicuro.
Per mantenere le modifiche manuali a /etc/X11/XF86Config-4
seguite
le istruzioni in Configurazione manuale dell' X
server, Sezione 9.4.3.3.
Poi installate i pacchetti di font DFSG:
Western TrueType font:
ttf-bitstream-vera
: font TrueType di alta qualità, creati day
Bitstream, Inc. [41]
ttf-freefont
: font gratuiti TrueType di alta qualità che comprende
il gruppo di caratteri UCS.
ttf-thryomanes
: font TrueType unicode che copre Latino, Graco,
Cirillico ed IPA.
Asian font:
tfm-arphic-bsmi00lp
: Chinese Arphic "AR PL Mingti2L
Big5" TrueType font TeX font metric data
tfm-arphic-bkai00mp
: Chinese Arphic "AR PL KaitiM Big5"
TrueType font TeX font metric data
tfm-arphic-gbsn00lp
: Chinese Arphic "AR PL SungtiL GB"
TrueType font TeX font metric data
tfm-arphic-gkai00mp
: Chinese Arphic "AR PL KaitiM GB"
TrueType font TeX font metric data
ttf-baekmuk
: serie di font TrueType Korean Baekmuk
hbf-jfs56
: Chinese Jianti Fangsong 56x56 bitmap font (GB2312) per
CJK
hbf-cns40-b5
: Chinese Fanti Song 40x40 bitmap font (Big5) per CJK
hbf-kanji48
: Japanese Kanji 48x48 bitmap font (JIS X-0208) perr
CJK
Siccome i font Free sono talvolta limitati, installarne o condividerne di commerciali è un'opzione per gli utenti Debian. Per rendere facile tale processo, sono stati creati alcuni pacchetti ad hoc:
ttf-commercial
msttcorefonts (>1.1.0)
[42]
Avrete un'ottima selezione di font TrueType al costo di contaminare il vostro sistema Free con font non-Free.
Tutti questi pacchetti di font dovrebbero funzionare in Debian senza sforzi, ed apparire disponibili a tutti i programmi che usano il font system "centrale". Ciò include programmi tipo Xterm, Emacs, e molte altre applicazioni non-KDE e non-GNOME.
Ora, lanciate xfontsel
e scegliete qualsiasi font TrueType nel
menu fndry, dovreste essere in grado di vedere molte voci disponibili nel menu
"fmly".
Per KDE2.2 e GNOME1.4 (con libgdkxft0, che è un trucco per costringere GTK 1.2
ad eseguire il rendering dei font anti-aliased), dovete impostare anche Xft1.
Xft1 è altamente deprecato ed è in pratica usato solo da GNOME1.4 e da KDE2.2.
Modificate /etc/X11/XftConfig
ed aggiungete una riga tipo
dir "/var/lib/defoma/x-ttcidfont-conf.d/dirs/TrueType"
prima delle altre righe dir. [43]
Per GNOME2 e KDE3 (dopo il rilascio di Sarge), dovete impostare
fontconfig
che usa Xft2 per trovare i font. [44] Non dovreste aver bisogno di
installare alcunchè di extra per questo, pochè tutti i pacchetti che usano
fontconfig
Dipendono già da esso (indirettamente).
Prima gurdate in /etc/fonts/fonts.conf
. Dovrebbe esserci una riga
come quella sotto. Se non c'è, aprite /etc/fonts/local.conf
ed
aggiungete questo
<dir>/var/lib/defoma/x-ttcidfont-conf.d/dirs/TrueType</dir>
subito dopo la riga <fontconfig>.
Fontconfig
dovrebbe prenderli immediatamente ed
"fc-list" dovrebbe elencare i vostri nuovi font. Un'altra valida
caratteristica di fontconfig
è che potete inserire semplicemente i
font da ~/.fonts/
e tutti i vostri programmi fontconfigurati
avranno accesso a loro immediatamente.
Se installate manualmente un set di font TrueType mentre siete in X senza usare un pacchetto Debian, lanciate
# xset fp rehash
per far sì che XFree86 guardi al contenuto di quella directory nuovamente e prenda i nuovi font.
In Woody esistono alcuni pacchetti di Web browser con capacità grafiche:
mozilla
Il browser Mozilla (nuovo)
galeon
Browser basato su Mozilla con interfaccia Gnome (nuovo)
konqueror
Browser KDE
dillo
Browser GTK
amaya-gtk
Browser di riferimento W3C
amaya-lesstif
idem come sopra
netscape-...
(molti, vecchio)
communicator-...
(molti, vecchio)
...
La versione di mozilla
deve corrispondere a quella richiesta da
galeon
. Nonostante differiscano nell'interfaccia, entrambi
condividono il motore di rendering HTML Gecko.
I plug-in per i browser tipo mozilla
e galeon
possono
essere abilitati installando manualmente "*.so" nella
directory plug-in e riavviando i browser.
Varie risorse per i plug-in:
Java plug-in: installate i binari di "J2SE" da http://java.sun.com
.
Flash plug-in: installate i binari di "Macromedia Flash Player 5" da
http://www.macromedia.com/software/flashplayer/
.
freewrl
: Browser VRML e plugin per Netscape
...
SSH (Secure SHell) è il modo sicuro per connettersi via Internet. Una versione
free di SSH, chiamata OpenSSH è disponibile come pacchetto ssh
in
Debian.
Installate prima il server ed il client OpenSSH.
# apt-get update && apt-get install ssh
/etc/ssh/sshd_not_to_be_run
non deve essere presente se si vuole
far girare il server OpenSSH.
SSH ha due protocolli di autenticazione:
Versione 1:
Solo Potato supporta questo protocollo.
metodi di autenticazione disponibili:
RSAAuthentication: autenticazione utente basata su "RSA identity key"
RhostsAuthentication: autenticazione host basata su .rhosts (insicura, disabilitata)
RhostsRSAAuthentication: autenticazione .rhosts combinata con "RSA host key" (disabilitata)
ChallengeResponseAuthentication: autenticazione "RSA challenge-response"
PasswordAuthentication: autenticazione basata su password
Versione 2:
tutte le versioni post-Woody la usano come protocollo primario.
metodi di autenticazione disponibili:
PubkeyAuthentication: autenticazione utente basata su chiave pubblica
HostbasedAuthentication: autenticazione basata su .rhosts
o
/etc/hosts.equiv
combinata con autenticazione dell'host basata su
chiave pubblica del client (disabilitata)
ChallengeResponseAuthentication: autenticazione challenge-response
PasswordAuthentication: autenticazione basata su password
Fate attenzione a queste differenze se state migrando da Woody od usando un sistema non-Debian.
Vedere /usr/share/doc/ssh/README.Debian.gz
, ssh(1)
,
sshd(8)
, ssh-agent(1)
, e ssh-keygen(1)
per i dettagli.
A seguire i file di configurazione chiave:
/etc/ssh/ssh_config
: Il default per il client SSH. Vedere
ssh(1)
. Voci da notare sono:
Host: Restringe le seguenti dichiarazioni (fino alla Host keyword successiva) ad essere le uniche per i dati host a corrispondere ad uno dei pattern dati dopo la keyword.
Protocol: Specifica la versione di protocollo SSH. Default è "2,1".
PreferredAuthentications: Specifica il metodo di autenticazione del client SSH2. Il default è "hostbased,publickey,keyboard-interactive,password".
PasswordAuthentication: Se volete accedere con una password, dovete assicurarvi chenon sia impostato su no.
ForwardX11: E' disabilitato di default. Si può scavalcare con l'opzione "-X".
/etc/ssh/sshd_config
: Il default per il server SSH. Vedere
sshd(8)
. Voci da notare sono:
ListenAddress: Specifica l'indirizzo locale verso cui
sshd
dovrebbe essere in ascolto. Sono permesse opzioni multiple.
AllowTcpForwarding: Disabilitato di default.
X11Forwarding: Disabilitato di default.
$HOME/.ssh/authorized_keys
: lista delle chiavi pubbliche di
default usate dai client per connettersi ad un dato account sul dato host.
Vedere ssh-keygen(1)
.
$HOME/.ssh/identity
: Vedere ssh-add(1)
e
ssh-agent(1)
.
I seguenti comandi lanciano una connessione ssh
da un client.
$ ssh username@hostname.domain.ext $ ssh -1 username@hostname.domain.ext # Forza la versione 1 di SSH $ ssh -1 -o RSAAuthentication=no -l username foo.host # forza la password su SSH1 $ ssh -o PreferredAuthentications=password -l username foo.host # forza la password su SSH2
Per l'utente, ssh
funziona da telnet
più sicuro ed
intelligente (non vi bombarda con ^]).
Per stabilire una pipe per connettere la porta 25 del server-remoto
dalla porta 4025 del localhost, e la porta 110 del server-remoto
dalla porta 4110 del localhost attraverso ssh
, eseguite sulla
macchina locale:
# ssh -q -L 4025:server-remoto:25 4110:server-remoto:110 \ username@server-remoto
E' un modo sicuro di eseguire connessioni a server SMTP/POP3 su Internet.
impostate la voce AllowTcpForwarding a yes in
/etc/ssh/sshd_config
sull'host remoto.
Potete evitare di ricordare una password per ogni sistema remoto usando la RSAAuthentication (protocollo SSH1) o PubkeyAuthentication (protocollo SSH2).
Sul sistema remoto impostate i rispettivi parametri, "RSAAuthentication
yes" o "PubkeyAuthentication yes", in
/etc/ssh/sshd_config
.
Infine, generate le chiavi di autenticazione localmente ed installate la chiave pubblica sul sistema remoto:
$ ssh-keygen # RSAAuthentication: chiave RSA per SSH1 $ cat .ssh/identity.pub | ssh user1@remote \ "cat - >>.ssh/authorized_keys" ... $ ssh-keygen -t rsa # PubkeyAuthentication: chiave RSA per SSH2 $ cat .ssh/id_rsa.pub | ssh user1@remote \ "cat - >>.ssh/authorized_keys" ... $ ssh-keygen -t dsa # PubkeyAuthentication: chiave DSA per SSH2 $ cat .ssh/id_dsa.pub | ssh user1@remote \ "cat - >>.ssh/authorized_keys"
Potrete cambiare la passphrase in seguito con "ssh-keygen -p". Verificate le impostazioni provando la connessione. In caso di problemi, usate "ssh -v".
Potete aggiungere delle opzioni ai parametri in authorized_keys
per limitare gli host e per eseguire comandi specifici. Vedere
sshd(8)
per i dettagli.
Notate che SSH2 ha HostbasedAuthentication. Affinchè funzioni,
dovete aggiustare le impostazioni di HostbasedAuthentication a
yes in both /etc/ssh/sshd_config
on the server
machine and /etc/ssh/ssh_config
o $HOME/.ssh/config
sulla macchina client.
Esistono alcuni client SSH disponibili per piattaforme non Unix e simili.
puTTY
(GPL)
SSH in cygwin
(GPL)
macSSH
(GPL) [Notate che Mac
OS X include OpenSSH; usate ssh nell'applicazione Terminal]
Vedere anche SourceForge.net, site
documentation
, "6. CVS Instructions".
E' più sicuro proteggere la vostra autenticazione SSH con una passphrase. Se non è impostata, usate ssh-keygen -p per farlo.
Inserite la vostra chiave pubblica (p. es ~/.ssh/id_rsa.pub
) in
~/.ssh/authorized_keys
, su un host remoto mediante una connessione
basata su password come descritto in Connettersi con meno
passwords – RSA, Sezione 9.5.3.
$ ssh-agent bash # oppure lanciate zsh/tcsh/pdksh. $ ssh-add ~/.ssh/id_rsa Enter passphrase for /home/osamu/.ssh/id_rsa: Identity added: /home/osamu/.ssh/id_rsa (/home/osamu/.ssh/id_rsa) $ scp foo user@remote.host:foo ... da qui in poi più nessuna passphrase richiesta :-) $^D ... terminando la sessione di ssh-agent
Per l'X server, i normali script di lancio Debian eseguono
ssh-agent
come processo genitore. Così, dovete eseguire
ssh-add
solo una volta.
Per ulteriori informazioni, leggete ssh-agent(1)
e
ssh-add(1)
.
In caso di problemi, controllate i permessi del file di configurazione e
lanciate ssh
con l'opzione "-v".
Usate l'opzione "-P" se siete root ed avete problemi col firewall, per evitare di usare le porte del server 1–1023.
Se le connessioni ssh
ad un sito remoto smettono improvvisamente
di funzionare, ciò può essere dovuto a maneggiamenti dell'amministratore o, più
probabilmente a cambiamenti in host_key
durante la manutenzione
del sistema. Dopo essersi assicurati che è proprio questo il caso e che
nessuno sta tentando di falsificare l'host remoto mediante qualche trucco
geniale, potete riguadagnare la connessione rimuovendo la voce
host_key
da $HOME/.ssh/known_hosts
della macchina
locale.
La configurazione della posta si divide in tre categorie:
agenti di trasferimento posta (mail transfer agent, MTA): exim4
,
exim
, postfix
, sendmail
,
qmail
, ssmtp
, nullmailer
, ...
utilità per la posta: procmail
, fetchmail
,
mailx
, crm114
, ...
agenti di gestione posta per l'utente (mail user agent, MUA): mutt
emacs
+gnus
, ...
Per un MTA con tutte le funzionalità, usate exim
in Woody e
exim4
in Sarge. [45] Riferimenti:
i pacchetti exim-doc
e exim-doc-html
per
exim
exim4-doc-info
e exim4-doc-html
per
exim4
L'unica alternativa ragionevole è postfix
se avete a cuore la
sicurezza. sendmail
e qmail
sono disponibili come
pacchetti Debian, ma non sono raccomandati.
Se non avete bisogno delle capacità specifiche di un MTA, come nel caso di un sistema satellite tipo un portatile, potete prendere in considerazione uno di questi pacchetti leggeri.
ssmtp
: ncessita di una connessione SMTP ed supporta gli alias.
nullmailer
: può distribuire la posta, ma non supporta gli alias.
Al momento, trovo exim
più adatto, anche per la mia workstation
pesonale, che è un PC portatile.
Potreste dover rimuovere exim
per installare questi pacchetti
conflittuali:
# dpkg -P --force-depends exim # apt-get install nullmailer # o ssmtp
Se avete exim4
o exim
su un host connesso tramite
servizi commerciali, assicuratevi di inviare la posta in uscita attraverso uno
smarthost offerto dal vostro ISP, o da qualcun altro. [46] esistono alcune buone ragioni:
per assicurarsi più tentativi SMTP, in quanto lo smarthost del vostro ISP ha una connessione più affidabile.
evitare di inviare la posta direttamente da un indirizzo IP dinamico, che verrà con ogni probabilità bloccato dalle liste dial-u dello spam.
per risparmiare la vostra banda locale per inviare posta a destinatari multipli.
Le uniche eccezioni possibili sono:
cura di emergenza per i problemi del servizio SMTP del vostro ISP.
un esperimento a scopi educativi.
il vostro host è un server hosted professionalmente
per usare exim
e exim4
come MTA, configurate:
/etc/exim/exim.conf "eximconfig" per crearlo e modificarlo /etc/exim4/* "dpkg-reconfigure exim4-config" per crearlo e modificarlo (exim4) /etc/inetd.conf decommentate smtp per lanciare exim come demone /etc/email-addresses Aggiungete una lista di indirizzi email fasulli
controllate i filtri usando exim4
o exim
con
-brw, -bf, -bF, -bV, ... ecc.
In /etc/exim/exim.conf
(Woody e seguenti), aggiungete nella
sezione DIRECTORS alla fine, (dopo localuser: director) un indirizzatore
(director) che raccolga tutti gli indirizzi che i directors precedenti non
hanno potuto risolvere (Secondo Miquel van Smoorenburg):
catchall: driver = smartuser new_address = webmaster@mydomain.com
Se si desidera avere una ricetta più dettagliata per ogni dominio virtuale,
ecc., aggiungete la seguente riga alla fine di /etc/exim/exim.conf
(secondo me, non ben testato):
*@yourdomain.com ${lookup{$1}lsearch*{/etc/email-addresses} \ {$value}fail} T
Aggiungete, poi una "*" in /etc/email-addresses
.
La riscrittura selettiva dell'indirizzo per la posta in uscita per avere un
giusto header "From:" può essere fatta con exim
configurando verso la parte finale /etc/exim/exim.conf
:
*@host1.something.dyndns.org \ "${if eq {${lookup{$1}lsearch{/etc/passwd}{1}{0}}} {1} \ {$0}{$1@somethig.dyndns.org}}" frFs
Ciò riscrive tutti gli indirizzi che coincidono con *@host1.something.dyndns.org.
Cerca dentro /etc/password
per vedere se la parte locale ($1) è un
utente locale o no.
Se lo è, riscrive l'indirizzo facendolo coincidere con la stessa cosa trovata al primo posto ($0).
Se non lo è, riscrive la parte del dominio.
Alcuni servizi SMTP, tipo yahoo.com richiedono l'autenticazione SMTP.
Configurate /etc/exim/exim.conf
come segue:
remote_smtp: driver = smtp authenticate_hosts = smtp.mail.yahoo.com ... smarthost: driver = domainlist transport = remote_smtp route_list = "* smtp.mail.yahoo.com bydns_a" ... plain: driver = plaintext public_name = PLAIN client_send = "^cmatheson3^this_is_my_password"
Non dimenticate le virgolette doppie sull'ultima riga.
fetchmail
viene eseguito in modalità demone per raccogliere la
posta dagli account POP3 del vostro provider smistandoli nel sistema locale di
posta. Configurate:
/etc/init.d/fetchmail /etc/rc?.d/???fetchmail lancia update-rc.d fetchmail default priority 30 /etc/fetchmailrc file di configurazione (chown 600, posseduto da fetchmail)
Le informazioni su come lanciare fetchmail come demone dallo script
init.d
in Potato sono confuse (in Woody è stato risolto). Vedere
i file di esempio /etc/init.d/fetchmail
e
/etc/fetchmailrc
negli script di
esempio
.
Se i vostri header di posta sono infestati da ^M per colpa del mailer del
vostro provider, aggiungete "stripcr" alle vostre opzioni in
$HOME/.fetchmailrc
:
options fetchall no keep stripcr
procmail
è il sistema locale di consegna e filtraggio della posta.
Per ogni account che lo usa si deve creare un file
$HOME/.procmailrc
. Per esempio: _procmailrc
crm114
Il pacchetto crm114
fornisce lo script
/usr/share/crm114/mailfilter.crm
, che è scritto in CRM114. Esso
fornisce un filtro per lo spam molto efficace, che può essere instruito
fornendogli spam e posta normale.
CRM114 è un piccolo linguaggio disegnato per scrivere dei filtri; consideratelo
una versione di grep con superpoteri. Vedere crm(1)
.
Usate mutt
come MUA in combinazione con vim
.
Personalizzatelo tramite ~/.muttrc
; per esempio:
# usa il modo visuale e "gq" per riformattare le citazioni set editor="vim -c 'set tw=72 et ft=mail'" # # impostazione degli header, presa direttamente dal manuale ("Sven's Draconian header weeding") # ignore * unignore from: date subject to cc unignore user-agent x-mailer hdr_order from subject to cc date user-agent x-mailer auto_view application/msword ....
Aggiungete quanto segue a /etc/mailcap
o a
$HOME/.mailcap
per visualizzare messaggi in HTML ed allegati MS
Word:
text/html; lynx -force_html %s; needsterminal; application/msword; /usr/bin/antiword '%s'; copiousoutput; description="Microsoft Word Text"; nametemplate=%s.doc
Debian è internazionalizzato, offrendo supporto per un numero crescente di lingue e convenzioni locali. La sottosezione seguente elenca alcune delle diversità che Debian attualmente supporta, mentre la successiva tratta della localizzazione, ovvero il processo di personalizzare il vostro ambiente di lavoro per permettere il giusto input ed output del(i) linguaggio(i) scelto(i) e le convenzioni per date, formati numerici e monetari e per tutti gli aspetti che caratterizzano una data regione.
Ci sono alcuni aspetti da considerare per la personalizzazione della localizzazione ed il supporto della propria lingua nazionale.
Debian è distribuito con le keymap per quasi due dozzine di tastiere. In Woody, riconfigurate la tastiera con:
dpkg-reconfigure --priority=low console-data # console
dpkg-reconfigure --priority=low xserver-xfree86 # XF4
dpkg-reconfigure --priority=low xserver-common-v3 # XF3
La gran parte dei pacchetti software Debian supporta il trattamento dei dati formati da caratteri non-US-ASCII attraverso la variabile d'ambiente LC_CTYPE offerta dalla tecnologia locale in glibc
8-bit clean: praticamente tutti i programmi
altri set di caratteri "Latin" (p.es. ISO-8859-1 o ISO-8859-2): la maggioranza dei
linguaggi multibyte tipo Cinese, Giapponese o Coreano: molte applicazioni recenti
X è in grado di mostrare qualsiasi coding, compreso UTF-8 e supporta tutti i font. La lista comprende non solo tutti i font a 8-bit, ma anche quelli a 16-bit, come il Cinese, Giapponese o Coreano. Il metodo di inserimento dei caratteri multibite è supportato dal meccanismo XIM. Vedere Esempio per un sistema multilingue per X window system, Sezione 9.7.9 e Supporto UTF-8 per l'emulatore di terminale in X, Sezione 9.7.12.
La visualizzazione del codice Giapponese EUC è anche disponibile nella console
grafica (S)VGA, tramite il pacchetto kon2
. Esiste anche un nuovo
display giapponese alternativo, jfbterm
che usa la console
framebuffer. In queste console, il metodo di inserimento dei caratteri
giapponesi deve essere fornito dalla applicazione. Usate il pacchetto
egg
per Emacs ed il pacchetto giapponesizzato jvim
per Vim.
L'installazione di font non Unicode in X aiuta a mostrare i documenti con qualsiasi condifica. Quindi, non preoccupatevi tanto della codifica dei font.
Traduzioni esistono per molti dei messaggi di testo e documenti che vengono visualizzati nel sistema Debian, tipo messaggi di errore, output dei programmi, menu e pagine man. Al momento il supporto per le pagine di manuale in Tedesco, Spagnolo, Finlandese, Francese, Ungherese, Italiano, Giapponese, Coreano, Polacco, Portoghese, Cinese e Russo, viene fornito attraverso i pacchetti manpages-LANG (dove LANG è una lista separata da virgole dei codici nazione ISO (di due lettere). Usate apt-cache search manpages-|less per avere una lista delle pagine di manuale Unix disponibili.)
Per accedere ad una pagina di manuale NLS, l'utente deve impostare la variabile
d'ambiente LC_MESSAGES alla stringa appropriata. Per esempio, in caso di
pagine di manuale in Italiano, LC_MESSAGES dovrà essere impostata a
it. Il programma man
cercherà quindi le pagine in
Italiano sotto /usr/share/man/it/
.
Debian supporta la tecnologia locale. Locale è un meccanismo che permette ai programmi di fornire un valido output e funzionalità in accordo con le convenzioni locali, tipo il set di caratteri, il formato per data e ora, il simbolo di valuta, e così via. Usa delle variabili d'ambiente per determinare il comportamento più appropriato. Per esempio, assumendo che abbiate installati i locale per L'Inglese Americano ed il Tedesco sul vostro sistema, i messaggi di errore di molti programmi potrebbero essere bilingue:
$ LANG="en_US" cat foo cat: foo: No such file or directory $ LANG="de_DE" cat foo cat: foo: Datei oder Verzeichnis nicht gefunden
Glibc offre il supporto per locale ai programmi sotto forma di libreria.
Vedere locale(7)
.
Una descrizione completa di locale consiste in 3 parti: xx_YY.ZZZZ.
xx: ISO 639 codici lingua (minuscolo)
YY: ISO 3166 codici nazione (maiuscolo)
ZZZZ: codeset, cioè set di caratteri od identificatore di codifica.
Per i codici lingua e nazione, vedere una descrizione pertinente in info gettext.
Notate che la parte codeset può venire normalizzata internamente per ottenere una compatibilità cross platform rimuovendo tutti i - e convertendo tutti i caratteri in minuscolo. Codeset tipici sono:
UTF-8: Unicode per tutte le regioni, principalmente in Ottetti 1-3 (il nuovo standard di fatto)
ISO-8859-1: western Europe (di fatto il vecchio standard)
ISO-8859-2: eastern Europe (Bosnian, Croatian, Czech, Hungarian, Polish, Romanian, Serbian, Slovak, Slovenian)
ISO-8859-3: Maltese
ISO-8859-5: Macedonian, Serbian
ISO-8859-6: Arabic
ISO-8859-7: Greek
ISO-8859-8: Hebrew
ISO-8859-9: Turkish
ISO-8859-11: Thai (=TIS-620)
ISO-8859-13: Latvian, Lithuanian, Maori
ISO-8859-14: Welsh
ISO-8859-15: western Europe con euro
KOI8-R: Russian
KOI8-U: Ukrainian
CP1250: Czech, Hungarian, Polish (MS Windows origin)
CP1251: Bulgarian, Byelorussian (MS Windows origin)
eucJP: Unix style Japanese (=ujis)
eucKR: Unix style Korean
GB2312: Unix style Simplified Chinese (=GB, =eucCN) for zh_CN
Big5: Traditional Chinese for zh_TW
sjis: Microsoft style Japanese (Shift-JIS)
Per quanto riguarda il gergo del sistema base di codifica:
ASCII: 7 bit (0-0x7f)
ISO-8859-?: 8 bit (0-0xff)
ISO-10646-1: Universal Character Set (UCS) (31 bit, 0-0x7fffffff)
UCS-2: Primi 16 bit di UCS, 2 Ottetti pieni (Unicode: 0-0xffff)
UCS-4: UCS 4 Ottetti pieni (UCS: 0-0x7fffffff)
UTF-8: UCS codificcato in 1-6 Ottetti (principalmente in 3 Ottetti)
ISO-2022: 7 bit (0-0xff) con la sequenza di escape ISO-2022-JP è la codifica più popolare per la posta elettronica in Giapponese.
EUC: Combinazione 8 bit + 16 bit (0-0xff), Unix style
Shift-JIS: Combinazione 8 bit + 16 bit (0-0xff), Microsoft style.
ISO-8859-?, EUC, ISO-10646-1, UCS-2, UCS-4, ed UTF-8 condividono lo stesso codice con ASCII per i caratteri a 7 bit. EUC o Shift-JIS usa caratteri high-bit (0x80-0xff) per indicare che parte della codifica è a 16 bit. Anche UTF-8 usa caratteri high-bit (0x80-0xff) per indicare byte con sequenze di caratteri non a 7 bit, e questo è il sistema di codifica più sano per gestire i caratteri non-ASCII.
Notate la differenza nell'ordine dei byte della implementazione Unicode:
Standard UCS-2, UCS-4: big endian
Microsoft UCS-2, UCS-4: little endian per ix86 (macchina-dipendente)
Vedere Convertire un file di testo con
recode
, Sezione 8.6.12 per la conversione fre i vari set di
caratteri. Per maggiori informazioni, vedere Introduzione a
i18n
.
Debian non arriva con tutti i locale disponibili precompilati.
Controllate /usr/lib/locale
per vedere quali (oltre a quello
predefinito, "C") sono compilati sul vostro sistema. Se quello di
cui avete bisogno non è presente, avete due opzioni:
Modificare /etc/locale.gen
per aggiungere il locale desiderato,
poi lanciate locale-gen
da root per compilarlo. Vedere
locale-gen(8)
e le pagine di manuale elencate nella sua sezione
"SEE ALSO".
Lanciare dpkg-reconfigure locales per riconfigurare il pacchetto
locales
. Oppure, se non è stato ancora installato,
l'installazione di locales
invocherà l'interfaccia debconf per
farvi scegliere il locale richiesti e compilare il database.
Le seguenti variabili d'ambiente vengono valutate in questo ordine per fornire ai programmi particolari valori di locale:
LANGUAGE: Consiste di una lista di nomi di locale, separati da una virgola, in ordine di priorità. Usata solo se il locale POSIX è impostato ad un valore diverso da "C" [in Woody; la versione Potato ha sempre priorità sul locale POSIX]. (Estensione GNU)
LC_ALL: Se non è nullo, il valore è usato per tutte le categorie di locale. (POSIX.1) Di solito "" (nullo).
LC_*: Se non è nullo, il valore è utilizzato per la categoria corrispondente (POSIX.1). Di solito "C".
Variabili LC_* sono:
LC_CTYPE: Classificazione e conversione dei caratteri.
LC_COLLATE: Ordine di collazione.
LC_TIME: Formati data e ora.
LC_NUMERIC: Formati numerici non monetari.
LC_MONETARY: Formati di valuta.
LC_MESSAGES: Formati dei messaggi informativi e diagnostici, nonchè delle risposte interattive.
LC_PAPER: Formato carta.
LC_NAME: Formati dei nomi.
LC_ADDRESS: Formati degli indirizzi e località.
LC_TELEPHONE: Formati dei numeri telefonici.
LC_MEASUREMENT: Unità di misura (Sistema Metrico decimale od Altri).
LC_IDENTIFICATION: Metadati sulle informazioni di locale.
LANG: Se non è nullo e se LC_ALL non è definito, il valore è usato per tutte le categorie di locale LC_* con valori non definiti. (POSIX.1) Di solito "C".
Notate che alcune applicazioni (p.es., Netscape 4) ignorano le impostazioni LC_*.
Il programma locale
può mostrare le impostazioni attive ed i
locale disponibili; vedere locale(1)
. (NOTA: locale
-a elenca tutti i locale che il vostro sistema conosce; questo
non significa che tutti siano compilati! Vedere Attivare le capacità di supporto locale, Sezione
9.7.4.)
Il supporto locale per lo standard internazionale di data
aaaa-mm-gg (formato data ISO 8601) è fornito dal locale chiamato
en_DK, "English in Denmark" che è una sorta di gioco di
parole :-) Sembra funzionare solo in console per ls
.
Aggiungete le righe seguenti in ~/.bash_profile
:
LC_CTYPE=en_US.ISO-8859-1 export LC_CTYPE
Aggiungete le righe seguenti in ~/.bash_profile
:
LANG=it_IT@euro export LANG LC_CTYPE=it_IT@euro export LC_CTYPE
Configurate la tastiera per l'Italiano "QWERTY" come descritto in Localizzare la tastiera, Sezione 9.7.1.1. ed aggiungete
le pagine di manuale in Italiano installando manpages-it
. Il
tasto Right-Alt degli USA è Alt-Gr in Europa. Premedolo con altri tasti crea
molti caratteri speciali. Per esempio, Alt-Gr+E crea il segno dell'euro.
Molti dei linguaggi dell'Europa occidentale possono essere configurati allo stesso modo.
Vedere Debian Euro
HOWTO
per aggiungere il supporto per l'euro e Utiliser et
configurer Debian pour le français
per maggiori dettagli per il
Francese (NdT: no, per l'Italiano non mi risulta un equivalente).
Impostiamo un sistema multilingue che supporti simultaneamente Giapponese, Inglese Tedesco e Francese con codifiche EUC, UTF-( ed ISO-8859-1 sulle diverse console.
Vi mostrerò una personalizzazione del Debian menu system. Vedere i dettagli
del Debian menu system in /usr/share/doc/menu/html/index.html
.
Creerò anche una scorciatoia al browser mozilla
. [47]
aggiungere il supporto locale per il Giapponese ja_JP.eucJP e gli altri locale richiesti usando il metodo descritto in Localizzazione (l10n), Sezione 9.7. (per tutti)
installare il sistema di conversione da-Kana-a-Kanji ed il dizionario (per il Giapponese):
canna
— Server locale, (licenza tipo "free beer"),
oppure
freewnn-jserver
— server estensibile in network (Dominio
Pubblico)
installare il metodo di input Giapponese:
kinput2-canna
— per X, oppure
kinput2-canna-wnn
— per X,e
egg
— lavora direttamente con Emacsen persino in console
(opzionale)
Installate i terminali compatibili (per tutti)
xterm
– X (per ISO-8859-1 ed UTF-8),
kterm
— X (per Giapponese EUC) e
mlterm
— X (multilingue)
Aggiungere tutti i pacchetti di font richiesti (per tutti)
create ~/.xsession
che imposta l'ambiente X specifico per
l'utente: come descritto in Personalizzare le X session,
Sezione 9.4.5.1. (per tutti):
#!/bin/sh # Questo fa funzionare X quando lancio su verso l'account root. if [ -z "$XAUTHORITY" ]; then XAUTHORITY=$HOME/.Xauthority export XAUTHORITY fi # Set specific environment through debian menu system. # Reset locale unset LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY LC_MESSAGES unset LC_PAPER LC_NAME LC_ADDRESS LC_TELEPHONE LC_MEASUREMENT unset LC_IDENTIFICATION LC_ALL LANG LANGUAGE PAGER # set locale default in X LANG=C # export locale export LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY LC_MESSAGES export LC_PAPER LC_NAME LC_ADDRESS LC_TELEPHONE LC_MEASUREMENT export LC_IDENTIFICATION LC_ALL LANG LANGUAGE PAGER ### # activate input method for Japanese with kinput2 kinput2 & XMODIFIERS="@im=kinput2" export XMODIFIERS # How about blackbox window manager (lightweight) exec blackbox #exec xfwm #exec wmaker
impostate locale in ~/.bash_profile
per le console Linux (per
tutti).
rimuovete le impostazioni di locale da ~/.bashrc
se esistenti (per
tutti).
create alcuni file in /etc/menu/
(per tutti)
/etc/menu/xterm-local
: (aggiungete nuove voci al menu) [48]
?package(xterm):\ needs=x11\ section=XShells\ longtitle="XTerm: terminal emulator (en_US.ISO-8859-1)"\ title="XTerm (en_US.ISO-8859-1)"\ command="sh -c 'LC_ALL=en_US.ISO-8859-1 xterm'" ?package(xterm):\ needs=x11\ section=XShells\ longtitle="XTerm: terminal emulator (de_DE.ISO-8859-1)"\ title="XTerm (de_DE.ISO-8859-1)"\ command="sh -c 'LC_ALL=de_DE.ISO-8859-1 xterm -T xterm-de'" ?package(xterm):\ needs=x11\ section=XShells\ longtitle="XTerm: terminal emulator for X with Unicode support (Japanese)"\ title="UXTerm (ja_JP.UTF-8)"\ command="sh -c 'LC_ALL=ja_JP.UTF-8 uxterm'"
/etc/menu/kterm
: (scavalca le impostazioni predefinite) [49]
?package(kterm):\ needs="x11"\ section="XShells"\ command="sh -c 'LC_ALL=ja_JP.eucJP PAGER=w3m /usr/X11R6/bin/kterm -xim'" \ title="Kanji Terminal" ?package(kterm):\ needs="x11"\ section="XShells"\ command="sh -c 'LANG=ja_JP.eucJP \ LC_MESSAGES=en_US.ISO-8859-1 PAGER=w3m /usr/X11R6/bin/kterm -xim'" \ title="Kanji Terminal (bilingal)"
/etc/menu/mozilla-local
: (aggiungete una nuova scorciatoia) [50]
?package(mozilla-browser):needs="x11" section="/" \ title=" Mozilla Navigator" command="mozilla-1.5" hints="Web browsers" \ icon=/usr/share/pixmaps/mozilla.xpm
lanciate update-menus
dall'account di root.
aggiungete le righe seguenti in ~/.muttrc
(per il Giapponese):
# il supporto UTF-8 non è popolare nell'ambiente EMACS Giapponese l'encoding a # 7 bit di iso-2022-jp è più semplice per tutti # default encoding order = us-ascii --> iso-8859-1 --> iso-2022-jp set send_charset="us-ascii:iso-8859-1:iso-2022-jp set allow_8bit=no
attiva XIM kinput2
per applicazioni X (per il Giapponese)
aggiungete *inputMethod: kinput2 e
KTerm*VT100*OpenIM:true al vostro file ~/.Xresources
(sembra che Debian se ne prenda carico automaticamente, in qualche modo).
Alcune applicazioni (tipo mlterm
) permettono anche di impostare
*inputMethod: ed altre informazioni in maniera dinamica all'avvio
(premete Ctrl-MouseButton-3 in mlterm
).
lanciate X digitando startx o da uno dei display manager
(xdm
, gdm
, kdm
, wdm
, ...)
(per tutti)
lanciate l'applicazione compatibile con il Giapponese, tipo Vim 6, (x)emacs21,
mc-4.5, mutt-1.4, ... in ktern
(per il Giapponese). (Emacs
sembra la piattaforma più popolare, sebbene io non la usi.)
premete Maiusc+Spazio per attivare e disattivare il modo input modo Giapponese.
legget la pagine di manuale localizzata lanciandone il comando in una console localizzata (per tutti).
Per altro supporto per il linguaggio CJK, vedere le sezioni seguenti ed anche
le pagine
SuSE per CJK
.
Molti i pacchetti disponibili che supprtano metodi alternativi di input in X:
LIngua LC_CTYPE XIM server XMODIFIERS Tasto per il lancio Japanese ja_JP* kinput2 "@im=kinput2" Maiusc-Spazio Korean ko_KR* ami "@im=Ami" Maiusc-Spazio Chinese(T) zh_TW.Big5 xcin "@im=xcin-zh_TW.big5" Ctrl-Spazio Chinese(S) zh_CN.GB2312 xcin "@im=xcin-zh_CN.GB2312" Ctrl-Spazio
Il metodo Giapponese, kinput2
è offerto dai pacchetti
kinput2-canna-wnn
, kinput2-canna
e
kinput2-wnn
. Il metodo Giapponese necessita di un server per il
dizionario, tipo canna
e freewnn-jserver
per essere
pratico.
Sono molte le console in X che supportano la semplice codifica a 8 bit quando i pacchetti dei font pertinenti sono installati:
xterm
– L'X terminal emulator
gnome-terminal
– xterm
per Gnome
konsole
– xterm
per KDE
rxvt
– terminale VT102 (leggero)
aterm
– VT102 per Afterstep WM
eterm
– VT102 per Enlightment WM
wterm
– VT102 per WindowMaker WM
Il supporto per la codifica multi-byte vine fornito da xterm
tramite la codifica UTF-8 (Supporto UTF-8 per l'emulatore
di terminale in X, Sezione 9.7.12). Altri metodi di supporto tradizionali
sono in fase di lavorazione (al 2003). I seguenti pacchetti offrono supporti
tradizionali:
aterm-ml
– Multi-lingue
kterm
– Multi-lingue (Giapponese, ...)
rxvt-ml
– Multi-lingue
wterm-ml
– Multi-lingue
cxterm-big5
– Cinese (Trad., Big5)
cxterm-gb
– Cinese (Simp., GB)
cxterm-ks
– Cinese (KS)
cxterm-jis
– Giapponese
hanterm-classic
– Coreano (Hangul)
hanterm-xf
– Coreano (Hangul)
hztty
– Cinese (GB, Big5, zW/HZ)
Per kterm
(e possibilmente altri), potreste voler attivare XIM da
menu dopo aver premuto Ctrl-tasto-centrale del mouse.
Il supporto UTF-8 per l'emulatore di terminale viene fornito dal programma
uxterm
del pacchetto xterm
per XFree86 4.x. Abilita
il supporto per tutte le lingue. E' un wrapper di xterm(1)
che
invoca quest'ultimo con impostata la X resource class "UXTerm".
Per esempio, per abilitare la bella visione ingrandita dei caratteri Inglese,
Russo, Giapponese, Cinese e Coreano, aggiungete quanto segue al vostro
~/.Xresources
dopo aver installato i font pertinenti:
! set large font UXTerm*font: -misc-fixed-medium-r-normal-*-18-120-100-100-c-90-iso10646-1 ! Use XIM for Japanese *inputMethod: kinput2
Poi eseguite xrdb -merge ~/.Xresources per aggiornare le X resources come descritto in X resources, Sezione 9.4.10.
Sebbene gran parte dei pacchetti dei programmi di console popolari, come
vim
, mutt
, e emacs
sono stati resi
compatibili con UTF-8 di recente (Woody-Sarge), un programma come
mc
ancora non lo è, ma semplicemente è 8-bit clean. Se state
lavorando sulla parte a 7 bit ASCII di un file dalla codifica sconosciuta o
mista, è più sicuro usare un editor locale ignaro dell'8-bit clean.
Vedere The Unicode
HOWTO
.
Il supporto UTF-8 sulla console FB è fornito da bterm
usato nel
debian-installer
.
Quando state impostando il sistema per la prima volta per un linguaggio
nazionale, prendete in considerazione l'uso di tasksel
o
di aptitude
per scoprire quali pacchetti vengono selezionati
scegliendo il task corrispondente al linguaggio prescelto. La scelta dei
pacchetti fatta in tal modo è utile persino per un setup multilingua. Se vi
imbattete in qualche conflitto di dipendenze durante l'installazione del vostro
raffinato sistema, evitate di installare i programmi che sono in conflitto col
sistema esistente. Potreste dover utilizzare update-alternative
per riguadagnare lo stato originale per alcuni comandi, dato che quelli puù
recentemente installati potrebbero avere priorità più elevate rispetto a quelli
preesistenti.
I programmi principali più recenti usano glibc 2.2 e sono molto
internazionalizzati. Quindi, versioni localizzate in maniera particolare, come
jvim
per VIM possono non essere necessarie e la sua funzionalità è
offerta da vim
versione 6.0 in X. In realtà, è ancora da
raffinare. Dato che jvim
ha una versione compilata con il
supporto diretto per il Giapponese IM (canna
) ha il supporto
persino in console ed è indirizzato verso molte altre caratteristiche
giapponesi, ed è maturo, potreste ancora volerlo :-)
I programmi potrebbero avere la necessità di essere configurati oltre la
configurazione locale, per fornire un ambiente di lavoro
confortevole. Il pacchetto language-env
ed il suo comando
set-language-env
facilitano di molto questo processo.
Vedere anche il documento sulla internazionalizzazione, Introduction to
i18n
. E' indirizzato agli sviluppatori, ma è anche utile per gli
amministratori di sistema.
Localizzazione (l10n), Sezione 9.7 abilitato dal
pacchetto language-env
e simili, è mirato ad ottenere una
localizzazione monolingua. Questi pacchetti usano anche codifiche tradizionali
come scelta per la codifica del testo. Non potete mescolare in un tale
ambiente testo in Francese e Giapponese, poiche utilizzano codifiche
incompatibili ISO-8859-1 ed EUC-JP, rispettivamente.
Potete ottenere un Desktop multilingua UTF-8 usando GNOME e KDE eseguiti sotto uno dei locale UTF-8 disponibili. (Sarge) In tale ambiente potrete mescolare caratteri inglesi, cinesi, russi e giapponesi sotto programmi complianti con UTF-8. [51]
In un tale ambiente, il nuovo metodo di input multilingualizzato (IM) che usa
scim
è da preferirsi. IM offerto da scim
viene
attivato e disattivato premendo Ctrl-spazio insieme. Il motore di conversione
dell'input può essere cambiato cliccando il piccolo pannello SCIM.
vim
offers the multilingualized environment and can handle both
UTF-8 and conventionally encoded files (EUC-JP, ISO-8859-1, ...) when it is run
under the UTF-8 console such as gnome-teminal
. See vim help
message with pressing [Esc] and typing :help mbyte.txt.
[ precedente ] [ Contenuti ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ 11 ] [ 12 ] [ 13 ] [ 14 ] [ 15 ] [ A ] [ successivo ]
La guida Debian
CVS, gio gen 18 11:52:32 UTC 2007osamu#at#debian.org
mc0315#at#mclink.it