[ 前のページ ] [ 目次 ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ 11 ] [ 12 ] [ 13 ] [ 14 ] [ 15 ] [ A ] [ 次のページ ]
本章はシステム設定の基本をコマンドラインインターフェース のみで説明します。本章を読む前に Debian システムインストールのヒント, 第 3 章 を読んで下さい。
セキュリティに関して関心があるなら、 harden-doc
パッケージにある
Securing Debian
Manual
を読んでください。
Debian は Systen V 形式の init スクリプトシステムを採用しています。
イントロダクションとして init
プログラム, 第 2.4.1 節 をご覧ください。
init スクリプトの挙動を制御する最も易しい方法は /etc/default/
ディレクトリにある init スクリプトのような名前のファイルにある環境変数の
指定を変更することです。 [39]
例えば、/etc/default/hotplug
は /etc/init.d/hotplug
の挙動を制御するために使えます。 /etc/default/rcS
ファイルは
motd
、 sulogin
などのブート時の標準をカスタマイズするために使えます。
これらの変数を変更することにより望みの挙動を実現できない場合は、 init スクリプト自身を修正できます。これらは全て設定ファイルです。
システムのログモードは /etc/syslog.conf
を使って設定可能です。
システムのログファイルに色づけするためのプログラムについては
colorize
パッケージをチェックしてください。
又、syslogd(8)
や syslog.conf(5)
もご覧ください。
Debian でシステム管理者に管理が任されているハードウェアの最適化設定はあまり ありません。
hdparm
ハードディスクアクセスの最適化ツール。非常に効果的。
危険です。まず hdparm(8)
を読む必要があります。
hdparm -tT /dev/hda によりディスクのアクセス速度 をテストします。
hdparm -q -c3 -d1 -u1 -m16 /dev/hda により 最近の IDE システムではディスク速度を高速化できます。(危険かもしれません。)
setcd
コンパクトディスクドライブのアクセスの最適化ツール。
setcd -x 2 により速度を 2 倍速に落とします。
setcd(1)
をご覧ください。
setserial
シリアルポートの管理ツール集。
scsitools
SCSI ハードウェアの管理ツール集。
memtest86
メモリデバイスの管理ツール集。
hwtools
低レベルハードウェア管理ツール集。
irqtune
: 優先度が高く高速なサービスを要求するデバイス (例:
シリアルポートやモデム) にデバイスの IRQ 優先度を変更する。
シリアルポート/モデムの 3 倍の高速化が可能。
scanport
: 装着した ISA デバイスを探すために 0x100 から 0x3ff
までの I/O 空間を検索する。
inb
: I/O ポートを読み込み、8 進数又はバイナリ形式で
値をダンプする小さなクイックハック。
schedutils
Linux スケジューラユーティリティ。
taskset
, irqset
, lsrt
, と
rt
が含まれます。
(これには含まれていない) nice
や renice
と組み合わせて、プロセスのスケジューリングパラメータの完全な制御が 行えます。
noatime オプション付でファイルシステムをマウントするのも
ファイルへの読み込みアクセスが高速化するには非常に効率的です。
fstab(5)
と mount(8)
をご覧ください。
proc ファイルシステムを通じて Linux kernel 自身により直接チューンできる ハードウェアもあります。proc filesystem により Linux kernel をチューニングする, 第 7.2 節 をご覧ください。
Debian には特定のハードウェアに特化した設定ユーティリティが数多く存在します。 これらの多くはノート PC に特定したニーズに対応しています。ここに Debian で 得られるいくつかの興味深いパッケージを挙げます。
tpconfig
- タッチパッドデバイスの設定プログラム
apmd
- Advanced Power Management (APM) 用ユーティリティ
acpi
- ACPI デバイスの情報を表示
acpid
- ACPI を使うためのユーティリティ
lphdisk
- Phoenix NoteBIOS 用のハイパネーション
パーティションの準備を行う
sleepd
- 使わない間ノート PC をスリープさせる
noflushd
- アイドルになっているハードディスクの回転を止める
big-cursor
- X 用の大きいマウスカーソル
acme
- ノート PC にある "マルチメディアボタン"
を有効にする
tpctl
- IBM ThinkPad ハードウェア設定ツール
mwavem
- Mwave/ACP モデムのサポート
toshset
- 東芝ノート PC のインターフェースの多くにアクセスする
toshutils
- 東芝ノート PC 用ユーティリティ
sjog
- Sony VAIO ノートの "ジョグダイアル"
を使うためのプログラム
spicctrl
- LCD のバックライトの輝度設定用の Sony VAIO
コントローラプログラム
ここで、ACPI は APM より新しい電源管理システムのフレームワークです。
これらのパッケージのいくつかは特別な kernel モジュールを要求します。 これらは多くの場合、既に最新の kernel ソースに含まれています。 問題が発生した場合、kernel に最新のパッチを適用する必要があるかもしれません。
PAM (Pluggable Authentication Modules) により、ユーザのログイン方法を制御 できます。
/etc/pam.d/* # PAM 制御ファイル /etc/pam.d/login # ログイン用の PAM 制御ファイル /etc/security/* # PAM モジュールパラメータ /etc/securetty # 端末による root でのログインを制御 /etc/login.defs # ログインの挙動を制御
自分でリスクを負って、安全ではないがパスワード無しで端末にログインしたい
場合は、/etc/pam.d/login
の内容を次のように変えてください。
#auth required pam_unix.so nullok auth required pam_permit.so
パスワード無しで X コンソールにログインするために同様のトリックを
xdm
, gdm
などに適用できます。
一方、良いパスワードポリシーを実施したい場合には、次のように
cracklib2
をインストールして /etc/pam.d/passwd
をセットしてください。
password required pam_cracklib.so retry=3 minlen=6 difok=3
ワンタイムログインパスワードも役に立つかもしれません。
この目的には、passwd
コマンドを -e オプション付で
使ってください。passwd(1)
をご覧ください。
Bash シェルではプロセスの最大数を ulimit -u 1000 としてセット
できますし、/etc/security/limits.conf
で PAM から設定
することもできます。core のような他のパラメータも
同様に設定できます。PATH
の初期値はシェル起動スクリプトの 起動前に
/etc/login.defs
によりセットできます。
PAM のドキュメントは libpam-doc
パッケージで
パッケージングされています。Linux-PAM システム管理者ガイド は PAM
の設定、必要なモジュールなどについてカバーしています。この ドキュメントは
Linux-PAM アプリケーション開発ガイド と Linux-PAM
モジュール開発者ガイド も含んでいます。
su
は wheel グループを サポートしていないのか"
これは Richard M. Stallman による古い info su ページの末尾にある
有名なフレーズです。心配ありません。Debian にある現在の su
は PAM
を使っているので、su
が使える能力を /etc/pam.d/su
にある pam_wheel.so
を使って
あらゆるグループに対して制限できます。次の設定は Debian システムの
adm グループを BSD の wheel
グループと同じようにセットし、 このグループに属するメンバーがパスワード無しで
su
を使用することを許可します。
# /etc/pam.d/su において反 RMS 設定を行う auth required pam_wheel.so group=adm # Wheel メンバーがパスワード無しで suを使えるようにする auth sufficient pam_wheel.so trust group=adm
興味深いグループがいくつか存在します。
root グループは pam_wheel.so
が group=
引数無しで使用されている場合の標準的な wheel グループです。
adm グループはログファイルを読むことが可能です。
cdrom グループは CD-ROM ドライブへのユーザのアクセスを 局所的に許すために使われます。
floppy グループはフロッピドライブへのユーザのアクセスを 局所的に許すために使われます。
audio グループはオーディオデバイスへのユーザのアクセスを 局所的に許すために使われます。
src グループは /usr/src/
にあるソースコードを
所有しています。システムのソースコードを管理する能力をユーザに局所的に
与えるために使われます。
staff メンバは ヘルプデスクやシステム管理者補に対して
/use/local/
で作業を行い、/home/
に
ディレクトリを作成する能力を与えるのに役立ちます。
完全なリストは、Woody では harden-doc
パッケージでも見つかる
Securing Debian
Manual
の "FAQ" セクションをご覧ください。 又、新しい
base-passwd
(3.4.6 以降) にも信頼できる リスト:
/usr/share/doc/base-passwd/users-and-groups.html
が含まれます。
sudo
を使ってより安全に作業をする
私の sudo
の使いかたはほとんど自分のミスからの防御が目的です。
個人的には、sudo
を使うことは、常に root としてシステムを使う
ことに対するより良い代替手段と考えます。
sudo
をインストールして
にあるオプションを
設定して有効にします。また、/etc/sudoers
/usr/share/doc/sudo/OPTIONS
にある
sudo グループ機能を調べます。
設定サンプルは "staff" グループのメンバが sudo
の元で
root としてあらゆるコマンドを起動することと "src" メンバが
sudo
の元で root
として選ばれたコマンドを起動することを許可します。
sudo
の利点は、ユーザの普通のログインパスワードしか必要とせず、
その行動がモニタできるということです。これはシステム管理者補にいくらかの
権限を与える良い方法です。例えば、
$ sudo chown -R myself:mygrp .
もちろん root パスワードを知っている場合、(ほとんどのホームユーザがしているように) ユーザアカウントから root としてコマンドを起動できます。
$ su -c "shutdown -h now" Password:
(管理者アカウントの sudo
権限を強化すべきだと知っていますが、
これは私のホームサーバなので、まだ困っていません。)
通常のユーザが root 権限でコマンドを実行することを許可するプログラムが
他にあります。super
パッケージをご覧ください。
インターネット スーパーサーバ すなわち inetd
は
ブート時に /etc/init.d/inetd
のシンボリックリンクである
/etc/rc2.d/S20inetd
(ランレベルが 2 の場合) により起動されます。
基本的に、inetd
は 1 つの起動中のデーモンが複数の他のデーモン
を起動し、システムの負荷を低減することを許可します。
サービス要求が届いた時には常に /etc/protocols
と
/etc/services
にあるデータベース
を検索することによりプロトコル並びにサービスが識別されます。 そして
inetd
は通常のインターネットサービスを
/etc/inetd.conf
データベース、 Sun-RPC ベースのサービスを
/etc/rpc.conf
にあるデータベースから 捜し出します。
システムのセキュリティのために、/etc/inetd.conf
にある
使用しないサービスを必ず無効化してください。 Sun-RPC サービスは NFS や他の RPC
ベースのプログラムが必要とします。
時々、inetd
は意図したサーバを直接起動しませんが、
tcpd
TCP/IP デーモンラッパプログラムが意図したサーバ名を用いて
/etc/inetd.conf
にある引数として起動されます。
この場合、tcpd
は要求を記録した後に適切なサーバプログラムを
起動し、/etc/hosts.deny
と /etc/hosts.allow
を使ったいくつかの付随的な検査を行います。
最近の Debian システムで遠隔アクセスに問題が発生した場合、
/etc/hosts.deny
に "ALL: PARANOID" という行が存在する
場合はこれをコメントアウトしてください。
詳細については inetd(8)
, inetd.conf(5)
,
protocols(5)
, services(5)
, tcpd(8)
,
hosts_access(5)
, そして hosts_options(5)
をご覧ください。
Sun-RPC についての詳細は、 rpcinfo(8)
, portmap(8)
,
そして /usr/share/doc/portmap/portmapper.txt.gz
をご覧ください。
Lightweight Directory Access Protocol (LDAP) を使いましょう。 以下を参照してください。
openldap-guide
パッケージにある OpenLDAP 管理者ガイド
LDP: LDAP Linux
HOWTO
ATAPI/IDE インターフェースを用いた CD ライターは最近非常にポピュラーな
選択肢になっています。640 MB 以下の容量しか必要としないホームユーザ
にとってのシステムバックアップとアーカイブのための素晴らしい媒体です。 CD
ライターに関する最も信頼できる情報は、LDP CD-Writing-HOWTO
をご覧ください。
まず、CD ライターに送るデータが中断すると CD に回復できない被害が発生します。 できるだけ大きなバッファを CD ライターに与えて下さい。 お金を問わないならば、ATAPI/IDE に拘らず、SCSI を使ってください。 接続する IDE インターフェースを選択する場合、ISA バス上 (SB16 カード など) にあるものよりも PCI バス上 (マザーボードにあるものなど) にあるものを 使ってください。
CD ライターが IDE に接続されていると、Linux 2.2 kernel と 2.4 kernel では 通常の IDE CD ドライバの代わりに IDE-SCSI ドライバが働きます。 又、IDE-SCCI ドライバを有効にするには SCSI generic ドライバが必要となります。 最新のディストリビューション (2001 年 3 月現在)により配布されている kernel の使用を仮定すると、CD を焼くためには 2つの可能なアプローチが存在します。
Linux 2.6 カーネルの場合には、通常の IDE ドライバーを使い CD-RW デバイスに
/dev/hdx
と言ったデバイス名で直接アクセスするべきです。
こうすれば DMA が使えます。
lilo
Debian パッケージの kernel を使っている場合は、/etc/lilo.conf
に次の行を追加してください。複数のオプションを使う場合、スペースでそれらを
区切ってください。
append="hdx=ide-scsi ignore=hdx"
ここで CD ライターの場所は、ide-scsi ドライバを通してアクセスする場合、 hdx として示されます。ここで x は、 次のいずれかを表します。
hda プライマリ IDE ポートのマスター hdb プライマリ IDE ポートのスレーブ hdc セカンダリ IDE ポートのマスター hdd セカンダリ IDE ポートのスレーブ hde から hdh 外部 IDE ポート又は ATA66/100 IDE ポートに接続されたドライブ
root で次のコマンドをタイプすることにより、全設定が有効になります。
# lilo # shutdown -h now
Debian は kernel を作るために make-kpkg
を用います。 複数の kernel
イメージを構築するため、make-kpkg
の 新しい
--append_to_version オプションを用います。 Debian での Linux kernel, 第 7 章 をご覧ください。
make menuconfig を通じて次のセットアップを使用してください。
bzImage
IDE CD ドライバを除く (必須ではないがシンプルになります)
ide-scsi と sg を組み込むかモジュールとしてコンパイルする
次を実行することによりブート中に kernel の CD ライターのサポートを有効に できます。
# echo ide-scsi >>/etc/modules # echo sg >>/etc/modules # cd /dev; ln -sf scd0 cdrom
手動により CD ライターを有効にするには次を実行します。
# modprobe ide-scsi # modprobe sg
リブート後、このように CD ライターのインストールをチェックできます。
$ dmesg|less # apt-get install cdrecord # cdrecord -scanbus
[Warren Dodge による] CD-ROM と CD-R/RW がシステムに同時に存在する場合、時々
ide-scsi と ide-cd
の間で衝突が発生することがありえます。 /etc/modutils/aliaese
に次の行を追加して、 update-modules
を起動してからリブートしてみてください。
pre-install ide-scsi modprobe ide-cd
この設定は IDE ドライバを ide-scsi の前にロードさせます。 IDE ドライバ ide-cd は ATAPI CD-ROM を制御します。 — これは ide-scsi が制御するデバイスを無視するだけです。
target-directory/
にあるファイルの CD イメージを
cd-image.raw
として作成するには、フロッピドライブにブートフロッピを挿入して次を 実行します。
(ブータブルな Joilet TRANS.TBL が有効化されたフォーマット。
ブート不能な場合は、-b と -c オプションを取る)
# dd if=/dev/fd0 target-directory/boot.img # mkisofs -r -V volume_id -b boot.img -c bootcatalog -J -T \ -o cd-image.raw target_directory/
ブータブル DOS CD-ROM を作るのは面白いハックです。通常の DOS ブートフロッピ
ディスクイメージは boot.img
にあり、CD-ROM は DOS
フロッピが A ドライブにあるかのようにブートします。これを freeDOS
を使って行うとより面白いかもしれません。
この CD イメージはループバックデバイスによりマウントして検査できます。
# mount -t iso9660 -o ro,loop cd-image.raw /cdrom # cd /cdrom # mc # umount /cdrom
まず次のようにテストを行います。 (倍速と仮定)
# nice --10 cdrecord -dummy speed=2 dev=0,0 disk.img
結果が OK ならば、CD-R に次のように書き込みます。
# nice --10 cdrecord -v -eject speed=2 dev=0,0 disk.img
又は CD-RW ディスクに次のように書き込みます。
# nice --10 cdrecord -v -eject blank=fast speed=2 dev=0,0 disk.img
次のようにした方が良い CD-RW ドライブもあります。
# nice --10 cdrecord -v blank=all speed=2 dev=0,0 disk.img
に続いて
# nice --10 cdrecord -v -eject speed=2 dev=0,0 disk.img
を実行します。 この 2
ステップは消去作業中に、書き込み作業を妨害するのを防ぐために
必要となります。nice
の引数は幾らか調整が必要となる
かもしれません。
ある CD-R や商用 CD は dd
によるコピーができなくなるように
終わりに壊れたセクタを持っています。(Windows 98 CD はこの 1 つです)
cdrecord
パッケージには readcd
コマンドが付随しています。このコマンドを使うと CD の内容をコピーして
イメージファイルを作成できます。データディスクの場合、マウントして
df
を実行することにより実際のサイズがわかります。 そのブロック数を
2 で割って実際の CD セクター数がわかります。 (1セクタ = 2048 byte) そして
readcd
を次に示すオプション付きで実行し、
作成されたディスクイメージを使って CD-R/RW に書き込めます。
# readcd dev=target,lun,scsibusno # 機能 11 を選択
ここで、ほとんどの場合はこれら 3 つのパラメータは全て 0 にセットします。 通常
readcd
により与えられるセクタ数は過大です!
実際にマウントして得られる数を使う方がより良い結果をもたらします。
dd
を CD に対して使うといくつか問題が発生することを
言及すべきです。dd
コマンドを最初に実行すると、
エラーが発生し、末尾が失われた短いディスクイメージができるかもしれません。 次に
dd
コマンドを実行すると、ディスクサイズが指定されていない
場合、後ろにごみデータが付随した大きなディスクイメージができるかもしれない
システムがあるかもしれません。引数として正しいディスクサイズを与えて
dd
コマンドを 2 回実行し、エラーメッセージの後に CD
をイジェクトしなければこれらの問題を避けられるようです。
例えば、df
により表示されるイメージサイズが 46301184
であった場合、次のコマンドを 2 回実行すると
正しいイメージを得られます。(これは経験的な情報です)
# dd if=/dev/cdrom of=cd.img bs=2048 count=$((46301184/2))
Debian CD の最新情報を得るには、 Debian CD site
を訪れてください。
高速なインターネット接続を持っている場合は、次を用いてネットワーク越しに インストールすることを考えてみてください。
高速なインターネット接続を持っていない場合は、 CD vendor
から CD
を購入することを 考慮してください。
CD イメージのテスタで無い限り、(たとえ新しい jigdo を使ったとしても) 標準の CD イメージをダウンロードしてバンド幅を無駄に消費しないでください。
言及すべき CD イメージは KNOPPIX - Live Linux
Filesystem On CD
です。 この CD
はハードディスクにインストールせずに機能する Debian システムを ブートします。
主要な設定ファイルとデータファイルを CD-R にコピーするには、
にあるサンプルバックアップ
スクリプトを使います。又、サブディレクトリ全体のコピーとアーカイブ, 第
8.3 節 と 差分バックアップとデータ同期, 第 8.4
節 もご覧下さい。
backup
テストしていません。
# apt-get install cdrecord cdparanoia # cdparanoia -s -B # cdrecord dev=0,0,0 speed=2 -v -dao -eject defpregap=1 -audio *.wav
又は
# apt-get install cdrdao #disk at once # cdrdao read-cd --device /dev/cdrom --paranoia-mode 3 my_cd # CD を読み込む # cdrdao write --device /dev/cdrom --speed 8 my_cd # 新しい CD を書き込む
cdrdao
は (ギャップなどが無い) 真のコピーを作ります。
DVD に書き込む場合, 2 つのアプローチがあります:
growisofs
を mkisofs
とともに使う。
/usr/share/doc/cdrecord/README.DVD.Debian
に書かれた手順で
cdrecord
を dvd
オプションでリコンパイルしローカルパッケージを作る。
W Window System は XFree86
により 供給されています。Debian システムでは 2つのメジャーバージョンの X
サーバ、 すなわち XFree86 Version 3.3 (XF3) と XFree86 Version 4.x シリーズ
(XF4) が得られますが、どちらも X.Org
による X11R6 規格に基づいています。
X の基礎は、X(7)
、LDP XWindow-User-HOWTO
や Remote X
Apps mini-HOWTO
を参照してください。Debian 特有のユーザガイドは、
xfree86-common
パッケージにより供給される
/usr/share/doc/xfree86-common/FAQ.gz
をご覧下さい。 これには
Branded Robinson による興味深く信頼が置けるキーバインディング
問題の報告が含まれます。
ユーザのモニタ (CDT,液晶) に X window やデスクトップを 表示し、キーボードやマウスの入力を受け付けるローカルホストでのプログラム。
X 互換なアプリケーションソフトを起動する (ローカル又はリモートでの) プログラム
これは他の文脈での通常の "サーバ" と "クライアント" の逆の使いかたです。
"X クライアント" (アプリケーション側) から "X サーバ" (ディスプレイ側) がリモート接続を得るための複数の方法があります。
xhost
ホストリストを用いた方法 (非常に危険)
暗号化されていないプロトコル (盗聴されやすい)
できるならば使わないでください。
リモートの X サーバに接続する – xhost
, 第
9.4.7 節 と xhost(1x)
参照。
xauth
MIT magic cookie を使った方法 (安全ではないが xhost
よりは良い)
暗号化されていないプロトコル (盗聴されやすい)
ssh -X
よりは CPU 負荷が少ないのでローカル接続に限り
使ってください。
X で root 権限を取得する, 第 9.4.12 節 と
xauth(1x)
参照。
xdm
, wdm
, gdm
, kdm
などの方法
MIT magic cookie を用いた方法 (xauth
と同様に安全では無い)
X ディスプレイアクセス制御については xdm(1x)
と
Xsecurity(7)
を参照。
インストールしている場合、詳細は wdm(1x)
, gdm(8)
, と
kdm.options(5)
を参照。
xdm
パッケージをパージせずにブート時に Linux コンソール
を得るために xdm
を無効にする方法は ランレベルのカスタマイズ, 第 2.4.3
節 を参照。
ssh -X
安全なシェル (ssh) によるポートフォワードを用いる 方法
暗号化されたプロトコル (ローカル接続の場合リソースの無駄)
リモート接続の場合はこれを使ってください。
ssh
を除いて、全てのリモート接続は X サーバ上で可能な TCP/IP
接続を要求します。TCP/IP 越しに X を使う, 第 9.4.6 節
をご覧下さい。
Woody に X システムをインストールするのを簡単にするためにいくつかの (メタ)パッケージが供給されています。
x-window-system-core
このメタパッケージは X Window System を起動するスタンドアロンの
ワークステーションに不可欠な構成要素を供給します。X ライブラリ、 X サーバ
(xserver-xfree86
)、フォント群、そして 基本的な X
クライアントおよびユーティリティ群を供給します。
x-window-system
このメタパッケージは XFree86 プロジェクトにより開発されている X Window System
としての実質上全ての構成要素を供給するだけでなく、
歴史的に有名なアクセサリプログラムのセットを供給します。
(とりわけ、x-window-system-core
, twm
, そして
xdm
などに依存します。これをインストールする場合
x-window-system-core
をインストールする必要はありません。)
xserver-common-v3
XFree86 3.x X サーバ (XF3) に共通のファイルやユーティリティです。
xserver-*
何らかの理由で新しい XF4 サーバ (xserver-xfree86
)
によりサポートされていないハードウェアをサポートするための補助的な XF3
サーバパッケージです。いくつかの古い ATI mach64 カードは XF4
でサポートされていませんし、他のカードも Woody でのバージョンの XF4
ではひどくハングします。(取得可能なパッケージは、 apt-cache search
xserver-|less により判明します。 これら XF3 サーバの全ては
xserver-common-v3
に 依存します。)
ほとんどの場合、x-window-system
パッケージをインストール
すべきです。(コンソールでログインしたい場合は、"boot 時に X
を無効にさせてくれ!", 第 8.1.4 節 で言及されているように
xdm
を無効にすることを忘れないで ください。)
X の設定段階でハードウェアの検出を有効にするには、 X システムをインストールする前に次のパッケージをインストールしてください。
discover
– ハードウェア認識システム。
mdetect
– マウスデバイス自動検知ツール。
read-edid
– VESA PnP モニタ用のハードウェア 情報収集ツール。
X サーバに関する情報は XFree86(1x)
をご覧下さい。
ローカルの端末から X サーバを起動するには、次を実行します。
$ startx -- :<display> vtXX 例えば、 $ startx -- :1 vt8 -bpp 16 ... vt8 で 16bpp モードを用いて X サーバを起動し、localhost:1 に接続
-- の後に与えられた引数は X サーバのためのものです。
X サーバ起動スクリプトをカスタマイズするために ~/.xserverrc
スクリプトを使用している場合、本当の X サーバを必ず exec
してください。 こうしないと X サーバの起動が遅くなり、exit
することに注意してください。 例えば、
#!/bin/sh exec /usr/bin/X11/X -dpi 100 -nolisten tcp
XF4 サーバの(再)設定を行うには、
# dpkg-reconfigure --priority=low xserver-common # dpkg-reconfigure --priority=low xserver-xfree86
を実行して /etc/X11/XF86Config-4
ファイルを生成し、
dexconf
スクリプトを用いて X の設定を行います。
XF3 サーバの(再)設定を行うには、例えば、ATI mach64 の場合、
# dpkg-reconfigure --priority=low xserver-common-v3 # dpkg-reconfigure --priority=low xserver-mach64
を実行して /etc/X11/XF86Config
ファイルを生成し、
xf86config-v3
スクリプトを用いて X の設定を行います。
Woody の場合、/etc/X11/XF86Config-4
ファイルにユーザの
カスタマイズを追加します。
設定ファイル中の次の行を決して編集しないでください。
### BEGIN DEBCONF SECTION [snip] ### END DEBCONF SECTION
その代わり、テキストの前にカスタマイズを追加してください。 例えば、ビデオデバイスをカスタマイズするには、ファイルの 先頭 に次のテキストに似た行を追加してください。
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
Sarge (この文書の作成時は testing) の場合、
アップグレードを通じてカスタマイズした設定を /etc/X11/XF86Config
保ちたい場合、次のコマンドを root として実行してください。
# cp /etc/X11/XF86Config-4 /etc/X11/XF86Config-4.custom # md5sum /etc/X11/XF86Config-4 > /var/lib/xfree86/XF86Config-4.md5sum # dpkg-reconfigure xserver-xfree86
フォントのアンチエイリアス を行うには、 X
での TrueType フォント, 第 9.4.13 節 に記述されているように
/etc/X11/XF86Config-4
を編集する必要があります。
X の設定ファイルの他の部分もチェックしてみてください。ひどいモニタ設定 はひどいフォントよりも頭痛をもたらします。ですのでリフレッシュレートが 使っているモニタが発揮できるレートと同じ位高いことを確認してください。 (85 Hz なら素晴らしい、75 Hz なら大丈夫、60Hz だと苦痛です)
X クライアントプログラムのほとんどは次のようなコマンドで起動されます。
client $ xterm -geometry 80x24+30+200 -fn 6x10 -display hostname:0 &
ここで、任意のコマンドライン引数は次を意味します。
-geometry WIDTHxHEIGHT+XOFF+YOFF: 起動時のウィンドウのサイズと位置
-fn FONTNAME: テキスト表示用のフォント FONTNAME は次を設定可能です。
a14: 通常サイズのフォント
a24: 大きなサイズのフォント
など (xlsfont でフォントが使えるかをチェックしてください。)
-display displayname: 使用する X サーバ名 displayname は次のようになります。
hostname:D.S はホスト
hostname のディスプレイ D 上の
S スクリーンを意味します。このディスプレイ用の X
サーバは UNIX domain socket /tmp/.X11-unix/XD
を listen
しています。(それゆえ host からしか読めません)
:D.S は host/unix:D.S と等価です。ここで host はローカルのホスト名です。
X クライアントプログラム (アプリケーション側) 用の標準の displayname は DISPLAY 環境変数によりセットできます。 例えば、環境変数を設定するために X クライアントプログラムより先に 次のコマンドのうちひとつを実行します。
$ export DISPLAY=:0 # 標準、ローカルマシンの第一スクリーン $ export DISPLAY=hostname.fulldomain.name:0.2 $ export DISPLAY=localhost:0
この設定は ~/.xinitrc
によりカスタマイズできます。例えば、
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
X セッションのカスタマイズ, 第 9.4.5.1 節
に記述したように、この設定は startx
から実行された場合、Xsession
の通常の実行結果を全て上書きします。
その代わり、~/.xsession
を苦肉の策としてのみ使ってください。
xsetroot(1x)
、 xset(1x)
と X
リソース, 第 9.4.10 節 をご覧下さい。
X セッション (X サーバ + X クライアント) は次のように起動できます。
startx
: Linux 文字端末から X サーバと X クライアントを
起動するための xinit
のラッパースクリプトコマンド。
~/.xinitrc
が存在しない場合、/etc/X11/Xsession
が
/etc/X11/xinit/xinitrc
を通じて実行される。
xdm
, gdm
, kdm
, や wdm
: X
サーバと X クライアントを起動し、GUI スクリーン 経由でログインを制御するためのX
ディスプレイマネージャデーモン。 /etc/X11/Xsession
が直接実行される。
コンソールは "boot 時に X を無効にさせてくれ!", 第 8.1.4 節 に記述されている方法で取得できます。
標準の起動スクリプト /etc/X11/Xsession
は
/etc/X11/Xsession.d/50xfree86-common_determine-startup
と
/etc/X11/Xsession.d/99xfree86-common_start
が組み合わさったもの
です。
/etc/X11/Xsession
の実行は /etc/X11/Xsession.options
にいくらか影響を受け、本質的には 次の順序で最初に見付かったプログラムを
exec
コマンドで 実行することになります。
定義されている場合、 ~/.xsession
か ~/.Xsession
定義されている場合、 /usr/bin/x-session-manager
定義されている場合、/usr/bin/x-window-manager
定義されている場合、/usr/bin/x-terminal-emulator
これらのコマンドの正確な意味は Alternative コマンド, 第 6.5.3 節 に記述されている Debian alternative システムにより定義されています。 例えば、
# update-alternatives --config x-session-manager 又は # update-alternatives --config x-window-manager
GNOME や KDE のセッションマネージャをインストールしたまま他の X
ウィンドウマネージャを標準にするには、
/etc/X11/Xsession.d/50xfree86-common_determine-startup
を http://bugs.debian.org/168347
の 2 番目のバグレポートに添付されているもの に置き換え
(これがすぐに含まれればいいのですが)、 X
セッションマネージャを禁じるために次のように
/etc/X11/Xsession.options
を編集します。
# /etc/X11/Xsession.options # # configuration options for /etc/X11/Xsession # See Xsession.options(5) for an explanation of the available options. # Default enabled allow-failsafe allow-user-resources allow-user-xsession use-ssh-agent # Default disabled (enable them by uncommenting) do-not-use-x-session-manager #do-not-use-x-window-manager
上で述べた修正をシステムに行わないと、gnome-session
と
kdebase
はこれらの X セッションマネージャを含む
パッケージとなります。これらを削除すると X ウィンドウマネージャが標準
になります。(Yack, any better idea?)
/etc/X11/Xsession.options
に allow-user-xsession
という行が有効になっている場合、 ~/.xsession
や
~/.Xsession
を定義したユーザは /etc/X11/Xsession
のアクションをカスタマイズできます。
お好みの X ウィンドウ/セッションマネージャを起動するために、
~/.xsession
ファイルの最後のコマンドは exec
some-window/session-manager の形にすべきです。
~/.xsession
スクリプトの良い例は
/usr/share/doc/xfree86-common/examples/xsession.gz
に置いておきます。
私はこれをウィンドウマネージャ、スクリーンへのアクセス、ユーザアカウント毎の 言語サポートの設定のために使っています。 ユーザ用に X セッションを開始する, 第 9.4.5.2 節, X で root 権限を取得する, 第 9.4.12 節, そして 多言語 X window システムの例, 第 9.7.9 節 をご覧下さい。
複数の X クライアントプログラムを同時に起動したい場合、 X
クライアント, 第 9.4.4 節 の例を見て、それらを ~/.xinitrc
ではなく ~/.xsession
から起動してください。
ユーザが指定する追加的な X リソースは ~/.Xresources
に
保存できます。X リソース, 第 9.4.10 節
をご覧下さい。
X においてユーザがカスタマイズしたキーマップとポインタデバイスのマッピングも ユーザの起動スクリプトで指定できます。X における keymap とポインタボタンマッピング, 第 9.4.11 節 をご覧下さい。
X セッションのカスタマイズ, 第 9.4.5.1 節
に記述されている原則に従い、ユーザ指定の X
セッション/ウィンドウマネージャは、指示されたパッケージをインストールし、
次のように ~/.xsession
の最後に設定することにより有効化 できます。
(私はシンプルなスタイルと高速性から blackbox
/ fluxbox
が好きです。)
標準の X セッションマネージャ
exec /usr/bin/x-session-manager
標準の X ウィンドウマネージャ
exec /usr/bin/x-window-manager
GNOME セッションマネージャ (重い)
インストールするパッケージ: gnome-session
exec /usr/bin/gnome-session
KDE セッションマネージャ (重い)
インストールするパッケージ: kdebase
(又は KDE3 の場合
kdebase3
)
exec /usr/bin/kde2
Blackbox ウィンドウマネージャ (軽量でしなやか)
インストールするパッケージ: blackbox
exec /usr/bin/blackbox
Fluxbox ウィンドウマネージャ (軽量、新しい blackbox)
インストールするパッケージ: fluxbox
exec /usr/bin/fluxbox
Xfce ウィンドウマネージャ (Mac OS-X や SUN CDE ライク)
インストールするパッケージ: xfce
exec /usr/bin/xfwm
IceWM ウィンドウマネージャ (軽量、GNOME の代替品)
インストールするパッケージ: icewm
exec /usr/bin/X11/icewm
FVWM2 仮想ウィンドウマネージャ (軽量、Win95 ライク)
インストールするパッケージ: fvwm
exec /usr/bin/fvwm2
Windowmaker ウィンドウマネージャ (幾らか NexT ライク)
インストールするパッケージ: wmaker
exec /usr/bin/wmaker
Enlightenment ウィンドウマネージャ (重い)
インストールするパッケージ: enlightenment
exec /usr/bin/enlightenment
Window Managers for X
をご覧下さい。
KDE 又は GNOME 環境を完全に設定するためには、次のメタパッケージが 役立ちます。
KDE: kde
パッケージをインストール
GNOME: gnome
パッケージをインストール
これらのパッケージを Recommends を操作できる dselect
や aptitude
のようなツールでインストールすると、 ただ
apt-get
でインストールするよりも適切な
ソフトウェアの選択を行えます。
端末からログインをしたい場合、kdm
、 gdm
のような X
ディスプレイマネージャを必ず無効に してください。これらは "boot 時に X
を無効にさせてくれ!", 第 8.1.4 節 に記述されているように、
メタパッケージといっしょに依存性に従いインストールされるかもしれません。
KDE ではなく、GNOME をシステムの標準にしたい場合、 Alternative コマンド, 第 6.5.3 節
にあるように x-session-manager
の 設定を必ず行ってください。
暗号化を行わずにリモートの TCP/IP ソケット接続を行うのは盗聴攻撃を
受けやすいので、最近の Debian における標準の X の設定は TCP/IP
ソケットを無効にしています。リモートから X へ接続するには、 ssh
の使用を考慮してください。(リモートの X サーバに接続する
– ssh
, 第 9.4.8 節 参照)
ここで記述する方法は信頼できるユーザしか存在しない良質のファイアーウォール システムの後ろに隠れた非常に安全な環境にいるので無ければ推奨されません。 現在の TCP/IP ソケットに関する X の設定を検証するために、次のコマンドを 使用してください。
# find /etc/X11 -type f -print0 | xargs -0 grep nolisten /etc/X11/xinit/xserverrc:exec /usr/bin/X11/X -dpi 100 -nolisten tcp
X サーバが TCP/IP を listen されるには、-nolisten を削除してください。
xhost
xhost
を使ってホスト名に基づいてリモートホストにアクセスできる
ようになります。これは非常に危険です。次の手順によりホストのチェックを
無効にし、TCP/IP ソケット接続が許されている所からならどこからでも
接続を許すようになります。(TCP/IP 越しに X を使う, 第 9.4.6
節 参照)
$ xhost +
ホストのチェックを次の手順で再び有効にできます
$ xhost -
xhost
はリモートホストの異なるユーザを区別できません。
又、ホスト名 (実際はアドレス) はだまされ得ます。
この方法は信頼できないネットワーク (例えばインターネットへダイアルアップ PPP
接続している場合など) では、より制限されたホスト基準を用いていたとしても
避けるべきです。xhost(1x)
をご覧下さい。
ssh
ssh
を使うと、ローカルの X サーバからリモートのアプリケーション
サーバに安全な接続を行うことが可能になります。
コマンドラインオプションを省略したい場合、リモートホストの
/etc/ssh/sshd_config
にある X11Forwarding および
AllowTcpForwarding エントリを yes
にセットしてください。
ローカルホストで X サーバを起動する。
ローカルホストで xterm
を開く。
ssh
を起動してリモートサイトへの接続を確立する。
localname @ localhost $ ssh -q -X -l loginname remotehost.domain Password: .....
リモートサイトで X アプリケーションを起動する。
loginname @ remotehost $ gimp &
この方法はローカルの UNIX ドメインソケットを通してローカルで接続 しているかのようにリモートの X クライアントの出力を表示できます。
xterm
http://dickey.his.com/xterm/xterm.faq.html
で xterm
についての全てを学んでください。
xterm
のような多くの古い X プログラムは、見栄えを設定する ために X
リソースデータベースを用います。
ユーザのリソース指定を保存するため、~/.Xresources
ファイルを
用います。このファイルはログイン時に標準の X リソースと自動的に
マージされます。システムの標準となっている X リソースは
/etc/X11/Xresources/*
に、アプリケーションの標準リソースは
/etc/X11/app-defaults/*
に保存されます。
これらの設定を開始点として使用します。
~/.Xresources
ファイルに追加すべき役立つ設定を いくつか示します。
! フォントを読みやすい 9x15 にセット XTerm*font: 9x15 ! スクロールバーを表示 XTerm*scrollBar: true ! バッファサイズを 1000 行にセット XTerm*saveLines: 1000 ! 大きな kterm スクリーン KTerm*VT100*fontList: -*-fixed-medium-r-normal--24-*,\ -*-gothic-medium-r-normal--24-*,\ -*-mincho-medium-r-normal--24-*
これらの設定を直ちに有効にするには、次のコマンドを使ってデータベースに マージします。
xrdb -merge ~/.Xresources
xrdb(1x)
をご覧下さい。
xmodmap
プログラムは X クライアントアプリケーション上で
イベントのキーコードをキーシムに変換するために用いるキーボード modifier
マップと keymap テーブルを編集したり表示するために用いられます。
$ xmodmap -pm ... 現在の modifier マップを表示 $ xmodmap -pk | pager ... 現在の keymap テーブルを表示 $ xmodmap -e "pointer = 3 2 1" # 左利き用マウスに設定 $ xmodmap ~/.xmodmaprc # キーボードのマッピングを ~/.xmodmaprc で設定
これは通常ユーザのセッション起動スクリプトである ~/.xsession
から起動されます。
keycode を取得するには、X 上で xev
を起動し、 keycode
を取得したいキーを押します。keysym の意味を知るには、
/usr/include/X11/keysymdef.h
ファイルにある MACRO 定義を
調べます。このファイルにある全ての #define 文は XK_
として指定されており、それぞれが keysym 名 と対応しています。
xmodmap(1x)
をご覧下さい。
GUI プログラムを root 権限で起動する必要がある場合、次の手順に従って プログラムの出力をユーザの X サーバに表示してください。 セキュリティの問題を可能な限り避けるため、 決して X サーバを直接 root から起動しようとしてはいけません。
X サーバを通常のユーザとして起動し、xterm
端末を開きます。
そして次を実行します。
$ XAUTHORITY=$HOME/.Xauthority $ export XAUTHORITY $ su root Password:***** # printtool &
このトリックを su
で非 root ユーザに変更するために使う場合、
~/.Xauthority
がその非 root ユーザが属するグループが
読み込み可能であることを確認してください。
この作業を自動化するには、ユーザアカウントの ~/.xsession
に
次の行を追加します。
# root アカウント に su した時に X が動くようにする。 if [ -z "$XAUTHORITY" ]; then XAUTHORITY=$HOME/.Xauthority export XAUTHORITY fi unset XSTARTUP # 特定のウィンドウ/セッションが必要な場合、次の行のコメントを外して # 必要に応じて編集する。 #XSTARTUP=/usr/bin/blackbox # x-window/session-manager プログラムを起動 if [ -z "$XSTARTUP" ]; then if [ -x /usr/bin/x-session-manager ]; then XSTARTUP=x-session-manager elif [ -x /usr/bin/x-window-manager ]; then XSTARTUP=x-window-manager elif [ -x /usr/bin/x-terminal-emulator ]; then XSTARTUP=x-terminal-emulator fi fi # X window/session manager を自動実行 exec $XSTARTUP
そして (su - ではなく) su
を ユーザの
xterm
ウィンドウ上で起動します。するとこの xterm
から起動する GUI プログラムは root 権限で動きますが出力をユーザの X window
上に表示できます。 このトリックは標準の /etc/X11/Xsession
が実行される限り 動きます。ユーザが ~/.xinitrc
や
~/.xsession
をカスタマイズした場合、上で言及した環境変数
XAUTHORITY
がこれらのスクリプトと同じように設定される必要があります。
代わりに、sudo
を上記の手順を自動化するために 使用できます。
$ sudo xterm ... 又は $ sudo -H -s
ここで、/root/.bashrc
に次の行が含まれる必要があります。
if [ $SUDO_USER ]; then sudo -H -u $SUDO_USER xauth extract - $DISPLAY | xauth merge - fi
これはユーザのホームディレクトリが NFS マウントされている場合でさえも
うまく動きます。それは root が .Xauthority
ファイルを読まない
ためです。
この目的のために用いられる専門プログラムとしては、 kdesu
,
gksu
, gksudo
, gnome-sudo
, そして
xsu
などが存在します。 同様の結果を得るために、
/root/.Xauthority
のシンボリックリンクをユーザのホームディレクトリ
に作成することや、スクリプト sux
を使う、 root
の初期化スクリプトに "xauth merge
~USER_RUNNING_X/.Xauthority" を追加するなどの
他にいくつかの方法が使えます。
さらに知りたい場合は debian-devel
mailing list
をご覧下さい。
XFree86-4 での標準的な xfs
は TrueType をうまく処理します。
XFree86-3 を使っている場合は、xfs-xtt
のような
サードパーティのフォントサーバをインストールする必要があります。
TrueType フォントを使いたいアプリケーションが libXft にリンクされているか、 それとも libfreetype にリンクされているかを確認することだけが必要です。 (前もってコンパイルされた .deb を使っている場合はこれさえも心配する必要は たぶん無いでしょう。)
まずフォントのサポートインフラを設定します。
x-ttcidfont-conf
および defoma
パッケージをインストールする。 これは fonts.scale
と
fonts.dir
ファイルの 自動生成を行います。
# apt-get install x-ttcidfont-conf
/etc/X11/XF86Config-4
の Section "Files" を
次のように編集します。
Section "Files" FontPath "/var/lib/defoma/x-ttcidfont-conf.d/dirs/TrueType" FontPath "/usr/share/fonts/truetype" FontPath "/usr/lib/X11/fonts/CID" FontPath "/usr/lib/X11/fonts/Speedo" FontPath "/usr/lib/X11/fonts/misc" FontPath "/usr/lib/X11/fonts/cyrillic" FontPath "/usr/lib/X11/fonts/100dpi:unscaled" FontPath "/usr/lib/X11/fonts/75dpi:unscaled" FontPath "/usr/lib/X11/fonts/Type1" EndSection
最初の行は、 XFree86 が Debian パッケージからインストールした TrueType フォントを使えるように設定します。 XFree86 が Type1 フォントのレンダリングをうまくできないので、Type1 フォントのエントリは格下げされています。 ビットマップフォントに対する :unscaled のトリックは XF4 ではもはや 必要ありませんが、残しています。
/etc/X11/XF86Config-4
の手動での変更を保存するには、 X サーバを手動で設定する, 第 9.4.3.3 節
にある指示に従ってください。
次に、DFSG フォントパッケージをインストールします。
欧米TrueType フォント:
ttf-bitstream-vera
: Bitstream, Inc により作成 された高品質な
TrueType フォントセット。 [40]
ttf-freefont
: UCS 文字セットをカバーする TrueType フォント。
ttf-thryomanes
: Latin, Greek, Cyrillic, および IPA をカバーする
TrueType Unicode フォント。
アジア圏のフォント:
tfm-arphic-bsmi00lp
: Tex フォトメトリックデータ用の 中国 Arphic
"AR PL Mingti2L Big5" TrueType フォント。
tfm-arphic-bkai00mp
: Tex フォトメトリックデータ用の 中国 Arphic
"AR PL KaitiM GB" TrueType フォント。
tfm-arphic-gbsn00lp
: Tex フォトメトリックデータ用の 中国 Arphic
"AR PL SungtiL GB" TrueType フォント。
tfm-arphic-gkai00mp
: Tex フォトメトリックデータ用の 中国 Arphic
"AR PL KaitiM GB" TrueType フォント。
ttf-baekmuk
: 韓国の Baekmuk シリーズ TrueType フォント
hbf-jfs56
: CJK 用の 中国 Jianti Fangsong 56x56
ビットマップフォント (GB2312)
hbf-cns40-b5
: CJK 用の中国 Fanti Song 40x40 ビットマップフォント
(Big5)
hbf-kanji48
: CJK 用の日本語漢字 48x49 ビットマップ フォント
フリーな フォントは時々制限があるので、Debian ユーザ にとって商用の TrueType フォントをインストール又は共有することは 選択肢のひとつです。 この手順を容易にするためにいくつか便利なパッケージが作成されています。
ttf-commercial
msttcorefonts (>1.1.0)
[41]
フリーな システムを非フリーなフォントで汚染することを 犠牲にするならば、本当に良い TrueType フォントの選択を行ってください。
Debian におけるこれらのフォントパッケージは努力無しで動き、 通常の "コア" フォントシステムを使用する全ての X プログラムに対して 使用できるようになるべきです。X プログラムには Xterm、Emacs や 他のほとんどの 非 KDE 、非 GNOME アプリケーションが含まれます。
ついに、xfontsel
を起動して fndry メニュで TrueType
フォントを選べば、"fmly" メニュにたくさんの黒色の選択可能なエントリ
が見付けられるはずです。
(GTK 1.2 がアンチエイリアスフォントレンダリングを行えるようにハックされた
libgdkxft0 を使っている) KDE 2.2 と GNOME 1.4 では、Xft1 を設定する必要が
あります。その上、Xft1 はかなり時代遅れになっており、基本的に GNOME 1.4 と KDE
2.2 でしか使われていません。 /etc/X11/XftConfig
を編集し、
dir "/var/lib/defoma/x-ttcidfont-conf.d/dirs/TrueType"
のような行を他の dir 行の前に追加してください。
[42]
GNOME2 と KDE3 (Sarge リリース後) では、フォントを見付けるのに Xft2
を使っている fontconfig
を設定する必要があります。 [43] fontconfig
に依存するパッケージは既に (間接的に) このパッケージに Depends
しているので、設定を行うのに何か特別なパッケージを
インストールする必要はありません。
まず、/etc/fonts/fonts.conf
を見ます。下に示すような行
があるはずです。無い場合は、/etc/fonts/local.conf
を開き、
下の内容を <fontconfig> の行のすぐ後に追加します。
<dir>/var/lib/defoma/x-ttcidfont-conf.d/dirs/TrueType</dir>
fontconfig
はこの変更に直ちに対応し、 "fc-list"
により新しいフォントが追加されるはずです。 fontconfig
の他の巧妙な機能によって、 フォントを ~/.fonts/
に入れるだけで
fontconfig を 使用するプログラムは直ちにこれらのフォントを使用可能になります。
Debian パッケージを使わずに X 上で新しい TrueType フォントセットを 手動でインストールした場合、次を実行します。
# xset fp rehash
これにより XFree86 がこのディレクトリの内容を再び見て新しいフォントを 取得するようになります。
Sarge リリース時点でグラフィカルに表示可能なウェブブラウザパッケージ がいくつか存在します。
mozilla
The Mozilla ブラウザ
mozilla-firefox
Mozilla ブラウザの変種 (スタンドアロン)
epiphany-browser
Mozilla ブラウザの変種 (Gnome)
konqueror
KDE ブラウザ
amaya
W3C リファレンスブラウザ
などなど。
testing 又は unstable
では、共有ライブラリのバージョンを 合わせる必要があるため、mozilla
変種のブラウザ間での バージョン不一致問題に直面するかもしれません。
mozilla
のようなブラウザ用のプラグインは、
"*.so"
を手動でプラグインディレクトリにインストールし、ブラウザを
再起動することにより有効にできます。
プラグイン一覧
Java プラグイン: http://java.sun.com
からバイナリの
"J2SE" を インストール。
Flash プラグイン: http://www.macromedia.com/software/flashplayer/
からバイナリの "Macromedia Flash Player 5" をインストール。
freewrl
: VRML ブラウザと Netscape プラグイン。
など。
Sarge リリース時点で、グラフィカルなディスプレイ表示が可能なクライアントパッケージが数種類存在します:
mozilla-thunderbird
スタンドアロンメールクライアント
kmail
KDE メールクライアント
evolution
Novell によるグループウェアスイート
など。
SSH (Secure SHell) はインターネットに接続するための安全な方法です。 OpenSSH
と呼ばれるフリー版の SSH は Debian では ssh
パッケージとして得られます。
まず OpenSSH サーバとクライアントをインストールします。
# apt-get update && apt-get install ssh
OpenSSH サーバを起動したい場合は /etc/ssh/sshd_not_to_be_run
が存在する必要があります。
SSH には二つの認証プロトコルが存在します。
SSH プロトコル version 1:
Potato はこのプロトコルしかサポートしていません。
使用可能な認証方法
RSAAuthentication: RSA 認証キーベースのユーザ認証
RhostsAuthentication: .rhosts ベースのホスト認証 (危険であり無効にされている)
RhostsRSAAuthentication: RSA ホストキーと .rhosts 認証の組合せ (無効)
ChallengeResponseAuthentication: RSA challenge-response 認証
PasswordAuthentication: パスワードベースの認証
SSH プロトコル version 2:
Woody 以降のバージョンはこれを主要なプロトコルとして使っている。
使用可能な認証方法
PubkeyAuthentication: 公開鍵ベースのユーザ認証
HostbasedAuthentication: .rhosts
又は
/etc/hosts.equiv
による認証と公開鍵クライアントホスト認証の 組合せ
(無効)
ChallengeResponseAuthentication: challenge-response 認証
PasswordAuthentication: パスワードベースの認証
Woody や他の非 Debian システムに移行しようする場合、これらのプロトコルの違い に注意してください。
詳細は /usr/share/doc/ssh/README.Debian.gz
や ssh(1)
,
sshd(8)
, ssh-agent(1)
, 並びに
ssh-keygen(1)
をご覧下さい。
主要な設定ファイルを次に挙げます。
/etc/ssh/ssh_config
: SSH クライアント標準
ssh(1)
をご覧下さい。 注目に値すべきエントリ は次のとおり。
Host: キーワードの後にあたえたパターンの一つにマッチしたホスト のみに対して (次のホストキーワードまで) 宣言により制限する。
Protocol: SSH プロトコルバージョンを指定する。 標準は "2.1"。
PreferredAuthentications: SSH2 クライアント認証方法を指定する。 標準は "hostbased,publickey,keyboard-interactive,password"。
PasswordAuthentication: パスワードを使ってログインしたい場合、 これが no にセットされていないことを確認してください。
ForwardX11: 標準では無効。これはコマンドラインオプション -X により上書き可能です。
/etc/ssh/sshd_config
: SSH サーバの標準。 sshd(8)
をご覧下さい。注目に値すべきエントリは 次のとおり。
ListenAddress: sshd
が listen すべきローカル
アドレスを指定。複数のオプションが許される。
AllowTcpForwarding: 標準では無効。
X11Forwarding: 標準では無効。
$HOME/.ssh/authorized_keys
: クライアントがこのホストで
本アカウントに接続するために使う標準の公開鍵のリスト。
ssh-keygen(1)
をご覧下さい。
$HOME/.ssh/identity
: ssh-add(1)
とssh-agent(1)
をご覧下さい。
次のコマンドは ssh
接続をクライアントから開始します。
$ ssh username@hostname.domain.ext $ ssh -1 username@hostname.domain.ext # Force SSH version 1 $ ssh -1 -o RSAAuthentication=no -l username foo.host # SSH1 でパスワードを強制 $ ssh -o PreferredAuthentications=password -l username foo.host # SSH2 でパスワードを強制。
ユーザにとって、ssh
は (^] を用いて爆撃しない) 賢くより安全な
telnet
として働きます。
ssh
を通して localhost の port 4025 から remote-server
の port 25 並びに localhost の port 4110 から remote-server の port
100 に接続 するパイプを構築するには、ローカルマシンで次を実行します。
# ssh -q -L 4025:remote-server:25 4110:remote-server:110 \ username@remote-server
これはインターネットを通して SMPT/POP3 サーバに接続するための安全な手段です。
リモートホストの /etc/ssh/sshd_config
の
AllowTcpForwarding エントリを yes
にセットしてください。
RSAAuthentication (SSH プロトコル) 又は PubkeyAuthentication (SSH2 プロトコル) を用いてリモートシステムごとのパスワードを覚えるのを避けられます。
リモートホストで、/etc/ssh/sshd_config
の各エントリを
"RSAAuthentication yes" 又は "PubkeyAuthentication yes"
にセットします。
そしてローカルで認証キーを生成し、リモートシステムに公開鍵をインストールします。
$ ssh-keygen # RSAAuthentication: SSH1 用の RSA 鍵 $ cat .ssh/identity.pub | ssh user1@remote \ "cat - >>.ssh/authorized_keys" ... $ ssh-keygen -t rsa # PubkeyAuthentication: SSH2 用の RSA 鍵 $ cat .ssh/id_rsa.pub | ssh user1@remote \ "cat - >>.ssh/authorized_keys" ... $ ssh-keygen -t dsa # PubkeyAuthentication: SSH2 用の DSA 鍵 $ cat .ssh/id_dsa.pub | ssh user1@remote \ "cat - >>.ssh/authorized_keys"
"ssh-keygen -p" を用いて後にパスフレーズを変更できます。 接続できるかテストして必ず設定を検証してください。 問題がある場合は、"ssh -v" を使ってください。
ホスト制限や特定のコマンドを起動するために authorized_keys
に
あるエントリにオプションを追加できます。詳細は sshd(8)
をご覧下さい。
SSH2 には HostbasedAuthentication
機能があることに注意してください。 これを動かすには、サーバマシンの
/etc/ssh/sshd_config
と クライアントマシンの
/etc/ssh/ssh_config
又は $HOME/.ssh/config
の両方を
yes にセットする 必要があります。
非 Unix ライクプラットフォームのためのフリーな SSH クライアントは あまり存在しません。
puTTY
(GPL)
cygwin
(GPL) にある SSH
macSSH
(GPL) [Mac OS X には
OpenSSH が含まれていることに注意してください。Terminal アプリケーション上で
ssh を使ってください。]
SourceForge.net,
site documentation
の "6. CVS Instructions"
もご覧下さい。
ssh-agent
のセットアップパスフレーズで SSH 認証鍵を保護する方がより安全です。パスフレーズが セットされていなかった場合、ssh-keygen -p を使ってセットしてください。
リモートホストの ~/.ssh/authorized_keys
に
パスワードを用いてリモートホストに接続して パスワードの入力が少ない接続 – RSA, 第 9.5.3 節
に記述されているように公開鍵 (すなわち、~/.ssh/id_rsa.pub
)
を置いてください。
$ ssh-agent bash # 又は代わりに 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 ... ここからはパスフレーズが必要 :-) $^D ... ssh-agent セッションを終了。
X サーバの場合、通常 Debian の起動スクリプトは ssh-agent
を親プロセスとして実行します。ですので ssh-add
を一度だけしか
実行する必要がありません。
より詳しくは、ssh-agent(1)
と ssh-add(1)
をご覧下さい。
問題が発生した場合、設定ファイルのアクセス権をチェックし、ssh
を
"-v" オプションつきで実行してください。
root であってファイアーウォールのトラブルが発生した場合、 "-P" オプションを使ってください。これはサーバのポート 1 から 1023 の使用を 避けます。
リモートのサイトへの ssh
接続が突然動かなくなった場合、
それはシステム管理者のやっつけ仕事のせいかもしれませんし、最もありえるのは
システムメンテナンス中に host_key
が変更されたためです。
このような原因で接続が停止し、だれもハックしてリモートホストを偽造しようと
していないことを確認してから、host_key
エントリを ローカルマシンの
$HOME/.ssh/known_hosts
から削除して 接続を回復できます。
メールの設定は三つのカテゴリに分割されます。
mail transfer agent (MTA): exim4
, postfix
,
sendmail
, qmail
, ssmtp
,
nullmailer
など
mail utilities: procmail
, fetchmail
,
mailx
, crm114
, など
mail user agent (MUA): mutt
, emacs
+gnus
など
フル機能の MTA としては、Woody では exim
を、Sarge では
exim4
を使っています。 [44] リファレンス:
exim
用の exim-doc
と exim-doc-html
パッケージ。
exim4
用の exim4-doc-info
と
exim-doc-html
パッケージ。
セキュリティを心配している場合の唯一の妥当な代替 MTA は 、 postfix
です。sendmail
と qmail
も Debian
パッケージとして得られますが、 お薦めできません。
ノート PC などのサテライトシステムであって MTA のリレー機能が必要ない場合、 次に挙げる軽量なパッケージのどれかの使用を考えても良いかもしれません。
ssmtp
: SMTP 接続とエイリアス機能が必要な場合に良い。又は
nullmailer
: スプール可能だがエイリアス機能は無い。
現時点では、私はノート PC をパーソナルワークステーションとして
使う場合でも、exim
が最適と考えています。
これらの衝突するパッケージをインストールする場合、exim
を
削除する必要があるかもしれません。
# dpkg -P --force-depends exim # apt-get install nullmailer # 又は ssmtp
消費者レベルのサービスの接続をしているホスト上で exim4
又は
exim
を起動している場合、ISP や他の手段で提供されている smarthost
を 通じてメールを送るようにしてください。 [45] いくつかの理由があります。
通常 ISP の smarthost はより信頼できる接続環境を持っているので SMTP リトライを確実にできます。
多分ダイアルアップの spam リストによりブロックされるであろう ダイナミック IP アドレス からメールを直接送るのを 避けられます。
複数の送信者にメールを送るためのローカルのバンド幅を節約できます。
想像できる唯一の例外としては次があげられます。
ISP の SMTP サービスのトラブルの際の緊急手段。
教育目的の実験台として。
営業目的のホストサーバにするため。
exim4
又は exim
を MTA として使うには、
次の設定を行います。
/etc/exim/exim.conf "eximconfig" を実行し、編集 (exim) /etc/exim4/* "dpkg-reconfigure exim4-config" を実行し、編集 (exim4) /etc/inetd.conf exim をデーモンとして起動するために smtp をコメントアウトする /etc/email-addresses 外に出すメールのためのドメインリストを追加
exim4
又は exim
を -brw, -bf, -bF, など
の オプション付きで用いてフィルタをチェックしてください。
/etc/exim/exim.conf
(Woody 以降) の DIRECTORS パートにおいて、
末尾 (localuser: director の後) にその前の director が解決できない
全てのアドレスにマッチするごみ箱 director を追加してください。 (Miquel van
Smoorenburg による)
catchall: driver = smartuser new_address = webmaster@mydomain.com
各仮想ドメインなどに対するより詳しいレシピを設定したい場合、
/etc/exim/exim.conf
の末尾に次の内容を追加してください。
(あまりテストしていません)
*@yourdomain.com ${lookup{$1}lsearch*{/etc/email-addresses} \ {$value}fail} T
そして、/etc/email-addresses
に "*"
エントリを追加してください。
適切な "From:"
ヘッダを生成するために送信メールのアドレス書き換えを行う
には、exim
を用いて /etc/exim/exim.conf
の末尾
近くに次のような設定を行うことにより行えます。
*@host1.something.dyndns.org \ "${if eq {${lookup{$1}lsearch{/etc/passwd}{1}{0}}} {1} \ {$0}{$1@something.dyndns.org}}" frFs
これは *@host1.something.dyndns.org にマッチする全アドレスを 書き換えます。
local part ($1) がローカルユーザかどうかを /etc/password
を通じて検索する。
ローカルユーザである場合、アドレスを最初の場所 ($0) にあったものに 書き換えます。
ローカルユーザでない場合は、ドメイン部分を書き換えます。
yahoo.com のような SMTP サーバは SMTP 認証を要求します。
/etc/exim/exim.conf
を次のように設定します。
remote_smtp: driver = smtp authenticate_hosts = smtp.mail.yahoo.com ... smarthost: driver = domainlist transport = remote_smtp route_list = "* smtp.mail.yahoo.com bydns_a" ... plain: driver = plaintext public_name = PLAIN client_send = "^cmatheson3^this_is_my_password"
最後の行をダブルクォートするのを忘れないでください。
fetchmail
はデーモンモードで起動され、メールを ISP の POP3
アカウントから取得し、ローカルのメールシステムに転送します。
設定ファイルは次のとおり。
/etc/init.d/fetchmail /etc/rc?.d/???fetchmail 標準では優先度 30 で update-rc.d fetchmail を起動する /etc/fetchmailrc 設定ファイル (chmod600 のアクセス権限で fetchmail により所有される)
Potato で init.d
スクリプトから fetchmail
を
デーモンモードで起動する方法に関する情報は混乱しています。 (Woody
では既に修正されています) example scripts
にある /etc/init.d/fetchmail
と /etc/fetchmailrc
のサンプルをご覧下さい。
メールのヘッダが ISP のメーラのせいで ^M で汚染されている場合、
$HOME/.fetchmailrc
に "stripcr" をオプションとして
次のように追加してください。
options fetchall no keep stripcr
crm114
でのスパム処理
crm114
パッケージは CRM114 で書かれた
/usr/share/crm114/mailfilter.crm
スクリプト
を提供します。このスクリプトはスパム(不要メール)とハム(有用メール)
を流し込むと非常に効率的に訓練できるスパムフィルターを提供します。
CRM114 はフィルターを書くために設計された小さな言語です。
スーパーパワーを与えた grep のような物と考えて下さい。 crm(1)
を参照してください。
procmail
はローカルのメール配信およびフィルタプログラムです。
本プログラムを使う際にはアカウント毎に $HOME/.procmailrc
を作成する必要があります。例は _procmailrc
にあります。
mail user agent (MUA) として mutt
を vim
と
組み合わせて使ってください。 ~/.muttrc
でカスタマイズできます。例えば、
# use visual mode and "gq" to reformat quotes set editor="vim -c 'set tw=72 et ft=mail'" # # header weeding taken from the 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 ....
HTML メールと MS Word 添付ファイルをインラインで表示するため、次を
/etc/mailcap
又は $HOME/.mailcap
に追加してください。
text/html; lynx -force_html %s; needsterminal; application/msword; /usr/bin/antiword '%s'; copiousoutput; description="Microsoft Word Text"; nametemplate=%s.doc
Debian は国際化されており、言語や地域差に関するサポートが充実しつつあります。 次のサブセクションは Debian が現在サポートする多様性の形態の一部をリストし、 それに続くサブセクションにおいて地域に従って異なる日付表示、数字や金銭の フォーマットなどの円滑な入出力が可能となるように使用環境を カスタマイズするプロセスである ローカライゼーション について議論します。
ローカライゼーションと各国語サポートにはいくつかの観点があります。
Debian は24程のキーマップが配布されています。 Woody でのキーボードを再設定するには、次を実行します。
dpkg-reconfigure --priority=low console-data # 端末
dpkg-reconfigure --priority=low xserver-xfree86 # XF4
dpkg-reconfigure --priority=low xserver-common-v3 # XF3
膨大な Debian ソフトウェアパッケージの大部分は glibc に存在する ロケール 技術 により提供される LC_CTYPE 環境変数 を通して非 US-ASCII 文字データの操作をサポートしています。
8-bit クリーン: 実際には全プログラムがサポート
他の Latin 文字セット (例えば ISO-8859-1 や ISO-8859-2): ほとんどの プログラムがサポート
中国語、日本語、韓国語のようなマルチバイト言語: 多くの新しめのアプリケーションがサポート
X は UTF-8 を含むあらゆるコーディングを表示できますし、全てのフォントを サポートします。全ての 8 ビットフォントだけでなく、中国語、日本語や韓国語 のような 16 ビットフォントも含まれます。マルチバイト文字の入力メソッドは X での代替入力メソッド, 第 9.7.10 節 メカニズムによりサポートされています。 多言語 X window システムの例, 第 9.7.9 節 と X 端末エミュレータの UTF-8 サポート, 第 9.7.12 節 をご覧下さい。
日本語 EUC コードは kon2
パッケージを通して (S)VGA
グラフィックコンソールにも表示できます。jfbterm
という新しい代わりになる日本語ディスプレイがありますが、これはフレームバッファ
端末も使っています。これらの端末環境では、日本語の入力メソッドが
アプリケーションによりサポートされている必要があります。 Emacs
で日本語を入力するには、egg
パッケージを、 Vim
環境で日本語を入力するには、日本語化された jvim
パッケージを使ってください。
非 Unicode フォントを X にインストールすると、X においてあらゆる エンコーディングのドキュメントを表示するのに役立ちます。ですから、 フォントのエンコーディングについてあまり心配する必要はありません。
エラーメッセージ、標準的なプログラムの出力、メニュ、そしてマニュアルページ などの Debian システムで表示されるテキストメッセージやドキュメントの多くは 既に翻訳されています。現在、ドイツ語、スペイン語、フィン語、フランス語、 ハンガリー語、イタリア語、日本語、韓国語、ポーランド語、ポルトガル語、 中国語、そしてロシア語のマニュアルページが manpages-LANG パッケージ (ここで LANG は 2 文字のコンマで分けられた ISO country code のリストです。取得可能な Unix マニュアルページのリストを得る には apt-cache search manpages-|less を使ってください。) を通じて供給されています。
NLS マニュアルページにアクセスするには、ユーザは環境変数 LC_MESSAGES を
適切な文字列にセットする必要があります。例えば、イタリア語のマニュアルページ
の場合は、LC_MESSAGES を it にセットする必要があります。 すると
man
プログラムは /usr/share/man/it/
の下にある
イタリア語のマニュアルページを検索します。
Debian は ロケール 技術をサポートしています。ロケールは プログラムが文字セット、時刻や時間のフォーマット、通貨文字などのような ローカルのしきたりに従って適切な出力や機能を供給することを可能とするための 機構です。例えば、米国英語とドイツのロケールの両方をシステムにインストール したと仮定すると、多くのプログラムのエラーメッセージは二ヵ国語にできます。
$ LANG="en_US" cat foo cat: foo: No such file or directory $ LANG="de_DE" cat foo cat: foo: Datei oder Verzeichnis nicht gefunden
Glibc はこの機能のプログラムへのサポートをライブラリとして供給します。
locale(7)
をご覧下さい。
完全なロケールの説明は 3つの部分、すなわち xx_YY.ZZZZ から構成されます。
xx: ISO 639 言語コード (小文字)
YY: ISO 3166 国コード (大文字)
ZZZZ: コードセット、すなわち文字セットや エンコードの識別子。
言語コードと国コードについては、info gettext にある適切な説明 をご覧下さい。
このコードセット部分はクロスプラットフォーム互換性を達成するために 全ての - を削除し、全ての文字を小文字に変換することにより 内部で正規化されることがあります。典型的なコードセットは次のとおりです。
UTF-8: 全ての領域のための Unicode、ほとんどは 1-3 Octed(新しいデファクトスタンダード。)
ISO-8859-1: 西ヨーロッパ (古いデファクトスタンダード)
ISO-8859-2: 東ヨーロッパ (ボスニア、クロアチア、チェコ、ハンガリー、ポーランド、ルーマニア、セルバニア、スロバキア、スロベニア)
ISO-8859-3: マルタ語
ISO-8859-5: マケドニア語、セルビア語
ISO-8859-6: アラビア語
ISO-8859-7: ギリシャ語
ISO-8859-8: ヘブライ語
ISO-8859-9: トルコ語
ISO-8859-11: タイ語 (=TIS-620)
ISO-8859-13: ラトビア語、リトアニア語、マオリ語
ISO-8859-14: ウェールズ語
ISO-8859-15: ユーロを用いた西ヨーロッパ
KOI8-R: ロシア語
KOI8-U: ウクライナ語
CP1250: チェコ語、ハンガリー語、ポーランド語 (MS Windows が起源)
CP1251: ブルガリア語、ベラルーシ語 (MS Windows が起源)
eucJP: Unix スタイルの日本語 (=ujis)
eucKR: Unix スタイルの韓国語
GB2312: zh_CN 用の Unix スタイルの簡体字 (=GB, =eucCN)
Big5: zh_TW 用の繁体字
sjis: Microsoft スタイルの日本語 (シフト JIS)
基本的なエンコーディングシステムの jargon の意味については次のとおり。
ASCII: 7 ビット (0-0x7f)
ISO-8859-?: 8 ビット (0-0xff)
ISO-10646-1: 国際文字集合 (UCS) (31 ビット,0-0x7fffffff)
UCS-2: 2 個のオクテッドを用いた 16 ビットの UCS (Unicode: 0-0xffff)
UCS-4: 4 個のオクテッドを使った UCS (UCS: 0-0x7fffffff)
UTF-8: 1-6 オクテッドでエンコードされた UCS (ほとんどは 3 オクテッド)
ISO-2022: エスケープシーケンス付きの 7 ビット(0-0xff) ISO-2022-JP は日本語のメールで最もポピュラーなエンコーディングです。
EUC: 8 ビット + 16 ビットの組合せ (0-0xff) で Unix スタイル。
Shift-JIS: 8 ビット + 16 ビットの組合せ (0-0xff)、 Microsoft スタイル。
ISO-8859-?, EUC, ISO-10646-1, UCS-2, UCS-4, そして UTF-8 は ASCII コード を 7 ビット文字のために共有しています。EUC と シフト JIS は 最上位ビットが立った (0x80-0xff) 文字をその部分のエンコードが 16 ビット であることを示すために使います。UTF-8 も最上位ビットが立った文字 (0x80-0xff) をこれが非 7 ビット文字シーケンスバイトであり、これが非 ASCII 文字を操作 するのに最適なエンコーディングシステムであることを示すために使います。
Unicode の実装でバイトオーダーが異なるものがあることに注意してください。
標準の UCS2, UCS4: ビッグエンディアン
Microsoft UCS-2, UCS-4: x86 用のリトルエンディアン (マシン依存)
各種文字セット間の変換に関しては recode
によりテキストファイルを変換する, 第 8.6.12 節 を御覧下さい。 より詳しくは
Introduction to
i18n
をご覧下さい。
Debian は全ての使用可能なロケールを前もってコンパイルして
いません。(標準の "C" ロケールを除いて)
システムにコンパイルされているロケールの種類を知るには、
/usr/lib/locale
をチェックしてください。
必要なロケールがコンパイルされていない場合には、2つのオプションがあります。
/etc/locale.gen
を編集して望みのロケールを追加しましょう。 そして
root で locale-gen
を実行し、ロケールを
コンパイルします。locale-gen(8)
と このマニュアルページの
"SEE ALSO" セクションにリストされた マニュアルページをご覧下さい。
locales
パッケージの再設定のために dpkg-reconfigure
locales を起動しましょう。又は、このパッケージが
まだインストールされていない場合は、locales
を インストールして
debconf インターフェースを起動して必要なロケールを選択し、
データベースをコンパイルします。
次に示す環境変数はこの順番で評価され、特定のロケール値をプログラムに提供します。
LANGUAGE: この環境変数はコロンで分割され、優先順位の高い順に並んだ ロケール名のリストです。POSIX ロケールが "C" 以外の値にセットされている場合 のみ使われます。[Woody での説明。Potato では常に POSIX ロケールより高い 優先度を持つ] (GNU 拡張)
LC_ALL: これが null ではない場合、全てのロケールカテゴリに対して 使用されます。(POSIX.1) 通常 "" (null) です。
LC_*: これが null ではない場合、この値は対応するカテゴリに対して 使用されます。(POSIX.1) 通常 "C" です。
LC_* variables には次の値が存在します。
LC_CTYPE: 文字の種類とエンコーディング。
LC_COLLATE: ソートの順番。
LC_TIME: 日付と時間の表示フォーマット。
LC_NUMERIC: 数字のフォーマット。
LC_MONETARY: 通貨のフォーマット。
LC_MESSAGES: 情報およびダイアログメッセージと対話式な応答のフォーマット。
LC_PAPER: 紙サイズ。
LC_NAME: 名前のフォーマット。
LC_ADDRESS: アドレスのフォーマットと位置情報。
LC_TELEPHONE: 電話番号フォーマット。
LC_MEASUREMENT: 測定単位。 (メートル又はその他の単位)
LC_IDENTIFICATION: ロケール情報に関するメタデータ。
LANG: これが null でなく、LC_ALL が未定義の場合、この値は 未定義の値の全ての LC_* ロケールカテゴリに対して使われます。(POSIX.1) 通常 "C" です。
(Netscape4 などの) いくつかのアプリケーションは LC_* の設定を無視する ことに注意してください。
locale
プログラムは有効なロケールの設定と使用可能な
ロケールを表示できます。locale(1)
をご覧下さい。 (locale
-a はシステムが存在を知っている全てのロケールを表示しますが、
これは全てがコンパイル済みであることを意味 しない ことに注意下さい。
ロケールサポートを有効にする, 第 9.7.4 節
をご覧下さい。)
国際的なデータ標準である yyyy-mm-dd 形式 (ISO 8601
データフォーマット) の日付のロケールのサポートは en_DK すなわち
"English in Denmark"
と呼ばれるロケールによりサポートされています。これはちょっとしたジョークです。
これは端末上で ls
のためにしか動かないようです。
次の行を ~/.bash_profile
に追加してください。
LC_CTYPE=en_US.ISO-8859-1 export LC_CTYPE
次の行を ~/.bash_profile
に追加してください。
LANG=fr_FR@euro export LANG LC_CTYPE=fr_FR@euro export LC_CTYPE
フランスの "AZERTY" キーボードを キーボードのローカライゼーション, 第 9.7.1.1 節
に記述しているように 設定し、manpages-fr
をインストールしてフランス語の マニュアルページを追加してください。米国での 右
Alt キーはヨーロッパでは 右 Gr
と呼ばれます。これを他のキーと同時に押すと数多くのアクセント付き
文字や特別な文字の入力ができます。例えば、Alt-Gr+E はユーロ記号になります。
ほとんどの西ヨーロッパ言語は同様に設定可能です。
新しいユーロ貨幣のサポートを追加するには、 Debian Euro
HOWTO
を、 フランス語についてより詳しく知るには、 Utiliser et
configurer Debian pour le français
をご覧下さい。
コンソール毎に、日本語と英語とドイツ語とフランス語を、それぞれ EUC と UTF-8 と ISO-8859-1 のエンコーディングで同時にサポートする多言語 X window システム を設定しましょう。
まず Debian menu システムを用いたカスタマイズをお見せします。 Debian menu
システムの詳細は /usr/share/doc/menu/html/index.html
をご覧下さい。 また、この例では mozilla
web
ブラウザへのショートカットを 作成します。 [46]
ローカライゼーション (l10n), 第 9.7 節 で記述されている方法を用いて日本語の ja_JP.eucJP ロケールや他の必要なロケールのサポートを追加します。(全員)
かな漢字変換システムとその辞書をインストールします。(日本語用)
canna
– ローカルサーバ ("フリービール" ライセンス)
又は
freewnn-jserver
– ネットワーク拡張性の高い サーバ
(パブリックドメイン) (Public Domain)
日本語入力メソッドシステムをインストールします。(日本語用)
kinput2-canna
– X 用 又は
kinput2-canna-wnn
– X 用
egg
– 端末でも Emacsen 環境で直接動く (任意)
vt 互換端末をインストールします。(全員)
xterm
– X (ISO-8859-1 と UTF-8 用)
kterm
– X (日本語 EUC 用)
mlterm
– X (多言語用)
必要な全てのフォントパッケージをインストールします。(全員)
ユーザ指定の X 環境をセットする ~/.xsession
ファイルを X セッションのカスタマイズ, 第 9.4.5.1 節
の記述に従い作成します。(全員)
#!/bin/sh # root に su した時も X が動くようにする。 if [ -z "$XAUTHORITY" ]; then XAUTHORITY=$HOME/.Xauthority export XAUTHORITY fi # debian menu システムを通じて特別な環境をセットする。 # ロケールのリセット unset LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY LC_MESSAGES unset LC_PAPER LC_NAME LC_ADDRESS LC_TELEPHONE LC_MEASUREMENT unset LC_IDENTIFICATION LC_ALL LANG LANGUAGE PAGER # X での標準のロケールをセット LANG=C # ロケールをエクスポート export LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY LC_MESSAGES export LC_PAPER LC_NAME LC_ADDRESS LC_TELEPHONE LC_MEASUREMENT export LC_IDENTIFICATION LC_ALL LANG LANGUAGE PAGER ### # kinput2 による日本語入力メソッドを有効にする kinput2 & XMODIFIERS="@im=kinput2" export XMODIFIERS # blackbox ウィンドウマネージャはどうですか? (軽いですよ) exec blackbox #exec xfwm #exec wmaker
Linux 端末用に ~/.bash_profile
にロケールを設定する。 (全員)
存在するならば~/.bashrc
からロケールの設定を削除する。 (全員)
/etc/menu/
にいくつかファイルを追加する。(全員)
/etc/menu/xterm-local
: (menu に新しいエントリを追加) [47]
?package(xterm):\ needs=x11\ section=XShells\ longtitle="XTerm: terminal emulator (en_US.ISO-8859-1)"\ title="XTerm (en_US.ISO-8859-1)"\ command="sh -c 'LC_ALL=en_US.ISO-8859-1 xterm'" ?package(xterm):\ needs=x11\ section=XShells\ longtitle="XTerm: terminal emulator (de_DE.ISO-8859-1)"\ title="XTerm (de_DE.ISO-8859-1)"\ command="sh -c 'LC_ALL=de_DE.ISO-8859-1 xterm -T xterm-de'" ?package(xterm):\ needs=x11\ section=XShells\ longtitle="XTerm: terminal emulator for X with Unicode support (Japanese)"\ title="UXTerm (ja_JP.UTF-8)"\ command="sh -c 'LC_ALL=ja_JP.UTF-8 uxterm'"
/etc/menu/kterm
: (システムの標準を上書き) [48]
?package(kterm):\ needs="x11"\ section="XShells"\ command="sh -c 'LC_ALL=ja_JP.eucJP PAGER=w3m /usr/X11R6/bin/kterm -xim'" \ title="Kanji Terminal" ?package(kterm):\ needs="x11"\ section="XShells"\ command="sh -c 'LANG=ja_JP.eucJP \ LC_MESSAGES=en_US.ISO-8859-1 PAGER=w3m /usr/X11R6/bin/kterm -xim'" \ title="Kanji Terminal (bilingal)"
/etc/menu/mozilla-local
: (新しいショートカットを追加) [49]
?package(mozilla-browser):needs="x11" section="/" \ title=" Mozilla Navigator" command="mozilla-1.5" hints="Web browsers" \ icon=/usr/share/pixmaps/mozilla.xpm
root アカウントから update-menus
を起動します。
~/.muttrc
に次の行を追加します。 (日本語)
# UTF-8 support is not popular in popular Japanese EMACS environment # 7-bit encoding of iso-2022-jp is easier for everyone. # default encoding order = us-ascii --> iso-8859-1 --> iso-2022-jp set send_charset="us-ascii:iso-8859-1:iso-2022-jp" set allow_8bit=no
X アプリケーションのために XIM kinput2
を有効にします。 (日本語用)
X リソースファイルに *inputMethod: kinput2 と KTerm*VT100*OpenIm:true を追加します。 (Debian はこれをどういうわけか自動で対応しているようです。)
(mlterm
のような) いくつかのアプリケーションは
*inputMethod: を設定すると他の情報は動的に起動時に設定する
ことを許可します。 (mlterm
では
Ctrl-MouseButton-3 を押します。)
startx をタイプするか、ディスプレイマネージャ (xdm
,
gdm
, kdm
, wdm
など)
のどれかを用いてログインすることにより X を起動します。(全員)
Vim 6, (x)emacs21, mc-4.5, mutt-1.4 のような日本語に対応した アプリケーションを
kterm
上で起動します。(日本語用) (Emacs
は最もポピュラーなプラットフォームのようですが、私は使っていません。)
Shift+Space を押して日本語入力モードの ON/OFF をトグルします。(日本語用)
ローカライズされた端末上でコマンドを起動して翻訳済みの マニュアルページを読みます。(全員)
他の CJK 言語のサポートについては、次の章に続いて SuSE pages for
CJK
をご覧下さい。
パッケージとして使用可能な X 入力メソッドがいくつか存在します。
言語 LC_CTYPE XIM サーバ XMODIFIERS 開始キー 日本語 ja_JP* kinput2 "@im=kinput2" Shift-Space 韓国語 ko_KR* ami "@im=Ami" Shift-Space 中国語(繁体字) zh_TW.Big5 xcin "@im=xcin-zh_TW.big5" Ctrl-Space 中国語(簡体字) zh_CN.GB2312 xcin "@im=xcin-zh_CN.GB2312" Ctrl-Space
日本語入力メソッドである kinput2
は
kinput2-canna-wnn
, kinput2-canna
,
kinput2-wnn
のようなパッケージにより供給されています。
日本語入力には他に canna
や freewnn-jserver
のような辞書サーバが実際には 必要になります。
適切なフォントがインストールされた時に 8 ビットエンコーディングを サポートする X 端末は数多く存在します。
xterm
– X 付属のターミナルエミュレータ
gnome-terminal
– Gnome 用の xterm
konsole
– KDE 用の xterm
rxvt
– VT102 ターミナル (軽量)
aterm
– Afterstep WM 用の VT102
eterm
– Enlightment WM 用の VT102
wterm
– WindowMaker WM 用の VT102
X 端末のマルチバイトエンコーディングのサポートは UTF-8 エンコーディング (X 端末エミュレータの UTF-8 サポート, 第 9.7.12
節)を通じて xterm
により供給されています。
他の伝統的なエンコーディングのサポートは (2003 年時点で) 推進中です。
次のパッケージは伝統的なエンコーディングのサポートを提供します。
aterm-ml
– 多言語
kterm
– 多言語 (日本語など)
rxvt-ml
– 多言語
wterm-ml
– 多言語
cxterm-big5
– 中国語 (繁体字、 Big5)
cxterm-gb
– 中国語 (簡体字、 GB)
cxterm-ks
– 中国語 (KS)
cxterm-jis
– 日本語
hanterm-classic
– 韓国語 (ハングル)
hanterm-xf
– 韓国語 (ハングル)
hztty
– 中国語 (GB, Big5, zW/HZ)
kterm
では、(多分他の端末でも)
Ctrl-中クリックマウス操作をした後にメニュから XIM を有効にしたいかも
しれません。
X ターミナルエミュレータの UTF-8 サポートは、XFree86 4.x 用の
xterm
パッケージにある uxterm
プログラム
により供給されています。これは全言語のサポートを可能にします。 これは
"UXTerm" X リソースクラスセットを用いた後者のプログラムを起動する
xterm(1)
プログラムのラッパーです。
例えば、英語、ロシア語、日本語、中国語、韓国語の文字をきれいに大きく表示
することを可能にするには、関連する全フォントをインストールした後に
~/.Xresources
に次を追加してください。
! set large font UXTerm*font: -misc-fixed-medium-r-normal-*-18-120-100-100-c-90-iso10646-1 ! Use XIM for Japanese *inputMethod: kinput2
そして X リソースを更新するため、 X リソース, 第 9.4.10 節 に記述されているように xrdb -merge ~/.Xresources を起動します。
vim
, mutt
や emacs
のような
有名なコンソールプログラムのほとんどは最近 (Woody から Sarge にかけて) UTF-8
と互換性がありますが、mc
のようなプログラムは まだ UTF-8
互換ではなく、シンプルな 8 ビット文字を表示できるだけです。
未知あるいは混在したエンコーディングのファイルの中の 7 ビット ASCII の
部分を編集する場合、ロケールを気にしない 8 ビットクリーンなエディタを
使う方が安全です。
The Unicode
HOWTO
をご覧下さい。
フレームバッファコンソール上での UTF-8 のサポートは
debian-installer
上で使用される bterm
により供給されています。
まず最初に 母国語環境 の設定を行う際には、
言語環境に対応するタスクを選ぶことにより選び抜かれるパッケージを調べるために
tasksel
や aptitude
を使うことを考えてください。
このパッケージの選択は多言語環境のセットアップのためでも役に立ちます。
システムを注意深く設定するために、インストール中に依存性の衝突に出くわした
場合、既存のシステムと衝突するソフトウェアのインストールを避けてください。
新たにインストールしたパッケージは既存のパッケージよりも高い優先度を
持っているかもしれないので、いくつかのコマンドでは元の状態に戻す ために
update-alternative
を使う必要があるかもしれません。
新しめの主要なプログラムは glibc 2.2 を使っており、ほぼ国際化されています。
それゆえ、Vim に対する jvim
のような特別に国際化された
バージョンは vim
version 6.0 により X 上でほぼ同様の機能が
提供されているために必要では無いかもしれません。
現実には、まだいくらかおおざっぱです。jvim
は端末上でも直接
日本語入力メソッド (canna
) のサポート付きでコンパイルされており、
さらに多くの他の日本語特有の問題に分別深く対応しているので、まだこれが欲しい
かもしれません。 :-)
快適な作業環境を可能にするには、ロケール 設定を越えた設定が
必要になるかもしれません。language-env
パッケージや その
set-language-env
コマンドはこの設定作業をかなり 軽減してくれます。
又、国際化に関する文書である Introduction to
i18n
もご覧下さい。
これは開発者向けですが、システム管理者に対しても有用です。
language-env
類似パッケージによって実現される ローカライゼーション (l10n), 第 9.7 節
は単一言語によるローカリゼーションを目指しています。
これらのパッケージはテキストのエンコーディングとして
伝統的エンコーディングを使います。このような環境下では、フランス語と日本語は
それぞれ ISO-8859-1 と EUC-JP という相容れないエンコーディングを使うので
テキストを混ぜることが出来ません。
多言語化された UTF-8 デスクトップは、Gnome や KDE のプログラムを、 存在する UTF-8 ロケールのうちのいずれかにロケールを設定した上で 起動することにより得られます。 (Sarge) そのような環境下では、UTF-8 対応のソフトの下で、英語、中国語、 ロシア語、日本語の文字を混ぜて使えます。
そのような環境では、新しい scim
を用いる多言語化された
入力メソッド (IM) が好まれています。 scim
により提供される入力メソッドは、 Ctrl と Space を同時に押すことにより on/off
できます。 入力変換エンジンは、小さな SCIM パネルをクリックすることにより、
切替え可能です。
vim
は、UTF-8 端末、例えば gnome-terminal
などで起動された時に、多言語化された環境を提供し、 UTF-8
および伝統的なエンコードのファイル (EUC-JP、ISO-8859-1 など)
の両方を扱うことが可能です。 [Esc] キーを押して、:help mbyte.txt
とタイプすれば、 vim のヘルプメッセージを表示できます。
[ 前のページ ] [ 目次 ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ 11 ] [ 12 ] [ 13 ] [ 14 ] [ 15 ] [ A ] [ 次のページ ]
Debian リファレンス
CVS, 2007年 1月 18日 木曜日 11時54分01秒 UTC時間osamu#at#debian.org
tsuno#at#ngy.1st.ne.jp