LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
楼主: weixiao

RH7.3最终汉化实例与RedHat软件设置

[复制链接]
发表于 2006-9-2 10:05:45 | 显示全部楼层

记录终端机会话工具:script

script -- 记录文本终端上当前会话的显示信息到一个名为“typescript”(缺省文件名)的文本文件。

虚拟终端机操作(如:Gnome-Terminal):
$ script
Script started, file is typescript

$ echo hello world
hello world

$ [ 按‘Ctrl - D’] Script done, file is typescript
$

打开当前目录“typescript”
$ cat typescript
-------------------------------------------
Script started on Sat Jul 22 10:09:35 2006
$ echo hello world
hello world
$
Script done on Sat Jul 22 10:14:09 2006
-------------------------------------------
$

指定输出文件:
$ script /tmp/outfiles
Script started, file is /tmp/outfiles

$ echo I am too tired to speak
I am too tired to speak

$ [ 按‘Ctrl - D’] Script done, file is /tmp/outfiles
$

script -a [文件] 是指继续向默认文件或指定输出文件添加会话信息。
script -t [文件] 在当前会话显示按键信息。
如:
$ script -t -a /tmp/outfiles
  1. Script started, file is /tmp/outfiles
  2. 0.616009 14
  3.      0.287205 15
  4.         [提示符]$ 0.044269 1
  5.                         d8.789176 1
  6.                               a0.162919 1
  7.                                     t2.101755 1
  8. e0.197106 2
  9. 1.250848 30
  10.              7 22 10:30:13 CST 2006
  11. 0.025537 14
  12.            0.013000 15
复制代码
$ [ Ctrl - D ] Script done, file is /tmp/outfiles

注:添加 date 信息,‘a0.162919 1’: ‘a’ 是输入字符,‘0.162919’是时间间隔,‘1’ 是显示的字符数。

---
---
回复 支持 反对

使用道具 举报

发表于 2006-9-2 14:34:28 | 显示全部楼层

更换系统视觉

更换桌面背景图片

$ rpm -qa |grep logo
redhat-logos-1.1.3-1

$ rpm -ql redhat-logos | more
/usr/share/pixmaps/redhat
.........................................
/usr/share/pixmaps/redhat/mini-shadowman-round.xpm
.........................................

程序 -> Graphics -> 启动 GQview 浏览/usr/share/pixmaps/redhat目录下的图片

程序 -> Settings -> Desktop -> Background -> 设置背景图片:/usr/share/pixmaps/redhat/rhad.png

或右击桌面:‘Reset Desktop Background’、‘Change Desktop Background’。

[ 注:程序自动修改相关文件(~/.gnome/Background) ]

更换GRUB背景图片

GRUB使用压缩了的XPM图像格式(.xpm.gz),图片规格:640x480 ,14 colors 。

例子 1 :使用网络资源
http://www.gnome-look.org/
Splash Screen --> Tux GRUB Splash 下载 grub-36909-soft-tux.xpm.gz

# cd /boot/grub
# cp [path]/grub-36909-soft-tux.xpm.gz ./
# chmod 644 grub-36909-soft-tux.xpm.gz

grub.conf配置文件中变量splashimage对应的图片名修改成链接文件:
# grep splash /etc/grub.conf
splashimage=(hd0,0)/boot/grub/splash.xpm.gz

# cp splash.xpm.gz splash-old.xpm.gz
# rm splash.xpm.gz
# ln -s grub-36909-soft-tux.xpm.gz splash.xpm.gz
# ls -l splash.xpm.gz
lrwxrwxrwx 1 root root xx xxxx splash.xpm.gz -> grub-36909-soft-tux.xpm.gz

例子 2 :制作 .xpm.gz 图片

收集图片,图片大小不及640x480尺寸用软件调整:布景大小 640x480 、16色 、BMP位图文件。

$ convert file.bmp -colors 14 -geometry 640x480! newfile.xpm
[ 注:jpg格式转换成xpm,失真度大 。]

$ gzip newfile.xpm

注:这里新增几款 xpm.gz
自助小店:rhlinux.ys168.com
子目录:Grub-splash

配置窗框外观:

a 首先把在X-Windows已经打开的程序窗口关闭。
b 主菜单 -> 程序 -> Settings -> Sawfish window manager -> Appearance(Configure window appearance )
c 外观配置:‘默认窗帧风格’下拉列表选一款风格,‘应用’,‘确定’。
d 重启系统:退出提示框,选‘保存当前设置’,重启系统。

配置themes和icons

themes:程序 -> Settings -> Desktop -> Theme Selector

rh7.3 提供十几款布景主题。如果要安装新的布景主题文件一定是(.tar.gz)格式文件,我试安装但没有预期效果。

rh7.3 安装新布景主题和鼠标指尖要借助其它软件。

------:comp
--
回复 支持 反对

使用道具 举报

发表于 2006-9-2 14:44:01 | 显示全部楼层

更换进入X-Windows的splash画面(例 1,例 2 )

$ su -

把启动画面制作成链接文件
# cd /usr/share/pixmaps
# mv gnome-redhat-splash.png gnome-redhat-splash.png.old

查看预存的画面
# ls /usr/share/pixmaps/splash/
gnome-splash-1.4.0.png gnome-splash.png

# ln -s /usr/share/pixmaps/splash/gnome-splash-1.4.0.png gnome-redhat-splash.png

重新启动X-Windows观看画面

例子1:按以上设置后,更换splash画面
# cd /usr/share/pixmaps
# rm gnome-redhat-splash.png
# ln -s /usr/share/pixmaps/splash/gnome-splash.png gnome-redhat-splash.png

例子2:下载网络资源,更换的画面

http://www.gnome-look.org/ 网站Splash Screen分类目录有大量splash画面提供下载( 或者http://art.gnome.org/themes/splash_screens/ )。

实例下载Metal Gnome Splashscreen(36531-Metal_Gnome_splashscreen1.png),打开download页面,在X-Windows直接保存(.png)文件。

如果在windows系统下不能直接保存(.png)文件,把地址栏的URL复制 (如:http://www.gnome-look.org/content/files/36531-Metal_Gnome_splashscreen1.png),用下载软件中粘贴URL功能下载,保证文件是(.png)文件。

文件复制到/usr/share/pixmaps/splash目录下面
# cp 36531-Metal_Gnome_splashscreen1.png /usr/share/pixmaps/splash/

保证文件权限是644
# chmod 644 /usr/share/pixmaps/splash/36531-Metal_Gnome_splashscreen1.png

更换splash画面
# cd /usr/share/pixmaps
# rm gnome-redhat-splash.png

# ln -s /usr/share/pixmaps/splash/36531-Metal_Gnome_splashscreen1.png gnome-redhat-splash.png

-----
-----
回复 支持 反对

使用道具 举报

发表于 2006-9-2 14:49:56 | 显示全部楼层

更换进入X-Windows的splash画面(例 3 )

目录(/usr/share/pixmaps/splash)收集了几款启动画面,编写手动‘随机换画面脚本’:

如果没有 ~/bin 目录,建一个。Root 权限编写脚本
# vi ~/bin/switch_splash.sh

#!/bin/bash
workdir="/usr/share/pixmaps/splash"
if touch "$workdir"/files_note 2>/dev/null
then
:
else
echo "switch_splash.sh : Permission denied";exit
fi
find $workdir -name "*.png" > "$workdir"/files_note

# random integer between 1 - $linenum
# questions:rn=$(((RANDOM%(${linenum}-1+3))/3*3+1))
# ---------------------- #

linenum=$(cat /usr/share/pixmaps/splash/files_note | wc -l )
rn=$(echo ok | awk 'BEGIN{srand()};{print rand()}')
n=$( echo "(${linenum}*${rn}+1)/1" | bc )

# ---------------------- #

wei=$(grep -n ".*" "$workdir"/files_note|grep "^${n}:" | awk -F ":" '{print $2}')

cd /usr/share/pixmaps
if [ -L ./gnome-redhat-splash.png ];then
te_file=$(ls -l ./gnome-redhat-splash.png|awk '{print $11}')
te=1
else
te=0
if [ -f ./gnome-redhat-splash.png ];then
cp -f ./gnome-redhat-splash.png ./gnome-redhat-splash.png.old
te=1
fi
fi

if [ "$wei" = "$te_file" ];then
echo "lease run switch_splash.sh again !"
exit
fi

if [ $te -eq 1 ];then
rm -f gnome-redhat-splash.png
ln -s $wei gnome-redhat-splash.png
echo " OK ! enjoy your work ! "
else
echo "check gnome-redhat-splash.png"
fi

rm -f "$workdir"/files_note


# chmod +x ~/bin/switch_splash.sh

有需要时运行脚本(Root权限),更换splash画面。(ls -l /usr/share/pixmaps/gnome-redhat-splash.png )察看更换情况,不满意时,多运行几次switch_splash.sh脚本,脚本更换概率跟/usr/share/pixmaps/splash目录下画面数量有关。

注:收集几款 splash 画面
自助小店:rhlinux.ys168.com
子目录:X-splash

------------------------
-------------------
回复 支持 反对

使用道具 举报

发表于 2006-9-2 14:55:15 | 显示全部楼层

更换进入X-Windows的splash画面(例 3),‘随机换画面脚本’脚本解释

一 脚本中 -->

# ---------------------- #
linenum=$(cat /usr/share/pixmaps/splash/files_note | wc -l )
rn=$(echo ok | awk 'BEGIN{srand()};{print rand()}')
n=$( echo "(${linenum}*${rn}+1)/1" | bc )
# ---------------------- #

以上是产生 1 到 ${linenum} 整数之间的随机整数。

二 abs-guide 资料中:
Bill Gradwohl came up with an improved formula that works for positive numbers.
Bill Gradwohl 提出一个改良的公式,这个公式只用于正数.

公式:
rnumber=$(((RANDOM%(max-min+divisibleBy))/divisibleBy*divisibleBy+min))
产生一个范围里的随机数,欠准确。

三 命令行测试 echo ok | awk 'BEGIN{srand()};{print rand()}'

$ echo ok | awk 'BEGIN{srand()};{print rand()}' (产生随机数)
0.364702

$ echo ok | awk 'BEGIN{srand()};{print rand()}'
0.668045
用快速输入命令(‘个’(上)键 + Enter )
$ (‘个’(上)键 + Enter )
0.668045
[ 注:产生随机数是相同(不合理) ]

用这测试更明确:
$ echo ok | awk 'BEGIN{srand()};{print rand()}';echo ok | awk 'BEGIN{srand()};{print rand()}'
0.328553
0.328553

改良指令:
$ echo ok | awk 'BEGIN{srand()};{print rand()}';sleep 1 ;echo ok | awk 'BEGIN{srand()};{print rand()}'
0.678384
0.819117

$ echo ok | awk 'BEGIN{srand()};{print rand()}';sleep 0.4 ;echo ok | awk 'BEGIN{srand()};{print rand()}'
0.197967
0.0968715

[ 注:现在是正常的随机数,是硬件慢,还是哪个系统调用快,哪个慢,有点被搞糊涂。]

--------------
-----------
回复 支持 反对

使用道具 举报

发表于 2006-9-2 15:02:20 | 显示全部楼层

技巧实例 1

(平时操作笔记摘录)

1. RH7.3系统gnome桌面,操作二例

例子:
1) CD-ROM放入光盘后,设置停止自动打开 nautilus的文件管理器
  桌面主菜单 -> Settings -> Peripherals -> CD Properties
‘CD Properties’窗体:
停止选择:‘自动开始新映射的CD盘自启动程序’和‘为新映射的CD盘打开文件管理器’

2) 观察X应用程序在虚拟控制台的提示信息
# cat /dev/vcs1
[ 注 X桌面是由 tty1 → startx启动 ]


2. 用户目录下查找日期为某一天的文件

资料: A=`find ~ -print` | ls -l --full-time $A 2>/dev/null | grep "Jun 27" | grep 1998

实用: A=`find ~ -print` | ls -l --full-time $A 2> /dev/null | grep "6月 27" | grep 1998

3. 终端机或gnome-terminal里花屏问题

终端机或gnome-terminal里花屏有时会遇到,想创造一个花屏实验问题?如下:

例子:把下面其中一个文件复制到 /tmp
/usr/share/terminfo/a/aj
/usr/share/terminfo/a/aj830
/usr/share/terminfo/a/aj832

$ cp /usr/share/terminfo/a/aj830 /tmp

$ cat /tmp/aj830
[ 花屏!]

解决办法按网上资料无法实现,只用鼠标关闭gnome-terminal窗体,或者命令行盲打‘exit’退出,然后重新登录终端机或启动gnome-terminal。

发现一个法子解决乱码问题:
盲打 cat
^O 按键动作:按 Ctrl+O ,回车。
^D 按键动作:按 Ctrl+D 结束输入


4. 下载网页(包括网页链接)或整个网站

wget -r -k -p -np http://docs.gimp.org/zh_CN
wget --mirror --convert-links --backup-converted http://docs.gimp.org/zh_CN

  下载某个网站其中一个目录
$ wget -r -l 1 -L -nH http://www.site.org/docs

  下载单一文件
$ wget http://www.site.org/docs/readme.txt
$ wget -nd http://www.site.org/docs/readme.txt
$ wget -O good.html http://www.site.org/bbs/forum.php?do=nees&f=40

注:-nH 是在本地不建立主机目录(如:www.site.org)
    -nd 是指在本地不建立任何目录

  回显主机信息
$ wget -S --spider http://www.site.org

------------------

5. 文件或目录修改成当时时间
$ touch -t $(date +%Y%m%d%H%M) [ file | dir ]

设置alias,把目录以及目录下所有文件和子目录修改成当前时间
$ bash -version
GNU bash, version 2.05a.0(1)-release (i686-pc-linux-gnu)
Copyright 2001 Free Software Foundation, Inc.

$ alias w_ctime='find $1 -name "*" -exec touch -t $(date +%Y%m%d%H%M) {} \;'
或:alias w_ctime='find $1 -name "*" -exec touch -t $(date +%Y%m%d%H%M) {} \;;set --'

$ alias

例子:测试目录 ~/testdir,操作:
$ set ~/testdir ; w_ctime

删除 w_ctime
$ unalias w_ctime

[ 注:设置用户全局变量文件(~/.bashrc) ]

------------
-----------
回复 支持 反对

使用道具 举报

发表于 2006-9-2 15:05:48 | 显示全部楼层

技巧实例 2

6. 列出当前目录下子目录的方法:
$ ls -d */

列出隐藏子目录和文件
$ ls -d .*
$ ls -d .*/

7. find 查找时忽略个别目录,例子:
# find / -cmin -5
# find / -path '/proc' -prune -o -cmin -5 -print
# find / -path '/proc' -prune -o -path '/mnt' -prune -o -cmin -5 -print

8. 普通用户操作/usr目录下的png图片复制到指定目录下:
$ mkdir /tmp/usrpng
$ find /usr -type f -perm 644 -name "*.png" -exec cp -f {} /tmp/usrpng \;

9. Tab 键
命令行输入时,中途迟疑,马上敲‘Tab’键。

10. 同时修改用户账号和组账号(记一个命令,方便)
# chown wei:wei file
# chown wei:wei dir/*

-----
-----
回复 支持 反对

使用道具 举报

发表于 2006-9-4 19:22:16 | 显示全部楼层

free 指令

纯属笔记:
---

Buffers:
以ls命令为例,这个命令非常频繁地运行于一个多用户系统上。只从磁盘上读取一次信息,然后把它保存在内存
内,直到不再需要它为止,通过这种方式,除了第一次读取较慢以外,后面的运行速度明显得以加快。这种技术
叫作“磁盘缓冲”,用于该技术的内存叫作“缓冲区”。
> 磁盘缓冲对写入数据来说,非常有用。
> 有“即时写”和“后写”(write back)疑问,导致系统对数据同步处理的方案。
> 缓冲区实际上不对文件进行缓冲处理。
> Linux操作系统中缓冲区的采用完全是自动的。

---

Cached(高速缓存):硬件高速缓存器的技术概念引伸出协调内存管理机制的技术名称,全面提高Linux系统性能。

Linux使用了一系列和高速缓存相关的内存管理技术:

Buffer cache (缓存区高速缓存):包含了用于块设备驱动程序的数据缓冲区。
Page Cache (页面高速缓存):用来加快对磁盘上映像和数据的访问。它用于缓存文件的逻辑内容,一次一页,并通过文件和文件内的偏移来访问。当数据页从磁盘读到内存中时,被缓存到page cache中。
Swap Cache (交换高速缓存):只有改动过的(或脏dirty)页才存在交换文件中。只要它们写到交换文件之后没有再次修改,下一次这些页需要交换出来的时候,就不需要再写到交换文件中,因为该页已经在交换文件中了,直接废弃该页就可以了。在一个交换比较厉害的系统,这会节省许多不必要和高代价的磁盘操作。
Hardware Cache(硬件高速缓存):硬件高速缓存的常见的实现方法是在处理器里面:PTE的高速缓存。

---

例子:
$ free
.............total.......used.......free.....shared....buffers.....cached
Mem:........191208.....181380.......9828..........0......14856......86220
-/+ buffers/cache:......80304.....110904
Swap:.......401616........548.....401068


Mem行列:表示物理内存的现况(191208=181380+9828)。另外用数值表示shared 、buffers 和 cached 的使用情况。

-/+ buffers/cache行列:同减增buffers 和 cached数值来表示现时物理内存可操作量。跟free命令名字一样,free(110904)是现时物理内存实际提供的操作量。

Swap行列:交换分区(文件)使用情况。

[ 注:(free -t )直观表示总数值 。 ]

----
----
回复 支持 反对

使用道具 举报

发表于 2006-9-19 19:01:02 | 显示全部楼层

技巧实例 3

(平时操作笔记摘录)

11. tmpwatch命令的使用

tmpwatch(temporary watch)
功能说明:删除暂存文件
语法:tmpwatch [-afqv][--test][超期时间][目录...]
说明:执行tmpwatch指令可删除不必要的暂存文件,您可以设置文件超期时间,单位以小时计算。
参  数:
 -a或--all  删除任何类型的文件。
 -f或--force  强制删除文件或目录,其效果类似rm指令的"-f"参数。
 -q或--quiet  不显示指令执行过程。
 -v或--verbose  详细显示指令执行过程。
 -test  仅作测试,并不真的删除文件或目录。

# cat /etc/cron.daily/tmpwatch
----------------------------------
/usr/sbin/tmpwatch 240 /tmp
/usr/sbin/tmpwatch 720 /var/tmp

for d in /var/{cache/man,catman}/{cat?,X11R6/cat?,local/cat?}; do
if [ -d "$d" ]; then
/usr/sbin/tmpwatch -f 720 $d
fi
done
----------------------------------

[ 注:redhat 默认设置删除/tmp下的文件的超期时间是240小时 ]

12 修改控制台字体

rh7.3控制台字体存放在 /lib/kbd/consolefonts/
例:

1. setfont 修改字体

$ setfont /lib/kbd/consolefonts/lat1-14.psf.gz
Warning: this is a shell wrapper; consider using consolechars(8)
以上信息是提示/usr/bin/setfont是一个Shell封装脚本,方便用户设置参数。请考虑使用 consolechars 命令 。

还原默认字体设置
$ setfont

[ 注: /usr/bin/setfont 是Shell脚本,你可以考虑修改 ‘Warning’输出文本。 ]

2.consolechars 修改字体

$ consolechars --font /lib/kbd/consolefonts/lat1-14.psf.gz

还原默认字体设置
$ consolechars --default-font


13 面板设置后遇到的情况

设置面板:属性 -> 隐藏策略 -> 自动隐藏 。一些软件操作时出现的‘dialogs’窗框躲在下面 。
例子:运行 Gimp1.2 -> 新建图像 -> 打开图层对话框 -> 编辑图层属性 ,‘编辑图层属性’‘dialogs’窗框躲在下面 。面板采用‘显式隐藏’,编辑图层属性’‘dialogs’窗框在偏左上角 。


14 比较两个文件内容的差别

有时视觉上确定两个文件已经一致,diff 命令却提示有差异。试用 -b 选项,忽略行尾‘空格’,把一个或多个空格视为相等。(从网上粘贴文本常遇到这情况)

$ diff -b file1 file2

15 paste 命令
paste 命令常用在合并两个文件内容。执行 paste 命令前要用 file 检查文件。

如:file a文件 b文件
如果出现“with CRLF line”字符,要用 dos2unix 过滤字符。否则合并文件后效果不理想。

注:paste 命令另一用法:ls /tmp | paste - - -

------------------
----------------
:cool:
回复 支持 反对

使用道具 举报

发表于 2006-9-29 18:29:52 | 显示全部楼层

===== 描述登录前事项 (1) =====

一 开机,加载内核

  RH Linux采用预引导机制,要求BIOS检测硬件,保证无误引导。
  接通电源,按启动按钮,主机首先从CMOS加载BIOS,并检测基本的硬件信息,例如内存数量、处理器速度和硬盘容量等。如果没出现问题,BIOS系统会按BIOS设置的引导顺序查找引导卷(如 First/Second/Third Boot Device [ Floppy/CDROM/HDD-0 ] ),本例没有引导盘,BIOS系统会查找MBR上的引导代码,是GRUB多重引导加载器的代码,然后GRUB接着引导加载Linux内核。

引导加载内核后,内核进行以下工作:
1 初始化并加载RAM map (RAM 磁盘映像)
2 暂停,执行高速测试
3 分析所有引导期间的内核参数
4 识别、建立并初始化CPU
5 建立内核内存和进程处理
6 打开控制台显示引导信息
7 初始化配置的系统设备
8 启动内存处理(页面调度等等)
9 建立并装配文件系统
10 启动init命令

$ cat /var/log/dmesg
----------------------------------------------
Linux version 2.4.18-3 (bhcompile@daffy.perf.redhat.com) (gcc version 2.96 20000731 (Red Hat Linux 7.3 2.96-110)) #1 Thu Apr 18 07:37:53 EDT 2002
..........................................
..........................................
EXT3 FS 2.4-0.9.17, 10 Jan 2002 on sd(8,1), internal journal
----------------------------------------------

[ 注:相关资料 /usr/src/linux-2.4.18-3/init/main.c ]

----------
----------
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表