用 Autotools 生成 Makefile 文件

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 必须的东西,里面包含了一些宏的调用,可以测试系统里存在的和可以使用的包。 Read more

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

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

Read more

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

好像是从 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

Read more

ubuntu Tips

都是小问题,但是有些时候真的很扰人,全记在这里,以后不用再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”

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

最近几天都被权限问题搞的头昏脑胀,合租的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

这样应该就行了。