我来我网
https://5come5.cn
 
您尚未 登录  注册 | 菠菜 | 软件站 | 音乐站 | 邮箱1 | 邮箱2 | 风格选择 | 更多 » 
 

本页主题: 自己动手定制属于自己的Linux开发环境 显示签名 | 打印 | 加为IE收藏 | 收藏主题 | 上一主题 | 下一主题

knix



性别: 保密 状态: 该用户目前不在线
等级: 初出茅庐
发贴: 61
威望: 0
浮云: 1187
在线等级:
注册时间: 2005-09-03
最后登陆: 2009-02-13

5come5帮你背单词 [ fly /flai/ n. 飞行,苍蝇;v. 飞行,乘飞机,飘扬 ]


自己动手定制属于自己的Linux开发环境

一、配置一个自由的字符界面

Linux的特长在于字符界面,一个很破的机子可能跑其它系统很卡,但运行在字符下却会很流畅,那么我们就着手配置一个好用的字符界面下的开发环境。

配置目标:能够在字符界面下边听音乐或看电影边写程序并且正常读写中文。

1、设置系统的启动级别,让系统默认启动到字符界面。

如果你的系统的默认启动级别已经是字符界面,请转到下一步。
修改/etc/inittab文件,找到
id:5:initdefault:
改为
id:3:initdefault:
如果你对系统的运行级别不是很了解,可以在你的系统中输入man inittab(或info inittab)就可以大概对这个文件的作用有所了解。如果你不是很用的来vi ,nano,emacs等字符界面下的编辑器的话,你可以用gedit,kwrite等类似于ms记事本的编辑器来更改,但请注意在更改任何系统文件之前请对该文件进行备份。如用以下步骤备份/etc/inittab 这个文件:
#cp   /etc/inittab   /etc/inittab.bak
这样当你改错或想返回原来的设定时只要简单的恢复就可以了。
保存更改后重新启动就可以进入字符界面,不过先不急着重新启动,完成下面一步后重启。

2、打开字符界面下的VGA模式

有一些发行版默认启动中是打开VGA模式的,如mandriva, suse,一般使用bootsplash的发行版都打开这个模式的,如果你在/boot/grub/grub.conf或/boot/grub/menu.lst中
kernel   /vmlinuz     selinux=0   splash=silent   vga=0x317
没有找到vga=XXX的字符则你的系统在启动时就没有打开VGA模式,你可以在这一行后加了一个vga=XXX的配置字样,这里的XXX表示一个值,不同的值对应不同的字符界面下的分辨率。大概有如下几种模式:
对于64K着色
vga=0x311对应于640X480分辨率
vga=0x314 -- 800X600
vga=0x317 -- 1024X768
vga=0x31A -- 1280X1024
对于64M着色
vga=0x312对应于640X480分辨率
vga=0x315 -- 800X600
vga=0x318-- 1024X768
vga=0x31B -- 1280X1024
通常情况下我一般设为vga=0x317,这样设置后字符界面下的分辨率就变为1024X768并且打开了VGA模式。

3、安装zhcon。

这是一个在字符界面下显示中文的环境,不过这个软件如果从源代码编译安装很难编译通过,反正我是一次都没编译过去过,解决办法是直接抽取别人已编译好的二进制文件,这里有我提取好的,为了安装方便有我写的一个安装脚本,已上传至软件站的服务器上,不久就可以下载。如果你一定要急着用,可以到2#554来拷,不过我白天一般不在,过来时请提前发个短信(13540650499,这里还有很多LINUX软件,可以直接带空白的CD来刻)安装这个后就可以在字符界面下显示和输入中文了。

4、安装Mplayer

Mplayer(without gui)是一个字符界面下的播放工具,同样这个软件从源代码编译也很难搞定,你可以到
http://192.168.2.6/soft/showsoft.asp?SoftID=2316
下载 ,下载后解压,进入解压后的目录中执行安装脚本就可以安装了,注意在安装这个之前请确认你系统里没有安装MPLAYER,否则会出错。这个里面有解码器,不用再另外再安装解码器。安装脚本是我另行写的,可能有点问题,但不影响使用,安装后检查下解码器有没有安装。
安装Mplayer后随便进入一个有音乐的目录,输入mplayer *就可以播放所有的了,如果你想让mplayer像xmms一样播放目录,可以自己写一个播放脚本,如何写以后再详细说明。

5、使用Mplayer在字符界面下看电影

到目前为止我们已经可以在字符界面下边听音乐边写程序了,让mplayer在一个终端下播放,用alt+f1 ... alt+f6切换到其它终端下编辑代码,而且分辨率还可以是和图形界面下一样的。如果想在字符界面下看电影,如电影文件是cd1.rmvb,直接
mplayer   cd1.rmvb
就可以播放了,如果想全屏播放,可以使用(假设这时字符界面下的分辨率是1024X768)
mplayer   -zoom   -x   1024   -y   768   cd1.rmvb
另外,如果系统没有打开VGA模式(如何打开,参考第二步),则以上方法不管用,这时可以调用显卡的vesa模式,但只有root才有权限调用这个模式:
su XXXX(切换到root管理员身份)
mplayer   -fs   -vo   vesa   cd1.rmvb
但有很多显卡在这种模式下有点闪烁,看起来不是很爽。

6、边播放视频边写程序

在mplayer播放视频时是不能用alt+f1等键切换终端的,这时可以在一个终端下打开zhcon,由于zhcon本身是一个终端模拟工具,所以这时在打开zhcon的这个终端下使用mplayer播放视频就可以用alt+f1 .... alt+f6切换终端了,并且无论你切换到哪个终端下都可以看视频,为了不影响编辑,可以把显示视频区域限制小一点,如

mplayer   -zoom   -x   200   -y   150   cd1.rmvb
这时就只在左上角200X150大小的区域显示视频,当然,上边的200X150改成其它数字就可以改变显示大小了。
这样就可以边看视频边写东西了,两不耽误,呵呵,还是蛮爽的。


要停电了,以后有时间继续。
本帖最近评分记录:
  • 浮云:30 (by enzo) | 理由: 值得一看,希望蝈蝈早日把剩下的发上来
  • 浮云:500 (by 小老鼠) | 理由: 上传东西的奖励,已经全部发布
  • 顶端 Posted: 2006-09-26 23:21 | [楼 主]
    小老鼠



    年度之星奖 特殊贡献奖
    性别: 帅哥 状态: 该用户目前不在线
    等级: 资政组
    家族: 梦魇图腾
    发贴: 20004
    威望: 12
    浮云: 344
    在线等级:
    注册时间: 2006-02-19
    最后登陆: 2016-09-21

    5come5帮你背单词 [ neither /'naiðə, 'ni:ðə/ a. (两者)都不;prep. 两者中无一;conj. & ad. 也不 ]


    再次看到达人
    顶端 Posted: 2006-09-26 23:48 | [1 楼]
    chenyukang



    性别: 帅哥 状态: 该用户目前不在线
    等级: 人见人爱
    发贴: 2275
    威望: 0
    浮云: 1127
    在线等级:
    注册时间: 2006-09-24
    最后登陆: 2020-08-17

    5come5帮你背单词 [ incline /in'klain/ vt. 使倾向于,使想要;vi. 倾向,赞同,爱好,倾斜,屈身,低头 ]


    蝈蝈写点emacs相关的吧 在emacs下用gdb
    学习中
    顶端 Posted: 2006-09-27 20:02 | [2 楼]
    knix



    性别: 保密 状态: 该用户目前不在线
    等级: 初出茅庐
    发贴: 61
    威望: 0
    浮云: 1187
    在线等级:
    注册时间: 2005-09-03
    最后登陆: 2009-02-13

    5come5帮你背单词 [ video /'vidiəu/ n. 录像(机);a. 录像的,视频的 ]


    二、体验wget极速下载

    如果你已经用惯了Flashget下载,对它的断点续传,多点下载赞叹不已,那在这一节中我们来体验一下在Linux下wget加shell 脚本给你带来的更加激动人心的感觉。

    1、wget的常用下载选项。

       -O   filename,    指定下载后的文件名,相当于下载后重新命名,在不使用这个选项指定输出 文件名的情况下,wget如果发现下载目录中有同名文件,只会简单地在新下载的文件后加.1或.2依次类推。

       -b,     后台下载,这样就不影响终端工作,下载输出信息保存在当前下载目录下名为wget-log的文件中。

       -c   filename,    断点续传。 如果用filename指定的文件不存在,则从头下载,如果存在,则从断点下载。

       其它的选项请参阅wget的manunal文档或info文档。

    2、shell和wget 的简单结合
       
    现在我们来设计一个wget的shell脚本下载助手,设计目标(假设这个脚本文件的文件名是startdown.sh):

    在startdown.sh所在目录下执行这个脚本即可下载,可以从输入文件中指定要下载的URL地址和输出文件名。格式为:

    ./startdown.sh   URL_FILENAME   OUTPUT_DIRECTORY

    URL_FILENAME    这个参数指定要传给脚本的下载URL地址和输出文件名,相当于一个配置文件,在这个配置文件中,和一般的LINUX配置文件是差不多,“#”号表示注释行,如果一个文件已经被下载过,我们就可以注释掉这一行,这样下一次的下载中脚本就会忽略掉这一行。

    OUTPUT_DIRECTORY   这个参数指定下载后的输出目录,这个目录必须在当前目录下不存在(当然你也可以修改脚本去掉这个限制)

    另外,我们希望输出的文件名有统一的前缀,例如我们要下载英文的歌曲,我们希望下载后的文件名应该看上去前边都有EN__的字样,这里我们通过在所有输出文件头部加上输入的文件名来达到这个目的。例如:
    ./startdown.sh   EN__   eng
    这样就从文件名为EN__的文件中读取URL和要输出的文件名等配置信息,下载后的文件全部放在当前目录下的eng目录下(当然这个目录是新建的),并且下载后的文件看起来都是
    EN__Stop.mp3, EN__YesterdayOnceMore.mp3等等。

    呵呵,先不讲太多了,体验一下我已经写好的脚本。下载解压,进入生成的目录,包中有一个名为EN__的文件,这是我用的英文歌下载配置文件,连上外网,在生成的目录中
    ./startdown EN__   en
    就可以下载了,下载后下载文件所在的目录为en,进入目录en,用mplayer *就可以播放所有的歌曲了。文件里大概有四十几首歌,我在公司下载大概有七八分钟就搞定了,润新可能要慢点。还有一个文件POP__一些是中文歌曲,感兴趣可以下载。
    描述:Wget下载助手(shell脚本)
    附件: Wget.Assistor.Knix.tar.gz (5 K) 下载次数:4

    顶端 Posted: 2006-09-27 22:04 | [3 楼]
    enzo



    性别: 帅哥 状态: 该用户目前不在线
    等级: 荣誉会员
    发贴: 848
    威望: 3
    浮云: 917
    在线等级:
    注册时间: 2005-04-02
    最后登陆: 2007-06-26

    5come5帮你背单词 [ sit /sit/ vi. 坐下,就座,位于,栖息,孵卵;vt. 使坐下 ]


    wget不能多点传输,速度太慢,还是用downloader好
    顶端 Posted: 2006-09-27 22:57 | [4 楼]
    knix



    性别: 保密 状态: 该用户目前不在线
    等级: 初出茅庐
    发贴: 61
    威望: 0
    浮云: 1187
    在线等级:
    注册时间: 2005-09-03
    最后登陆: 2009-02-13

    5come5帮你背单词 [ brittle /'britl/ a. 易碎的,脆的 ]


    3、脚本内容。
    Quote:

    #!/bin/bash
    # -------------------------------------------------------------------
    # |    Wget Download Assister                             |
    # |    By Knix                             |
    # |    <knix@163.com OR kekeknix@gmail.com>                   |
    # |    2006.9                                 |
    # -------------------------------------------------------------------
    #

    # // Require base files ...
    FILE_NEED="base/function.sh base/color.sh base/ver.sh"
    SUCC=0;

    # // Source the required files ...
    for file in $FILE_NEED
    do
       [ -f $file ] && source $file || eval 'echo -e "Missing $file";exit'
    done

    # // Check URL file ...
    [[ $1 == "" ]] && kerror "Need url file, Exit !!!"


    kbegin "Checking for wget ..."
    whereis wget | sed 's/.*:\(.*\)/\1/g' | grep bin >& /dev/null
    [[ $? == 0 ]] && SUCC=1 || SUCC=0
    kend $SUCC
    [[ $SUCC == 0 ]] && kerror “Strange error, wget NOT FOUND, PLEASE INSTALL WGET FIRST”


    kbegin "Checking for URLS ..."
    [ -f $1 ] && SUCC=1 || SUCC=0
    kend $SUCC
    [[ $SUCC == 0 ]] && kerror “File doesnot exist, Exit!!!”


    kbegin "Checking store dir ..."
    [[ $2 == "" ]] && kerror “NEED SPECIFY A STORE DIRECTORY, Exit !!!”
    [ -d $2 ] && kerror “$2 is a existed directory, Exit !!!”
    mkdir $2
    cd $2
    SUCC=1
    kend $SUCC

    kbegin "Start downloading ..."
    FILE_NAME=0
    TMP=""
    for url in $(cat ../$1)
    do
       echo -e $url | grep '^#' >& /dev/null
       [[ $? == 0 ]] && continue
       [[ $FILE_NAME == 0 ]] && TMP=$url
       if [[ $FILE_NAME == 1 ]]; then
           wget -O $1$url $TMP &
           FILE_NAME=0
       else
           FILE_NAME=1
       fi
    done
    cd ..
    kend $SUCC

    thanks



    脚本color.sh这个文件是用来在终端中控制显示着色的,内容如下:

    Quote:

    # color.sh
    # Defined color to display ...


    BOLD="\033[1m"
    NORMAL="\033[0m"

    BLACK="\033[30;1m"
    RED="\033[31;1m"
    GREEN="\033[32;1m"
    YELLOW="\033[33;1m"
    BLUE="\033[34;1m"
    BRINK="\033[35;1m"
    SKY="\033[36;1m"


    脚本function.sh这是一个很重要的函数定义文件,也是我经常用的,内容如下:

    Quote:


    # function.sh
    #
    # By Knix <knix@163.com>
    #
    # 2006.9


    F_BOLD=$'\e[1m'
    F_NORMAL=$'\e[0m'

    F_BLACK=$'\e[30;1m'
    F_RED=$'\e[31;1m'
    F_GREEN=$'\e[32;1m'
    F_YELLOW=$'\e[33;1m'
    F_BLUE=$'\e[34;1m'
    F_BRINK=$'\e[35;1m'
    F_SKY=$'\e[36;1m'



    # // Seek for terminal size and, if needed, set default size ...
    if test -z "$LINES" -o -z "$COLUMNS" ; then
      eval `exec 3<&1; stty size <&3 2>/dev/null | (read L C; \
        echo LINES=${L:-24} COLUMNS=${C:-80})`
    fi
    test $LINES   -eq 0 && LINES=24
    test $COLUMNS -eq 0 && COLUMNS=80
    export LINES COLUMNS



    # - kbegin( string ), echo string for start ...
    kbegin(){
       echo -ne "${F_GREEN}>> ${F_NORMAL}$1"
    }

    # - kend(), echo the status of command ...
    kend(){
       
       if [[ $1 == 1 ]]; then
            echo -e "\\033[$((${COLUMNS} + 20))G${F_BLUE}+ ${F_GREEN}:) ${F_BLUE}+${F_NORMAL}"
       else
           echo -e "\\033[$((${COLUMNS} + 20))G${F_BLUE}+ ${F_RED}:( ${F_NORMAL}+${F_NORMAL}"
       fi
    }

    # - kerror(), echo error msg ...
    kerror(){
       echo -e "${F_RED}$1 ${F_NORMAL}"
       exit
       }

    # - thanks(), NOTICE, if you want to use this function, ver.sh must be include first ...
    thanks(){
       echo -e "\n\nThanks to use ${F_YELLOW} $SOFTNAME ${F_NORMAL}"
       echo -e "Any question, please mail to ${F_GREEN} $AMAIL ${F_NORMAL}"
       echo -e "Bye bye .\n\n\n"
       printf "\a"
    }


    脚本ver.sh这个文件主要显示一些作者信息,呵呵,你可以改成自己的,内容如下:

    Quote:

    # ver.sh
    #
    # By Knix <knix@163.com || kekeknix@gmail.com>
    #
    # 2006.9
    #

    SOFTNAME="Wget Download Assister"
    SOFTABOUT="Help Wget downloading files"

    AMAIL="<knix@163.com OR kekeknix@gmail.com>"
    ANAME="Knix"
    ADATE="2006.9"

    # // NOTICE color.sh must executed first !!!
    #
    #
    # // Hehe, show time :) ...

    echo -ne "\n\nWelcome to ${YELLOW}${SOFTNAME}${NORMAL} script, this script will help you to use ${SOFTNAME}.\n"
    echo -e "Designed by ${BOLD}${ANAME} ${NORMAL}-- ${GREEN}${AMAIL} "
    echo -e "${NORMAL}${ADATE}\n\n\n"


    四、截图
    远程图片:screenshot.gif
    顶端 Posted: 2006-09-27 23:01 | [5 楼]
    不得虚哦





    性别: 保密 状态: 该用户目前不在线
    等级: 栋梁之材
    发贴: 948
    威望: 0
    浮云: 1213
    在线等级:
    注册时间: 2004-12-25
    最后登陆: 2019-09-27

    5come5帮你背单词 [ shorthand /'o:thænd/ n. 速写 ]


    好强。。。
    顶端 Posted: 2006-09-27 23:05 | [6 楼]
    knix



    性别: 保密 状态: 该用户目前不在线
    等级: 初出茅庐
    发贴: 61
    威望: 0
    浮云: 1187
    在线等级:
    注册时间: 2005-09-03
    最后登陆: 2009-02-13

    5come5帮你背单词 [ snore /sno:/ vi. 打鼾 ]


    Quote:
    引用第4楼enzo于2006-09-27 22:57发表的:
    wget不能多点传输,速度太慢,还是用downloader好


    不对,wget可以多点传输,默认情况下是分20点同时下载,这和wget的版本有关。
    顶端 Posted: 2006-09-27 23:05 | [7 楼]
    enzo



    性别: 帅哥 状态: 该用户目前不在线
    等级: 荣誉会员
    发贴: 848
    威望: 3
    浮云: 917
    在线等级:
    注册时间: 2005-04-02
    最后登陆: 2007-06-26

    5come5帮你背单词 [ dormant /'dəu:mənt/ a. 休眠的,蛰伏的 ]


    Quote:
    引用第7楼knix于2006-09-27 23:05发表的:


    不对,wget可以多点传输,默认情况下是分20点同时下载,这和wget的版本有关。

    看来还不错,有机会用一下
    顶端 Posted: 2006-09-27 23:15 | [8 楼]
    我来我网·5come5 Forum » Linux专区

    Total 0.023932(s) query 7, Time now is:12-22 19:14, Gzip enabled
    Powered by PHPWind v5.3, Localized by 5come5 Tech Team, 黔ICP备16009856号