LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 5087|回复: 13

在Breezy下使用摄像头及美化aMSN

[复制链接]
发表于 2005-11-5 15:40:19 | 显示全部楼层 |阅读模式


一直对在Linux下怎样视频聊天比较困惑,装过一次aMSN,但一用摄像头就死,而且aMSN基于Tcl/Tk8.4,不支持字体的AA,于是十分难看今天看了UbuntuForums上的几篇HOWTO,终于弄好了我的Webcam,也让aMSN支持AA了。下面把主要步骤翻译一下。

主要参考资料:
[HOWTO] Using spca5xx webcam driver
HOW-TO: De-uglify aMSN
HOWTO: Install & run latest CVS amsn

使摄像头正常工作

  • 先在http://mxhaard.free.fr/download.html下载最新的spac5xx的包,写这篇时我所用的是0.57.04: spca5xx-20051101.tar.gz,解压:
    1. ~$ tar xzvf spca5xx-20051101.tar.gz
    复制代码

  • 检查系统配置
    1. $ cat /proc/version
    复制代码
    我得到如下输出:
    1. Linux version 2.6.12-9-686 (buildd@rothera) (gcc version 3.4.5 20050809 (prerelease) (Ubuntu 3.4.4-6ubuntu8)) #1 Mon Oct 10 13:25:32 BST 2005
    复制代码
    我是内核版本是2.6.12-9-686,并且是用gcc3.4编译的。于是
    1. $ sudo apt-get install linux-headers-2.6.12-9-686 build-essential gcc-3.4
    复制代码

  • 删除旧的spca5xx模块
    1. $ cd /lib/modules/2.6.12-9-386/kernel/drivers/usb/media
    2. $ sudo mv spca5xx spca5xx.bak
    3. $ sudo lsmod | grep spca5xx
    复制代码
    如果输出中有“东西”,说明当前还加载了旧的模块,
    1. $ sudo modprobe -r spca5xx
    复制代码

  • 编译安装spca5xx
    1. $ cd ~/spca5xx-20051101
    2. $ MAKEFLAGS="CC=gcc-3.4" make
    3. $ sudo make install
    复制代码
    重启,此时摄像头可以正常使用了,比如通过Gnomemeeting等软件。http://mxhaard.free.fr/download.html处也有两个相关的应用软件,spacgui和spcaview,有兴趣的朋友自己编译试试。


安装Tcl/Tk 8.5 CVS源码

  • 准备
    1. $ sudo apt-get build-dep tcl8.4 tk8.4 cvs
    2. $ sudo apt-get install libxft-dev
    复制代码

  • 下载Tcl/Tk的CVS文件
    1. $ cvs -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/tcl login
    2. <在提示密码时直接回车>
    3. $ cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/tcl co -P tcl

    4. cvs -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/tktoolkit login
    5. <在提示密码时直接回车>
    6. cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/tktoolkit co -P tk
    复制代码
    经过一段时间的等待(视网速而定,我这里等了大概有半个多小时),当前目录下会增加两个文件夹,tcl和tk


  • 编译和安装Tcl/Tk

    1. $ cd tcl/unix
    2. $ ./configure --prefix=/usr/local --includedir=/usr/local/include/tcl8.5 --enable-shared --enable-threads --enable-64bit --mandir=/usr/local/share/man --enable-man-symlinks --enable-man-compression=gzip && make CFLAGS="-g -O2 -D_REENTRANT"
    3. $ sudo make install

    4. $ cd tk/unix
    5. $ ./configure --prefix=/usr/local --includedir=/usr/local/include/tcl8.5 --with-tcl=/usr/local/lib --enable-shared --enable-threads --enable-64bit --enable-man-symlinks --enable-man-compression=gzip --enable-xft && make CFLAGS="-g -O2 -D_REENTRANT"
    6. $ sudo make install
    复制代码



安装CVS aMSN

  • 准备
    1. $ sudo apt-get install imlib11-dev esound-clients
    复制代码

  • 下载CVS源码
    用你喜欢的编辑器(gedit/kate/vi ...)编辑一个自动脚本:
    1. $ vi ~/amsn-installer
    复制代码
    其内容如下:

    1. #!/bin/sh
    2. ###########################################
    3. # Install aMSN CVS version & themes       #
    4. #                                          #
    5. # Require : tar, wget, unzip                  #
    6. #                                          #
    7. # Description : Easy install aMSN CVS &   #
    8. #                new themes                  #
    9. #                                          #
    10. # Infos : routes-linux.scooba.org          #
    11. # Author : mazzaru[AT]wanadoo[dot]fr          #
    12. ###########################################

    13. VERSION="1.3"
    14. #--------COLOR-------------------
    15. COLOROFF="\033[1;0m"
    16. GREENcolor="\033[1;32m"
    17. REDcolor="\033[1;31m"
    18. LILACcolor="\033[1;35m"
    19. #--------PATH--------------------
    20. WGET=`which wget`
    21. UNZIP=`which unzip`
    22. SKINS_PATH=~/.amsn/skins/
    23. BIN_PATH=~/msn/amsn
    24. QUIT_MESS=`echo ""
    25. echo -e "Binary amsn locate at : ${GREENCOLOR}${BIN_PATH}${COLOROFF}"`
    26. #-------Themes url---------------
    27. URL_TUX=http://aleron.dl.sourceforge.net/sourceforge/amsn/Tux.zip
    28. URL_MSN=http://heanet.dl.sourceforge.net/sourceforge/amsn/MSN.zip
    29. URL_FLUOX=http://heanet.dl.sourceforge.net/sourceforge/amsn/Fluox.zip
    30. URL_AMAC=http://heanet.dl.sourceforge.net/sourceforge/amsn/aMac.zip
    31. URL_CRYSTOLA=http://heanet.dl.sourceforge.net/sourceforge/amsn/crystola.zip
    32. #---------------------------
    33. URL_PING=google.com
    34. URL_AMSN_CVS=http://amsn.sourceforge.net/amsn_cvs.tar.gz
    35. HEADER=`clear
    36. echo -e "\t ${LILACCOLOR}+------------------------------+"
    37. echo -e "\t |   ${GREENCOLOR}aMSN Install script ${VERSION} ${LILACCOLOR}   |"
    38. echo -e "\t ${LILACCOLOR}+------------------------------+"
    39. echo -e "${COLOROFF}"`
    40. #--------END----------------

    41. #Display a warning message for newbies, usually login always as root.
    42. if [ $UID -eq 0 ]
    43. then
    44.         echo""
    45.         echo -e "${REDCOLOR}Don't run this script as root !! ;)${COLOROFF}"
    46.         echo -e "\a"
    47.         exit 1
    48. fi

    49. ping -c 2 ${URL_PING} > /dev/null
    50. if [ "$?" -ne "0" ]
    51. then
    52.         ALERT=`echo -e "${REDCOLOR}Bad Internet Connection${COLOROFF}"`
    53. fi

    54. FUNC_INSTALL_THEMES(){

    55. while [ ! -z $1 ]
    56. do
    57.         ARCHIVE=`echo $1 | awk -F/ '{print $6}'`
    58.         DIR=`echo $ARCHIVE | awk -F. '{print $1}'`
    59.         if [ -e ${SKINS_PATH}${DIR} ]
    60.         then
    61.                 echo -e "${DIR}........${LILACCOLOR}already install${COLOROFF}"
    62.                 shift
    63.         else
    64.                 ${WGET} -q $1
    65.                 ${UNZIP} ${ARCHIVE} > /dev/null
    66.                 rm -f ${ARCHIVE}*
    67.                 mv ${DIR} ${SKINS_PATH}
    68.                 echo -e "${DIR}........${GREENCOLOR}install${COLOROFF}"
    69.                 shift
    70.         fi
    71. done
    72. }

    73. FUNC_DEPENDS(){

    74. TCL=`locate libtcl8`
    75. TK=`locate libtk8`

    76. if [ ! -e ${TCL} ]
    77. then
    78.         ALERT=`echo -e "${REDCOLOR}Error depedencies : you must install tcl >= 8.3 first. ${COLOROFF}"
    79.         echo "With Mandrake (root) : urpmi tcl"
    80.         echo "With Debian (root) : apt-get install tcl"
    81.         echo ""`
    82.         FUNC_MAIN
    83. fi
    84. if [ ! -e ${TK} ]
    85. then
    86.         ALERT=`echo -e "${ALERT}"
    87.         echo ""
    88.         echo -e "${REDCOLOR}Error depedencies : you must install tk >= 8.3 first. ${COLOROFF}"
    89.         echo "With Mandrake (root) : urpmi tk"
    90.         echo "With Debian (root) : apt-get install tk"
    91.         echo ""`
    92.         FUNC_MAIN
    93. fi
    94. FUNC_INSTALL_AMSN

    95. }



    96. FUNC_TEST_AMSN(){

    97. if [ ! -e ~/msn ]
    98. then
    99.                 ALERT=`echo -e "$HOME/msn ${REDCOLOR}not exist, install aMSN first${COLOROFF}"`
    100.                 FUNC_MAIN
    101. else
    102.         echo "Waiting..."
    103.         echo ""
    104.         FUNC_INSTALL_THEMES $URL_TUX $URL_MSN $URL_FLUOX $URL_AMAC $URL_CRYSTOLA
    105.         echo ""
    106.         echo ""
    107.         echo -en "Run amsn just for testing ? (y/n) [ ${GREENCOLOR}default : n${COLOROFF} ] : "
    108.         read ON
    109.                 case $ON in
    110.                         [yY]*)FUNC_RUN_AMSN;;
    111.                             *)echo "${QUIT_MESS}" ; exit 0;;
    112.                 esac
    113. fi
    114. }

    115. FUNC_RUN_AMSN(){

    116. if [ ! -e ${BIN_PATH} ]
    117. then
    118.         ALERT=`echo -e "${HOME}/msn ${REDCOLOR}not exist, install aMSN first${COLOROFF}"`
    119.         FUNC_MAIN
    120. else
    121.         ${BIN_PATH}
    122.         FUNC_MAIN
    123. fi

    124. }

    125. FUNC_INSTALL_AMSN(){

    126. cd ~/
    127. echo ""
    128. echo "aMSN CVS downloading please wait..."
    129. # -q = mode quiet (cf. man wget)
    130. ${WGET} -q ${URL_AMSN_CVS}
    131. echo ""
    132. echo "Installing aMSN CVS version"
    133. tar zxf amsn_cvs.tar.gz        -C ~/                #Extract without verbose mode (-v)
    134. rm -f ~/amsn_cvs.tar.gz*                #Archive can be removed
    135. mkdir -p ${SKINS_PATH}
    136. echo ""
    137. echo -ne "Install correct, would you like install themes ? (y/n) [ ${GREENCOLOR}default : n${COLOROFF} ] : "
    138. read ON

    139. case $ON in
    140.         [yY]*)FUNC_TEST_AMSN;;
    141.             *)echo "${QUIT_MESS}" ; exit 0;;
    142. esac
    143. }

    144. FUNC_MAIN(){

    145. echo -e "${HEADER}"
    146. echo "This script installing aMSN and/or themes : "
    147. echo ""
    148. echo "${ALERT}"
    149. echo ""
    150. select CHOIX in "Install themes only" "Install the last aMSN version" "Run aMSN" "Quit"
    151. do
    152.         case $REPLY in
    153.                 1)FUNC_TEST_AMSN;;
    154.                 2)FUNC_DEPENDS;;
    155.                 3)FUNC_RUN_AMSN;;
    156.                 *)exit 0;;
    157.         esac
    158. done
    159. }

    160. #script start here (call FUNC_MAIN function)
    161. FUNC_MAIN

    162. #######
    163. # EOF #
    164. #######
    复制代码
    为该脚本增加可执行属性并运行:

    1. $ chmod +x ~/amsn-installer
    2. $ ./amsn-installer
    复制代码
    出现提示后选择“2”,之后除了在提示是否下载额外的皮肤时选Y外(当然你不喜欢下载可以不下),其它选项都按默认的来,完成后当前文件夹下会出来名为msn的新文件夹。

    另外这里有一个按照Gaim修改的新皮肤。下载后解压到~/.amsn/skins/下就行了。
  • 编译安装

    1. $ cd ~/msn
    2. $ ./configure ./configure --with-tcl=/usr/local/lib --with-tk=/usr/local/lib --prefix=/usr/local
    3. $ make
    4. $ sudo make install
    复制代码

  • 启动
    aMSN应该这栏启动:
    1. /usr/local/bin/wish8.5 /usr/local/share/amsn/amsn
    复制代码
    为了方便,可以编辑一个小脚本,比如叫myamsn
    1. $ vi ~/myamsn
    复制代码
    内容为:

    1. #!/bin/sh
    2. /usr/local/bin/wish8.5 /usr/local/share/amsn/amsn

    3. $ chmod 755 ~/myamsn
    4. $ sudo mv ~/myamsn /usr/bin/
    复制代码
    当然,你应该考虑在应用程序菜单中建立一个启动项。

  • aMSN的一些设置

    • 字体:菜单Tools>references, 选项卡Appearance里点Change font按钮修改全局字体,比如用Bitstream Vera Sans; 在Pesonal选项卡中My message text中的Change font按钮修改聊天窗口字体。
    • 设置外部调用程序:菜单Tools>references Other选项卡处设置:
      - Browser = "firefox $url"
      - File Manager = "nautilus $location"
      - Open file command: "gnome-open $file"
    • 其它的设置就看个人喜好了(比如换个皮肤什么的……)

发表于 2005-11-5 19:47:23 | 显示全部楼层
好文!真是及时雨啊!多谢楼主!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-11-5 22:05:03 | 显示全部楼层
不过刚发现aMSN不支持中文输入

也许能过对Tcl/Tk打补丁可以改进这一点
回复 支持 反对

使用道具 举报

发表于 2005-11-6 06:06:13 | 显示全部楼层
Post by andyevans
不过刚发现aMSN不支持中文输入

是啊,郁闷~
回复 支持 反对

使用道具 举报

发表于 2005-11-6 06:18:40 | 显示全部楼层
好文!多谢楼主!
回复 支持 反对

使用道具 举报

发表于 2005-11-6 10:44:52 | 显示全部楼层
对于中文的支持还是没有解决。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-11-6 11:20:27 | 显示全部楼层
要输入中文,只能打开一个leafpad之类的东西,输入>选中>到aMSN中鼠标中键……麻烦啊
回复 支持 反对

使用道具 举报

发表于 2005-11-8 09:40:16 | 显示全部楼层
好象摩托学园里有中文输入的补丁!
回复 支持 反对

使用道具 举报

发表于 2005-11-8 22:44:56 | 显示全部楼层
请问你的amsn 支持摄像头吗?

我下载了amsn 在windows 下面运行 不支持 摄像头啊
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-11-9 12:43:54 | 显示全部楼层
支持摄像头,你看我的截图就知道了。你在Win下用的可能不是CVS版本吧
回复 支持 反对

使用道具 举报

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

本版积分规则

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