Este capítulo describe solamente lo básico de la configuración del sistema mediante interfaces basada en textos. Como prerrequisito de este capítulo léase Consejos para la instalación de un sistema Debian, Capítulo 3.
Para aquellos interesados en la seguridad, es altamente recomendables leer
Securing Debian
Manual
que se también se puede encontrar en el paquete
harden-doc
.
Véase El programa init
, Sección
2.4.1 para los fundamentos del script init de Debian.
Debian utiliza el sistema de scripts sys-V. Aunque todos los scripts init en
/etc/init.d/*
están marcados como archivos de configuración y el
administrador del sistema tiene la libertad de modificarlos, es preferible
personalizarlos editando los archivos /etc/default/*
.
Por ejemplo, /etc/init.d/rcS
se puede usar para personalizar los
valores predeterminados de arranque de motd
, sulogin
,
etc.
El modo de registro del sistema se puede configurar usando
/etc/syslog.conf
. Utilice el paquete colorize
para
dar distintos colores a los archivos de registro del sistema. Véase también
syslogd(8)
y syslog.conf(5)
.
Existen algunas pocas configuraciones de optimización del hardware que Debian deja a cargo del administrador del sistema.
hdparm
hdparm(8)
.
setcd
setcd(1)
.
setserial
scsitools
memtest86
hwtools
schedutils
taskset
, irqset
, lsrt
, y
rt
.
nice
y renice
(no incluídos), permiten el
control absoluto de los parámetros de la planificación de procesos.
También resulta muy efectivo montar un sistema de archivos con la opción
noatime para incrementar el acceso de lectura a los archivos. Véase
fstab(5)
y mount(8)
.
Algunos dispositivos se pueden poner a punto directamente mediante el kernel de Linux por medio del sistema de archivos proc. Véase Poniendo a punto al kernel mediante el sistema de archivos proc, Sección 7.3.
Existen diversas utilidades para la configuración de hardware específico en Debian. La mayoría de ellas tienen en cuenta los requerimientos específicos de las PC portátiles. Veamos algunos paquetes interesantes en Derbian:
tpconfig
- Programa para configurar el touch pad
apmd
- Utilidades para la Administración Avanzada de Energía (APM)
acpi
- Muestra información sobre dispositivos ACPI
acpid
- Utilidades para usar ACPI
lphdisk
- Prepara una partición para hibernación para Phoenix
NoteBIOS
sleepd
- Hace "dormir" una portátil durante su
inactividad.
noflushd
- Permite disminuir la velocidad de rotación de los
discos duros ociosos
big-cursor
- Cursores del ratón más grandes para X
acme
- Activa las "teclas multimedias" de los
ordenadores portátiles
tpctl
- Herramientas de configuración de hardware para la IBM
ThinkPad
mwavem
- Soporte del módem Mwave/ACP
toshset
- Acceso a la mayoría de la interfaz de hardware de la pc
portátil Toshiba
toshutils
- Utilidades para la pc portátil Toshiba
sjog
- Un programa para usar el "Jog Dial" de las pc
portátiles Sony Vaio
spicctrl
- Programa para configurar el brillo de fondo de la
pantalla LCD de la Sony Vaio
ACPI es un estándar para la administración de la energía del sistema más nuevo que APM.
Algunos de estos paquetes necesitan módulos especiales del kernel. En muchos casos ya han sido incluido en las últimas funentes del mismo. En caso de problemas, puede aplicar el último parche para el kernel por su propia cuenta.
PAM (Módulos de Autenticación Conectables, con sus siglas en inglés) proporciona el control del acceso.
/etc/pam.d/* # archivos de control de PAM /etc/pam.d/login # archivo de control PAM para el acceso /etc/security/* # parámetros del módulo de PAM /etc/securetty # controla el acceso del superusuario en consola (login) /etc/login.defs # controla el comportamiento de login
Si desea acceder a consolas sin necesidad de contraseña modifique, bajo su
entera responsabilidad, el contenido del archivo /etc/pam.d/login
de la siguiente manera
#auth required pam_unix.so nullok auth required pam_permit.so
Un truco similar se puede aplicar para xdm
, gdm
, ...
, para conseguir una consola X sin contraseña.
Por otra parte, si desea reforzar su política de contraseñas, instale
cracklib2
y añada lo siguiente a su
/etc/pam.d/passwd
.
password required pam_cracklib.so retry=3 minlen=6 difok=3
Para la activación de una cuenta puede ayudar una contraseña temporaria. Para
ello, use el comando passwd con la opción -e
passwd(1)
.
En bash se puede configurar el número máximo de procesos con ulimit -u
1000 o desde PAM con la configuración de
/etc/security/limits.conf
. De igual manera se pueden configurar
otros parámetros como, por ejemplo, core. El valor inicial de
PATH
se puede fijar mediante el archivo
/etc/login.defs
antes de script de arranque del shell.
La documentación de PAM se encuentra en el paquete libpam-doc
. La
Guía del Administrador de un Sistema Linux-PAM explica la configuración de PAM,
los módulos que hay disponibles, etc. La documentación también incluye la Guía
para Desarrolladores de Aplicaciones Linux-PAM y la Guía de Desarrolladores de
Módulos Linux-PAM.
su
GNU no soporta el grupo wheel"
Esta es la famosa frase de Richard M. Stallman al final de la antigua página
info de su. No se preocupe: el su
actual en Debian
utiliza PAM, de modo que uno puede restringir la posibilidad de usar
su
a cualquier grupo usando pam_wheel.so
en
/etc/pam.d/su
. Lo siguiente configurará al grupo adm
en un sistema Debian en forma equivalente al grupo BSD wheel y
permitirá a sus miembros hacer su
sin contraseña.
# configuración anti-RMS en /etc/pam.d/su auth required pam_wheel.so group=adm # permitir a los miembros de wheel hacer su sin contraseña auth sufficient pam_wheel.so trust group=adm
Algunos grupos interesantes:
su
si se usa pam_wheel.so
sin el argumento
group=.
/usr/src
. Se puede usar localmente para dar a un usuario la
posibilidad de administrar el código fuente del sistema.
/usr/local
y crear
directorios en /home
.
Para una lista completa, véase la sección "FAQ" en el Securing Debian
Manual
, que también se puede encontrar en el paquete
harden-doc
.
sudo
– un entorno de trabajo más seguro
Utilizo sudo
principalmente como protección contra mi propia
estupidez. Considero que usar sudo
es una mejor alternativa que
usar el sistema siendo superusuario. YMMV.
Instale sudo
y actívelo configurando /etc/sudoers
. También consulte las posibilidades de
sudo para los grupos en /usr/share/doc/sudo/OPTIONS
.
La configuración de ejemplo brinda a los miembros del grupo "staff"
el acceso a todos los comandos ejecutados como superusuario bajo
sudo
y también proporciona a los miembros del grupo
"src" a determinados comandos ejecutados como superusuario bajo
sudo
.
La ventaja de sudo
radica en que sólo requiere de la contraseña de
un usuario normal y que su actividad es monitoreada. Esta es una buena manera
de dar cierta autoridad a un administrador principiante. Por ejemplo:
$ sudo chown -R yo_mismo:mi_grupo .
Por supuesto, si conoce la contraseña de superusuario (como la mayoría de los usuarios domésticos), cualquier comando se puede ejecutar como superusuario desde una cuenta de usuario normal:
$ su -c "shutdown -h now" Password:
(Soy conciente que debería limitar los privilegios de la cuenta del
administrador con sudo
. Pero puesto que se trata de mi servidor
personal, aún no me he molestado en hacerlo)
Otro programa que permite a los usuarios normales ejecutar comandos con
privilegios de superusuario, véase el paquete super
.
El superservidor de Internet, inetd
, es ejecutado durante
el arranque por /etc/rc2.d/S20inetd
(para el nivel de ejecución
2), que es un enlace simbólico a /etc/init.d/inetd
. Básicamente,
inetd
permite ejecutar un único demonio para invocar otros,
reduciendo la carga del sistema.
Cada vez que llega la petición a un servicio, se identifica el protocolo y el
servicio mirando las bases de datos situadas en /etc/protocols
y
/etc/services
. Para un servicio de internet normal,
inetd
l consulta la base de datos /etc/inetd.conf
o la
si el servicio se basa en Sun-RPC.
Para seguridad del sistema, asegúrese desactivar los servicios sin utilizar del
archivo /etc/inetd.conf
. Los servicios Sun-RPC necesitan estar
activos para NFS y otros programas basados en RPC.
A veces, inetd
no arranca el servidor solicitado directamente sino
el programa envoltorio del demonio TCP/IP tcpd
con el nombre del
servidor pedido como argumento en el /etc/inetd.conf
. En este
caso, tcpd
ejecuta el programa servidor adecuado luego de haber
registrado la solicitud y haber realizado algunas comprobaciones adicionales
usando /etc/hosts.deny
y /etc/hosts.allow
.
Si tiene problemas con el acceso remoto sobre un sistema Debian reciente,
comente la línea "ALL: PARANOID" si es que existe en el archivo
/etc/hosts.deny
.
Para más detalles, consulte inetd(8)
, inetd.conf(5)
,
protocols(5)
, services(5)
, tcpd(8)
,
hosts_access(5)
y hosts_options(5)
.
Para más información sobre Sun-RPC, véase rpcinfo(8)
,
portmap(8)
y
/usr/share/doc/portmap/portmapper.txt.gz
.
Referencias:
OpenLDAP
openldap-guide
LDAP Linux
HOWTO
Implementación
de LDAP HOWTO
OpenLDAP, uso de
informes
Open LDAP
con IMAP y Postfix
Las grabadoras de CDs con interfaz IDE/ATAPI se han convertido en periféricos
muy populares. Es un medio conveniente para un usuario doméstico que necesite
< 640 MB de capacidad para hacer copias de respaldos o archivar documentos.
Para información más autorizada, consulte el CD-Writing-HOWTO
del LDP.
Antes que todo, cualquier interrupción de los datos enviados a la grabadora provocará un daño irreparable al CD. Consiga una grabadora con un búfer tan grande como le sea posible. Si el dinero no es importante, no se moleste con una grabadora IDE/ATAPI y adquiera una SCSI. Si tiene la posibilidad de elegir la interfaz IDE a la cual va a conectar la grabadora, prefiera el bus PCI antes que el ISA (tarjeta SB16, etc.).
Cuando una grabadora de CDs se conecta al canal IDE, debe utilizarse el controlador IDE-SCSI en vez del IDE común. Asimismo, es necesario activar el controlador genérico SCSI. Suponiendo la utilización de un kernel usado por las distribuciones modernas (posteriores a marzo del 2001), existen dos formas posibles de hacerlo.
lilo
Añada la siguiente línea al /etc/lilo.conf
si utiliza el núcleo
que distribuye Debian. Si utiliza múltiples opciones, lístelas separadas
mediante espacios:
append="hdx=ide-scsi ignore=hdx"
Aquí la ubicación de la grabadora, a la que se accede mediante el controlador ide-scsi, se indica mediante hdx con el siguiente significado:
hda maestro en el primer puerto IDE hdb esclavo en el primer puerto IDE hdc maestro en el segundo puerto IDE hdd esclavo en el segundo puerto IDE hde ... hdh para una unidad en un puerto IDE externo o puerto IDE ATA66/100
Siendo superusuario, escriba los siguientes comandos para activar las opciones luego de haber terminado con la configuración:
# lilo # shutdown -h now
Para crear el kernel, Debian utiliza make-kpkg
. Use la nueva
opción --append_to_version de make-kpkg para crear múltiples
imágenes del kernel. Veáse El kernel de Linux en
Debian, Capítulo 7.
Utilice la siguiente configuración con make menuconfig:
El soporte para la grabadora se puede activar durante el arranque mediante lo siguiente:
# echo ide-scsi >>/etc/modules # echo sg >>/etc/modules # cd /dev; ln -sf scd0 cdrom
La activación manual se puede realizar haciendo:
# modprobe ide-scsi # modprobe sg
Tras el arranque, puede comprobar la instalación haciendo:
$ dmesg|less # apt-get install cdrecord # cdrecord -scanbus
[Por Warren Dodge] A veces, pueden existir conflictos entre
ide-scsi y ide-cd si el sistema cuenta con una
lectora de CD y una grabadora. Pruebe añadir la siguiente línea a su
/etc/modutils/aliases
, ejecute update-modules
y
vuelva a arrancar el sistema.
pre-install ide-scsi modprobe ide-cd
Esto hará que el controlador IDE se cargue antes que el ide-scsi. El controlador IDE ide-cd tomará el control de la lectora de CD — de todo lo que no se le pidió ignorar. Esto deja únicamente a los dispositivos no tenidos en cuenta bajo el control del ide-scsi.
Para grabar un CD-ROM con los archivos contenidos en el
directorio-objetivo/
como imagen-cd.raw
(arrancable,
con formato Joliet TRANS.TBL activado; para un CD no arrancable, no incluir las
opciones -b y -c), inserte un disquete de arranque en
la primera unidad de disquetes y haga:
# dd if=/dev/fd0 directorio-objetivo/boot.img # mkisofs -r -V volume_id -b boot.img -c \ bootcatalog -J -T -o imagen-cd.raw\ directorio-objetivo/
Como aplicación interesante se puede crear un CD-ROM DOS de arranque. Si
boot.img
contiene la imagen de un disquete de arranque
DOS, el CD-ROM arrancará como si hubiese un disquete DOS en la unidad (A:).
Hacer esto con freeDOS puede ser aún más interesante.
El archivo imagen se puede inspeccionar montándolo en un dispositivo loop.
# mount -t iso9660 -o ro,loop imagen-cd.raw /cdrom # cd /cdrom # mc # umount /cdrom
Primero pruebe con (suponiendo una velocidad 2x)
# nice --10 cdrecord -dummy speed=2 dev=0,0 imagen
Si no hay problemas, grabe el CD-R haciendo
# nice --10 cdrecord -v -eject speed=2 dev=0,0 imagen
O grabe un CD-RW mediante
# nice --10 cdrecord -v -eject blank=fast speed=2 dev=0,0 imagen
Algunas grabadoras de CD funcionan mejor con
# nice --10 cdrecord -v blank=all speed=2 dev=0,0
seguido de
# nice --10 cdrecord -v -eject speed=2 dev=0,0 imagen
Se necesitan dos etapas para evitar que los tiempos de espera durante la etapa
de formateo no interfieran con la etadpa de grabación. El valor del argumento
de nice
puede requerir de algunos ajustes.
Algunos CD-Rs y CDs comerciales tienen sectores parásitos al final que torna
imposible su copia mediante dd
(el CD de Windows 98 es uno de
ellos). El paquete cdrecord
viene con el comando
readcd
. Utilícelo para copiar el contenido de cualquier CD en un
archivo imagen. Si se trata de un disco de datos, móntelo y use
du
para ver su tamaño verdadero. Divida por dos el número que se
muestra (en bloques, = 1024 bytes) para obtener el número de sectores del CD
(2048 bytes). Ejecute readcd
con las opciones correspondientes y
utilice la imagen para grabar el CD-R/RW.
# readcd target lun scsibusno # elija la función 11
En la mayoría de los casos, elija aquí los 3 parámetros de la línea de comandos
iguales a cero. A veces, el números de sectores proporcionado por
readcd
es demasiado grande. Utilice el valor dado por mount para
obtener mejores resultados.
It should be noted that the use of dd
has few problems if used on
CD-ROM. The first run of dd
command may cause error message and
may yield a shorter disk image with the lost tail-end. The second run of
dd
command may yield a larger disk image with garbage data
attached at the end on some systems if the data size is not specified. Only
the second run of dd
command with the correct data size specified
without ejecting CD after error message seems to avoid these problems. If the
image size displayed by df
is 46301184 blocks , use
the following command twice to get right image (this is my empirical
information):
# dd if=/dev/cdrom of=cd.img bs=2048 count=$((46301184/2))
Para obtener la información más actual sobre los CDs de Debian, visite el
sitio de CDs Debian
.
Si posee una conexión de Internet veloz, considere realizar la instalación a través de la red usando:
imágenes en
disquetes
.
imagen de CD
mínima
.
Si no posee una conexión de Internet veloz, considere adquirir los CDs de los
distribuidores de
CDs
.
Por favor no desperdicie ancho de banda descargando las imágenes de los CDs estándar a menos que sea un tester de imágenes de CDs (incluso con el nuevo método jigdo).
Una imagen de CD que vale la pena mencionar es KNOPPIX - Sistema de
archivos Linux en CD
. Este CD arrancará un sistema Debian funcional
sin instalarlo en el disco duro.
Para copiar los archivos de configuración y datos importantes a un CD-R, use el
script de ejemplo backup
. También véase
Respaldos diferenciales y
sincronización de datos, Sección 8.4.
No he comprobado lo siguiente personalmente:
# apt-get install cdrecord cdparanoia # cdparanoia -s -B # cdrecord dev=0,0,0 speed=2 -v -dao -eject defpregap=1 -audio *.wav
o
# apt-get install cdrdao #sin multisesión # cdrdao read-cd --device /dev/cdrom --paranoia-mode 3 mi_cd # leer el CD # cdrdao write --device /dev/cdrom --speed 8 mi_cd # grabar un CD nuevo
cdrdao
realiza una copia verdadera (sin interrupciones, etc...)
El entorno X es proporcionado por Xfree86
. Existen 2 versiones del
servidor X disponibles en un sistema Debian: V3.x y V4.x. Xfree86 Version 3.3
(XF3) and XFree86 Version 4.x series (XF4) both based on X11R6 specifications
by X.ORG
.
Para los fundamentos de a X(7)
, al XWindow-User-HOWTO
del LDP y el Remote X Apps
mini-HOWTO
. Para una guía específica para el usuario Debian, lea la
/usr/share/doc/xfree86-common/FAQ.gz
proporcionada por el paquete
xfree86-common
. Ésta contiene un análisis autorizado e
interesante de Branden Robinson de temas relacionados con combinaciones de
teclas.
Esto invierte el significado de los términos "servidor" y "cliente" usado en otros contextos.
Existen distintas maneras de lograr que el "servidor X" acepte conexiones remotas de un "cliente X":
xhost
xhost
, Sección
9.4.7 y xhost(1x)
.
xauth
xhost
).
ssh -X
.
xauth(1x)
.
xdm
, wdm
, gdm
, kdm
,
...métodos:
xauth
).
xdm(1x)
y Xsecurity(7)
para los fundamentos de
la pantalla de acceso a X.
wdm(1x)
, gdm(8)
, y kdm.options(5)
para más información, si se encuentran instalados.
init
del System-V y
niveles de ejecución, Sección 6.5.4 para saber cómo desactivar
xdm
para tener acceso a la consola de Linux sin tener que eliminar
el paquete xdm
.
ssh -X
ssh
, Sección 9.4.8.
Todos los métodos para conexiones remotas, excepto ssh
, requieren
que esté activada la conexión TCP/IP en el servidor X. Véase Conexión TCP/IP en X, Sección 9.4.6.
En Woody existen algunos (meta)paquetes que facilitan la instalación de X.
x-window-system-core
xserver-xfree86
, un conjunto de fuentes, clientes y
utilidades X básicas.
x-window-system
x-window-system-core
, twm
y xdm
, es
decir, si lo instala no necesitará el paquete
x-window-system-core
)
xserver-common-v3
xserver-*
xserver-common-v3
.)
En la mayoría de los casos, x-window-system
es el paquete que se
deberá instalar (si desea la consola de acceso, asegúrese de desactivar
xdm
como se explica en "¡Permítanme desactivar X al
arrancar!", Sección 8.1.4.)
Para activar la detección de hardware durante la etapa de configuración de X, instale los siguientes paquetes antes de instalar el sistema X:
discover
— sistema de identificación de hardware.
mdetect
— herramienta de autodetección de ratones.
read-edid
— herramienta para obtener información de los
monitores PnP VESA.
Véase XFree86(1x)
para información sobre el servidor X.
Invoque el servidor X desde una consola local:
$ startx -- :<display> vtXX e.g.: $ startx -- :1 vt8 -bpp 16 ... ejecución en una terminal vt8 conectada a localhost:1 with 16 bpp mode
Los argumentos a continuación de -- son para el servidor X.
Observación: al usar el script ~/.xserverrc
para personalizar el
proceso de arranque del servidor X asegúrese de usar exec con el
servidor real. Caso contrario el servidor será lento al arrancar o al salir.
Por ejemplo:
#!/bin/sh exec /usr/bin/X11/X -dpi 100 -nolisten tcp
Para volver a configurar el servidor X4,
# dpkg-reconfigure --priority=low xserver-common # dpkg-reconfigure --priority=low xserver-xfree86
generará el archivo /etc/X11/XF86Config-4
y configurará X usando
el script dexconf
.
Para volver a configurar el servidor X3,
# dpkg-reconfigure --priority=low xserver-common-v3 # dpkg-reconfigure --priority=low xserver-mach64
generará el archivo /etc/X11/XF86Config
y configurará X usando el
script xf86config-v3
.
Para añadir personalizaciones, no edite el archivo de configuración en medio del texto (válido para X4):
### BEGIN DEBCONF SECTION [snip] ### END DEBCONF SECTION
En cambio, añada las personalizaciones antes del mismo. Por ejemplo, para usar un dispositivo de video personalizado, añada algo similar a lo siguiente al principio del archivo:
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
La mayoría de los clientes X se pueden arrancar con un comando similar a éste:
client $ xterm -geometry 80x24+30+200 -fn 6x10 -display hostname:0 &
los argumentos opcionales de la línea de comando tienen el siguiente significado:
/tmp/.X11-unix/XD
(por lo tanto, solamente
accesible desde host).
El displayname predeterminado para el programa X cliente puede configurarase mediante la variable de entorno DISPLAY. Por ejemplo, antes de ejecutar un programa X cliente, se puede ejecutar uno de los siguientes comandos para alcanzar este objetivo:
$ export DISPLAY=:0 # el predeterminado, máquina local usando la primer pantalla X $ export DISPLAY=hostname.fulldomain.name:0.2 $ export DISPLAY=localhost:0
El arranque puede ser personalizado con ~/.xinitrc
. Por ejemplo:
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
Como se explicó en Personalizando la sesión en X, Sección
9.4.5.1, esto ethis overrides todo lo que una ejecución normal de Xsession
hace cuando se arranca desde startx
. Utilice este enfoque sólo
como último recurso.
Una sesión X (servidor X + cliente X) puede arrancarse mediante:
startx
: script para initx
que arranca el cliente y el
servidor X desde la consola de Linux. Si ~/.xinitrc
no existe,
/etc/X11/Xsession
se ejecuta a través de
/etc/X11/xinit/xinitrc
.
xdm
, gdm
, kdm
o wdm
:
administradores de pantalla X que arrancan el cliente y el servidor X y que
controlan el acceso desde un interfaz gráfica (GUI).
/etc/X11/Xsession
se ejecuta directamente.
Se puede disponer de la consola leyendo "¡Permítanme desactivar X al arrancar!", Sección 8.1.4.
El script de arranque /etc/X11/Xsession
es en realidad una
combinación de
/etc/X11/Xsession.d/50xfree86-common_determine-startup
y
/etc/X11/Xsession.d/99xfree86-common_start
.
La ejecución de /etc/X11/Xsession
se ve afectada por
/etc/X11/Xsession.options
que consiste esencialmente en la
ejecución de un programa mediante el comando exec
teniendo en
cuenta el siguiente orden:
~/.xsession
o ~/.Xsession
, si está definida
/usr/bin/x-session-manager
,si está definida
/usr/bin/x-window-manager
, si está definida
/usr/bin/x-terminal-emulator
, si está definida
El significado exacto de estos comandos viene determinado por el sistema de alternativos explicado en Comandos alternativos, Sección 6.5.3. Por ejemplo:
# update-alternatives --config x-session-manager ... o # update-alternatives --config x-window-manager
A fin de que cualquier administrador de ventanas sea el predeterminado, dejando
instalados los administradores de sesiones GNOME y KDE reemplace
/etc/X11/Xsession.d/50xfree86-common_determine-startup
con el
adjuntado al segundo informe de fallos dado a conocer en http://bugs.debian.org/168347
(espero que sea incluido pronto) y edite de la siguiente manera el
/etc/X11/Xsession.options
para desactivar el administrador de
sesiones X:
# /etc/X11/Xsession.options # # opciones de configuración para /etc/X11/Xsession # Véase Xsession.options(5) para una explicación de las opciones disponibles. # predeterminados activados allow-failsafe allow-user-resources allow-user-xsession use-ssh-agent # predeterminados desactivados (actívelos descomentándolos) do-not-use-x-session-manager #do-not-use-x-window-manager
Sin la modificación anterior, gnome-session
y kdebase
son los paquetes que contienen los administradores de sesión X. Al eliminarlos
el administrador de ventanas X pasa a ser el predeterminado. (Hmm, ¿alguna
mejor idea?)
En un sistema donde /etc/X11/Xsession.options
incluye una línea
allow-user-xsession sin ningún caracter precediéndola, cualquier
usuario podrá personalizar el comportamiento del
/etc/X11/Xsession
. mediante ~/.xsession
o
~/.Xsession
El último comando del archivo ~/.xsession
debe ser de la forma
exec some-window/session-manager para arrancar su
administrador de sesiones/ventanas X favorito.
Un buen ejemplo de script ~/.xsession
se encuentra en
/usr/share/doc/xfree86-common/examples/xsession.gz
.
Lo utilizo para definir el administrador de ventanas y el idioma para cada cuenta de usuario. Véase Arrancar un administrador de sesiones/ventanas determinado, Sección 9.4.5.2, Adquirir privilegios de superusuario en X, Sección 9.4.11 y Ejemplo para un sistema bilingüe (EUC japonés e ISO-8859-1), Sección 9.7.8.
Los recursos X específicos para cada usuario se pueden almacenar en
~/.Xresources
, mientras que los recursos X para todo el sistema en
/etc/X11/Xresources/*
. Véase xrdb(1x)
.
En X, los teclados personalizados y las asociaciones de los botones del ratón
se pueden especificar en ~/.xmodmaprc
. Véase
xmodmap(1x)
.
Siguiendo los pasos explicados en Personalizando la
sesión en X, Sección 9.4.5.1, se puede activar un administrador de
ventanas/sesiones X específico para cada usuario instalando el paquete indicado
y configurando el archivo ~/.xsession
de la siguiente manera (me
gusta blackbox por su estilo simple y por ser veloz):
gnome-session
kdebase
(o kdebase3
para KDE3)
blackbox
fluxbox
xfce
icewm
fvwm
wmaker
enlightenment
Véase Administradores de ventanas para
X
.
Para configurar plenamente el entorno KDE/GNOME, resultan de utilidad los siguiente metapaquetes:
kde
gnome
Instalar estos paquetes con herramientas que tengan en cuenta los
recomendados, como dselect
y aptitude
,
le permitirá una elección más variada de programas que hacerlo con
apt-get
.
Si desea ingresar al sistema por consola, asegúrese de deshabilitar el
administrador de pantallas X, como kdm
, gdm
y
wdm
, que pueden ser instalados por el sistema de dependencias,
como se explica en "¡Permítanme
desactivar X al arrancar!", Sección 8.1.4.
Si desea tener a GNOME como sistema predeterminado en vez de KDE, asegúrese de
configurar x-session-manager
como se detalla en Comandos alternativos, Sección
6.5.3.
Puesto que las conexiones TCP/IP remotas sin cifrado son propensas a ataques de
intervención de línea telefónica, la configuración predeterminada de X en
versiones recientes de Debian viene con los sockets TCP/IP desactivados. Para
una conexión X remota piense en usar ssh
(véase Conexión X remota: ssh
, Sección 9.4.8).
No se recomienda el método recién explicado a menos que uno esté en un entorno muy seguro, detrás de un buen firewall y con usuarios confiables. Use el siguiente comando para verificar la configuración actual de su socket TCP/IP de su servidor X:
# find /etc/X11 -type f -print0 | xargs -0 grep nolisten /etc/X11/xinit/xserverrc:exec /usr/bin/X11/X -dpi 100 -nolisten tcp
Eliminar -nolisten para restaurar la escucha TCP/IP en el servidor X.
xhost
xhost
permite el acceso basándose en los nombres de host. Esto
resulta ser muy inseguro. Los comandos siguientes desactivarán la verificación
del host y permitirán conexiones desde cualquier lugar si las conexiones TCP/IP
están autorizadas (véase Conexión TCP/IP en X, Sección
9.4.6):
$ xhost +
Se puede volver a habilitar la verificación del host haciendo:
$ xhost -
xhost
no distingue entre diferentes usuarios en la máquina remota.
Además, los nombres de las máquinas (en realidad, sus direcciones) pueden ser
falseadas.
Si se encuentra en una red que no es confiable (por ejemplo, con un acceso a
Internet mediante una línea telefónica a través de PPP) debe evitar este método
incluso si se consideran criterios más restrictivos sobre los hosts. Véase
xhost(1x)
.
ssh
El uso de ssh
permite una conexión segura desde un servidor X
local a una aplicación servidora remota.
/etc/ssh/sshd_config
de la máquina remota. Asigne a
las entradas X11Forwarding y AllowTcpForwarding el
valor yes
xterm
en la máquina local.
ssh
para establecer una conexión con la máquina distante.
nombre_local @ máquina_local $ ssh -q -X -l nombre_usuario máquina_remota.dominio Password: .....
nombre_usuario @ máquina_remota $ gimp &
Este método permite la visualización de la salida del cliente X remoto como si estuviera conectado a un socket UNIX local.
xterm
Aprenda todo sobre xterm
en la dirección http://dickey.his.com/xterm/xterm.faq.html
.
Algunos programas X antiguos, como xterm, usan la base de datos de recursos de
X para configurar su apariencia. El archivo ~/.Xresources
se
utiliza para almacenar las especificaciones de los recursos del usuario. Al
autenticarse, este archivo automáticamente se anexa a los recursos
predeterminados de X.
Veamos algunos parámetros interesantes para añadir a su archivo
~/.Xresources
:
! Usar una fuente más legible 9x15 XTerm*font: 9x15 ! Mostrar barra de desplazamiento XTerm*scrollBar: true ! Fijar el tamño del búfer en 1000 líneas XTerm*saveLines: 1000
Para que estas configuraciones tengan efecto inmediatamente, añádalas a la base de datos mediante el comando:
xrdb -merge ~/.Xresources
Si una aplicación gráfica mecesita ejecutarse con privilegios de superusuario, use el siguiente procedimiento para visualizar la salida del programa en el servidor X del usuario. Con objeto de evitar posibles riesgos de seguridad nunca intente iniciar un servidor X directamente desde la cuenta de superusuario.
Inicie el servidor X como usuario normal y abra una consola xterm
.
Then:
$ XAUTHORITY=$HOME/.Xauthority $ export XAUTHORITY $ su root Password:***** # printtool &
Cuando utilice este truco para hacer su
a un usuario normal,
asegúrese que el archivo ~/.Xauthority
tenga permiso de lectura
para el grupo al que pertenece dicho usuario.
Para automatizar esta secuencia de comandos, cree un archivo
~/.xsession
desde la cuenta del usuario, que contenga las
siguientes líneas:
# Esto permite arrancar X cuando hago su para ser superusuario. if [ -z "$XAUTHORITY" ]; then XAUTHORITY=$HOME/.Xauthority export XAUTHORITY fi unset XSTARTUP # Si desea un administrador de sesiones/ventanas particular descomente # lo siguiente y edítelo según sus necesidades. # XSTARTUP=/usr/bin/blackbox # Esto inicia el administrador de sesiones/ventanas de X 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 # ejecuta el administrador de sesiones/ventanas seleccionado exec $XSTARTUP
A continuación ejecute su
(no su -) en una ventana
xterm
de usuario. A partir de ahora, es posible ejecutar
aplicaciones gráficas con privilegios de superusuario en una pantalla X de
superusuario. Este truco funciona siempre y cuando se ejecute la
/etc/X11/Xsession
predeterminada. Si un usuario personaliza
~/.xinit
o ~/.xsession
, la variable
XAUTHORITY mencionada anteriormente necesita ser inicializada de
manera similar en estos scripts.
Otro método, consiste en usar sudo
para automatizar la secuencia
de comandos:
$ sudo xterm ... o $ sudo -H -s
En este casp /root/.bashrc
debe contener:
if [ $SUDO_USER ]; then sudo -H -u $SUDO_USER xauth extract - $DISPLAY | xauth merge - fi
Esto funciona correctamente incluso si el directorio personal del usuario se
encuentra en una partición NFS, ya que el superusuario no lee el archivo
.Xauthority
.
Existen también diversos paquetes específicos para este fin:
kdesu
, gksu
, gksudo
,
gnome-sudo
y xsu
. Se pueden usar otro métodos para
alcanzar resultados similares: crear un enlace simbólico del
/root/.Xauthority
al correspondiente al usuario; utilizar el
script sux
; o incluir
"xauth merge ~USER_RUNNING_X/.Xauthority" en
el script de inicialización del root.
Véase más en la lista
de correos debian-devel
.
El xfs
estándar de XFree86-4 funciona correctamente con fuentes
TrueType. Si está usando XFree86-3 debe instalar algún servidor de terceros
como, por ejemplo, xfs-xtt
.
Sólo necesita asegurarse que las aplicaciones que desee usar con las fuentes TrueType hayan sido enlazadas con libXft o libfreetype (es muy probable que no tenga ni siquiera que preocuparse por ello si usa .debs precompilados).
Recuerde instalar las fuentes y generar los archivos
fonts.{scale,dir}
para que puedan ser indexadas y utilizadas.
Puesto que hay pocas fuentes libres, los usuarios de Debian pueden instalar fuentes TrueType comerciales o shareware. A fin de facilitar este proceso al usuario, han sido creado algunos paquetes muy prácticos:
ttf-commercial
msttcorefonts (>1.1.0)
(el paquete en Woody no funciona desde
el of 8/2002 debido a los cambios que experimentó el sitio web de Microsoft)
De esta manera tendrá una buena colección de fuentes TT a expensas de contaminar su sistema libre con fuentes propietarias.
Existe algunos paquetes de navegadores web disponibles con el lanzamiento de Woody :
mozilla
el navegador Mozilla (nuevo)
galeon
navegador basado en Mozilla con una interfaz Gnome (nuevo)
konqueror
navegador KDE
dillo
navegador GTK
amaya-gtk
navegador de referencia de la W3C
amaya-lesstif
navegador de referencia de la W3C
netscape-...
(muchos, antiguos)
communicator-...
(muchos, antiguos)
La versión de mozilla
debe coincidir con la versión
correspondiente de galeon
. Aunque difieren en su interfaz, ambos
programas conparten el mismo motor de renderizado de HTML Gecko.
Los añadidos (plug-ins) para los navegadores tales como mozilla
y
galeon
se pueden activar instalando manualmente los archivos
"*.so" en el directorio de añadidos y reiniciando el
navegador.
Recursos:
http://java.sun.com
.
http://www.macromedia.com/software/flashplayer/
.
freewrl
: navegador VRML y añadido de Netscape
SSH (Secure SHell) es la manera segura de comunicarse a través de Internet.
Una versión libre de SSH llamada OpenSSH se encuentra disponible en el paquete
Debian ssh
.
Primero instale el cliente y el servidor OpenSSH.
# apt-get update && apt-get install ssh
La entrada non-US debe figurar en el /etc/apt/source.list
.
/etc/ssh/sshd_not_to_be_run
no debe estar presente si desea
ejecutar el servidor OpenSSH.
SSH tiene dos protocolos de autenticación:
.rhosts
o
/etc/hosts.equiv
combinada con la autenticación de la clave
pública de la máquina cliente (desactivada)
Tenga cuidado con estas diferencias si está migrando hacia Woody o usando un sitema que no es Debian.
Véase /usr/share/doc/ssh/README.Debian.gz
, ssh(1)
,
sshd(8)
, ssh-agent(1)
y ssh-keygen(1)
para más detalles.
Los siguientes son los archivos de configuración más importantes:
/etc/ssh/ssh_config
: valores predeterminados del cliente SSH .
Véase ssh(1)
. Las entradas más importantes son:
/etc/ssh/sshd_config
: valores predeterminados del servidor SSH.
Véase sshd(8)
. Las entradas más importantes son:
sshd
debe escuchar. Se permiten múltiples opciones.
$HOME/.ssh/authorized_keys
: la lista de las claves públicas
predeterminadas que los clientes usan para conectarse con la cuenta en este
host. Véase ssh-keygen(1)
.
$HOME/.ssh/identity
: Véase ssh-add(1)
y
ssh-agent(1)
.
Lo siguiente iniciará una conexión ssh
desde un cliente.
$ ssh nombre_usuario@nombre_máquina.dominio.ext $ ssh -1 nombre_usuario@nombre_máquina.dominio.ext # Fuerza la versión 1 de SSH $ ssh -1 -o RSAAuthentication=no -l username foo.host # force password on SSH1 $ ssh -o PreferredAuthentications=password -l username foo.host # force password on SSH2
Para el usuario, las funciones de ssh
son mejores y más seguras
que las de telnet
(no lo bombardearán con ^]).
Para establecer un túnel para conectarse al puerto 25 del
servidor-remoto desde el puerto 4025 de la máquina local y al puerto
110 del servidor-remoto desde el puerto 4110 de la máquina local
mediante ssh
, ejecute lo siguiente en la máquina local:
# ssh -q -L 4025:servidor-remoto:25 4110:servidor-remoto:110 \ nombre_usuario@servidor-remoto
Es una manera segura de conectarse a servidores SMTP/POP3 a través de Internet.
En el /etc/ssh/sshd_config
de la máquina remota, asigne a la
entrada AllowTcpForwarding el valor yes.
Uno puede evitar recordar la contraseña para cada sistema remoto usando RSAAuthentication (protocolo SSH1) o PubkeyAuthentication (protocolo SSH2).
En el /etc/ssh/sshd_config
del sistema remoto debe figurar
"RSAAuthentication yes" o "PubkeyAuthentication yes".
A continuación genere las claves de autenticación en forma local e instale la clave pública en el sistema remoto:
$ ssh-keygen # RSAAuthentication: clave RSA1 para SSH1 $ cat .ssh/identity.pub | ssh user1@remote \ "cat - >>.ssh/authorized_keys" ... $ ssh-keygen -t rsa # PubkeyAuthentication: clave RSA para SSH2 $ cat .ssh/id_rsa.pub | ssh user1@remote \ "cat - >>.ssh/authorized_keys" ... $ ssh-keygen -t dsa # PubkeyAuthentication: clave DSA para SSH2 $ cat .ssh/id_dsa.pub | ssh user1@remote \ "cat - >>.ssh/authorized_keys"
Uno puede cambiar la frase de contraseña posteriormente haciendo "ssh-keygen -p". Asegúrese de verificar la configuración probando la conexión. En caso de problemas, haga "ssh -v".
Puede añadir opciones a las entradas en authorized_keys
para
limitar los hosts y ejecutar comandos específicos. Véase sshd(8)
para más detalles.
Observe que SSH2 realiza una autenticación del tipo
HostbasedAuthentication. Para que esto funcione, debe asignar a
la entrada HostbasedAuthentication el valor yes tanto
en el /etc/ssh/sshd_config
de la máquina servidor como en el
/etc/ssh/ssh_config
o el $HOME/.ssh/config
de la
máquina cliente.
Existen algunos clientes SSH libres disponibles para plataformas que no son UNIX.
puTTY
(GPL)
cygwin
(GPL)
macSSH
(GPL) [Obsérvese que
Mac OS X incluye OpenSSH; utilice ssh en el terminal]
Recurra también al sitio de documentación de
SourceForge.net
: "6. CVS Instructions".
Resulta más seguro proteger su clave de autenticación SSH con una frase de contraseña. Si no ha sido configurada, use ssh-keygen -p para hacerlo.
Ubique su clave pública (por ejemplo, ~/.ssh/id_rsa.pub
) en el
~/.ssh/authorized_keys
de una máquina remota usando la conexión
basada en contraseñas como se explica en Conectarse con
pocas contraseñas, Sección 9.5.3.
$ ssh-agent bash # o ejecute en cambio el programa 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 ... de ahora en adelante no se necesita frase de contraseña :-) $^D ... terminating ssh-agent session
Para el servidor X, los scripts de arranque normales de Debian ejecutan al
ssh-agent
como proceso padre. Por lo tanto, necesitará ejecutar
ssh-add
una sola vez.
Para más información , consulte ssh-agent(1)
y
ssh-add(1)
.
Si tiene problemas, controle los permisos de los archivos de configuración y
ejecute ssh
con la opción "-v".
Utilice la opción "-P" si no es superusuario y tiene problemas con un firewall; esto evita el uso de los puertos 1–1023 del servidor.
Si las conexiones ssh
con un sitio remoto dejan de funcionar
repentinamente, puede ser debido a modificaciones hechas por el administrador
de sistema, muy probablemente debido a un cambio de host_key
durante el mantenimiento del sistema. Tras asegurarse que este es el caso y
que nadie está haciéndose pasar por la máquina remota mediante algún artilugio
ingenioso, es posible recuperar la conexión eliminando la entrada
host_key
del archivo $HOME/.ssh/known_hosts
de la
máquina local.
La configuración del correo comprende tres partes:
exim
procmail
, fetchmail
,
mailx
, ...
mutt
,
emacs
+gnus
Para un MTA con un sinnúmero de posibilidades, utilice exim
.
Referencias:
exim-doc
y exim-doc-html
http://www.exim.org/
Si le preocupa el tema de la seguridad, el único MTA alternativo razonable es
postfix
. Tanto sendmail
como qmail
se
encuentran disponibles como paquetes Debian pero no se recomiendan.
Si no necesita de la función de reenvío del MTA como en el caso de un sistema satélite como puede ser una PC portátil, considere usar uno de estos paquetes pequeñosl:
ssmtp
: necesita una conexión SMTP y permite alias, o
nullmailer
: no permite alias.
Por el momento, considero a que exim
es más conveniente incluso
para mi estación de trabajo que es una PC portátil..
Necesitará eliminar exim
para la instalación de estos paquetes que
entran en conflicto:
# dpkg -P --force-depends exim # apt-get install nullmailer # o ssmtp
Para usar exim
como MTA, configure lo siguiente:
/etc/exim/exim.conf "eximconfig" para crearlo o editarlo /etc/inetd.conf descomente smtp para ejecutar exim como demonio /etc/email-addresses edítelo si su nombre de usuario y máquina no es una dirección de correo válida en Internet verifique los filtros usando exim -brw, -bf, -bF, -bV, ... etc.
En la parte DIRECTORS del archivo /etc/exim/exim.conf
(Woody o
posterior), añada una directiva "catchall" al final (a continuación
de localuser: director) que corresponda a todas las direcciones que la
directiva anterior no pudo resolver (por Miquel van Smoorenburg):
catchall: driver = smartuser new_address = webmaster@mi_dominio.com
Si desea una receta más detallada para cada dominio virtual, añada lo siguiente
al final del archivo /etc/exim/exim.conf
(para mí, no muy
probado):
*@su_dominio.com ${lookup{$1}lsearch*{/etc/email-addresses} \ {$value}fail} T
y añada una entrada "*" al /etc/email-addresses
.
En exim
la reescritura selectiva de direcciones del correo
saliente para que los encabezados "From:" se muestren correctamente
se puede realizar modificando el final del archivo
/etc/exim/exim.conf
:
*@host1.algo.dyndns.org \ "${if eq {${lookup{$1}lsearch{/etc/passwd}{1}{0}}} {1} \ {$0}{$1@algo.dyndns.org}}" frFs
Esto reescribe todas las direcciones coincidentes con *@host1.algo.dyndns.org.
/etc/password
para ver si la parte local ($1) es un
usuario local o no.
Algunos servicios SMTP tales como yahoo.com requieren de autenticación SMTP.
Configure /etc/exim/exim.conf
de la siguiente manera:
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^esta_es_mi_contraseña"
No se olvide entrecomillar la última líneas.
fetchmail
se ejecuta en modo demonio para transferir los mensajes
de correo de una cuenta POP3 de un ISP al sistema de correo local. Configure:
/etc/init.d/fetchmail /etc/rc?.d/???fetchmail ejecute update-rc.d fetchmail default priority 30 /etc/fetchmailrc archivo de configuración (chown 600)
La información para arrancar fetchmail como demonio desde un script de
init.d
en Potato es confusa (Woody corrigió esta situación).
Véase los archivos de ejemplo /etc/init.d/fetchmail
y
/etc/fetchmailrc
en los scripts de
ejemplo
.
Si los encabezados de sus mensajes de correo están contaminados con ^M debido
al programa de correo de su ISP, añada "stripcr" a sus opciones en
$HOME/.fetchmailrc
:
options fetchall no keep stripcr
procmail
es un programa de filtrado y distribución de correo
local. Se necesita crear un $HOME/.procmailrc
para cada cuenta
que se utiliza. Ejemplo: _procmailrc
Utilice mutt
como agente de usuario de correo (MUA) en combinación
con vim
. Personalícelo mediante ~/.muttrc
; por
ejemplo:
# use el modo visual y "gq" para reformatear citas set editor="vim -c 'set tw=72 et ft=mail'" # # selección de encabezados tomada del manual (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 ....
Añada lo siguiente al /etc/mailcap
o $HOME/.mailcap
para visualizar correo en HTML y documentos adjuntos en MS Word:
text/html; lynx -force_html %s; needsterminal; application/msword; /usr/bin/antiword '%s'; copiousoutput; description="Microsoft Word Text"; nametemplate=%s.doc
Debian se encuentra internacionalizado y admite el uso de un número creciente de idiomas y convenciones de uso local. Las siguientes subseccines discuten la localización, es decir, el proceso de personalización de un entorno de trabajo para permitir la entrada y salida de el/los idioma(s) elegido(s), convenciones para las fechas, formatos numéricos y monetarios y otros aspectos de un sistema que difiere de región en región.
Existen algunos aspectos de la personalización para la localización y el soporte de un idioma.
Debian se distribuye con los mapas de caracteres de casi dos docenas de teclados. En Woody, el teclado se reconfigura así:
La gran mayoría de los paquetes Debian soporta el manejo de datos en caracteres no US-ASCII a través de la variable de entorno LC_CTYPE brindada por la tecnología locale de glibc
X puede mostrar cualquier codificación -incluyendo UTF-8- y soporta todas las fuentes. La lista incluye no sólo las fuentes de 8 bits sino las de 16 bits que aparecen en el idioma chino, japonés o coreano. El método de entrada de los caracteres de múltiples bytes es soportado por el mecanismo XIM. Véase Ejemplo para un sistema bilingüe (EUC japonés e ISO-8859-1), Sección 9.7.8.
La visualización del código japonés EUC se encuentra también disponible en la
consola gráfica (S)VGA mediante el paquete kon2
. Existe una
terminal alternativa nueva en japonés llamada jfbterm
que usa la
consola FB. En estos entornos de consola, la aplicación debe proporcionar el
método de entrada del japonés. Utilice el paquete egg
para el
paquete Emacs y el paquete jvim
para el entorno Vim.
Existen traducciones para diversos mensajes y documentos que se muestran en un sistema Debian, como mensajes de errores, salida estándar de programas, menús y páginas del manual. Actualmente, hay soporte para las páginas del manual en alemán, español, finlandés, francés, italiano, japonés, coreano y polaco proporcionados por los paquetes manpages-LANG (donde LANG son dos letras ISO del código del país. Utilice apt-cache search manpages-|less para obtener la lista de manuales unix disponibles)
Para acceder a la página de un manual NLS, el usuario debe configurar la
variable de entorno LC_MESSAGES apropiadamente. Por ejemplo, para las páginas
del manual en el idioma italiano, LC_MESSAGES debe ser igual a it.
El programa man
buscará entonces las páginas del manual en
italiano en /usr/share/man/it/
.
Debian soporta la tecnología locale. Locale es un mecanismo que permite a los programas brindar una salida adecuada y una funcionalidad conforme a las convenciones locales tales como el conjunto de caracteres, el formato del tiempo y de la fecha, los símbolos monetarios, etc. Utiliza las variables de entorno para determinar el comportamiento apropiado. Por ejemplo, suponiendo que tiene instalado en su sistema tanto el local para el francés como para el inglés americano, los mensajes de error de varios programas se pueden mostran en uno u otro idioma:
$ LANG="en_US" cat foo cat: foo: No such file or directory $ LANG="fr_FR" cat foo cat: foo: Aucun fichier ou répertoire de ce type
Glibc brinda soporte a esta funcionalidad. Véase locale(7)
.
Debian no viene con todos los locales disponibles
precompilados. Vaya a /usr/lib/locale
para ver qué locales
(además del predeterminado "C") han sido compilados para su sistema.
Si no encuentra el que necesita, tiene dos opciones:
/etc/locale.gen
para añadir el local que necesita y
luego ejecutar locale-gen
siendo superusuario para compilarlo.
Véase locale-gen(8)
y las páginas del manual listadas en su
"VER TAMBIÉN".
locales
. Al hacerlo aparecerá una interfaz debconf para
que pueda elegir los locales y así compilarlos.
Las siguientes variables de entorno se evalúan en el siguiente orden para proporcionar a los programas los valores de un local determinado:
Las variables LC_* son las siguientes:
Obsérvese que algunas aplicaciones (por ejemplo, Netscape 4) ignora los valores de LC_*.
El programa locale
pude mostrar la configuración local activa y
los locales disponibles; véase locale(1)
. (OBSERVACIÓN:
locale -a lista todos los locales que su sistema reconoce; eso
no significa que la totalidad de ellos hayan sido compilados. Véase
Activar el soporte de locales, Sección
9.7.3.)
El soporte de local para el estándar internacional de la fecha
yyyy-mm-dd (formato de fecha ISO 8601) es proporcionado por el
local denominado en_DK, — Inglés en
Dinamarca lo cual es una broma :-) Parece ser que sólo funciona en la
consola para ls
.
Añada las siguientes líneas a su ~/.bash_profile
:
LC_CTYPE=en_US.ISO-8859-1 export LC_CTYPE
Añada las siguientes líneas a su ~/.bash_profile
:
LANG=fr_FR@euro export LANG LC_CTYPE=fr_FR@euro export LC_CTYPE
Configure el teclado francés "AZERTY" como se explica en Teclado, Sección 9.7.1.1. y añada las páginas del
manual en francés instalando manpages-fr
. Alt-derecho en el
teclado estadounidense se llama al Alt-Gr en Europa. Pulsándola
simultáneamente junto con otras teclas se obtienen numerosos caracteres
acentuados, etc. Por ejemplo, Alt-Gr+E da el signo euro.
La mayoría de las lenguas europeas occidentales se pueden configurar de una manera similar.
Véase Debian Euro
HOWTO
para añadir soporte para el nuevo signo monetario y Utilizar y
configurar Debian para el idioma francés
para más detalles en
francés.
Configuremos un sistema bilingüe: ja_JP.eucJP (EUC japonés, entorno tradicional japonés para UNIX) en X con mensajes en inglés y fecha tipo ISO y en_US.ISO-8859-1 (ASCII con soporte de la mayoría de los caracteres con acento) en la consola Linux.
canna
— servidor local (licencia gratuita) o
freewnn-jserver
— servidor extensible de red (Dominio
Público)
kinput2-canna
— para X o
kinput2-canna-wnn
— para X y
egg
— que funciona directamente con Emacsen incluso en
consola (opcional)
kterm
— X (clásico),
mlterm
— X (muy bueno, con tamaño de fuente variable) y
startx
,
xdm
, ...)
~/.xsession
que configura el entorno X del usuario
específico:
#!/bin/sh # This makes X work when I su to root. if [ -z "$XAUTHORITY" ]; then XAUTHORITY=$HOME/.Xauthority export XAUTHORITY fi # local japonés predeterminado, local C en caso de problemas # export LANG=ja_JP.eucJP # asegúrese de sobreescribir en_US.ISO-8859-1 usado en consola # export LC_CTYPE=ja_JP.eucJP # quiero los mensajes en inglés ASCII :-) export LC_MESSAGES=C # activar método de entrada kinput2 & XMODIFIERS=@im=kinput2 export XMODIFIERS # administrador de ventanas blackbox (consume pocos recursos) exec /usr/bin/blackbox
~/.bashrc
:
# Change language environment depending on the console program # X-shells only execute .bashrc (They are not login shell) # General environment for X is set by .xsession if [ $TERM = kterm ] || [ $TERM = mlterm ]; then unset LC_ALL export LANG=C #export LANG=ja_JP.eucJP # para mostrar fecha ISO en formato yyyy-mm-dd date display más natural para # los japoneses :-) export LC_TIME=en_DK.ISO-8859-1 export LC_MESSAGES=C export LANGUAGE=ja_JP.eucJP:en_US.ISO-8859-1:C export LC_CTYPE=ja_JP.eucJP else unset LC_ALL export LANG=C export LC_TIME=en_DK.ISO-8859-1 export LANGUAGE=en_US.ISO-8859-1:C export LC_CTYPE=en_US.ISO-8859-1 fi
~/.muttrc
:
# El soporte UTF-8 no es popular en el entrono EMACS japonés # La codificación de 7 bits de la iso-2022-jp resulta ser más fácil para todo # el mundo # orden predeterminado codificación = us-ascii --> iso-8859-1 --> utf-8 #set send_charset="us-ascii:iso-8859-1:utf-8" #set allow_8bit=yes set send_charset="us-ascii:iso-8859-1:iso-2022-jp" set allow_8bit=no
kinput2
para las aplicaciones X
.~/Xresources
(a primera vista Debian lo tiene en cuenta
automáticamente).
mlterm
) también permiten configurar el
*inputMethod: y otra información en forma dinámica en tiempo de
ejecución (presione Ctrl-tercer-botón-ratón en
mlterm
).
Véase también las páginas de SuSE para
CJK
.
Lo necesitará todo el mundo en un futuro. Véase The Unicode
HOWTO
.
El soporte UTF-8 para la consola FB es proporcionada por bterm
utilizado en debian-installer
.
Cuando vaya a configurar por primera vez un entorno de idioma,
por favor considere usar tasksel
o aptitude
para
averiguar qué paquetes han sido seleccionados al elegir la tarea
correspondiente a dicho entorno. La elección del idioma es útil incluso para
la configuración de un entorno multilingüe. Si encuentra problemas de
dependencia durante la instalación en su sistema configurado, evite instalar
los programas que causan conflicto. Puede recurrir a
update-alternative
para recuperar el estado original de algunos
comandos ya que los nuevos instalados pueden tener una prioridad mayor sobre
los ya existentes.
La gran mayoría de los programas usan glibc 2.2 y en gran parte están
internacionalizados. Por lo tanto versiones localizadas tales como
jvim
para VIM puede que no sean necesarias y su funcionalidad es
ofrecida por la versión 6.0 para X de vim
. En realidad, aún es
difícil de usar. Puesto que jvim
posee una versión compilada con
soporte nativo de caracteres japoneses (canna
) incluso en consola
y soluciona diversos problemas específicos del japonés puede que aún la quiera
usar :-)
Puede que se necesite configurar los programas más allá de la configuración del
local para lograr un entorno de trabajo agradable. El paquete
language-env
y su comando set-language-env
facilita
notablemente este proceso.
Asimismo consulte el documento sobre internalización Introducción a la
i18n
. Está dirigido a los desarrolladores pero también resulta útil
para los administradores de sistemas.
Guía de referencia Debian
CVS, lun abr 3 22:57:45 UTC 2005osamu@debian.org
wecharri@infovia.com.ar