用 Autotools 生成 Makefile 文件

Jun 01 2011 Published by under Study

Autotools 是一个工具集,可以自动生成 Makefile 文件。Ubuntu 如果没有安装 Autotools ,需要执行 sudo apt-get install autoconf automake 进行安装,其他发行版类似。

在体验 Autotools 之前先创建一个简单的 helloworld 程序:

//helloworld.c
#include 
#include 
int main(void)
{
    double sec;
    struct timeval tv;

    gettimeofday(&tv, NULL);
    sec = tv.tv_sec;
    sec += tv.tv_usec/1000000.0;
    printf ("hello word!\nsec = %e\n", sec);
    return 0;
}

接下来是用 Autotools 为一个简单的程序 helloworld.c 生成 Makefile 文件的过程:

1. 用 autoscan 生成 configure.scan 文件:

进入 helloworld.c 所在的文件夹,执行:

autoscan

这样会得到 configure.scan 文件,这个文件可以修改为 configure.in 。而 configure.in 是 Autoconf 必须的东西,里面包含了一些宏的调用,可以测试系统里存在的和可以使用的包。 Continue Reading »

11 responses so far

把 ubuntu 11.04 的 Compiz 降级——解决部分软件无法显示系统托盘图标问题

May 31 2011 Published by under Study

ubuntu 11.04 前几天刚刚把软件源里的 Compiz 升级到了最新的预览版,可是这个预览版 bug 多多,比如你的 skype 可能无法显示系统托盘里的图标,Desktop Cube 无法使用。解决这些问题的办法就是把 Compiz 降级,以下是降级步骤:
1. 清除 Compiz:

sudo apt-get purge compiz-plugins-extra compiz-plugins-main

2. 添加旧版 Compiz 的软件源:

sudo add-apt-repository ppa:guido-iodice/compiz-0.8.6-natty

3. 更新源 & 安装旧版 Compiz:

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install compiz compiz-core compiz-fusion-plugins-main compiz-fusion-plugins-extra compiz-fusion-plugins-unsupported compiz-gnome compiz-plugins compizconfig-backend-gconf compizconfig-settings-manager libcompizconfig0 libdecoration0 python-compizconfig simple-ccsm

Continue Reading »

No responses yet

彻底抛弃 ubuntu 10.04 中的 pulse(解决Skype中麦克风不工作问题)

Apr 07 2011 Published by under Study

好像是从 ubuntu 9.10 开始,pulse 就取代了 alsa 成为系统默认的声音驱动。虽说 pulse 看上去比 alsa 有这样那样的优势,但是它现在还是不如 alsa 稳定,比如在我的现在电脑上,pulse 就导致我现在没法在 Skype 里面用麦克风,很让人头疼。

要让麦克风正常工作,有两个办法,首先是简单一点的办法:

  • 1. 用新立德安装一个叫 pavucontrol (Pulse Audio Volume Controller) 的程序。
  • 2. 打开 Pulse Audio Volume Controller ,在里面找到输入设备的标签页。
  • 3. 点掉这个标签页里的那个小锁标志,然后把左右声道中的其中一个调整为10%,另一个80%。

这个办法是最简单的,但是在我的电脑上效果不好。虽然麦克风可以用了,但是背景噪音很大,导致我跟别人语音的时候别人根本听不清我说的话。

如果上一个方法你用着也不舒服,那就用第二招吧,直接卸载掉 pulse Audio 。但是在 ubuntu 10.04 版本里,系统内置的音量控制功能已经成了 pulse Audio 的一部分,如果你直接remove掉 pulse Audio ,那么 ubuntu 中用来控制音量的 indicator-sound 也就被一起卸掉了,系统音量也就无法进行调节。

好在俄国高手做了一个叫 audiohacks 的PPA,里面提供了一些修改过的 gnome-media/applets/settings-daemon 组件,让我们可以在 remove 掉 pulseAudio 之后可以找到替代 indicator-sound 的工具。

下面就是 ubuntu 10.04 彻底卸载 pulseAduio 的全过程:

首先卸载掉 PulseAudio:

sudo apt-get remove pulseaudio

sudo killall pulseaudio

Continue Reading »

20 responses so far

ubuntu Tips

Mar 20 2011 Published by under Study

都是小问题,但是有些时候真的很扰人,全记在这里,以后不用再Google了。

1. 去除终端(Terminal)里的报警声
作用是去掉在 Terminal 里有时按 Tab 或者删除键会出现的嘟嘟报警声

sudo apt-get install gconf-editor

gconf-editor

然后依次选择apps –> compiz –> general –> allscreens –> options –>audible bell,去掉 audible bell 上的勾。

2. 增加对 rar 格式的支持

sudo apt-get install rar

3. 解决Ubuntu 10.04开机低分辨率问题
网上有一堆介绍,都是一样的方法,google搜“ubuntu 10.04 开机分辨率”就能找到。需要注意的是,有一句代码应该是

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash nomodeset video=uvesafb:mode_option=1366x768-24, mtrr=3, scroll=ywrap"

注意括号,应该是那种英文半角的直双引号,不是斜双引号。如果双引号弄错,在“sudo update-grub2”的时候就会得到这个错误提示:“splash: not found”

5 responses so far

ubuntu+XAMMP 本地搭建 WordPress 运行环境碰到的权限问题

Jul 23 2010 Published by under Study

最近几天都被权限问题搞的头昏脑胀,合租的VPS由于我自己没有root权限,所以搞什么都特麻烦,本地搭建WordPress测试环境又碰到问题……

本来是很简单的,安装好XAMMP,把WordPress放到 /opt/lampp/htdocs 文件夹里,然后运行安装程序就行,但是装好之后会发现WordPress后台不能升级插件,会提示输入FTP信息之类的东西。最后用以下办法解决:

首先在wp-config.php里面添加以下三行代码:

define('FS_METHOD', 'direct');
define('FS_CHMOD_DIR', 0770 );
define('FS_CHMOD_FILE', 0660 );

这样在后台升级插件试试,应该不会要输入FTP信息了,但是可能会提示无法创建文件夹或写入文件之类的话,如果一切正常的话,就无视剩下的字吧……

如果有无法创建写入之类的错误提示,那就把WordPress文件夹的权限设置为777,反正本地使用,也不用考虑什么安全问题:

chmod  777 /opt/lampp/htdocs/wordpress

这样应该就行了。

6 responses so far