2005年03月10日

1已安装的软件:
#dpkg -l
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Installed/Config-files/Unpacked/Failed-config/Half-installed
|/ Err?=(none)/Hold/Reinst-required/X=both-problems (Status,Err: uppercase=bad)
||/ Name Version Description
+++-==============-==============-============================================
ii adduser 3.59 Add and remove users and groups
ii apmd 3.2.2-2 Utilities for Advanced Power Management (APM
ii apt 0.5.27 Advanced front-end for dpkg
ii apt-utils 0.5.27 APT utility programs
ii aptitude 0.2.15.8-1 terminal-based apt frontend
rc at 3.1.8-11 Delayed job execution and batch processing
ii aumix 2.8-13 Simple text-based mixer control program
ii autoconf 2.59a-3 automatic configure script builder
ii automake1.4 1.4-p6-9 A tool for generating GNU Standards-complian
ii autotools-dev 20041130.2 Update infrastructure for config.{guess,sub}
ii base-config 2.53.4 Debian base system configurator
ii base-files 3.1 Debian base system miscellaneous files
ii base-passwd 3.5.7 Debian base system master password and group
ii bash 2.05b-24 The GNU Bourne Again SHell
ii binutils 2.15-5 The GNU assembler, linker and binary utiliti
ii bittorrent 3.4.2-3 Scatter-gather network file transfer
ii bittorrent-gui 3.4.2-3 Scatter-gather network file transfer (GUI fi
ii bmv 1.2-17 PostScript viewer for SVGAlib
ii bsdmainutils 6.0.17 collection of more utilities from FreeBSD
ii bsdutils 2.12-10 Basic utilities from 4.4BSD-Lite
ii bzip2 1.0.2-5 high-quality block-sorting file compressor -
ii console-common 0.7.47 Basic infrastructure for text console config
ii console-data 2002.12.04dbs- Keymaps, fonts, charset maps, fallback table
ii console-tools 0.2.3dbs-55 Linux console and font utilities
ii coreutils 5.2.1-2 The GNU core utilities
ii cpio 2.5-1.1 GNU cpio — a program to manage archives of
ii cpp 3.3.5-1 The GNU C preprocessor (cpp)
ii cpp-3.3 3.3.5-8 The GNU C preprocessor
ii cramfsprogs 1.1-6 Tools for CramFs (Compressed ROM File System
ii cron 3.0pl1-86 management of regular background processing
ii d4x 2.5.0rel-1 graphical download manager
ii dash 0.5.1-3 The Debian Almquist Shell
ii debconf 1.4.30.10 Debian configuration management system
ii debconf-i18n 1.4.30.10 full internationalization support for debcon
ii debian-referen 1.08-1 Debian system administration guide, common e
ii debian-referen 1.08-1 Debian system administration guide, Chinese(
ii debianutils 2.8.4 Miscellaneous utilities specific to Debian
ii defoma 0.11.8-0.1 Debian Font Manager — automatic font config
ii dhcp-client 2.0pl5-19.1 DHCP Client
ii diff 2.8.1-6 File comparison utilities
ii discover1 1.7.3 hardware identification system
ii discover1-data 1.2004.11.09 hardware lists for libdiscover1
ii dpkg 1.10.23 Package maintenance system for Debian
ii dselect 1.10.23 a user tool to manage Debian packages
ii e2fslibs 1.35-6 The EXT2 filesystem libraries
ii e2fsprogs 1.35-6 The EXT2 file system utilities and libraries
ii ed 0.2-20 The classic unix line editor
rc exim4-base 4.34-7 EXperimental Internal Mailer — a Mail Trans
rc exim4-config 4.34-7 Debian configuration for exim4
ii fcitx 3.0.3-1 Free Chinese Input Toy for X (XIM)
ii fdutils 5.4-20040228-1 Linux floppy utilities
ii file 4.09-1 Determines file type using “magic” numbers
ii findutils 4.1.20-4 utilities for finding files–find, xargs, an
ii fontconfig 2.2.3-3 generic font configuration library
ii gaim 1.1.1-1 multi-protocol instant messaging client
ii gcc 3.3.5-1 The GNU C compiler
ii gcc-3.3 3.3.5-8 The GNU C compiler
ii gcc-3.3-base 3.3.5-8 The GNU Compiler Collection (base package)
ii gettext-base 0.14.1-6 GNU Internationalization utilities for the b
ii grep 2.5.1.ds1-3.2 GNU grep, egrep and fgrep
ii groff-base 1.18.1.1-2 GNU troff text-formatting system (base syste
ii grub 0.95+cvs200406 GRand Unified Bootloader
ii gs 8.01-5 Transitional package
ii gs-common 0.3.6-0.1 Common files for different Ghostscript relea
ii gs-gpl 8.01-5 The GPL Ghostscript PostScript interpreter
ii gsfonts 8.14+v8.11-0.1 Fonts for the Ghostscript interpreter(s)
ii gzip 1.3.5-9 The GNU compression utility
ii hdparm 5.9-1 tune hard disk parameters for high performan
ii hermes1 1.3.3+really1. The Hermes pixel-format library
ii hostname 2.13 A utility to set/show the host name or domai
ii hotplug 0.0.20040329-1 Linux Hotplug Scripts
ii ifupdown 0.6.4-4.8 High level tools to configure network interf
ii info 4.7-2.2 Standalone GNU Info documentation browser
ii initrd-tools 0.1.74 tools to create initrd image for prepackaged
ii initscripts 2.86-5 Standard scripts needed for booting and shut
ii ipchains 1.3.10-15 Network firewalling for Linux 2.2.x
ii iptables 1.2.11-2 Linux kernel 2.4+ iptables administration to
ii iputils-ping 20020927-2 Tools to test the reachability of network ho
ii iso-codes 0.41-1 ISO language, territory, currency codes and
ii jfbterm 0.4.6-1 multilingual terminal on Linux framebuffer
ii kernel-image-2 2.4.27-2 Linux kernel image for version 2.4.27 on 386
ii kernel-image-2 rev.02 Linux kernel binary image for version 2.4.27
ii kernel-pcmcia- 2.4.27-2 Mainstream PCMCIA modules 2.4.27 on 386
ii klogd 1.4.1-16 Kernel Logging Daemon
ii libacl1 2.2.23-1 Access control list shared library
ii libao2 0.8.5-1 Cross Platform Audio Output Library
ii libapm1 3.2.2-2 Library for interacting with APM driver in k
ii libapt-pkg-per 0.1.13 Perl interface to libapt-pkg
ii libaspell15 0.50.5-5 The GNU Aspell spell-checker runtime toolkit
ii libatk1.0-0 1.8.0-4 The ATK accessibility toolkit
ii libattr1 2.4.16-1 Extended attribute shared library
ii libaudio2 1.6d-2 The Network Audio System (NAS). (shared libr
ii libaudiofile0 0.2.6-5 Open-source version of SGI’s audiofile libra
ii libblkid1 1.35-6 Block device id library
ii libbz2-1.0 1.0.2-5 high-quality block-sorting file compressor l
ii libc6 2.3.2.ds1-18 GNU C Library: Shared libraries and Timezone
ii libcap1 1.10-14 support for getting/setting POSIX.1e capabil
ii libcomerr2 1.35-6 The Common Error Description library
ii libconfig-inif 2.38-3 Read .ini-style configuration files
ii libconsole 0.2.3dbs-55 Shared libraries for Linux console and font
ii libdb1-compat 2.1.3-7 The Berkeley database routines [glibc 2.0/2.
ii libdb3 3.2.9-20 Berkeley v3 Database Libraries [runtime]
ii libdb4.2 4.2.52-17 Berkeley v4.2 Database Libraries [runtime]
ii libdiscover1 1.7.3 hardware identification library
ii libdps1 4.3.0.dfsg.1-8 Display PostScript (DPS) client library
ii libexpat1 1.95.8-1 XML parsing C library – runtime library
ii libfontconfig1 2.2.3-3 generic font configuration library (shared l
ii libfreetype6 2.1.7-2.2 FreeType 2 font engine, shared library files
ii libfribidi0 0.10.4-6 Free Implementation of the Unicode BiDi algo
ii libgcc1 3.4.2-2 GCC support library
ii libgcrypt11 1.2.0-4 LGPL Crypto library – runtime library
ii libgcrypt7 1.1.90-9 LGPL Crypto library – runtime library
ii libgdbm3 1.8.3-2 GNU dbm database routines (runtime version)
ii libggi2 2.0.5-1 General Graphics Interface runtime libraries
ii libgii0 0.8.5-2 General Input Interface runtime libraries
ii libgii0-target 0.8.5-2 General Input Interface X input target
ii libgimpprint1 4.2.7-5 The Gimp-Print printer driver library
ii libglib1.2 1.2.10-9 The GLib library of C routines
ii libglib2.0-0 2.6.2-1 The GLib library of C routines
ii libgnutls10 1.0.4-8 GNU TLS library – runtime library
ii libgnutls11 1.0.16-9 GNU TLS library – runtime library
ii libgpg-error0 1.0-1 library for common error values and messages
ii libgpmg1 1.19.6-12.1 General Purpose Mouse Library [libc6]
ii libgtk1.2 1.2.10-17 The GIMP Toolkit set of widgets for X
ii libgtk1.2-comm 1.2.10-17 Common files for the GTK+ library
ii libgtk2.0-0 2.6.2-3 The GTK+ graphical user interface library
ii libgtk2.0-bin 2.6.2-3 The programs for the GTK+ graphical user int
ii libgtk2.0-comm 2.6.2-3 Common files for the GTK+ graphical user int
ii libgtkspell0 2.0.8-1 a spell-checking addon for GTK’s TextView wi
ii libice6 4.3.0.dfsg.1-8 Inter-Client Exchange library
ii libjpeg62 6b-9 The Independent JPEG Group’s JPEG runtime li
ii liblcms1 1.13-1 Color management library
ii liblocale-gett 1.01-17 Using libc functions for internationalizatio
ii liblockfile1 1.06 NFS-safe locking library, includes dotlockfi
ii liblzo1 1.08-1.2 A real-time data compression library
ii libmagic1 4.09-1 File type determination library using “magic
ii libmng1 1.0.8-1 Multiple-image Network Graphics library
ii libncurses5 5.4-4 Shared libraries for terminal handling
ii libnewt0.51 0.51.6-18 Not Erik’s Windowing Toolkit – text mode win
ii libopencdk8 0.5.5-10 Open Crypto Development Kit (OpenCDK) (runti
ii libpam-modules 0.76-22 Pluggable Authentication Modules for PAM
ii libpam-runtime 0.76-22 Runtime support for the PAM library
ii libpam0g 0.76-22 Pluggable Authentication Modules library
ii libpango1.0-0 1.8.0-3 Layout and rendering of internationalized te
ii libpango1.0-co 1.8.0-3 Modules and configuration files for the Pang
ii libpaper1 1.1.14-3 Library for handling paper characteristics
ii libpcap0.7 0.7.2-7 System interface for user-level packet captu
ii libpcre3 4.5-1.1 Perl 5 Compatible Regular Expression Library
ii libpng10-0 1.0.18-1 PNG library, older version – runtime
ii libpng12-0 1.2.8rel-1 PNG library – runtime
ii libpopt0 1.7-5 lib for parsing cmdline parameters
ii libpth2 2.0.1-2 The GNU Portable Threads
ii libqt3c102-mt 3.3.3-4.1 Qt GUI Library (Threaded runtime version), V
ii libreadline4 4.3-11 GNU readline and history libraries, run-time
ii libsigc++-1.2- 1.2.5-1 Type-safe Signal Framework for C++ – runtime
ii libsm6 4.3.0.dfsg.1-8 X Window System Session Management library
ii libss2 1.35-6 Command-line interface parsing library
ii libssl0.9.7 0.9.7d-5 SSL shared libraries
ii libstartup-not 0.8-1 library for program launch feedback (shared
ii libstdc++5 3.3.4-13 The GNU Standard C++ Library v3
ii libsvga1 1.4.3-21 console SVGA display libraries
ii libtasn1-2 0.2.10-3 Manage ASN.1 structures (runtime)
ii libtext-charwi 0.04-1 get display widths of characters on the term
ii libtext-iconv- 1.2-3 Convert between character sets in Perl
ii libtext-wrapi1 0.06-1 internationalized substitute of Text::Wrap
ii libtextwrap1 0.1-1 text-wrapping library with i18n – runtime
ii libtiff4 3.6.1-3 Tag Image File Format library
ii libungif4g 4.1.3-1 shared library for GIF images (runtime lib)
ii libusb-0.1-4 0.1.8-17 Userspace USB programming library
ii libuuid1 1.35-6 Universally unique id library
ii libwrap0 7.6.dbs-6 Wietse Venema’s TCP wrappers library
ii libwraster2 0.80.2-0.4 Shared libraries of Window Maker rasterizer
ii libwraster3 0.91.0-7 Shared libraries of Window Maker rasterizer
ii libwxgtk2.4 2.4.2.6 wxWindows Cross-platform C++ GUI toolkit (GT
ii libwxgtk2.4-py 2.4.2.6 wxWindows Cross-platform C++ GUI toolkit (wx
ii libx11-6 4.3.0.dfsg.1-8 X Window System protocol client library
ii libxaw7 4.3.0.dfsg.1-8 X Athena widget set library
ii libxcursor1 1.1.3-1 X cursor management library
ii libxext6 4.3.0.dfsg.1-8 X Window System miscellaneous extension libr
ii libxft1 4.3.0.dfsg.1-8 FreeType-based font drawing library for X (v
ii libxft2 2.1.2-6 FreeType-based font drawing library for X
ii libxi6 4.3.0.dfsg.1-8 X Window System Input extension library
ii libxmu6 4.3.0.dfsg.1-8 X Window System miscellaneous utility librar
ii libxmuu1 4.3.0.dfsg.1-8 lightweight X Window System miscellaneous ut
ii libxp6 4.3.0.dfsg.1-8 X Window System printing extension library
ii libxpm4 4.3.0.dfsg.1-8 X pixmap library
ii libxrandr2 4.3.0.dfsg.1-8 X Window System Resize, Rotate and Reflectio
ii libxrender1 0.8.3-7 X Rendering Extension client library
ii libxt6 4.3.0.dfsg.1-8 X Toolkit Intrinsics
ii libxtrap6 4.3.0.dfsg.1-8 X Window System protocol-trapping extension
ii libxtst6 4.3.0.dfsg.1-8 X Window System event recording and testing
ii libxv1 4.3.0.dfsg.1-8 X Window System video extension library
ii links 0.99+1.00pre12 Character mode WWW browser
ii locales 2.3.2.ds1-18 GNU C Library: National Language (locale) da
ii localization-c 0.108 Configures different programs’ locale settin
ii login 4.0.3-30.3 System login tools
ii logrotate 3.7-2 Log rotation utility
ii m4 1.4.2-1 a macro processing language
rc mailx 8.1.2-0.200405 A simple mail user agent
ii make 3.80-9 The GNU version of the “make” utility.
ii makedev 2.3.1-75 Creates device files in /dev
ii man-db 2.4.2-19 The on-line manual pager
ii manpages 1.70-1 Manual pages about using a GNU/Linux system
ii mawk 1.3.3-11 a pattern scanning and text processing langu
ii menu 2.1.19 Provides update-menus functions for some app
ii mlterm 2.8.0.cvs20040 MultiLingual TERMinal
ii mlterm-common 2.8.0.cvs20040 MultiLingual TERMinal, common files
ii modutils 2.4.26-1.1 Linux module utilities
ii mount 2.12-10 Tools for mounting and manipulating filesyst
ii nano 1.2.4-2 free Pico clone with some new features
ii ncurses-base 5.4-4 Descriptions of common terminal types
ii ncurses-bin 5.4-4 Terminal-related programs and man pages
ii net-tools 1.60-10 The NET-3 networking toolkit
ii netbase 4.19 Basic TCP/IP networking system
ii netkit-inetd 0.10-10 The Internet Superserver
ii nvi 1.79-21 4.4BSD re-implementation of vi
ii openq 0.3.1-2 OpenQ is a QQ-like protocol plugin for Gaim.
ii opera 7.60-20040824. The Opera Web Browser
ii passwd 4.0.3-30.3 Change and administer password and group dat
ii pciutils 2.1.11-15 Linux PCI Utilities
ii pcmcia-cs 3.2.5-8 PCMCIA Card Services for Linux
ii perl 5.8.4-3 Larry Wall’s Practical Extraction and Report
ii perl-base 5.8.4-3 The Pathologically Eclectic Rubbish Lister
ii perl-modules 5.8.4-3 Core Perl modules
ii powermgmt-base 1.21 Common utils and configs for power managemen
ii ppp 2.4.2+20040428 Point-to-Point Protocol (PPP) daemon
ii pppconfig 2.3.6 A text menu based utility for configuring pp
ii pppoe 3.5-4 PPP over Ethernet driver
ii pppoeconf 1.0.11 configures PPPoE/ADSL connections
ii procps 3.2.1-2 The /proc file system utilities
ii psmisc 21.5-1 Utilities that use the proc filesystem
ii python 2.3.5-1 An interactive high-level object-oriented la
ii python2.3 2.3.5-1 An interactive high-level object-oriented la
ii rcconf 1.12 Debian Runlevel configuration tool
ii reiserfsprogs 3.6.19-1 User-level tools for ReiserFS filesystems
ii sed 4.1.2-1 The GNU sed stream editor
ii slang1a-utf8 1.4.9dbs-8 The S-Lang programming library with utf8 sup
ii sudo 1.6.8p5-1 Provide limited super user privileges to spe
ii sysklogd 1.4.1-16 System Logging Daemon
ii sysv-rc 2.86-5 Standard boot mechanism using symlinks in /e
ii sysvinit 2.86-5 System-V like init
ii tar 1.13.93-4 GNU tar
ii tasksel 2.15 Tool for selecting tasks for installation on
ii tcpd 7.6.dbs-6 Wietse Venema’s TCP wrapper utilities
ii telnet 0.17-26 The telnet client.
ii ttf-arphic-gbs 2.11-6 “AR PL SungtiL GB” Chinese TrueType font by
ii ttf-bitstream- 1.10-3 The Bitstream Vera family of free TrueType f
ii ucf 1.13 Update Configuration File: preserves user ch
ii unicon-im 3.0.4-9 Chinese Input Method Libaray
ii unifont 1.0-1 X11 dual-width GNU unicode font
ii unzip 5.51-2 De-archiver for .zip files
ii usbutils 0.11+cvs200411 USB console utilities
ii util-linux 2.12-10 Miscellaneous system utilities
ii vim 6.3-058+1 Vi IMproved – enhanced vi editor
ii vim-common 6.3-013+2 Vi IMproved – Common files
ii vim-gtk 6.3-058+1 Vi IMproved – GTK2 Version
ii wget 1.9.1-8 retrieves files from the web
ii whiptail 0.51.6-18 Displays user-friendly dialog boxes from she
ii wmaker 0.91.0-7 NeXTSTEP-like window manager for X
ii wmaker-usersgu 0.20.2-2 Window Maker Users’ Guide — postscript form
ii wmakerconf 2.9.2-2 GTK+ based configuration tool for Window Mak
ii wmakerconf-dat 0.80.0.1-1 Data files for wmakerconf, a configuration t
ii x-window-syste 4.3.0.dfsg.1-8 X Window System core components
ii xbase-clients 4.3.0.dfsg.1-8 miscellaneous X clients
ii xfonts-100dpi 4.3.0.dfsg.1-8 100 dpi fonts for X
ii xfonts-75dpi 4.3.0.dfsg.1-8 75 dpi fonts for X
ii xfonts-base 4.3.0.dfsg.1-8 standard fonts for X
ii xfonts-scalabl 4.3.0.dfsg.1-8 scalable fonts for X
ii xfree86-common 4.3.0.dfsg.1-8 X Window System (XFree86) infrastructure
ii xlibmesa-dri 4.3.0.dfsg.1-8 Mesa 3D graphics library modules [XFree86]
ii xlibmesa-gl 4.3.0.dfsg.1-8 Mesa 3D graphics library [XFree86]
ii xlibmesa-glu 4.3.0.dfsg.1-8 Mesa OpenGL utility library [XFree86]
ii xlibs 4.3.0.dfsg.1-8 X Window System client libraries metapackage
ii xlibs-data 4.3.0.dfsg.1-8 X Window System client data
ii xmms 1.2.10-2 Versatile X audio player that looks like Win
ii xserver-common 4.3.0.dfsg.1-8 files and utilities common to all X servers
ii xserver-xfree8 4.3.0.dfsg.1-8 the XFree86 X server
ii xutils 4.3.0.dfsg.1-8 X Window System utility programs
ii zhcon 0.2.3-8 A Fast Console CJK System Using FrameBuffer
ii zlib1g 1.2.2-3 compression library – runtime

2005年02月09日

USB是英文”Universal Serial
Bus”的缩写,意为”通用串行总线”。是由Compaq(康柏)、DEC、IBM、Intel、NEC、微软以及Northern
Telecom(北方电讯)等公司于1994年11月共同提出的,主要目的就是为了解决接口标准太多的弊端。USB使用一个4针插头作为标准插头,并通过
这个标准接头,采用菊花瓣形式把所有外设连接起来,它采用串行方式传输数据,目前最大数据传输率为12Mbps,
支持多数据流和多个设备并行操作,允许外设热插拔。

目前USB接口虽然只发展了2代(USB1.0/1.1,USB2.0),但是USB综合了一个多平台标准的所有优点 — 包括降低成本,增加兼容性,可连接大量的外部设备,融合先进的功能和品质。使其逐步成为PC接口标准,进入了高速发展期。

那么对于使用Linux系统,正确支持和配置常见的USB设备,就是其使用必不可少的关键一步。

相关技术基础

模块(驱动程序)

模块(module)是在内核空间运行的程序,实际上是一种目标对象文件,没有链接,不能独立运行,但是可以装载到系统中作为内核的一部分运行,从而可以动态扩充内核的功能。模块最主要的用处就是用来实现设备驱动程序。

Linux下对于一个硬件的驱动,可以有两种方式:直接加载到内核代码中,启动内核时就会驱动此硬件设备。另一种就是以模块方式,编译生成一个.o文件。当应用程序需要时再加载进内核空间运行。所以我们所说的一个硬件的驱动程序,通常指的就是一个驱动模块。

设备文件

对于一个设备,它可以在/dev下面存在一个对应的逻辑设备节点,这个节点以文件的形式存在,但它不是普通意义上的文件,它是设备文件,更确切的
说,它是设备节点。这个节点是通过mknod命令建立的,其中指定了主设备号和次设备号。主设备号表明了某一类设备,一般对应着确定的驱动程序;次设备号
一般是区分不同属性,例如不同的使用方法,不同的位置,不同的操作。这个设备号是从/proc/devices文件中获得的,所以一般是先有驱动程序在内
核中,才有设备节点在目录中。这个设备号(特指主设备号)的主要作用,就是声明设备所使用的驱动程序。驱动程序和设备号是一一对应的,当你打开一个设备文
件时,操作系统就已经知道这个设备所对应的驱动程序。

SCSI 设备

SCSI是有别于IDE的一个计算机标准接口。现在大部分平板式扫描仪、CD-R刻录机、MO光磁盘机等渐渐趋向使用SCSI接口,加之SCSI又
能提供一个高速传送通道,所以,接触到SCSI设备的用户会越来越多。Linux支持很多种的SCSI设备,例如:SCSI硬盘、SCSI光驱、SCSI
磁带机。更重要的是,Linux提供了IDE设备对SCSI的模拟(ide-scsi.o模块),我们通常会就把IDE光驱模拟为SCSI光驱进行访问。
因为在Linux中很多软件都只能操作SCSI光驱。例如大多数刻录软件、一些媒体播放软件。通常我们的USB存储设备,也模拟为SCSI硬盘而进行访
问。

Linux硬件驱动架构

对于一个硬件,Linux是这样来进行驱动的:首先,我们必须提供一个.o的驱动模块文件(这里我们只说明模块方式,其实内核方式是类似的)。我们
要使用这个驱动程序,首先要加载运行它(insmod
*.o)。这样驱动就会根据自己的类型(字符设备类型或块设备类型,例如鼠标就是字符设备而硬盘就是块设备)向系统注册,注册成功系统会反馈一个主设备
号,这个主设备号就是系统对它的唯一标识(例如硬盘块设备在/proc/devices中显示的主设备号为3 ,我们用ls -l
/dev/had看到的主设备就肯定是3)。驱动就是根据此主设备号来创建一个一般放置在/dev目录下的设备文件(mknod命令用来创建它,它必须用
主设备号这个参数)。在我们要访问此硬件时,就可以对设备文件通过open、read、write等命令进行。而驱动就会接收到相应的read、
write操作而根据自己的模块中的相应函数进行了。

其中还有几个比较有关系的东西:一个是/lib/modules/2.4.XX目录,它下面就是针对当前内核版本的模块。只要你的模块依赖关系正确
(可以通过depmod设置),你就可以通过modprobe 命令加载而不需要知道具体模块文件位置。
另一个是/etc/modules.conf文件,它定义了一些常用设备的别名。系统就可以在需要此设备支持时,正确寻找驱动模块。例如alias
eth0 e100,就代表第一块网卡的驱动模块为e100.o。他们的关系图如下:

配置USB设备

内核中配置.

要启用 Linux USB 支持,首先进入”USB support”节并启用”Support for
USB”选项(对应模块为usbcore.o)。尽管这个步骤相当直观明了,但接下来的 Linux USB
设置步骤则会让人感到糊涂。特别地,现在需要选择用于系统的正确 USB 主控制器驱动程序。选项是”EHCI”
(对应模块为ehci-hcd.o)、”UHCI” (对应模块为usb-uhci.o)、”UHCI (alternate
driver)”和”OHCI” (对应模块为usb-ohci.o)。这是许多人对 Linux 的 USB 开始感到困惑的地方。

要理解”EHCI”及其同类是什么,首先要知道每块支持插入 USB 设备的主板或 PCI 卡都需要有 USB 主控制器芯片组。这个特别的芯片组与插入系统的 USB 设备进行相互操作,并负责处理允许 USB 设备与系统其它部分通信所必需的所有低层次细节。

Linux USB 驱动程序有三种不同的 USB 主控制器选项是因为在主板和 PCI 卡上有三种不同类型的 USB
芯片。”EHCI”驱动程序设计成为实现新的高速 USB 2.0 协议的芯片提供支持。”OHCI”驱动程序用来为非 PC 系统上的(以及带有
SiS 和 ALi 芯片组的 PC 主板上的)USB 芯片提供支持。”UHCI”驱动程序用来为大多数其它 PC 主板(包括 Intel 和
Via)上的 USB 实现提供支持。只需选择与希望启用的 USB
支持的类型对应的”?HCI”驱动程序即可。如有疑惑,为保险起见,可以启用”EHCI”、”UHCI”
(两者中任选一种,它们之间没有明显的区别)和”OHCI”。(赵明注:根据文档,EHCI已经包含了UHCI和OHCI,但目前就我个人的测试,单独加EHCI是不行的,通常我的做法是根据主板类型加载UHCI或OHCI后,再加载EHCI这样才可以支持USB2.0设备)。

启用了”USB support”和适当的”?HCI”USB 主控制器驱动程序后,使 USB
启动并运行只需再进行几个步骤。应该启用”Preliminary USB device filesystem”,然后确保启用所有特定于将与
Linux 一起使用的实际 USB 外围设备的驱动程序。例如,为了启用对 USB 游戏控制器的支持,我启用了”USB Human
Interface Device (full HID) support”。我还启用了主”Input core support”
节下的”Input core support”和”Joystick support”。

一旦用新的已启用 USB 的内核重新引导后,若/proc/bus/usb下没有相应USB设备信息,应输入以下命令将 USB 设备文件系统手动挂装到 /proc/bus/usb:


# mount -t usbdevfs none /proc/bus/usb

为了在系统引导时自动挂装 USB 设备文件系统,请将下面一行添加到 /etc/fstab 中的 /proc 挂装行之后:


none /proc/bus/usb usbdevfs defaults 0 0

模块的配置方法.

在很多时候,我们的USB设备驱动并不包含在内核中。其实我们只要根据它所需要使用的模块,逐一加载。就可以使它启作用。

首先要确保在内核编译时以模块方式选择了相应支持。这样我们就应该可以在/lib/modules/2.4.XX目录看到相应.o文件。在加载模块
时,我们只需要运行modprobe
xxx.o就可以了(modprobe主要加载系统已经通过depmod登记过的模块,insmod一般是针对具体.o文件进行加载)

对应USB设备下面一些模块是关键的。

usbcore.o 要支持usb所需要的最基础模块
usb-uhci.o (已经提过)
usb-ohci.o (已经提过)
uhci.o 另一个uhci驱动程序,我也不知道有什么用,一般不要加载,会死机的
ehci-hcd.o (已经提过 usb2.0)
hid.o USB人机界面设备,像鼠标呀、键盘呀都需要
usb-storage.o USB存储设备,U盘等用到

相关模块

ide-disk.o IDE硬盘
ide-scsi.o 把IDE设备模拟SCSI接口
scsi_mod.o SCSI支持

注意kernel config其中一项:


Probe all LUNs on each SCSI device

最好选上,要不某些同时支持多个口的读卡器只能显示一个。若模块方式就要带参数安装或提前在/etc/modules.conf中加入以下项,来支持多个LUN。


add options scsi_mod max_scsi_luns=9

sd_mod.o SCSI硬盘
sr_mod.o SCSI光盘
sg.o SCSI通用支持(在某些探测U盘、SCSI探测中会用到)

常见USB设备及其配置

在Linux 2.4的内核中已经支持不下20种设备。它支持几乎所有的通用设备如键盘、鼠标、modem、打印机等,并不断地添加厂商新的设备象数码相机、MP3、网卡等。下面就是几个最常见设备的介绍和使用方法:

USB鼠标:

键盘和鼠标属于低速的输入设备,对于已经为用户认可的PS/2接口,USB键盘和USB鼠标似乎并没有太多更优越的地方。现在的大部分鼠标采用了
PS/2接口,不过USB接口的鼠标也越来越多,两者相比,各有优势:一般来说,USB的鼠标接口的带宽大于PS/2鼠标,也就是说在同样的时间内,
USB鼠标扫描次数就要多于PS/2鼠标,这样在定位上USB鼠标就更为精确;同时USB接口鼠标的默认采样率也比较高,达到125HZ,而PS/2接口
的鼠标仅有40HZ(Windows 9x/Me)或是60HZ(Windows NT/2000)。

对于USB设备你当然必须先插入相应的USB控制器模块:usb-uhci.o或usb-ohci.o


modprobe usb-uhci

USB鼠标为了使其正常工作,您必须先插入模块usbmouse.o和mousedev.o


modprobe usbmouse
modprobe mousedev

若你把HID input layer支持和input core 支持也作为模块方式安装,那么启动hid模块和input模块也是必要的。


modprobe hid
modprobe input

USB键盘:

一般的,我们现在使用的键盘大多是PS/2的,USB键盘还比较少见,但是下来的发展,键盘将向USB接
口靠拢。使用USB键盘基本上没有太多的要求,只需在主板的BIOS设定对USB键盘的支持,就可以在各系统中完全无障碍的使用,而且更可以真正做到在即
插即用和热插拔使用,并能提供两个USB连接埠:让您可以轻易地直接将具有USB接头的装置接在您的键盘上,而非计算机的后面。

同样你当然必须先插入相应的USB控制器模块:usb-uhci.o或usb-ohci.o


modprobe usb-uhci

然后您还必须插入键盘模块usbkbd.o,以及keybdev.o,这样usb键盘才能够正常工作。此时,运行的系统命令:


modprobe usbkbd
modprobe keybdev

同样若你把HID input layer支持和input core 支持也作为模块方式安装,那么启动hid模块和input模块也是必要的。

U盘和USB读卡器:

数码存储设备现在对我们来说已经是相当普遍的了。CF卡、SD卡、Memory
Stick等存储卡已经遍及我们的身边,通常,他们的读卡器都是USB接口的。另外,很多MP3、数码相机也都是USB接口和计算机进行数据传递。更我们
的U盘、USB硬盘,作为移动存储设备,已经成为我们的必须装备。

在Linux下这些设备通常都是以一种叫做usb-storage的方式进行驱动。要使用他们必须加载此模块


modprobe usb-storage

当然,usbcore.o 和usb-uhci.o或usb-ohci也肯定是不可缺少的。另外,若你系统中SCSI支持也是模块方式,那么下面的模块也要加载


modprobe scsi_mod
modprobe sd_mod

在加载完这些模块后,我们插入U盘或存储卡,就会发现系统中多了一个SCSI硬盘,通过正确地mount它,就可以使用了(SCSI硬盘一般为/dev/sd?,可参照文章后面的常见问题解答)。


mount /dev/sda1 /mnt

Linux支持的其他USB设备。

MODEM–(比较常见)

网络设备

摄像头–(比较常见)例如ov511.o

联机线–可以让你的两台电脑用USB线实现网络功能。usbnet.o

显示器–(我没见过)

游戏杆

电视盒–(比较常见)

手写板–(比较常见)

扫描仪–(比较常见)

刻录机–(比较常见)

打印机–(比较常见)

注意:上面所说的每个驱动模块,并不是都要手动加载,有很多系统会在启动或你的应用需要时自动加载的,写明这些模块,是便于你在不能
够使用USB设备时,可以自行检查。只要用lsmod确保以上模块已经被系统加载,你的设备就应该可以正常工作了。当然注意有些模块已经以内核方式在
kernel启动时存在了(这些模块文件在/lib/modules/2.4.XX中是找不到的)。

最常遇见的USB问题

  1. 有USB设备的系统安装完redhat 7.3启动死机问题

    有USB设备,当你刚装完redhat
    7.3第一次启动时,总会死掉。主要原因是Linux在安装时探测到有usb-uhci和ehci-hcd两个控制器,但在启动时,加载完usb-
    uhci再加载ehci-hcd就会有冲突。分析认为redhat7.3系统内核在支持USB2.0标准上存在问题。在其他版本的Linux中均不存在此
    问题。

    解决办法:在lilo或grub启动时用命令行传递参数init=/sbin/init。这样在启动后就不运行其他服务而直接启动shell。然后运行

    mount -o remount,rw / 使/ 可写,init直接启动的系统默认只mount /为只读

    然后vi /etc/modules.config文件

    删除alias usb-controller1 ehci-hcd一行。或前面加#注释掉

    然后mount -o remount,ro / 使/ 只读,避免直接关机破坏文件系统

    然后就可以按Ctrl-Alt-Delete直接重启了

    或许,你有更简单的办法:换USB键盘和鼠标为PS2接口,启动后修改/etc/modules.config文件。

  2. 我们已经知道U盘在Linux中会模拟为SCSI设备去访问,可怎么知道它对应那个SCSI设备呢?

    方法1:推测。通常你第一次插入一个SCSI设备,它就是sda,第二个就是sdb以此类推。你启动Linux插入一个U盘,就试试sda,换了一
    个就可能是sdb。这里注意两个特例:1)
    你用的是联想U盘,它可能存在两个设备区(一个用于加密或启动电脑),这样就可能一次用掉两个sda、sdb,换个U盘就是sdc、sdd。2)
    联想数码电脑中,可能已经有了六合一读卡器。它同样也是USB存储设备。它会占掉一个或两个SCSI设备号。

    方法2:看信息。其实,只要你提前把usb-storage.o、scsi_mod.o、sd_mod.o模块加载(直接在kernel中也可以)了,在你插入和拔出U盘时,系统会自动打出信息如下:


    SCSI device sda: 60928 512-byte hdwr sectors ( 31 MB )
    sda: Write Protect is on

    根据此信息,你就知道它在sda上了。当然,可能你的系统信息级别比较高,上述信息可能没有打出,这时候你只要tail /var/log/messages就可以看到了。

    方法3:同样,cat /proc/partitions也可以看到分区信息,其中sd?就是U盘所对应的了。若根本没有sd设备,就要检查你的SCSI模块和usb-storage模块是否正确加载了。

  3. 在使用U盘或存储卡时,我该mount /dev/sda还是/dev/sda1呢?

    这是一个历史遗留问题。存储卡最初尺寸很小,很多厂商在使用时,就直接使用存储,不含有分区表信息。而随着存储卡尺寸的不断扩大,它也就引入了类似
    硬盘分区的概念。例如/dev/hda你可以分成主分区hda1、hda2扩展分区hda3,然后把扩展分区hda3又分为逻辑分区hda5、hda6、
    hda7等。这样,通常的U盘就被分成一个分区sda1,类似把硬盘整个分区分成一个主分区hda1。实际上,我们完全可以通过fdisk
    /dev/sda对存储卡进行完全类似硬盘的分区方式分成sda1、sda2甚至逻辑分区sda5、sda6。实际上,对USB硬盘目前你的确需要这样,
    因为它通常都是多少G的容量。而且通常,它里面就是笔记本硬盘。

    一个好玩的问题。你在Linux下用fdisk /dev/sda
    对U盘进行了多分区,这时候到windows下,你会发现怎么找,怎么格式化,U盘都只能找到第一个分区大小尺寸,而且使用看不出任何问题。这主要是
    windows驱动对U盘都只支持一个分区的缘故。你是不是可以利用它来进行一些文件的隐藏和保护?你是不是可以和某些人没玩过Linux的人开些玩笑:
    你的U盘容量变小了J。

    现在较多的数码设备也和windows一样,是把所有U盘容量分为一个,所以在对待U盘的时候,通常你mount的是sda1。但对于某些特殊的数
    码设备格式化的U盘或存储卡(目前我发现的是一款联想的支持模拟USB软盘的U盘和我的一个数码相机),你就要mount
    /dev/sda。因为它根本就没分区表(若mount
    /dev/sda1通常的效果是死掉)。其实,这些信息,只要你注意了/proc/partitions文件,都应该注意到的。

  4. 每次插入U盘,都要寻找对应设备文件名,都要手动mount,我能不能做到象windows那样插入就可以使用呢。

    当然可以,不过你需要做一些工作。我这里只提供一些信息帮助你去尝试完成设置:Linux内核提供了一种叫hotplug支持的东西,它可以让你系
    统在PCI设备、USB等设备插拔时做一些事情。而automount
    功能可以使你的软驱、光盘等设备的分区自动挂载和自动卸载。你甚至可以在KDE桌面中创建相应的图标,方便你操作。具体设置方法就要你自己去尝试了。详见http://www-900.ibm.com/developerWorks/cn/linux/l-usb/index1.shtml

2005年02月08日

有些安装中碰到的故障,在这儿写写,自己觉得更重要,也许别人用不着。
1 网络问题
我的是用户名密码验证后才能上网。而没有浏览器不能输入。不过只要在多重启动系统上的另一个系统上上了网,再回到DEBIAN,就可以上网了。

2在用GRUB启动安装程序时,我有多个ISO 文件,它找到了我用不着的那个,当然提示不能从光盘读。这时候 切换到控制台F2。
用mount看一下。有个/cdrom    /hd-media是mount的装载点。
umount /cdrom
umount /hd-media
mount /discs/disk0/part5 /hd-media  #是我的ISO所在的分区
mount -o loop /hd-media/…/xxx.iso    /cdrom   #是我的ISO所在的目录。
这时候再切换到原来的终端上,就可以正常安装了。一句话,重新按原来的目录结构mount 我的ISO文件。

3编译内核的时候,我的声卡,cs4232 的,找不到,网卡也找不到,但源目录 下明明有。原来我 的这些驱动只有在打开了Code maturity level options—>Prompt for development and/or incomplete code/drivers 才会在相应的地方出现。我的是sound 和
usb support.因为我用的是usb 网卡。这里面的选项多多,如果想找只适合自己的,还得用心配配啊。给一个好网址,精:
http://www-900.ibm.com/developerWorks/cn/linux/l-usb/index1.shtml
给自己提个醒吧,要支持联想的U盘(或许全部的U盘),必须先选SCSI support—>SCSI disk support.为什么?看文章。
我选的是USB Mass Storage support,UHCI (Intel PIIX4,VIA,…) support,Preliminary USB device filesystem,Support for USB.——-写反了顺序。

sound里有个OSS sound modules选项,如果不打开还是没有我的cs4232.它是OSS的一部分嘛 。
网卡在USB support—>USB Network adaptors里有好些usb 网卡的驱动。

4电源选项
在 general setup —>Power Management support里选上了Advanced Power Management BIOS support ,Enable PM at boot time,Make CPU Idle calls when idle
在ACPI Support 里我选 了ac adatper ,battery,button,fan,processor,
不知为何,还是不能自动关机。最后在系统中安了一个apmd.才行了。这也得另外下载安装?linux太不讲了,不默认安了,谁家的机子不支持APM OR ACPI?我还下了个 acpid,听说能用ACPI,反正我以自动关机了,没用它。

5源代码选择
一开始用apt-get install kernel-source-2.4.27-x。下了一个。因为我用的 –initrd 选项,编译时提示说CROM文件系统的事,好象initrd.img这个文件用的是这一系统。如果我要生成initrd.img文件,需要安一个debian的patch.这样才能生成这个文件。我晕,麻烦。没管它,继续,倒也能编译完,生成了一个deb 包。安装吧。发现只有一个vmlinuz文件在/boot目录下。
不行,就算,我又在DEBIAN官方网站 上下了2.4系列最新版,提示:要选 unstable类型 的,以kernel-source搜索,否则可能找不到最新的吧。
一路OK。用标准DEBIAN方法编译,安装完。

啊,好啊,比原来启动快了20秒。感觉程序也快了。更绝了,开机就是DMA方式。爽,不过是16位的,改就行了。
下面是lsmod的输出。
input                   3616   0  (autoclean)
cs4232                  4068   0  (autoclean)
ad1848                 23916   0  (autoclean) [cs4232]
uart401                 6468   0  (autoclean) [cs4232]
sound                  57544   0  (autoclean) [cs4232 ad1848 uart401]
isa-pnp                31952   0  (autoclean) [cs4232 ad1848]
rtl8150                 7832   1
apm                    10124   2  (autoclean)
usb-uhci               23344   0  (unused)
usbcore                62892   1  [rtl8150 usb-uhci]
而老内核的输出是:
Module                  Size  Used by    Not tainted
input                   3040   0  (autoclean)
cs4232                  3524   0  (autoclean)
ad1848                 19916   0  (autoclean) [cs4232]
uart401                 5860   0  (autoclean) [cs4232]
sound                  48872   0  (autoclean) [cs4232 ad1848 uart401]
isa-pnp                25552   0  (autoclean) [cs4232 ad1848]
soundcore               3268   4  (autoclean) [sound]
usb-storage            54496   0  (unused)
rtl8150                 6616   1
cs461x                  1488   0  (unused)
gameport                1388   0  [cs461x]
uhci                   21468   0  (unused)
usbcore                52268   1  [usb-storage rtl8150 uhci]
ide-scsi                8272   0
scsi_mod               86020   2  [usb-storage ide-scsi]
agpgart                39108   0  (unused)
nls_cp437               4284   2  (autoclean)
vfat                    8716   1  (autoclean)
fat                    27576   0  (autoclean) [vfat]
ext3                   65388   1  (autoclean)
jbd                    34628   1  (autoclean) [ext3]
ide-cd                 27040   0
cdrom                  26212   0  [ide-cd]
rtc                     5768   0  (autoclean)
reiserfs              152944   1  (autoclean)
ide-detect               288   0  (autoclean) (unused)
ide-disk               12416   4  (autoclean)
piix                    7784   1  (autoclean)
ide-core               91800   4  (autoclean) [usb-storage ide-scsi ide-cd ide-detect ide-disk piix]
unix                   12720  33  (autoclean)

少了好几个呢。———–待续。

这几天没事,下了个SARGE 3.1.其实只用它安了基本系统。
第一次安完之后重启,一路中文配置。到选安装包的时候什么也不选,这样它会安一些必备包。这时候的系统应该是最小的吧。人家都这么说。
重要:用root安装所有程序,再添加用户。为什么?嘿,这可是试出来的经验。见一些LINUX迷老问  0.0 错误,这是一原因。
因为我选 了中文,在控制台下APT-GET的时候一些中文无法显示,于是我装了zh_con包,运行zhcon就行了。

1 配置网络
ifconfig eth0 x.x.x.x netmask x.x.x.x
route add default gw x.x.x.x
vi /etc/resolv.conf:加上
    nameserver x.x.x.x
此时ping下,能通就上网了。不行的话我有两大绝招:
/etc/init.d/networking stop
/etc/init.d/networking start
还不行???只好用绝招了。拨下网线,稍微停一下再插上。再ping,百分之九九行了,不行的话。是你的机子有问题。呵呵。

2  安装图形界面和软件
apt-get install x-window-system-core
apt-get install xfce4 menu sysv-rc-conf xdm fcitx mozilla-firefox d4x xmms vim vim-gtk xchat rxvt-ml rcconf locales \ /synaptic  aumixer
xfc4 menu xdm 属于桌面系统,类似的有kde,gnome
fcitx  输入法
mozilla-firefoc  d4x xmms vim vim-gtk xchat 属应用软件
rcconf rxvt-ml rcconf locales synaptic属系统配置
aumixer 没它我的声卡没音,我不想用ALSA的。太大。
全部装完了,重启。上不了网了?再重复上面的。当然可以开机上网,可不是这儿的主题。不写了。
打开终端。输入crxvt-gb.最好用它代替系统自带的。为什么 ?支持x终端中文了。
http://packages.debian.org/unstable/source/kernel-source-2.4.27
在上面的网页上找到了适合我的DEBIAN最新源码包。不在官方下是因为官方的源码包不一定支持生成CROM文件系统的initrd.也许需要下 一个DEBIAN的pathc.不适合如我这样的新手。正如我为了吃鸡蛋先去买只小鸡去喂大???安装patch是我下一步的计划。当然不一定需要生成initrd文件。不过在DEBIAN的参考里的标准安装里都用了,我为什么不用?

3  内核配置
一波三折啊。没有这个网站我也不编译了。难啊!可是有了它,就太容易了。 请访问以下网址查看详情,强烈推荐:
http://www.linuxfocus.org/ChineseGB/July2002/article252.shtml

就是太长了。我选啊选 ,适合我的tp600e的配置终于出现了。哈哈哈。有机会我贴出来。
下面我把DEBIAN方式编译内核的步骤写一下,详见DEBIAN参考手册
apt-get install debhelper modutils  kernel-package  libncurses5-dev    #一个都不能少,也球人都知道
apt-get install kernel-source-2.4.27*                                    #我有了,没用这一步
apt-get install  fakeroot
vi /etc/kernel-plg.conf                                                  #无非是写上你的名字和email
cd /usr/src
tar –bzip2 -xvf kernel-source-2.4.27*.tar.bz2
cd kernel-source-2.4.27*
make menuconfig
make-kpkg clean
fakeroot  make-kpkg –append_to_version  -?86  –initrd  –revision=rev.01 kernel_image
cd ..
dpkg -i kernel-image*.deb
啊,成功了,重启选 刚才新生成的内核,最后一步已经加入了内核,在grub中。

写起来简单。可是总有不顺的情况啊,只好待续了。。。

2005年02月04日

redhat 9.0
/etc/modules.conf
alias usb-controller usb-uhci
alias eth0 rtl8150 based usb-ethernet drivev0.4.3 (2002/12/31)
#this is from sndconfig(RH9 LINUX)
alias sound-slot-0 cs4232
post-install sound-slot-0 /bin/aumix-minimal -f /etc/.aumixrc -L >/dev/null 2>&1 || :
pre-remove sound-slot-0 /bin/aumix-minimal -f /etc/.aumixrc -S >/dev/null 2>&1 || :
options sound dmabuf=1
alias synth0 opl3
options opl3 io=0×388
options cs4232 io=0×530 irq=5 dma=1 dma2=0 mpuio=0×330 mpuirq=9


debian sarge 3.1 kernel 2.4.27
/etc/modules.conf  与声卡有关的.是alsa生成的,有一定的通用性

# — BEGIN: Generated by ALSACONF, do not edit. —

# — ALSACONF verion 0.9.0 —

alias char-major-116 snd

alias snd-card-0 cs4232

alias char-major-14 soundcore

alias sound-slot-0 snd-card-0

alias sound-service-0-0 snd-mixer-oss

alias sound-service-0-1 snd-seq-oss

alias sound-service-0-3 snd-pcm-oss

alias sound-service-0-8 snd-seq-oss

alias sound-service-0-12 snd-pcm-oss

options snd major=116 cards_limit=1

#options cs46xx index=0

options cs4232 io=0×530 irq=5 dma=1 dma2=0 mpuio=0×330 mpuirq=9 synthirq=-1 synthio=-1

# — END: Generated by ALSACONF, do not edit. —

2005年02月03日

# XF86Config-4 (XFree86 X Window System server configuration file)
#
# This file was generated by dexconf, the Debian X Configuration tool, using
# values from the debconf database.
#
# Edit this file with caution, and see the XF86Config-4 manual page.
# (Type “man XF86Config-4″ at the shell prompt.)
#
# This file is automatically updated on xserver-xfree86 package upgrades *only*
# if it has not been modified since the last upgrade of the xserver-xfree86
# package.
#
# If you have edited this file but would like it to be automatically updated
# again, run the following commands as root:
#如果运行dpkg-reconfigure xserver-xfree86不能生成更新的XF86Config-4,请执行下面三步
#   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

Section “Files”
FontPath “/usr/share/fonts/truetype/hiweed”
    FontPath    ”unix/:7100″            # local font server
    # if the local font server has problems, we can fall back on these
    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″
    FontPath    ”/usr/lib/X11/fonts/CID”
    FontPath    ”/usr/lib/X11/fonts/Speedo”
    FontPath    ”/usr/lib/X11/fonts/100dpi”
    FontPath    ”/usr/lib/X11/fonts/75dpi”
EndSection
Section “Module”
    Load    ”GLcore”
    Load    ”bitmap”
    Load    ”dbe”
    Load    ”ddc”
    Load    ”dri”
    Load    ”extmod”
    Load    ”glx”
    Load    ”int10″
    Load    ”record”
    Load    ”speedo”
    Load    ”vbea”
    Load    “type1″
    Load    ”xtt”
EndSection
Section “InputDevice”
    Identifier    ”Generic Keyboard”
    Driver        ”keyboard”
    Option        ”CoreKeyboard”
    Option        ”XkbRules”    ”xfree86″
    Option        ”XkbModel”    ”pc104″
    Option        ”XkbLayout”    ”us”
#    Option        ”XkbOptions”    ”CoreKeyboard”
EndSection
Section “InputDevice”
    Identifier    ”Configured Mouse”
    Driver        ”mouse”
    Option        ”CorePointer”
    Option        ”Device”        ”/dev/psaux”
    Option        ”Protocol”        ”ImPS/2″                         # ———有关老鼠轮
    Option        ”Emulate3Buttons”    ”true”
    Option        ”ZAxisMapping”        ”4 5″
EndSection

Section “InputDevice”
    Identifier    ”Generic Mouse”
    Driver        ”mouse”
    Option        ”SendCoreEvents”    ”true”
    Option        ”Device”        ”/dev/input/mice”
    Option        ”Protocol”        ”ImPS/2″
    Option        ”Emulate3Buttons”    ”true”
    Option        ”ZAxisMapping”        ”4 5″
EndSection
Section “Device”
    Identifier    ”NeoMagic (laptop/notebook)”                   #这全是我google找了手工填上去的。不容易啊
    Driver        ”neomagic”
#    BusID        ”PCI:0000:01:00″                       #———-这家伙是多个显卡用的,不知道加上去了,所以注释了。
    VideoRam    2560
EndSection

#—-下面这一节可能更准确,因为是debian sarge 3.1 kernel 2.4.27自认的,当然在Screen一节也需要改一下。不过我没觉出来和#上面的有什么区别。
#Section “Device”
#       Identifier      “NeoMagic Corporation NM2200 [MagicGraph 256AV]“
#       Driver          “neomagic”
#       Option          “UseFBDev”              “true”
#        VideoRam    2560                                                              #–呵呵,它还不能测出显存,自己加的了。
#EndSection

Section “Monitor”
    Identifier    ”Generic|LCD Panel 1024×768″                         #用回原参数,爽
    HorizSync    30-64
    VertRefresh    50-100
    Option        ”DPMS”
EndSection
Section “Screen”
    Identifier    ”Default Screen”
    Device        ”NeoMagic (laptop/notebook)”
    Monitor        ”Generic|LCD Panel 1024×768″
    DefaultDepth    16
    SubSection “Display”
        Depth        1
        Modes        ”1024×768″ “800×600″ “640×480″
    EndSubSection
    SubSection “Display”
        Depth        4
        Modes        ”1024×768″ “800×600″ “640×480″
    EndSubSection
    SubSection “Display”
        Depth        8
        Modes        ”1024×768″ “800×600″ “640×480″
    EndSubSection
    SubSection “Display”
        Depth        15
        Modes        ”1024×768″ “800×600″ “640×480″
    EndSubSection
    SubSection “Display”
        Depth        16
        Modes        ”1024×768″ “800×600″ “640×480″
    EndSubSection
    SubSection “Display”
        Depth        24
        Modes        ”1024×768″ “800×600″ “640×480″
    EndSubSection
EndSection
Section “ServerLayout”
    Identifier    ”Default Layout”
    Screen        ”Default Screen”
    InputDevice    ”Generic Keyboard”
    InputDevice    ”Configured Mouse”
    InputDevice    ”Generic Mouse”
EndSection
Section “DRI”                         #好象是用上openGL?  在内核配置里好象有这一项?
    Mode    0666
EndSection

2005年02月01日

在Debian中默认安装的输入法为Chinput,但由于该输入法并未提供五笔,所以将其换成Fcitx输入法。 其步骤如下:

  1. 首先是卸载Chinput,使用命令apt-get remove –purge chinput;
  2. 安装fcitx输入法,使用命令apt-get -u install fcitx;
  3. 创建 /etc/x11/Xsession.d/25xchinput_start 脚本,以便在启动X 窗口时,自动启动fcitx输入法。由于fcitx为XIM输入法,所以有:

case “$LANG” in

    zh_CN*)

        XMODIFIERS=@im=fcitx

        XIM=fcitx

        XIM_PROGRAM=fcitx

        ;;

    zh_TW*)

        ;;

esac

export XMODIFIERS

export XIM

export XIM_PROGRAM



/usr/bin/fcitx &



之所以要用case来区别语种的目的是为了可以方便以后使用繁体输入法。

亲身试过,比别的法子好用。

安装步骤如下:

1. 首先安装的是输入法fcitx,具体安装方法请参见在Debian中添加Fcitx输入法

2. 然后就是安装系统工具了,主要是apt的图形界面,毕竟用了桌面环境了,如果不用图形界面岂不是白白浪费了?我没有安装KDE中的Kpackage工具,而是用了Synaptic,可能是我用惯了,不过据我所知,用Synaptic的人可不在少数,好用嘛,不用白不用!

3. 再就是安装Java环境了,具体安装方法请参见Debian 下如何安装 Java

4. 下面便是网络工具的安装了,首先当然是浏览器了,我安装的是Mozilla-Firefox,对于Mozilla我一向是敬仰如滔滔江水的,这次的Firefox浏览器硬是从IE手里夺走了5%的市场份额,不简单呀!而且还免费,对中文的支持也不错,实在是太合我意了!
# apt-get -u install mozilla-firefox mozilla-firefox-locale-zh-cn
安装好Mozilla-Firefox之后,有一个界面美化的问题,这个问题如果在GNOME桌面环境下并不是问题,但在KDE下就必须要进行美化了,编辑(如果没有的话就新建一个)~/.mozilla/firefox/×××××.default/chrome/userChrome.css 文件:
/*
* For more examples see http://www.mozilla.org/unix/customizing.html
*/

/* Set font size and family for dialogs
* and other miscellaneous text
*/
window {
font-size: 12px !important;
font-family: simsun !important;
}

/* Make tab group bookmarks italic and brown */
.bookmark-group > .toolbarbutton-text {
font-style: normal;
color: brown;
}

/* Make bookmark folders bold and navy blue */
.bookmark-item[type="menu"] > .toolbarbutton-text {
font-weight: medium;
color: navy;
}

/* BOOKMARKS MENU */

/* bookmark folders */
menu.bookmark-item {
color: navy !important;
font-weight: medium !important;
}

/* tab group bookmarks */
menuitem.bookmark-group {
color: brown !important;
font-style: normal !important;
}

/* Shrink tab titles by 10% */
.tabbrowser-tabs .tab-text {
font-size: 11pt;
}

/* Turn off the great big icons on editor/mail toolbars (bugs 78843/94581) */
.toolbar-primary-icon {
visibility: collapse;
}

/* Make menus big, pretty and readable (like the old SGI look):
* menubar isn’t used after 12/19 builds, but is needed for NS6;
* the rest are for post-12/19
*/
menubar, menubutton, menulist, menu, menuitem {
font-family: simsun !important;
font-style: normal !important;
font-weight: medium !important;
font-size: 12px !important;
}

/* Single line text fields */
input {
/* Set font size and family of text fields */
font-family: simsun !important;
font-size: 12px !important;

/* Set background color to something a little prettier */
background-color: rgb(200, 255, 220) !important;

}

/* Multi-line textareas */
textarea {
background-color: rgb(200, 255, 220) !important;
}

/* Specify the font used for the subject in the message pane
* (it was bold, fixed-width and too wide).
*/
.subjectvalue {
font-family: simsun !important;
font-weight: normal !important;
}

/* Make the thread and folder panes readable. */
treechildren {
font-size: 12px !important;
}

/* Change the background colour of the messages (top right hand
* pane in 3-pane view) of Mail/News from gray to white.
*/
outliner {
background-color : white !important;
}

/* Chatzilla status area: */
.status-label {
color: yellow !important;
}
.status-data {
color: white !important;
}
可以根据显示效果自行调整,反正CSS文件是地球人都知道!:)

5. 其次是邮件系统,我个人推荐Evolution,尤其是最近Evolution项目组更是宣布要将Evolution做成Linux下的Outlook。另一个原因就是因为Evolution毕竟是老牌的邮件系统,其他软件对他的支持也是最多的。

6. 再就是下载软件,推荐使用D4X,这个软件使我想到了FlashGet,可惜的是它没有Linux版本。不过D4X也不赖,只是少了批下载的功能。

7. 然后就是Gaim、LumaQQ和SkyPE这种即时通讯软件了!直接 apt-get install 就成了,没什么需要特殊提示的。(使用LumaQQ的原因是因为这个软件做得比较好,而Gaim下的openq已经好久没有更新了,兼容性太差!)

8. 接下来就是办公软件了,推荐使用OpenOffice,如果是教育部门的话,可以使用StarOffice,因为 Sun同教育部签过协议,是可以免费使用的。OpenOffice是StarOffice的开源项目,项目开发人员相对稳定且使用人数较多,发展趋势较好。注意,在安装OpenOffice时一定要将locale设为zh_CN,这样不容易出现一些意想不到的现象发生。

9. 再就是开发软件了,由于我使用的开发语言主要是PHP、JAVA和C++,所以主要开发工具是Anjuta、BlueFish和Eclipse(含 PHPEclipse 插件),其中Eclipse由于Debian的Deb包版本只有2.1.3,所以是直接从www.eclipse.org官方网站下载的,直接解开就可以用了。同时安装了项目管理软件Planner,它支持甘特图、资源及进度,有点象MS Project。开发工具安装好了之后,就要开始安装开发环境了,主要是PHP5、Apache和数据库PostgreSQL。

10. 多媒体软件Linux下两大经典XMMS和MPlayer,XMMS类似于Winamp,而MPlayer更是功能强大,除了RM格式的视频之外,几乎所有的视频格式它都基本上能播,为了能看RM和RMVB格式的视频,可以下载HelixPlayer和RealPlayer以便播放。

11. 最后就是字典了,我个人推荐使用StarDict,这个东东使用起来比金山词霸还要好用。

12. 还有些杂项软件:比如Acroread、ChmSee、Qtparted等等就不一一详述了,反正一个原则要用什么才下什么。Debian就象是一个大型的软件自选超市,要什么就apt-get什么!方便!!祝大家好运!!!

sources.list


deb http://changsha.hiweed.com/xfce4 testing main
deb http://debian.okey.net/debian-uo/ sid java marillat rareware misc

# Replace /etc/apt/sources.list with this file will change apt source to Debian Mirror on CN99



deb http://debian.cn99.com/debian/ woody main non-free contrib

deb http://debian.cn99.com/debian-non-US/ woody/non-US main contrib non-free

deb http://debian.cn99.com/debian/ sarge main non-free contrib

deb http://debian.cn99.com/debian-non-US/ sarge/non-US main contrib non-free

deb http://debian.cn99.com/debian/ testing-proposed-updates main contrib non-free

deb http://debian.cn99.com/debian-non-US/ testing-proposed-updates/non-US main contrib non-free

deb http://debian.cn99.com/debian/ sid main non-free contrib

deb http://debian.cn99.com/debian-non-US/ sid/non-US main contrib non-free



deb http://debian.cn99.com/debian-security/ sarge/updates main contrib non-free



deb-src http://debian.cn99.com/debian/ sarge main non-free contrib

deb-src http://debian.cn99.com/debian-non-US/ sarge/non-US main contrib non-free

deb-src http://debian.cn99.com/debian/ testing-proposed-updates main contrib non-free

deb-src http://debian.cn99.com/debian-non-US/ testing-proposed-updates/non-US main contrib non-free

deb-src http://debian.cn99.com/debian/ sid main non-free contrib

deb-src http://debian.cn99.com/debian-non-US/ sid/non-US main contrib non-free



#———————————————-Gnome———————————————-

deb http://debian.cn99.com/debian/ ../project/experimental main

deb-src http://debian.cn99.com/debian/ ../project/experimental main



# deb http://pkg-gnome.alioth.debian.org/debian/ experimental main

# deb-src http://pkg-gnome.alioth.debian.org/debian/ experimental main



#——————————————–j2re————————————————–

deb http://jopa.studentenweb.org/ debian/

deb http://z42.de/ debian/

deb http://www.landshut.org/members/db1ras/debian woody all



#——————————————-mplayer————————————————

deb ftp://ftp.nerim.net/debian-marillat/ unstable main



#—————————————-Chinese Fonts———————————————

deb http://211.100.7.181/~liling/debian/ttfonts/ ./

deb ftp://debian.linux.org.tw/pub/apt/ unstable main



#——————————————-php5—————————————————

deb http://packages.dotdeb.org/ ./

deb http://debian.theracingworld.com/ local main contrib non-free



#————————————-Other No-Offical Sites—————————————

deb http://debian.okey.net/debian-uo/ sid firefly jrfonseca java marillat misc rareware ustc xorg

之所以不象以前那种说汉化是因为这实在不能说是汉化,最多也只能说是美化,只是把汉化的东西表现得更好看而已!具体步骤如下:

  1. 首先是图形登录界面,进入gdm图形登录界面,选择行动/配置登录管理器…菜单,系统会要求你输入根用户密码,进入
    后在通用标签中在欢迎程序/本地下拉框中选择图形欢迎程序,图形欢迎程序标签中选择你喜欢的主题,然后关闭该配置程序。这样你就拥有了一个漂亮的图形登录
    界面了!
  2. 进入KDE,你会遇到一个桌面设置向导,选择中国/简体中文及你喜欢的系统行为和外观,就可以进入
    KDE桌面环境了。如果想要修改的话,可以控制中心里修改。如果你看到的配置向导有很多的小方块的话,可以取消它,等到我们安装好我们的中文字体之后,再
    到控制中心中修改。如果你无法忍受的话,也可以到控制中心里的外观和主题/字体选项中,暂时先选AR PL SungtiL
    GB字体,虽然样子难看点,但毕竟还是看得到中文而不是乱码了!
  3. 安装中文字体:中文字体的安装有两种方法,请参考

    如何在Debian下快速安装中文字体


    如何在Debian下手工安装中文字体
    这两篇文章,在这里我就不再多讲了。只把快速安装的命令列出来,有兴趣的朋友可以仔细看看这两篇文章:

    # apt-get install x-ttcidfont-conf libft-perl libttf2 libxft2  修改/etc/X11/XF86Config-4文件

    # apt-get install ttf-bitstream-vera msttcorefonts

    # apt-get install
    ttf-microsoft-simsun ttf-microsoft-simhei ttf-microsoft-simyou ttf-microsoft-simli
  4. 重启计算机或X窗口系统使字体生效,首先修改GTK的字体设置,进入/etc/gtk目录,编辑文件gtkrc.zh_CN

    style “gtk-default-zh-cn” {

        fontset=”-adobe-helvetica-mudium-r-normal–12-*-*-*-*-*-iso8859-1,\

                     
    -*-simsun-medium-r-normal–14-*-*-*-*-*-gb2312-0,fixed”

    }

    class “GtkWidget” style “gtk-default-zh-cn”
  5. 然后设置KDE,进入菜单 控制中心/外观和主题/字体 将字体设为simsun 12,然后Ctrl+Alt+Backspace,重启X窗口系统。
  6. 恭喜你,你已经可以看到漂亮的中文图形界面了!