linux下的系统和软件配置方法简介

简介:使用Vim时,我们需要对~/.vimrc进行配置;对网络连接进行配置的时候,我们需要修改/etc下面的相应文件;gedit出现乱码的时候我们需要修改相应的键值,让它支持中文字符显示;在libreoffice出现乱码的时候,我们又需要直接在菜单–工具中进行设置?linux下出现了相应的乱码该如何解决?相应的配置文件在哪个地方?通过哪个接口来修改相应的程序配置?本文,主要解决的就是上述疑问,给出了比较一般性的答案。

1.系统配置文件:

为什么又有系统配置文件?想一想:每次登录系统,我们首先进入哪种登录界面?每次连接网络我们采用动态连接还是指定ip?等等,这些东西都必须记录在某个地方,在启动相应的程序的时候,会自动读取这些配置信息,这些配置信息就是系统配置文件。而内核到哪里读取相应的信息?为了便于管理,这些往往都有一个统一的约定,在/etc目录下面,包括了访问文件/登录和注销信息/文件系统/系统管理/联网/系统命令/守护进程,还有一部分集成在系统之中的应用程序。

2.系统级用户配置文件

另外,如果有的人不喜欢在/etc/中配置程序的方式该怎么办呢?统一放在一个目录下,如何对权限进行有效管理?如果一个程序对应一个配置文件,如何对不同用户满足不同的配置需求(例如,我们需要不同的Vim配置环境)?所以,还有一类用户配置文件.(点)文件和rc文件。常用的系统自带用户配置程序如下:

文件名描述~/.bash_login请参考“man bash”。如果 ~/.bash_profile 不存在,bash 则将 ~/.bash_login 作为 ~/.bash_profile 处理。~/.bash_logout请参考“man bash”。在退出时由 bash 登录 shell 引用。~/.bash_profile由 bash 登录 shell 引用 /etc/profile 之后引用。~/.bash_history先前执行的命令的列表。~/.bashrc请参考“man bash”。由 bash 非登录交互式 shell 引用(没有其它文件)。除非设置了 BASH_ENV 或 ENV,非交互式 shell 不引用任何文件。

.bashrc是配置文件,在你的账号登录系统的时候,系统就会自动读取的,不是用来执行的如果你修改过,要想使它及时生效,可以登出账号再登入,或者用source .bashrc

~/.emacs启动时由 emac 读取。~/.forward如果这里包含一个电子邮件地址,那么所有发往 ~ 的所有者的邮件都会被转发到这个电子邮件地址。~/.fvwmrc ~/.fvwm2rcfvwm 和 fvwm2(基本的 X Window 管理器)的配置文件。~/.hushlogin请参考“man login”。引起“无提示”登录(没有邮件通知、上次登录信息或者 MOD 信息)。~/.mail.rc邮件程序的用户初始化文件。~/.ncftp/ncftp 程序的目录;包含书签、日志、宏、首选项和跟踪信息。请参阅 man ncftp。ncftp 的目的是为因特网标准文件传输协议(Internet standard File Transfer Protocol)提供一个强大而灵活的接口。它旨在替换系统所使用的标准的 ftp 程序。~/.profile请参考“man bash”。如果 ~/.bash_profile 和 ~/.bash_login 文件不存在,bash 则将 ~/.profile 作为 ~/.bash_profile 处理,并被其它继承 Bourn 的 shell 使用。~/.pinercPine 配置~/.muttrcMutt 配置~/.exrc这个文件可以控制 vi 的配置。示例:set ai sm ruler在此文件中写入上面一行会让 vi 设置自动缩进、匹配括号、显示行号和行-列这几个选项。~/.vimrc缺省的“Vim”配置文件。和 .exrc 一样。~/.gtkrcGNOME 工具包(GNOME Toolkit)。~/.kdercKDE 配置。~/.netrcftp 缺省登录名和密码。~/.rhosts由 r- 工具(如 rsh、rlogin 等等)使用。因为冒充主机很容易,所以安全性非常低。

    必须由用户(~/ 的所有者)或超级用户拥有。列出一些主机,用户可以从这些主机访问该帐号。如果是符号链接则被忽略。

~/.rpmrc请参阅“man rpm”。如果 /etc/rpmrc 不存在则由 rpm 读取。~/.signature消息文本,将自动附加在从此帐号发出的邮件末尾。~/.twmrctwm(TheWindowManager)的配置文件。~/.xinitrc启动时由 X 读取(而不是由 xinit 脚本读取)。通常会启动一些程序。示例:exec /usr/sbin/startkde如果该文件中存在上面这行内容,那么在从这个帐号发出 startx 命令时,这一行就会启动“KDE 视窗管理器”(KDE Window Manager)。~/.xmodmaprc此文件被传送到 xmodmap 程序,而且可以被命名为任何文件(例如 ~/.Xmodmap 和 ~/.keymap.km)。~/.xserverrc如果 xinit 可以找到要执行的 X,xinit 就会将该文件作为 X 服务器运行。~/News/Sent-Message-IDsgnus 的缺省邮件历史文件。~/.Xauthority由 xdm 程序读和写,以处理权限。请参阅 X、xdm 和 xauth 联机帮助页。~/.Xdefaults, ~/.Xdefaults-hostname在主机 hostname 的启动过程中由 X 应用程序读取。如果找不到 -hostname 文件,则查找 .Xdefaults 文件。~/.Xmodmap指向.xmodmaprc;Red Hat 有使用这个名称的 .xinitrc 文件。~/.Xresources通常是传送到 xrdb 以加载 X 资源数据库的文件的名称,旨在避免应用程序需要读取一个很长的 .Xdefaults 文件这样的情况。(有些情况曾经使用了 ~/.Xres。)~/mbox用户的旧邮件。

3.普通程序配置文件

对于像gedit/libreoffice等等应用程序,他们的配置文件又放在何处,如何有效配置它们呢?这里,我们介绍两种方法:基于命令行的工具gsettings和基于图形界面的配置工具gconfig-editor。

3.1gsettings

3.1.1gsettings简介

man文档中的说明:gsetting是GSettings的命令行接口。通过这个接口,你能够观察/得到/设置不同的键值。通常情况下,这个命令需要包含两个参数:模式(schemas)和键值(key)。如果模式没有一个固定的路径,你也可以为它指定一个路径。GSettings提供了访问(属性/值)的API使得你无须直接访问存储这些数据的后端文件(例如configfiles,gconf,dconf)。

3.1.2 gsettings用法

Usage:

gsettings[–schemadir SCHEMADIR] COMMAND [ARGS…]

Commands:

help Show this information

list-schemas List installed schemas

list-relocatable-schemas List relocatable schemas

list-keys List keys in a schema

list-children List children of a schema

list-recursively List keys and values, recursively

range Queries the range of a key

get Get the value of a key

set Set the value of a key

reset Reset the value of a key

reset-recursively Reset all values in a given schema

writable Check if a key is writable

monitor Watch for changes

Use’gsettings help COMMAND’ to get detailed help.

3.1.3实例:设置gedit的编码字符解决中文乱码问题

首先,找到gedit编码对应的属性

hyk@hyk-linux:~$gsettings list-schemas | grep gedit

org.gnome.gedit.state

org.gnome.gedit.preferences.ui

org.gnome.gedit.plugins

org.gnome.gedit.state.history-entry

org.gnome.gedit.preferences

org.gnome.gedit.preferences.print

org.gnome.gedit

org.gnome.gedit.preferences.encodings

org.gnome.gedit.state.window

org.gnome.gedit.plugins.time

org.gnome.gedit.plugins.filebrowser.nautilus

org.gnome.gedit.plugins.filebrowser

org.gnome.gedit.preferences.editor

org.gnome.gedit.state.file-filter

org.gnome.gedit.plugins.pythonconsole

org.gnome.gedit.plugins.externaltools

(代码中黑体部分就是需要找的schema)

然后,找到schema下面对应的属性值

hyk@hyk-linux:~$gsettings list-recursively org.gnome.gedit.preferences.encodings

org.gnome.gedit.preferences.encodingsauto-detected [‘UTF-8’, ‘GB18030’, ‘GB2312’, ‘GBK’, ‘BIG5′,’CURRENT’, ‘UTF-16’]

org.gnome.gedit.preferences.encodingsshown-in-menu [‘ISO-8859-15’]

(黑体部分就是需要编辑的)

对属性值进行设置:

hyk@hyk-linux:~$gsettings set org.gnome.gedit.preferences.encodings auto-detected"[‘UTF-8’, ‘GB18030’, ‘GB2312′,’BIG5’, ‘CURRENT’, ‘UTF-16’]"

验证:

hyk@hyk-linux:~$gsettings list-recursively org.gnome.gedit.preferences.encodings

org.gnome.gedit.preferences.encodingsauto-detected [‘UTF-8’, ‘GB18030’, ‘GB2312’, ‘BIG5’, ‘CURRENT’,’UTF-16′]

org.gnome.gedit.preferences.encodingsshown-in-menu [‘ISO-8859-15’]

可以发现GBK编码果真被去掉了,同理也可以加上各类字符编码。

3.2gconf-editor

用过window的用户都知道它下面的注册表,同样,为了对用户友好,linux下也有对应的注册表gconfig,它是基于GNOME2桌面的Linux操作系统中用于配置应用程序属性的管理工具,它的gui接口就是gconf-editor或者dconf-editor。这个和win下面的注册表相似,具体不再介绍。

4总结:修改一个应用程序的配置往往会处理三个地方可能的一个或者几个:系统/etc目录下面;home下面的.rc文件等;gconf之中。前两者直接编辑配置文件,后者可以通过gsettings命令接口/gconf图形界面/直接在应用软件提供的界面中修改。

参考文献:

【1】理解linux配置文件:http://www.ibm.com/developerworks/cn/linux/management/configuration/index.html

有山就有路,有河就能渡。

linux下的系统和软件配置方法简介

相关文章:

你感兴趣的文章:

标签云: