Tabla de contenidos
![]() |
Aviso |
---|---|
Este capítulo esta desactualizado ya que esta fundamentado en Debian 7.0
( |
The X Window System on the Debian system is based on the source from X.Org.
Existen unos pocos meta-paquetes, que se proveen para facilitar la instalación
Tabla 7.1. Lista de meta-paquetes importantes para el sistema de ventanas X
meta-paquete | popularidad | tamaño | descripción |
---|---|---|---|
xorg
|
I:512 | 52 | Librerías de X, un servidor de X, un conjunto de fuentes y un grupo de clientes básicos de X y utilidades (metapaquete) |
xserver-xorg
|
V:165, I:555 | 238 | full suite of the X server and its configuration |
xbase-clients
|
I:76 | 46 | miscellaneous assortment of X clients (metapackage) |
x11-common
|
V:411, I:808 | 305 | estructura de archivos y directorios para el sistemas de ventanas X |
xorg-docs
|
I:8 | 2040 | documentación miscelánea para el conjunto de programas de X.Org |
menu
|
V:128, I:339 | 1786 | genera el menu de Debian para todas las aplicaciones que lo requieran |
gksu
|
V:56, I:291 | 460 | Interfaz gráfica basada en GTK+ para su(1) o sudo(8) |
menu-xdg
|
V:28, I:148 | 76 | convierte la estructura del menu Debian a la estructura xdgde freedesktop.org |
xdg-utils
|
V:253, I:573 | 306 | utilidades para integrar el entorno de escritorio proveido por freedesktop.org |
task-gnome-desktop
|
I:220 | 6 | Entorno de escritorio GNOME estándar(meta-paquete) |
task-kde-desktop
|
I:65 | 6 | Entorno de escritorio KDE base (meta-paquete) |
task-xfce-desktop
|
I:89 | 6 | Entorno de escritorio ligero Xfce(meta-paquete) |
task-lxde-desktop
|
I:44 | 6 | Entorno de escritorio ligero LXDE(meta-paquete) |
fluxbox
|
V:3, I:13 | 3739 | Fluxbox: paquete altamente configurable y manejador de ventanas ligero |
For the basics of X, refer to X(7) and the LDP XWindow-User-HOWTO.
Un entorno de escritorio es usualmente una combinación de un manejador de ventanas, un administrador de archivos y un conjunto de programas utilitarios.
Usted puede configurar un entorno de
escritorio completo como GNOME, KDE,Xfce, o LXDE, desde aptitude
bajo el menu de
tareas.
![]() |
Sugerencia |
---|---|
El menu de tareas puede estar desincronizado con el último estado de
transición de paquete bajo Debian en los entornos
|
De forma alternativa, usted puede configurar un entorno de escritorio sencillo sólo con un manejador de ventanas como Fluxbox.
Para una lista de los manejadores de ventanas y escritorios disponibles para el sistema X puede visitar la guía de manejadores de ventanas para X.
El sistema de menu de Debian provee
una interfaz general tanto para programas en modo texto como con interfaz
gráfica mediante el comando
update-menus(1)
del paquete menu
. Cada paquete instala la información del
menu en el directorio /usr/share/menu
. Véase
"/usr/share/menu/README
"
Cada paquete que se encuentre conforme al sistema de menú de Freedesktop.org
instala la información de sus menus con base en los archivos
"*.desktop
" bajo el directorio
"/usr/share/applications
". Los entornos de escritorio
modernos que cumplen el estándar de Freedesktop.org toman esta información
para generar sus menus usando el paquete xdg-utils
. Véase
"/usr/share/doc/xdg-utils/README
"
In order to access the traditional Debian menu from the Freedesktop.org menu compliant window
manager environment such as GNOME and KDE, you must install the
menu-xdg
package.
El sistema de ventanas X se activa como una combinación de un servidor y un cliente. El significado para los términos servidor y cliente con respecto a los términos local y remoto requiere de atención en esta parte.
Tabla 7.2. Lista de terminología para servidor y cliente
tipo | descripción |
---|---|
Servidor X | un programa que se ejecuta sobre una máquina local que se encuentra conectada a la pantalla del usuario y a dispositivos de entrada |
Cliente X | un programa que se ejecuta en una máquina remota que procesa los datos y llamadas a el servidor X. |
Servidor de aplicación | a program run on a remote host that processes data and talks to the application clients. |
aplicación cliente | un programa que se ejecuta sobre una máquina local que se encuentra conectada a la pantalla del usuario y a dispositivos de entrada |
Modern X servers have the MIT Shared Memory Extension and communicate with their local X clients using the local shared memory. This bypasses the network transparent Xlib interprocess communication channel and gains performance for large images.
Véase xorg(1) para información sobre el servidor X
The following (re)configures an X server.
# dpkg-reconfigure --priority=low x11-common
![]() |
Nota |
---|---|
Recent Linux kernels have good graphics and input device supports with
DRM, KMS, and udev. X server is rewritten to use them. So
" |
For the large high resolution CRT monitor, it is a good idea to set the refresh rate as high as your monitor can handle (85 Hz is great, 75 Hz is OK) to reduce flicker. For the LCD monitor, slower standard refresh rate (60Hz) is usually fine due to its slow response.
![]() |
Nota |
---|---|
Sea cuidadoso en no usar tazas de refresco demasiado altas que puedan causar fallas graves a nivel del hardware de su monitor |
Hay muchas maneras de obtener una instancia del "Servidor X" (lado de visualización) para aceptar conexiones de un "cliente de X" (lado aplicación).
Tabla 7.3. Lista de los métodos de conexión al servidor X
paquete | popularidad | tamaño | usuario | cifrado | método | uso pertinente |
---|---|---|---|---|---|---|
xbase-clients
|
I:76 | 46 | sin revisar | no | comando xhost
|
obsoleto |
xbase-clients
|
I:76 | 46 | revisado | no | comando xauth
|
conexión local vía pipe |
openssh-client
|
V:544, I:995 | 3778 | revisado | si | comando ssh -X
|
conexión remota por red |
gdm3
|
V:203, I:303 | 4600 | revisado | no (XDMCP) | Gestor de entrada de GNOME | conexión local vía pipe |
sddm
|
V:11, I:19 | 1237 | revisado | no (XDMCP) | Gestor de entrada de KDE | conexión local vía pipe |
xdm
|
V:3, I:10 | 665 | revisado | no (XDMCP) | Gestor de entrada de X | conexión local vía pipe |
wdm
|
V:275, I:835 | 2292 | revisado | no (XDMCP) | Gestor de entrada de WindowMaker | conexión local vía pipe |
ldm
|
V:0, I:1 | 467 | revisado | si | Gestor de entrada de LTSP | conexión SSH remota por red (cliente liviano) |
![]() |
Aviso |
---|---|
No use conexiones TCP/IP remotas bajo redes inseguras para conexiones con un servidor X a menos
que tenga una muy buena razón tal como uso de cifrado. Un socket TCP/IP
remoto sin encriptar es propenso a un ataque de tipo eavesdropping y se encuentra deshabilitado por
defecto en el sistema Debian. Use " |
![]() |
Aviso |
---|---|
No use conexiones XDMCP sobre una red insegura. Estas envían los datos vía UDP/IP sin cifrar, siendo propenso a un ataque de tipo eavesdropping. |
![]() |
Sugerencia |
---|---|
LTSP significa Linux Terminal Server Project |
The X Window System is usually started as an X session which is the combination of an X server and connecting X clients. For the normal desktop system, both of them are executed on a workstation.
The X session is started by one of the following.
startx
command started from the command line
One of the X display manager daemon
programs *dm
started from the end of the start up script
in "/etc/rc?.d/
" ("?
" corresponding to
the runlevel) directory
![]() |
Sugerencia |
---|---|
The start up script for the display manager daemons checks the content of
the " |
![]() |
Sugerencia |
---|---|
See Sección 8.3.5, “Specific locale only under X Window” for initial environment variables of the X display manager. |
Essentially, all these programs execute the
"/etc/X11/Xsession
" script. Then the
"/etc/X11/Xsession
" script performs
run-parts(8)
like action to execute scripts in the
"/etc/X11/Xsession.d/
" directory. This is essentially an
execution of the first program which is found in the following order by the
exec
builtin command.
The script specified as the argument of
"/etc/X11/Xsession
" by the X display manager, if it is
defined.
The "~/.xsession
" or "~/.Xsession
"
script, if it is defined.
The "/usr/bin/x-session-manager
" command, if it is
defined.
The "/usr/bin/x-window-manager
" command, if it is
defined.
The "/usr/bin/x-terminal-emulator
" command, if it is
defined.
This process is affected by the content of
"/etc/X11/Xsession.options
". The exact programs to which
these "/usr/bin/x-*
" commands point, are determined by
the Debian alternatives system and changed by "update-alternatives
--config x-session-manager
", etc.
See Xsession(5) for details.
gdm3(1)
lets you select the session type (or desktop environment: Sección 7.2, “Configurando el entorno de escritorio”), and language (or locale: Sección 8.3, “The locale”) of the X session from its menu. It keeps the
selected default value in "~/.dmrc
" as the following.
[Desktop] Session=default Language=ja_JP.UTF-8
On a system where "/etc/X11/Xsession.options
" contains a
line "allow-user-xsession
" without preceding
"#
" characters, any user who defines
"~/.xsession
" or "~/.Xsession
" is able
to customize the action of "/etc/X11/Xsession
" by
completely overriding the system code. The last command in the
"~/.xsession
" file should use form of "exec
some-window/session-manager
" to start your favorite X
window/session managers.
If this feature is used, the selection of the display (or login) manager (DM), session manager or window manager (WM) by the system utility is ignored.
Here are new methods to customize the X session without completely overriding the system code as above.
The display manager gdm3
can select a specific session
and set it as the argument of "/etc/X11/Xsession
".
"/etc/profile
", "~/.profile
",
"/etc/xprofile
", and "~/.xprofile
"
files are executed as a part of gdm3
start up process.
The "~/.xsessionrc
" file is executed as a part of start
up process. (desktop independent)
"#allow-user-xsession
" in
"/etc/X11/Xsession.options
" does not restrict execution
of the "~/.xsessionrc
" file.
The "~/.gnomerc
" file is executed as a part of start up
process. (GNOME desktop only)
The selection of the display (or login) manager (DM), session manager or window manager (WM) by the system utility is respected.
These configuration files should not have "exec …
" nor
"exit
" in them.
The use of "ssh -X
" enables a secure connection from a
local X server to a remote application server.
Set "X11Forwarding
" entries to "yes
"
in "/etc/ssh/sshd_config
" of the remote host, if you want
to avoid "-X
" command-line option.
Start the X server on the local host.
Open an xterm
in the local host.
Run ssh(1) to establish a connection with the remote site as the following.
localname @ localhost $ ssh -q -X loginname@remotehost.domain Password:
Run an X application command, e.g. "gimp
", on the remote
site as the following.
loginname @ remotehost $ gimp &
This method can display the output from a remote X client as if it were locally connected through a local UNIX domain socket.
Fontconfig 2.0 was created to provide a
distribution independent library for configuring and customizing font access
in 2002. Debian after squeeze
uses Fontconfig 2.0 for its font configuration.
Font supports on X Window System can be summarized as follows.
Legacy X server side font support system
The original core X11 font system provides backward compatibility for older version of X client applications.
The original core X11 fonts are installed on the X server.
Modern X client side font support system
The modern X system supports all fonts listed below (Sección 7.6.1, “Basic fonts”, Sección 7.6.2, “Additional fonts”, and Sección 7.6.3, “CJK fonts”) with advanced features such as anti-aliasing.
Xft 2.0 connects modern X applications such as ones from GNOME, KDE, and LibreOffice with FreeType 2.0 library.
FreeType 2.0 provides font rasterization library.
Fontconfig provides resolution of the font specification for Xft 2.0. See fonts.conf(5) for its configuration.
All modern X applications using Xft 2.0 can talk to modern X server using the X Rendering Extension.
The X Rendering Extension moves font access and glyph image generation from the X server to the X client.
Tabla 7.4. Table of packages to support X Window font systems
paquete | popularidad | tamaño | descripción |
---|---|---|---|
xfonts-utils
|
V:42, I:630 | 387 | X Window System font utility programs |
libxft2
|
V:178, I:750 | 141 | Xft, a library that connects X applications with the FreeType font rasterization library |
libfreetype6
|
V:594, I:992 | 899 | FreeType 2.0 font rasterization library |
fontconfig
|
V:405, I:874 | 529 | Fontconfig, a generic font configuration library — support binaries |
fontconfig-config
|
V:402, I:923 | 420 | Fontconfig, a generic font configuration library — configuration data |
You can check font configuration information by the following.
"xset q
" for core X11 font path
"fc-match
" for fontconfig font default
"fc-list
" for available fontconfig fonts
![]() |
Sugerencia |
---|---|
"The Penguin and Unicode" is a good overview of modern X Window System. Other documentations at http://unifont.org/ should provide good information on Unicode fonts, Unicode-enabled software, internationalization, and Unicode usability issues on free/libre/open source (FLOSS) operating systems. |
There are 2 major types of computer fonts.
Bitmap fonts (good for low resolution rasterization)
Outline/stroke fonts (good for high resolution rasterization)
While scaling of bitmap fonts causes jugged image, scaling of outline/stroke fonts produces smooth image.
Bitmap fonts on the Debian system are usually provided by compressed X11 pcf bitmap font files having their
file extension ".pcf.gz
".
Outline fonts on the Debian system are provided by the following.
PostScript Type 1 font files having their
file extension ".pfb
" (binary font file) and
".afm
" (font metrics file).
TrueType (or OpenType) font files usually having their file
extension ".ttf
".
![]() |
Sugerencia |
---|---|
OpenType is intended to supersede both TrueType and PostScript Type 1. |
Tabla 7.5. Table of corresponding PostScript Type 1 fonts
font package | popularidad | tamaño | sans-serif font | serif font | monospace font | source of font |
---|---|---|---|---|---|---|
PostScript | N/A | N/A | Helvetica | Times | Courier | Adobe |
gsfonts | I:708 | 4439 | Nimbus Sans L | Nimbus Roman No9 L | Nimbus Mono L | URW (Adobe compatible size) |
gsfonts-x11 | I:135 | 96 | Nimbus Sans L | Nimbus Roman No9 L | Nimbus Mono L | X font support with PostScript Type 1 fonts. |
t1-cyrillic | I:23 | 4882 | Free Helvetian | Free Times | Free Courier | URW extended (Adobe compatible size) |
lmodern | I:152 | 33270 | LMSans* | LMRoman* | LMTypewriter* | scalable PostScript and OpenType fonts based on Computer Modern (from TeX) |
Tabla 7.6. Table of corresponding TrueType fonts
font package | popularidad | tamaño | sans-serif font | serif font | monospace font | source of font |
---|---|---|---|---|---|---|
ttf-mscorefonts-installer | V:1, I:92 | 125 | Arial | Times New Roman | Courier New | Microsoft (Adobe compatible size) (This installs non-free data) |
fonts-liberation | I:577 | 2093 | Liberation Sans | Liberation Serif | Liberation Mono | Liberation Fonts project (Microsoft compatible size) |
fonts-freefont-ttf | V:39, I:388 | 10747 | FreeSans | FreeSerif | FreeMono | GNU freefont (Microsoft compatible size) |
fonts-dejavu | I:470 | 39 | DejaVu Sans | DejaVu Serif | DejaVu Sans Mono | DejaVu, Bitstream Vera with Unicode coverage |
fonts-dejavu-core | V:285, I:679 | 2954 | DejaVu Sans | DejaVu Serif | DejaVu Sans Mono | DejaVu, Bitstream Vera with Unicode coverage (sans, sans-bold, serif, serif-bold, mono, mono-bold) |
fonts-dejavu-extra | I:490 | 7217 | N/A | N/A | N/A | DejaVu, Bitstream Vera with Unicode coverage (oblique, italic, bold-oblique, bold-italic, condensed) |
ttf-unifont | I:23 | 16901 | N/A | N/A | unifont | GNU Unifont, with all printable character code in Unicode 5.1 Basic Multilingual Plane (BMP) |
![]() |
Sugerencia |
---|---|
DejaVu fonts are based on and superset of Bitstream Vera fonts. |
aptitude(8) helps you find additional fonts easily.
The short package list under "Tasks" → "Localization"
The filtered flat package list of font data with regex on debtag:
"~Gmade-of::data:font
"
The filtered flat package list of the BDF (bitmap) font packages with regex
on package name: "~nxfonts-
"
The filtered flat package list of the TrueType (outline) font packages with
regex on package name: "~nttf-|~nfonts-
"
Since Free fonts are sometimes limited, installing or sharing some commercial TrueType fonts is an option for a Debian users. In order to make this process easy for the user, some convenience packages have been created.
mathematica-fonts
fonts-mscorefonts-installer
You'll have a really good selection of TrueType fonts at the expense of contaminating your Free system with non-Free fonts.
Here are some key points focused on fonts of CJK characters.
Tabla 7.7. Table of key words used in CJK font names to indicate font types
font type | Japanese font name | Chinese font name | Korean font name |
---|---|---|---|
sans-serif | gothic, ゴチック | hei, gothic | dodum, gulim, gothic |
serif | mincho, 明朝 | song, ming | batang |
Font name such as "VL PGothic" with "P" is a proportional font which corresponds to the fixed width "VL Gothic" font.
For example, Shift_JIS code table comprises 7070 characters. They can be grouped as the following.
JIS X 0201 single-byte characters (191 characters, a.k.a. half-width characters)
JIS X 0208 double-byte characters (6879 characters, a.k.a. full-width characters)
Double-byte characters occupy double width on console terminals which uses
CJK fixed width fonts. In order to cope with such situation, Hanzi Bitmap Font (HBF) File with
file extension ".hbf
" may be deployed for fonts
containing single-byte and double-byte characters.
In order to save space for TrueType font
files, TrueType font collection file with
file extension ".ttc
" may be used.
In order to cover complicated code space of characters, CID keyed PostScript Type 1 font is used with CMap files
starting themselves with "%!PS-Adobe-3.0 Resource-CMap
".
This is rarely used for normal X display but used for PDF rendering
etc. (see Sección 7.7.2, “X utility applications”).
![]() |
Sugerencia |
---|---|
The multiple glyphs are expected for some
Unicode code points due to Han unification. One of the most annoying
ones are "U+3001 IDEOGRAPHIC COMMA" and "U+3002 IDEOGRAPHIC FULL STOP" whose
character positions differ among CJK countries. Configuring priority of
Japanese centric fonts over Chinese ones using
" |
Here is a list of basic office applications (LO is LibreOffice).
Tabla 7.8. List of basic X office applications
paquete | popularidad | package size | tipo | descripción |
---|---|---|---|---|
libreoffice-writer
|
V:352, I:488 | 26110 | LO | word processor |
libreoffice-calc
|
V:347, I:482 | 23875 | LO | spreadsheet |
libreoffice-impress
|
V:344, I:478 | 3855 | LO | presentation |
libreoffice-base
|
V:333, I:463 | 6282 | LO | database management |
libreoffice-draw
|
V:344, I:479 | 8995 | LO | vector graphics editor (draw) |
libreoffice-math
|
V:348, I:484 | 1337 | LO | mathematical equation/formula editor |
abiword
|
V:10, I:19 | 4735 | GNOME | word processor |
gnumeric
|
V:16, I:27 | 7758 | GNOME | spreadsheet |
gimp
|
V:97, I:509 | 16255 | GTK | bitmap graphics editor (paint) |
inkscape
|
V:145, I:360 | 102751 | GNOME | vector graphics editor (draw) |
dia-gnome
|
V:6, I:11 | 20 | GNOME | flowchart and diagram editor |
planner
|
V:4, I:8 | 1170 | GNOME | project management |
calligrawords
|
V:1, I:7 | 6059 | KDE | word processor |
calligrasheets
|
V:1, I:7 | 14162 | KDE | spreadsheet |
calligrastage
|
V:0, I:7 | 4814 | KDE | presentation |
calligraplan
|
V:0, I:7 | 8508 | KDE | project management |
calligraflow
|
V:0, I:7 | 478 | KDE | flowchart and diagram editor |
kexi
|
V:1, I:7 | 7678 | KDE | database management |
karbon
|
V:1, I:8 | 3450 | KDE | vector graphics editor (draw) |
calligra-gemini
|
V:0, I:0 | 1026 | KDE | bitmap graphics editor (paint) |
Here is a list of basic utility applications which caught my eyes.
Tabla 7.9. List of basic X utility applications
paquete | popularidad | package size | tipo | descripción |
---|---|---|---|---|
evince
|
V:201, I:377 | 1363 | GNOME | document(pdf) viewer |
okular
|
V:72, I:121 | 3921 | KDE | document(pdf) viewer |
calibre
|
V:7, I:33 | 49261 | KDE | e-book converter and library management |
fbreader
|
V:3, I:18 | 2907 | GTK | e-book reader |
evolution
|
V:45, I:306 | 427 | GNOME | Personal information Management (groupware and email) |
kontact
|
V:3, I:26 | 990 | KDE | Personal information Management (groupware and email) |
scribus
|
V:14, I:28 | 19136 | KDE | desktop page layout editor |
glabels
|
V:0, I:4 | 1345 | GNOME | label editor |
gnucash
|
V:4, I:15 | 9518 | GNOME | personal accounting |
homebank
|
V:0, I:3 | 738 | GTK | personal accounting |
kmymoney
|
V:0, I:3 | 13405 | KDE | personal accounting |
shotwell
|
V:17, I:140 | 5754 | GTK | digital photo organizer |
xsane
|
V:24, I:193 | 913 | GTK | scanner frontend |
![]() |
Atención |
---|---|
The |
![]() |
Nota |
---|---|
Installing softwares such as |
The X selection using 3 mouse buttons is the native clipboard feature of X (see Sección 1.4.4, “Operaciones con el ratón al estilo Unix”).
![]() |
Sugerencia |
---|---|
Shift-Insert can work as the equivalent of the middle-mouse-button click. |
The modern Desktop Environments (GNOME, KDE, …) offer different clipboard system for the cut, copy, and paste using the left mouse button and keys (CTRL-X, CRTL-C, and CTRL-V).
xmodmap(1)
is a utility for modifying keymaps and pointer button mappings in the X
Window System. To get the keycode, run
xev(1)
in the X and press keys. To get the meaning of keysym, look into the MACRO definition in
"/usr/include/X11/keysymdef.h
" file
(x11proto-core-dev
package). All
"#define
" statements in this file are named as
"XK_
" prepended to keysym names.
Most traditional X client programs, such as xterm(1), can be started with a set of standard command line options to specify geometry, font, and display.
They also use the X resource database to configure their appearance. The
system-wide defaults of X resources are stored in
"/etc/X11/Xresources/*
" and application defaults of them
are stored in "/etc/X11/app-defaults/*
". Use these
settings as the starting points.
The "~/.Xresources
" file is used to store user resource
specifications. This file is automatically merged into the default X
resources upon login. To make changes to these settings and make them
effective immediately, merge them into the database using the following
command.
$ xrdb -merge ~/.Xresources
See x(7) and xrdb(1).
Learn everything about xterm(1) at http://dickey.his.com/xterm/xterm.faq.html.
![]() |
Aviso |
---|---|
Never start the X display/session manager under the root account by typing
in |
Easy ways to run a particular X client, e.g. "foo
" as
root is to use
sudo(8)
etc. as the following.
$ sudo foo &
$ sudo -s # foo &
$ gksu foo &
$ ssh -X root@localhost # foo &
![]() |
Atención |
---|---|
Use of ssh(1) just for this purpose as above is waste of resource. |
In order for the X client to connect to the X server, please note the following.
Values of the old user's "$XAUTHORITY
" and
"$DISPLAY
" environment variables must be copied to the
new user's ones.
The file pointed by value of the "$XAUTHORITY
"
environment variable must be readable by the new user.
The gksu
package (popcon: V:56, I:291) is a specialized
GTK+ GUI package for gaining the root privileges. It can be configured to
use
su(1)
or
sudo(8)
as its backend depending on the "/apps/gksu/sudo-mode
"
gconf key. You can edit gconf key using
gconf-editor(1)
(menu: "Applications" → "System Tools" → "Configuration Editor").