目次
The X window system on the Debian system is based on the source from X.Org. As of January 2009, they are X11R7.1(etch), X11R7.3(lenny) and X11R7.3(sid).
There are a few (meta)packages provided to ease installation.
表7.1 List of key (meta)packages for X window.
(メタ)パッケージ | popcon | サイズ | 説明 |
---|---|---|---|
xorg
|
I:52 | 32 | This metapackage provides the X libraries, an X server, a set of fonts, and a group of basic X clients and utilities. |
xserver-xorg |
V:31, I:58 | 204 | This package provides the full suits of the X server and its configuration. |
xbase-clients |
V:13, I:56 | 184 | This package provides a miscellaneous assortment of X clients. |
x11-common |
V:51, I:90 | 756 | This package contains the filesystem infrastructure for the X window system. |
xorg-docs |
I:12 | 5008 | This package contains miscellaneous documentation for the X.Org software suite. |
xspecs |
I:1.5 | 6504 | This package contains X protocol, extension, and library technical specifications. |
menu
|
V:31, I:58 | 1956 | This package generates the Debian menu for all menu-aware applications. |
gksu
|
V:27, I:53 | 176 |
This package provides a Gtk+ frontend to su (1) or
sudo (8).
|
menu-xdg |
I:56 | 76 | This package converts the Debian menu structure to the freedesktop.org xdg menu structure. |
xdg-utils |
V:12, I:50 | 256 | This package provides utilities to integrate desktop environment provided by the freedesktop.org. |
gnome-desktop-environment |
I:34 | 20 | metapackage for the stadard GNOME desktop environment. |
kde-core |
I:11 | NOT_FOUND | metapackage for the core KDE desktop environment. |
xfce4
|
I:5 | 48 | metapackage for the Xfce lightweight desktop environment. |
lxde-core |
I:1.6 | 40 | metapackage for the LXDE lightweight desktop environment. |
fluxbox |
V:1.3, I:3 | 4332 | Fluxbox: package for highly configurable and low resource X window manager. |
For the basics of X, refer to X
(7), the LDP XWindow-User-HOWTO.
A desktop environment is usually a combination of a X window manager, a file manager, and a suite of compatible utility programs.
You can setup a full desktop
environment such as GNOME, KDE, Xfce, or LXDE, from the aptitude
under the
task menu.
![]() |
ティップ |
---|---|
Task menu may be out of sync with the latest package transition state under
Debian |
You may alternatively setup a simple environment manually just with a X window manager such as Fluxbox.
See Window Managers for X for the guide to the X window manager and the desktop environment.
Debian menu system provides a
general interface for both text- and X-oriented programs with
update-menus
(1) from the menu
package. Each package installs its menu data in the
"/usr/share/menu/
" directory. See
"/usr/share/menu/README
".
Each package which is compliant to Freedesktop.org's xdg menu system
installs its menu data provided by "*.desktop
" under
"/usr/share/applications/
". Modern desktop environments
which are compliant to Freedesktop.org standard use these data to generate
their menu using the xdg-utils
package. See
"/usr/share/doc/xdg-utils/README
".
In order to obtain access to the traditional Debian menu under GNOME desktop
environment, you must install the menu-xdg
package, click
"System" → "Preference" → "Main Menu", and check the box for "Debian".
![]() |
ティップ |
---|---|
You may need to do the similar for other modern desktop environments which are compliant to Freedesktop.org standard. |
The X window system is activated as a combination of the server and client programs. The meaning for the words server and client with respect to the words local and remote requires attention here:
表7.2 List of server/client terminology.
タイプ | 説明 |
---|---|
X サーバー | a program run on a local host connected to the user's display and input devices. |
Xクライアント | a program run on a remote host that processes data and talks to the X server. |
アプリケーションサーバー | a program run on a remote host that processes data and talks to the clients. |
アプリケーションクライアント | a program run on a local host connected to the user's display and input devices. |
See xorg
(1) for X server information.
![]() |
注意 |
---|---|
X server (post- |
To (re)configure an X server,
# dpkg-reconfigure --priority=low x11-common # dpkg-reconfigure --priority=low xserver-xorg
will generate a new "/etc/X11/xorg.conf
" file using
dexconf
(1).
If you have manually edited this "/etc/X11/xorg.conf
"
file but would like it to be automatically updated again, run the following
command:
# sudo dpkg-reconfigure -phigh xserver-xorg
Please check your X configuration with respect to the specification of your monitor carefully. 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.
![]() |
注意 |
---|---|
Be careful not to use too high refresh rate which may cause fatal hardware failure of your monitor system. |
There are several ways of getting the "X server" (display side) to accept connections from an "X client" (application side):
表7.3 List of connection methods to the X server.
method | パッケージ | popcon | サイズ | ユーザ | encryption | pertinent use |
---|---|---|---|---|---|---|
xhost command
|
xbase-clients |
V:13, I:56 | 184 | unchecked | no | deprecated |
xauth command
|
xbase-clients |
V:13, I:56 | 184 | 確認済み | no | for local connection via pipe |
ssh -X command
|
openssh-client |
V:55, I:98 | 2084 | 確認済み | yes | for remote network connection |
GNOME display manager | gdm
|
V:32, I:45 | 15207 | 確認済み | no(XDMCP) | for local connection via pipe |
KDE display manager | kdm
|
V:10, I:13 | 3772 | 確認済み | no(XDMCP) | for local connection via pipe |
X display manager | xdm
|
V:0.8, I:2 | 688 | 確認済み | no(XDMCP) | for local connection via pipe |
WindowMaker display manager | wdm
|
V:23, I:85 | 1968 | 確認済み | no(XDMCP) | for local connection via pipe |
LTSP display manager | ldm
|
V:0.02, I:0.11 | 284 | 確認済み | yes | for remote SSH network connection (thin client) |
![]() |
警告 |
---|---|
Do not use remote TCP/IP connection over unsecured network for X connection unless you have
very good reason such as use of encryption. A remote TCP/IP socket
connection without encryption is prone to the eavesdropping attack and is disabled by default on
the Debian system. Use " |
![]() |
警告 |
---|---|
Do not use XDMCP connection over unsecured network either. It sends data via UDP/IP without encryption and prone to the eavesdropping attack. |
![]() |
ティップ |
---|---|
You can dare to enable remote TCP/IP
connection by setting " |
![]() |
ティップ |
---|---|
LTSP stands for 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 normal desktop system, both of them are executed on the workstation.
To start the X Window system,
startx
command started from the command line, or
*dm
started from the end of the start up script
in "/etc/rc?.d/
" directory ("?
"
corresponding to the runlevel) are used to start the X session. (The start up script for the display
manager daemons checks the content of the
"/etc/X11/default-display-manager
" file before actually
executing themselves.)
![]() |
ティップ |
---|---|
See 「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 like action
to execute scripts in the "/etc/X11/Xsession.d/
"
directory. This is essentially an execution of a first program which is
found in the following order with the exec
builtin
command:
/etc/X11/Xsession
" by the X display manager, if it is
defined.
~/.xsession
" or "~/.Xsession
"
script, if it is defined.
/usr/bin/x-session-manager
" command, if it is
defined.
/usr/bin/x-window-manager
" command, if it is
defined.
/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 alternative system and changed by "update-alternatives
--config x-session-manager
", etc.
gdm
(1) lets you select the session type (or desktop
environment: 「Setting up desktop environment」), and
language (or locale: 「ロケール」) of the X session from
its menu. It keeps the selected default value in
"~/.dmrc
" as, e.g.:
[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
" will be
able to customize the action of "/etc/X11/Xsession
" by
completely overiding 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.
Here are new methods to customize the X session without completely overiding the system code as above.
gdm
can select a specific session and
set it as the argument of "/etc/X11/Xsession
".
~/.xsessionrc
" file is executed as a part of start
up process (desktop independent.)
~/.gnomerc
" file is executed as a part of start up
process. (GNOME desktop only)
~/.gnome2/session
" file etc..
The use of "ssh -X
" enables a secure connection from a
local X server to a remote application server.
X11Forwarding
" entries to "yes
"
in "/etc/ssh/sshd_config
" of the remote host, if you want
to avoid "-X
" command-line option.
xterm
in the local host.
ssh
(1) to establish a connection with the remote
site.
localname @ localhost $ ssh -q -X loginname@remotehost.domain Password: .....
gimp
", on the remote
site.
loginname @ remotehost $ gimp &
This method allows the display of the remote X client output as if it were locally connected through a local UNIX domain socket.
Secure X terminal via Internet, which displays remotely run entire X desktop
environment, can easily achieved by using specialized package such as
ldm
. Your local machine becomes a secure thin client to
the remote application server connected via SSH.
If you want to add similar feature to your normal display manager
gdm
, create executable shell script at
"/usr/local/bin/ssh-session
" as:
#!/bin/sh -e # Based on gdm-ssh-session in gdm source (GPL) ZENITY=$(type -p zenity) TARGETHOST=$($ZENITY --width=600 \ --title "Host to connect to" --entry \ --text "Enter the name of the host you want to log in to as user@host.dom:") TARGETSESSION=$($ZENITY --width=600 --height=400 \ --title "Remote session name" --list --radiolist --text "Select one" \ --column " " --column "Session" --column "description" --print-column 2 \ TRUE "/etc/X11/Xsession" "Debian" \ FALSE "/etc/X11/xinit/Xclients" "RH variants" \ FALSE "gnome-session" "GNOME session" \ FALSE "xterm" "Safe choice" \ FALSE "rxvt" "Safe choice" \ FALSE "gnome-terminal" "Safe choice") echo "Connecting to "$TARGETHOST" with $TARGETSESSION" /usr/bin/ssh -A -X -T -n "$TARGETHOST" "$TARGETSESSION" #SSH_ASKPASS=/usr/bin/ssh-askpass /usr/bin/ssh -A -X -T -n "$TARGETHOST" "$TARGETSESSION"
Then add followings to "/etc/dm/Sessions/ssh.desktop
":
[Desktop Entry] Encoding=UTF-8 Name=SSH Comment=This session logs you into a remote host using ssh Exec=/usr/local/bin/ssh-session Type=Application
X window on the Debian system support two mechanisms for font management:
The core X11 font system provides backward compatibility with older
applications such as Xterm with bitmap fonts. It is supported by installing
pertinent font packages which trigger defoma
(1) scripts
to generate required files such as "fonts.dir
".
The Xft2 font system is used by all modern applications such as ones from
GNOME, KDE, OpenOffice.org, etc.. It supports all fonts listed below (「基本的フォント」, 「Additional fonts」, and 「CJK fonts」) with advanced features such as anti-aliasing. It
has no configuration mechanism itself, rather it relies upon the fontconfig library to configure and
customize fonts as described in fonts.conf
(5). Actual
rasterization is supported by the FreeType 2 font engine. These new X
clients using Xft2 font system can talk to modern X server via the X Rendering Extension.
表7.4 Table of packages to support X window font systems.
パッケージ | popcon | サイズ | 説明 |
---|---|---|---|
xfonts-utils |
V:36, I:70 | 456 | X Window System font utility programs |
libxft2 |
V:44, I:75 | 148 | Xft: FreeType-based font drawing library for X |
libfreetype6 |
V:58, I:88 | 780 | FreeType 2 font engine, shared library files |
fontconfig |
V:37, I:74 | 460 | generic font configuration library - support binaries |
fontconfig-config |
V:21, I:82 | 416 | generic font configuration library - configuration |
defoma |
V:30, I:84 | 449 | Debian Font Manager — automatic font configuration framework |
x-ttcidfont-conf |
I:40 | 156 | TrueType configuration for X (for CJK support) |
You can check actual font path for:
xset q
"
fc-match
"
![]() |
ティップ |
---|---|
"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. |
![]() |
ティップ |
---|---|
You should rely on fontconfig
infrastructure to configure fonts on the Debian system. Debian Font Manager
( |
There are 2 major types of computer fonts:
While scaling of bitmap fonts causes jugged image, scaling of outline/stroke fonts produces smooth image.
Bitmap fonts on the Debian system are provided by compressed X11 pcf bitmap font files having their
file extension ".pcf.gz
".
Outline fonts on the Debian system are provided by:
.pfb
" (binary font file) and
".afm
" (font metrics file).
.ttf
".
表7.5 Table of corresponding PostScript Type 1 fonts.
フォントパッケージ | popcon | サイズ | sans-serif font | serif font | monospace font | source of font |
---|---|---|---|---|---|---|
PostScript | N/A | N/A | Helvetica | Times | Courier | Adobe |
gsfonts | V:18, I:69 | 4792 | Nimbus Sans L | Nimbus Roman No9 L | Nimbus Mono L | URW (Adobe compatible size) |
gsfonts-x11 | I:29 | 116 | Nimbus Sans L | Nimbus Roman No9 L | Nimbus Mono L | X font support with PostScript Type 1 fonts. |
t1-cyrillic | I:1.9 | 4996 | Free Helvetian | Free Times | Free Courier | URW extended (Adobe compatible size) |
lmodern | V:3, I:16 | 46180 | LMSans* | LMRoman* | LMTypewriter* | scalable PostScript and OpenType fonts based on Computer Modern (from TeX) |
表7.6 Table of corresponding TrueType fonts.
フォントパッケージ | popcon | サイズ | sans-serif font | serif font | monospace font | source of font |
---|---|---|---|---|---|---|
ttf-mscorefonts-installer | I:11 | 196 | Arial | Times New Roman | Courier New | Microsoft (Adobe compatible size) (This installs non-free data) |
ttf-liberation | I:38 | 1696 | Liberation Sans | Liberation Serif | Liberation Mono | Liberation Fonts project (Microsoft compatible size) |
ttf-freefont | I:20 | 4212 | FreeSans | FreeSerif | FreeMono | GNU freefont (Microsoft compatible size) |
ttf-bitstream-vera | I:18 | NOT_FOUND | Bitstream Vera Sans | Bitstream Vera Serif | Bitstream Vera Sans Mono | Bitstream, Inc. |
ttf-dejavu | I:81 | 68 | DejaVu Sans | DejaVu Serif | DejaVu Sans Mono | DejaVu, Bitstream with extended character code support |
ttf-dejavu-core | I:55 | 2584 | DejaVu Sans | DejaVu Serif | DejaVu Sans Mono | DejaVu, basic font style variants |
ttf-dejavu-extra | I:55 | 5768 | DejaVu Sans | DejaVu Serif | DejaVu Sans Mono | DejaVu, extra font style variants |
ttf-unifont | I:3 | 16060 | N/A | N/A | unifont | GNU Unifont, with all printable character code in Unicode 5.1 Basic Multilingual Plane (BMP) |
aptitude
(8) will help you find additional fonts easily:
defoma
package list,
~Gmade-of::data:font
",
~nxfonts-
", or
~nttf-
".
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:
ttf-mathematica4.1
ttf-mscorefonts-installer
You'll have a really good
selection of TrueType fonts at the expense of contaminating your Free system with non-Free fonts.
CJK問題に関する要点を次に記します:
表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 dodu | m, gulim, gothic |
serif | mincho, 明朝 so | ng, ming ba | tang |
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 into:
.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.
I order to cover complicated code space of characters, CID keyed Type 1
PostScript 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 「X utility applications」).
![]() |
ティップ |
---|---|
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 (OO is OpenOffice.org):
表7.8 List of basic X office applications
パッケージ | popcon | パッケージサイズ | 説明 | タイプ |
---|---|---|---|---|
openoffice.org-writer |
V:25, I:48 | 25020 | word processor | OO |
openoffice.org-calc |
V:25, I:47 | 17416 | spreadsheet | OO |
openoffice.org-impress |
V:22, I:47 | 2896 | プレゼンテーション | OO |
openoffice.org-base |
V:20, I:46 | 9052 | データベース管理 | OO |
openoffice.org-draw |
V:22, I:47 | 8808 | vector graphics editor (draw) | OO |
openoffice.org-math |
V:20, I:46 | 1484 | mathematical equation/formula editor | OO |
abiword |
V:4, I:7 | 8348 | word processor | GNOME |
gnumeric |
V:4, I:8 | 8248 | spreadsheet | GNOME |
gimp
|
V:14, I:50 | 13468 | bitmap graphics editor (paint) | GTK |
inkscape |
V:12, I:28 | 61584 | vector graphics editor (draw) | GNOME |
dia-gnome |
V:1.6, I:4 | 596 | flowchart and diagram editor | GNOME |
mergeant |
V:0.17, I:0.2 | 1412 | データベース管理 | GNOME |
planner |
V:0.8, I:6 | 7468 | プロジェクト管理 | GNOME |
kword
|
V:1.1, I:2 | NOT_FOUND | word processor | KDE |
kspread |
V:1.0, I:2 | NOT_FOUND | spreadsheet | KDE |
kpresenter |
V:0.8, I:2 | NOT_FOUND | プレゼンテーション | KDE |
kexi
|
V:0.4, I:2 | NOT_FOUND | データベース管理 | KDE |
kivio
|
V:1.0, I:2 | NOT_FOUND | flowchart and diagram editor | KDE |
karbon |
V:0.9, I:2 | NOT_FOUND | vector graphics editor (draw) | KDE |
krita
|
V:1.1, I:2 | NOT_FOUND | bitmap graphics editor (paint) | KDE |
kplato |
V:0.3, I:2 | NOT_FOUND | プロジェクト管理 | KDE |
kchart |
V:0.8, I:2 | NOT_FOUND | graph and chart drawing program | KDE |
kformula |
V:0.7, I:1.9 | NOT_FOUND | mathematical equation/formula editor | KDE |
kugar
|
V:0.7, I:1.8 | NOT_FOUND | business quality report generator | KDE |
Here is a list of basic utility applications which caught my eyes:
表7.9 List of basic X utility applications
パッケージ | popcon | パッケージサイズ | 説明 | タイプ |
---|---|---|---|---|
evince |
V:27, I:44 | 1036 | document(pdf) viewer | GNOME |
kpdf
|
V:7, I:15 | NOT_FOUND | document(pdf) viewer | KDE3 |
okular |
V:2, I:4 | 3208 | document(pdf) viewer | KDE4 |
evolution |
V:23, I:41 | 10200 | Personal information Management (groupware and email) | GNOME |
kontact |
V:2, I:13 | 1504 | Personal information Management (groupware and email) | KDE |
scribus |
V:0.7, I:3 | 26864 | desktop page layout editor | KDE |
glabels |
V:0.19, I:0.8 | 1045 | label editor | GNOME |
kbarcode |
V:0.07, I:0.4 | 2180 | barcode and label printing application | KDE |
gnucash |
V:0.9, I:2 | 5840 | 個人会計 | GNOME |
homebank |
V:0.08, I:0.4 | 896 | 個人会計 | GTK |
kmymoney2 |
V:0.2, I:0.9 | 9488 | 個人会計 | KDE |
xsane
|
V:7, I:42 | 744 | scanner frontend | GTK |
kooka
|
V:1.4, I:11 | NOT_FOUND | scanner frontend | KDE |
![]() |
注意 |
---|---|
The |
![]() |
注意 |
---|---|
Installing softwares such as |
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. 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 file "~/.Xresources
" 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 command:
$ xrdb -merge ~/.Xresources
See x
(7) and xrdb
(1).
Learn everything about xterm
(1) at http://dickey.his.com/xterm/xterm.faq.html.
![]() |
警告 |
---|---|
Never start the X display/session manager under the root account by typing
in |
The easiest way to run a particular X client, e.g. "foo
"
as root is to use sudo
(8):
$ sudo foo &
もしくは、
$ sudo -s # foo &
もしくは、
$ gksu foo &
もしくは、
$ ssh -X root@localhost # foo &
![]() |
注意 |
---|---|
Use of |
Please note, in order for the X client to connect to the X server,
$XAUTHORITY
" and
"$DISPLAY
" environment variables must be copied to the
new user's ones, and
$XAUTHORITY
"
environment variable must be readable by the new user.
The gksu
package (popcon: V:27, I:53) 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").