1、控制台分辨率问题
以前一直使用Xshell登录VirtualBox中的Fedora系统。现在觉得使用Xshell要经过网络,偶尔遇到路由高负荷的时候操作速度便会大大下降,于是想要直接在VBox上使用Fedora。但是一个很不爽的地方是,VBox中的Fedora控制台的分辨率奇低,大概只有几十*几十吧。。。
在网上找到一个办法解决这个问题:在/etc/grub.conf中,kernel启动参数后加上一个vga=792。这个792是指1024*768*24的分辨率。如果不清楚这个数值,就随便输入一个错误的,比如1111,然后系统在下次启动的时候会提示出错,Enter之后会出现一个列表把所有的分辨率全写出来,只不过数字是16进制的。不过kernel的vga参数支持0x开头的16进制。
但是这样一来,又遇到一个问题,即偶尔startx一下,Ctrl+Alt+Backspace回来之后竟是一片黑屏,且这时输入依然有效,只是没了输出,闭着眼打一个reboot才能恢复。于是在网上找资料,这一次找了两天的时间才偶然找到一个解决办法:把/etc/X11/xorg.conf中的Section "Device"的Driver改成vesa即可(原先是vboxideo)。 另外,这个文件如果搞坏或者搞丢了,运行X -configure可以自动生成一份。
2、控制台黑屏问题
fedora的bash会在特定的时间后就变黑以保护屏幕内容或者节约电源,为避免这个现象的发生,可以使用setterm -blank 0 -powersave off命令(也许-powersave off可以不用加进去)。但是该命令只对一次会话有效,也就是说,一旦重启则需要重新输入这个命令。解决的办法是在/etc/profile.d/下建立一个shell脚本,把这一句写进去。这样每次bash启动时都会运行这一句。
3、控制台字体问题
fedora在控制台下的字体很不好看,有点粗,伤眼睛,相比之下,debian的字体细细的,看上去清爽多了。我不知道debian字体到底是什么,于是用setfont -O nicefont命令导出debian的字体文件,然后把文件nicefont放到fedora的字体目录下(字体目录在setfont的man页里可以找到),然后在/etc/init.d/functions末尾加一句setfont nicefont就可以了。这样fedora的控制台就有跟debian一样的字体了。本来感觉放在/etc/rc.local里会更好些,但是rc.local的运行时间要晚于/etc/init.d/functions,而我又想早点让控制台换字体。。。不知道还有没有更好的办法。。。(注:最好不要将代码放在/etc/init.d/functions里。fedora在升级的时候,某些包可能会信赖并修改这个文件。)
4、控制台NumLock问题
贴一段自动打开numlock的代码:
#set tty numlock
INITTY=/dev/tty[1-6]
for tty in $INITTY; do
setleds -D +num < $tty
done
5、软件安装、升级、卸载问题
debian跟fedora在使用过程中,到目前为止,区别最大的就是yum、rpm/apt-get、dpkg以及sudo了。这个要好好查一查。
6、控制台锁屏问题
Ctrl+S是Linux控制台上的锁屏键,按下这个键之后,Linux控制台便不会再有任何动静了,但它仍然会接受键盘上的所有输入,包括输入命令并回车也会执行。
Ctrl+Q是相应的解锁键,按下这个键之后,Linux控制台便能恢复正常了。
7、vi语法颜色问题
经常在fedora上面用su切换到root用户去编辑或者查看一些配置或者脚本文件。这时会发现一个问题,原来在我的用户下用vi去查看的东西都是五颜六色的,应该是开启了syntax,但是在root用户下用vi去查看的东西都是纯白色。开始一直百思不得其解,因为各个用户都是共享vim的配置文件的。没理由不同的用户看到的内容不一样。
后来想到了一件事情让我开始领悟:在debian上使用vi时,退格键的表现与fedora上不一样。fedora上的vi,在按下退格键后,会删除前一个字符并且刷新控制台;而在debian上的vi中,在按下退格键后,前一个字符被删除了,但是控制台并不被刷新,也就是说,被删除的字符的痕迹还留在屏幕上,要等输入新字符后才能覆盖掉它。对于dw、cw等命令来说,debian上的vi同样不会刷新。后来在网上查了资料才发现,原来debian上的vi根本就不是vim,而是vim.tiny!也就是说,debian上默认安装的vi是tiny版的,所以它的行为与fedora上的vim有很大的不同。后来我把vim.tiny卸掉了重新安装vim才完事儿。
同样的道理,我分别在普通用户与root用户下,使用which vi命令查看了才知道,原来普通用户下用的是vim,而root用户下用的是vi!其实是,root用户下的vi就是/bin/vi,而普通用户下的vi是一个alias,它alias到了/usr/bin/vim。经过一番查找,原来,是/etc/profile.d/vim.sh脚本中,把uid大于200的用户的vi命令alias到了vim,root用户自然不在其列。所以解决办法很明显,要么修改在/etc/profile.d/vim.sh脚本,要么修改vi的配置文件比如/etc/virc等。
8、在fedora下获得.src.rpm中的源代码
使用命令 rpm2cpio xxx.src.rpm | cpio -i (-i等于--extract) 可以将xxx.src.rpm包中的源文件提取到当前路径下。这时一般会有一个或多个源代码压缩包xxx.tar.xz,一些patch文件,一个spec文件和其他文件等等。patch文件和spec文件的用法今后再去学习。这时,使用命令tar -Jxf xxx.tar.xz便可以解压源代码包。
要注意的是,linux下,libc库位于glibc包中,/bin下的核心工具位于coreutils包中。
9、贴一段gVim for Windows的配置代码
set tabstop=4
set softtabstop=4
set shiftwidth=4
set cindent
set autoindent
set guifont=新宋体:h12
set nobackup
set nowritebackup
set guioptions-=T
au GUIEnter * simalt ~x
set number
set ruler
set encoding=utf-8
set fileencodings=utf-8,chinese,latin-1
if has("win32")
set fileencoding=chinese
else
set fileencoding=utf-8
endif
"解决菜单乱码
source $VIMRUNTIME/delmenu.vim
source $VIMRUNTIME/menu.vim
"解决consle输出乱码
language messages zh_CN.utf-8
为解决python的code style问题,先在/etc/vim/vimrc中filetype indent plugin on,然后再在/usr/share/vim/vim7x/ftplugin/python.vim中加上:
set autoindent
set smartindent
set expandtab
set tabstop=4
set shiftwidth=4
set softtabstop=4
10、Fedora 14中,在System的Preference菜单中找不到main menu这一项
以前的fedora版本中大多都有这一项的,记不清从哪个版本里面开始没有这一项了。有时候需要安装一些软件比如eclipse,有这一项的话,可以很方便地将eclipse加入到main menu中。其实解决的办法很easy,它只是一个软件,名叫alacarte,用yum安装一下就好了。
11、安装intel C/C++编译器
intel的C/C++编译器有linux平台上的免费版本,安装时有操作系统的限制,比如fedora 14就不被intel的C/C++ 7.6(好像是这个版本吧)支持,但是安装的时候直接跳过就行了,也能成功安装上。不过安装之后yum check会报错,安装一个redhat-lsb就好了,我没试过在安装intel编译器之前先安装redhat-lsb,不过估计效果一样。另外,selinux可能会阻止intel编译器的安装,我目前没心思去了解selinux,索性先给disable了。安装完之后可以把环境变量的导入命令(安装完会有提示)写入/etc/profile.d/下。经初步测试,intel的编译器编译的结果是要比gcc好那么一点点。。。
12、Hadoop配置问题
Fedora14(其他版本未测试)会在启动时自动修改/etc/hosts文件。按照Hadoop的配置要求,127.0.0.1这个IP只能由localhost指向,不能由机器的网络域名指向,否则Live Node总是启动不了。但是Fedora14会在启动的时候,根据/etc/sysconfig/network中的机器名去自动修改/etc/hosts,这个需要注意。
13、Eclipse ADT的配置
Window -> Preference -> Android -> Editors中,选项 Automatically format the XML edited by the visual layout edit 貌似还是存在一些Bug,不要开启此功能。为了方便,倒是可以开启 Format on save 功能。 补:擦。。。貌似eclipse中所有的 Format on save 功能都是个渣。。。不要启用!!!
14、在Fedora的Bash下,command not found会卡住
这是因为command-not-found插件的原因。在~/.bashrc里unset command_not_found_handle就行了~
15、Linux下清空swap区、清空缓存
清空swap区: sudo swapoff -a; sudo swapon -a;
清空缓存: sudo sh -c 'echo 3 > /proc/sys/vm/drop_caches'
16、vim中文乱码问题
在Linux(UTF-8)下用vim(UTF-8)打开windows上的文件(GBK),中文全是乱码:
:e ++enc=gbk 或 :e ++enc=cp936