Skip to main content

Posts

Showing posts from 2010

ubuntu 10.10 折腾控制台 | struggling with console in ubuntu 10.10

新买了电脑,装ubuntu 10.10, 安装的时候控制台很完美,漂亮的1366x768,启动时还有漂亮的splash 刚装之后似乎是好的,最近却又不行了,控制台要么进不去,要么是恶心的1024x768。 想了想,自己的改动主要是配了grub2,还有就是装了fglrx。 grub配了几次无果,于是继续回到安装时的live cd,进去以后研究了一下,并没有用vesafb,另外就是发现用的是开源驱动radeon。 用hwinfo --framebuffer看,我的显卡vbe并不支持1366x768,但是live cd确实搞出来了,我猜是radeon和kms的原因,具体不懂了。 于是卸掉了fglrx,重启。 于是又看到了漂亮的splash,漂亮的1366x768控制台。 另外gnome的俄罗斯方块也能正常玩了,用fglrx的时候反而不正常。 期待radeon好好发展。fglrx太差了。。。 I've installed ubuntu 10.10 in my newly bought notebook, the console was perfect during installation, that was the wonderful 1366x768, as well as the beautiful splash. I think everything was still ok just after installation, until now, I see just a blank screen, or some ugly 1024x768. What I've done, that maybe relative, are just some tweak on grub2, and installing fglrx. After failure in adjustment of grub2 for several times, I reboot with the live cd, and I found that vesafb is not used, and radeon is activated as the video driver. `hwinfo --framebuffer` indicates that the vbe of my gr

gnome panel 妙用一则 | A nice trick of gnome panel

链接: http://www.webupd8.org/2010/12/use-gnome-panel-as-wingpanel-quick-tip.html 结果如图,当panel上东西比较少的时候很实用。 操作步骤是在panel属性里取消expand,然后选中autohide,然后拖到右上角,通过gconf修改/apps/panel/toplevels/<panel name>/hide_delay为2147483647 Link: http://www.webupd8.org/2010/12/use-gnome-panel-as-wingpanel-quick-tip.html Result as the picture above, quite useful when not too much things on the panel. To make it like this, in the "properties“ dialog of the panel, cancel "expand" and select "autohide". Then drag the panel to the top-right of the screen. At last change the gconf value "/apps/panel/toplevels/<panel name>/hide_delay" to 2147483647

无flash收听sky.fm | Listen to sky.fm without a flash player

sky.fm是我的最爱,原来ios有个sky.fm app,但是现在连不上了。 sky.fm现在也提供非flash的播放link,但是要进入那个flash页面,然而在ipad的safari上就会蹦到安装flash player的页面,很恶心。 当然如果有别的电脑可以去把link拷过来,但是没有。 于是搜了半天,发现了sky.fm/mobile。很好用,safari会自动调用quicktime,放后台也ok。 Sky.fm is my favorite online radio, there's been a sky.fm app on ios, but has been not working these days. Non-flash links are also provided by sky.fm, however you'll need to visit the flash player page first, then get the links. While doing this with safari on ipad, you'll be redirect to a page which asks you to install flash player. Of course, I can get the links from another computer, but there is not such another computer. So I googled for a while, until I found sky.fm/mobile. Quite useful, since safari would call quicktime to play the list, so I can even listen to it putting it into background.

利用Firefox订阅私人RSS feed | Subscribing private RSS feeds using Firefox

最近想订阅一个RSS feed,然而由于权限设置,需要登录才能拿到内容,未登录的情况下feed url会报错。 这种情况下Google Reader就不好使了,即便可以,总不能把我的用户名密码给它吧。 Google许久无果,最后想到了用Firefox自己订这个feed,因为Firefox里有我的Coookie。 于是成功了。 Now I'd like to subscribe a private RSS feed, where login is necessary, you won't see anything from the feed url without login. In such a situation Google Reader won't work, even if possible, I don't want to reveal my username/password to it. After wasting several minutes in Googling, I came up with an idea, that to subscribe the feed using Firefox, as it's holding my Cookies. Then of course I succeeded.

Firefox 强制显示书签工具栏内容 | Force displaying bookmark item in Firefox toolbars

最近用Firefox订了一个feed,想把它显示出来,然而又不想为此浪费一行显示书签工具栏,于是把bookmark toolbar item拖到了地址栏尾部。 然而这个item是会自动收缩的,于是浪费了一段空白,而且我的feed需要展开才能看。 解决方法,利用stylish #bookmarksBarContent .bookmark-item { visibility: visible !important; } 即可。 Recently I've subscribed a live feed using Firefox, I want it being displayed in my browser all the time, but I don't like the bookmark toolbar which wastes the entire line space. Therefore I drag the bookmark toolbar item to the end of the location bar. However, that item will automatically collapse, resulting in that there's just a blank area, with an expand button, I have to view the item after expand the item, so stupid. The solution is, by stylish: #bookmarksBarContent .bookmark-item { visibility: visible !important; } works like a charm.

调整gnome音量调节的幅度 | Adjust the value of volume step in gnome

我的笔记本的音量调节是滚轮式的,拨一下会产生很多按键事件,因此音量增大或者减小很多,非常不爽。今天网上搜了一下,只需要改一个gconf键值: /apps/gnome_settings_daemon/volume_step 原来是6,改成2比较适合我。 There's a volume wheel on my notebook, one touch would make a number of keypress event, therefore the volume will be enlarged or reduced too much, which is very annoying. After spending some time on searching, I found the corresponding gconf key: /apps/gnome_settings_daemon/volume_step The default value was 6, changing it to 2 is good for me.

让 pstree 的 圆圈节点 Tcircle 保持一样大小 | Make all Tcircle nodes in pstree a fixed size

最近要用latex画树,决定学习pstricks,pstree还是蛮好用的,但是用Tcircle画节点时发现一个问题,每个圆圈的大小是与内容有关的,比如字母a和f的圆圈就不一样大,很难看。 在pstrick的文档里看了半天也没弄出个所以然,然后又搜了半天,才发现可以用makebox,原来这么简单,但是我对latex还是不熟练。 解法为: \Tcircle{\makebox[\somefixedsize][c]{content}} I need to draw some trees in latex, so I learned some pstricks, I found pstree is rather easy to use, but there's somethings with the Tcircle, the size of the circles is related to its content, for example for circles for 'a' and 'f' are not of the same size, which makes the tree very ugly. I didn't found anything useful in the pstrick's document, after rather some time searching on the web, I realized that I can take advantage of makebox, that's a easy but great idea, however I was still not familiar enough with latex... The solution is: \Tcircle{\makebox[\somefixedsize][c]{content}}

不能启用触摸板的临时办法 | A workaround of enabling touchpad

症状是 touchpad 可以识别,按笔记本上的启用/禁止触摸板键,屏幕上也有正确提示,但是触摸板就是不能工作。 一个可能的原因就是在windows里面禁用了,重启进ubuntu以后就出这个问题。 另外发现在禁用的情况下,按住笔记本上那个键(我这里是Fn+F7)就可以用,松开就不行。 在网上搜到的gconf的键值,观察了一下,只有按住的时候是enabled,否则是disabled了。 临时解决方案是: gconftool-2 -t bool -s /desktop/gnome/peripherals/touchpad/touchpad_enabled "True" 运行以后笔记本上的启用/禁止键也能正常工作了。 这个估计是Xorg或者GNOME的bug。 The symptom is that although my touchpad is recognized, and when I press the enable/disable key on my keyboard, there's right notification on the screen, but my touchpad just is not working. One possible reason is that I've disabled it in Windows, then I restarted my machine and entered Ubuntu. Another thing I found is that only when holding the enable/disable key can I use the touchpad. I found the corresponding key in gconf, and indeed I observed that the key is enabled only when the enable/disable key is being held. A workaround is to run the following command. gconftool-2 -t bool -s /desktop/gnome/peripherals/touchpad/touchpad_enabled &qu

Windows Server 2008 R2中配置游戏手柄 | Configuring gamepads in Windows Server 2008 R2

Windows Server 2008 R2 中似乎并没有游戏控制器的相关配置,以至我新买的手柄一直不能正确配置。 在 http://www.win2008r2workstation.com/win2008r2/game-controllers 中提供了一个游戏控制器的控制面板文件,包含了32位和64位的版本。按提示安装后就可以在控制面板里找到了,与之前Windows游戏控制器的配置无异。 Seems that the configuration dialog of gamepads is missing in Windows Server 2008 R2, which made my new gamepad not working all the time. Several necessary files for gamepad configurations are provided in http://www.win2008r2workstation.com/win2008r2/game-controllers including 32bit and 64bit versions. Just follow the instructions to install it, and then it can be found in the Control Panel, which is exactly the same as the gamepad configuration in previous versions of Windows.

在Google Reader中显示标记Like的条目 | Display liked items in Google Reader

转自:http://lifehacker.com/5317004/display-just-the-items-you-liked-in-google-reader 访问如下链接即可: http://www.google.com/reader/view/user/-/state/com.google/like From: http://lifehacker.com/5317004/display-just-the-items-you-liked-in-google-reader Just visit the following URL: http://www.google.com/reader/view/user/-/state/com.google/like

指定excel输出csv文件的分隔符 | Specify the separator in csv file outputted by Excel

Excel 导入csv文件时候可以指定分隔符,但是输出是没有明显的选项,只是txt用空格,csv用逗号。 查了一下,这个需要去控制面板,区域语言选项,“格式”标签选高级,在数字里面就可以调整分隔符了。 这个还真是不直观,太隐蔽了。。。 In Excel the separator can be specified when import a csv file using the wizard, but there's no such an option when exporting, the only choices are txt and csv, where the space and comma are used as separator respectively. And I found on the Internet that, to change the symbol, go to the control panel, then "regional and language options". In the advanced options under the "format" tab, there's a "number" tab, where you can change the "list separator". This option is hidden so well...

ptrace 在 linux 和 freebsd 下的若干区别 | Several differences of ptrace between Linux and FreeBSD

最近要把一个程序移植到Debian-kfreebsd上,并不如想象中的顺利。 主要是ptrace在两个平台上不太一样。 首先是宏定义,linux底下都叫PTRACE_*,freebsd上都是PT_*。这个也许不算什么 然后是ptrace函数的参数,主要是value这个,linux下面是long很好用,但是freebsd下是int,这样64位的时候就有些问题。 但是freebsd的ptrace有个更好用的操作PT_IO,可以自定义读写长度,而linux底下没有,要自己搞。 最后一个,花了我很长时间才解决的,是CONTINUE这个操作,linux下面addr这个参数是被忽略的,直接从中断的地方继续;但是freebsd下面则可以利用这个参数指定从哪里继续,如果希望从中断的地方继续,则指定为1即可。 目前只遇到这些,从这些方面来看,还是freebsd的接口更好用一些。 Recently I've been porting a software from Linux to Debian-kfreebsd, but it's not as easy as I had expected. The problem is the interface of ptrace is not exactly the same between linux and kfreebsd. The first is the names of the macros, which are PTRACE_* under linux and PT_* under freebsd. Secondly the function `ptrace' is not the same, the parameter `value' is `long' under Linux, but `int' under freebsd, so it seems that there'll be a problem on 64 bit freebsd. However, there's another operation called PT_IO under freebsd, using which we can specify the number of bytes we

并行运行多进程的Bash脚本 | A srcipt for running processes in parallel in Bash

原文: http://pebblesinthesand.wordpress.com/2008/05/22/a-srcipt-for-running-processes-in-parallel-in-bash/ 技巧是控制了最大并发数目,当前并发数过大时,等待有进程退出才开始下一个。 我现在正在写的脚本里正需要这个,借鉴过来 #!/bin/bash NUM=0 QUEUE="" MAX_NPROC=2 # default REPLACE_CMD=0 # no replacement by default USAGE="A simple wrapper for running processes in parallel. Usage: `basename $0` [-h] [-r] [-j nb_jobs] command arg_list -h Shows this help -r Replace asterix * in the command string with argument -j nb_jobs Set number of simultanious jobs [2] Examples: `basename $0` somecommand arg1 arg2 arg3 `basename $0` -j 3 \"somecommand -r -p\" arg1 arg2 arg3 `basename $0` -j 6 -r \"convert -scale 50% * small/small_*\" *.jpg" function queue { QUEUE="$QUEUE $1" NUM=$(($NUM+1)) } function regeneratequeue { OLDREQUEUE=$QUEUE QUEUE="" NUM=0 for PID in $OLDREQUEUE do if [ -d /proc/$PID ] ; then QUEUE="$QUEUE $PID" NUM=$(($NUM+1)) fi done } function che

Empathy 不能连 MSN 的问题 | Empathy cannot get MSN accounts online

症状是总报 Network Error, 重连也不行 根据 http://aslakjohansen.wordpress.com/2009/07/27/empathy-gives-network-error/ 把telepathy-butterfly杀掉就可以了。 So it always report "Network error", reconnecting has no luck. According to http://aslakjohansen.wordpress.com/2009/07/27/empathy-gives-network-error/ , just simply kill the "telepathy-butterfly" process, then it'll be fine.

Google Reader 总显示 "kept unread" 列表的问题 | Solution to the annoying "kept unread" list in Google Reader

不知道从什么时候开始我的Google Reader首页上总会显示一个kept unread列表,但是进去以后却是显示已读,此时点mark all as read或者挨个浏览这些item都没有任何效果。 今天在 http://groups.google.com/group/google-reader-howdoi/browse_thread/thread/a68ae3f9a7761e26/11eb862ab44a67c3 找到了解法: 给每个kept unread的条目加星 去加星条目列表,挨个浏览每个条目(不要点mark all as read) 去掉这些条目的星 然后就正常了。 这个应该是Google Reader的bug吧。。。 There's been a "kept unread" list in my Google Reader home page for some time, and I didn't know why. In the list, each item seems be already ready, and clicking "mark all as read" or navigating each of them have no effect. Today I found the solution on http://groups.google.com/group/google-reader-howdoi/browse_thread/thread/a68ae3f9a7761e26/11eb862ab44a67c3 Add start for each of them In "starred items", navigate each of them (don't click "mark all as read") Remove these temporary stars Then that list would be gone. This must be a bug of Google Reader...

gnome桌面便笺 | best sticky note application

最近需要搞个桌面上的todo list, 以前是用screenlets,现在不用了,而且为一个插件就开这个庞然大物太浪费了。 我在用gnote,但是这个不适合放在桌面上。gnome-panel的一个小插件也是sticky note,但是不能锁定在桌面上,一点就消失了。 另外搜到的xpad,但是我这里有bug,一个灰色的窗口,什么都么有。网上搜到了解决的patch,但是不想折腾了。 最后看到某人论坛留言: 在桌面建一个文本文件,然后把图标放大。。。顿时豁然开朗,一开始遇到这个特性时还觉得有些烦人,但是现在需要时反而想不起来了。。。 效果不错,缺点是不能弄太多文字。 Recently I found that I need a sticky note on my desktop. I used screenlets before, but not anymore now. It's a waste to enable it only for such a gadget. Now I'm using gnote, which is rather a nice software, but it's not suitable for 'sticky' notes. There's also a stickynote applet for gnome-panel, but I don't know how to attach the notes to desktop -- every time I click somewhere, the notes disappear. I googled some software called 'xpad', but on my computer it's nothing but a gray empty window -- an annoying bug, although I've googled a patch for this, I've got no feeling for it. Finally I got someone's comment on some bbs -- "create a paint text

Webkit 下中文字体问题的解决 | Solution to the problem of unexpected Chinese fonts in webkit

也许是仅局限于webkitgtk 之前尝试epiphany的时候就发现了这个问题,但是由于epiphany对我来说只是一个备用浏览器,所以没管它。 今天给empathy搞adium主题时这个问题再次蹦了出来,我决定干掉它。 https://bugs.launchpad.net/ubuntu/+source/webkit/+bug/502610 这里有些讨论,里面有个链接指向了改fontconfig的办法,但是我想我这里并不是这个问题,因为我在~/.fonts.conf里已经之定好了我希望的中文字体(主要是serif, sans-serif, monosapce这几个列表),我还是觉得这个是webkit的问题。 empathy有个选项可以开启webkit debug模式:/apps/empathy/conversation/enable_webkit_developer_tools 我用它查看元素,发现字体总是sans...目前解决方法是手工改css,找到.msg的定义,加入 font-family: "font name 1", "font name 2"; 另外就是epiphany,虽然它不能给各个语言指定字体,但是好歹支持用户css,于是加入如下内容: @charset "UTF-8"; // 如果字体名有中文 * { font-family: "font name 1", "font name 2" ! important; } 这样问题基本可以解决 Or maybe it's only a bug for webkitgtk, I'm not sure. Days before I encountered this bug when I was trying epiphany, but I didn't pay much attention on it since I use it only as a backup one. However today the bug came out and started to trouble me again when I was applying an adium theme for empa

ubuntu flash 中文乱码的解决

症状是所有中文都显示为方块 网上搜了很多方法,看上去都很暴力。另外在 https://bugs.launchpad.net/ubuntu/+source/fontconfig/+bug/207198 有很多讨论。 所有的方法都集中在/etc/fonts/conf.d/49-sansserif.conf这个文件上,不是修改就是删除。 (以下为个人猜测) 这个文件的用途是给没有通用字体名的字体加上sans-serif这个名字,比如说我想在标题栏上使用Comic Sans, 但是如果出现了中文怎么办?一般对中文的支持都是在serif, sans-serif,monospace这三个列表里加上中文字体,但是如果我指定的是Comic Sans,系统如何知道去哪里找中文字体呢。 所以这个文件就有用了,它给没有制定通用字体名(sans,sans-serif,monospace之一)的字体强行加上一个sans-serif,这样看上去就比较合理了。 而flash是怎么回事我就不知道了,因为不是所有的flash上显示中文都是乱码,youtube上的是乱码。 我在~/.fonts.conf里给sans-serif列表前端加了两个字体,一个英文一个中文,中文在后,这样可以让两种语言都能正确显示(因为中文字体对应的字符集包含英文的)。但是结果是flash就认第一个,不能匹配到第二个。我猜是flash请求时的问题,当然也可能是fontconfig的问题。如果我去掉了第一个字体,flash倒是正常了,但是所有字符都用那个中文字体显示了,不爽,所以这个文件不能动。 至于sansserif.conf这个文件,直接删除自然是不大合理,不知道会匹配到哪里去。目前的临时解决办法是把最后那个sans-serif改成我指定的那个中文字体,想了一下从逻辑上讲的通。 但是这个毕竟不是办法,让一般用户改这个还是不合理。如果是flash的问题自然好办,如果不是的话,我觉得可以给50-user.conf更高一点的级别,让用户自由度更大。

compiz 鼠标指针问题

症状是gnome里改了指针主题以后,(在打开compiz的情况下)标题栏,gnome-panel上的鼠标指针还是以前的(不知道是哪里来的),总是是不会跟着改变。 在 https://bugs.launchpad.net/ubuntu/+source/gnome-control-center/+bug/459647 上某人提到了修改/usr/share/icons/default/index.theme,我看了一下,是一个link,而且是带有alternative的。 于是用update-alternatives更改了一下,重启X,一切OK。 另外怀疑创建~/.icons/default/index.theme也可以解决问题,没有验证。

[转]ubuntu 下由于没有公钥,下列签名无法进行验证: 解决方法

Link: http://www.noteip.com/?p=983 W: GPG签名验证错误: http://linux.dropbox.com karmic Release: 由于没有公钥,下列签名无法进行验证: NO_PUBKEY FC918B335044912E sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 5044912E 若缺少其他公钥,则将命令中两处5044912E改为NO_PUBKEY FC918B335044912E中最后8位即可!

grub2 配置命令备忘

之前装Windows把grub搞挂了,用ubuntu 9.10的盘不能恢复,才发现grub2时代已经来了 又搞了个ubuntu 9.04的盘恢复以后,索性就升级到了grub2。当时有很多问题,尤其是分辨率那个。现在装了10.04,似乎没什么问题了,常用配置命令整理如下 旧版升级: sudo upgrade-from-grub-legacy 去掉memtest: sudo chmod -x /etc/grub.d/20_memtest86+ 修改背景图片/颜色: sudo vim /etc/grub.d/05_debian_theme 注意背景black表示透明,否则会挡住背景图片 修改控制台分辨率: sudo vi /etc/grub.d/00_header 在 set gfxmode=${GRUB_GFXMODE} 后加入 set gfxpayload=keep 注意同时要修改/etc/default/grub里面的 GRUB_GFXMODE 其他参数: 修改 /etc/default/grub, 里面的注释写的很清楚的 更新grub菜单,重新搜索内核等等 sudo update-grub 这个很不错,一个是能自动搜索windows loader,另一个就是再也不用为“是(hd0,4)还是(hd0,5)”之类的问题发愁了

windows server 2008 r2 当桌面系统使用的配置

我原来的windows 7 rc到期了,所以搞了个免费的学生号装windows server 2008r2,效果不比windows 7差,就是需要折腾一些服务设置啥的。 最近在 http://weblogs.asp.net/israelio/archive/2008/02/21/windows-server-2008-as-workstation.aspx 恰好又看到了,因此转过来备忘: Disable shutdown event tracker Start->Run->"gpedit.msc" -> Administrative tools->System-> Display Shutdown event tracked -> Disable Disable IE Security Start->Server Manager->Configure IE Sec->Off both options. Enable Wireless Support Start->Server Manager->Features->Add Feature->Wireless LAN Services Enable Audio support Start->Run->"Service.msc"->Windows Audio -> Automatic Start->Run->Services.msc"->Windows Audio Endpoint Builder->Automatic Install hardware drivers I am using ThinkPad t60p so my driver list is here Note that mobility center is missing from windows 2008 server so there is no need to instal

linux 光盘镜像挂载工具

虽说linux下挂载iso一个mount就搞定,可是对于平时常见的镜像cue/bin, mdf/mds就没啥好办法了。 今天偶然发现furius iso mount这个软件,还不错,虽然路径中有中文字符就不识别,但总算是有一个能用的工具了。 值得期待。

pygtk 异步显示对话框

需求是这样,我有一个主窗口,有自己的事情做,同时需要监视一个文件,如果有了变动就蹦个对话框出来,一开始的想法是 def handler(): dialog = gtk.MessageDialog(...) dialog.run() dialog.destroy() gobject.threads_init() gtk.gdk.threads_init() gtk.io_add_watch(source, gobject.IO_IN, handler) xxx_window.show() gtk.main() 结果是对话框能显示出来,但是点击ok之后就卡死了,ok按钮也保持在“按下”的状态 后来看到了http://old.nabble.com/Deadlock-problem-when-calling-messagebox-function-with-idle_add-td25027865.html 于是在handler首尾分别加上gtk.gdk.threads_enter() 和 gtk.gdk.threads_leave() 就可以了

GameConqueror 0.09 -- Linux 游戏作弊工具

你是否喜欢游戏修改? 你是否一直在寻找`CheatEngine for Linux`? 那么你不该错过: Gameconqueror 是一款Linux游戏修改工具,用PyGTK写成,以scanmem作为后端。 我的目标是实现CheatEngine的大多数功能,成为名副其实的`CheatEngine for Linux` 现在已经实现了基本的搜索功能,支持不同的数据类型和搜索类型,如下: 数据类型:不同长度的类型:int{8/16/32/64}, float{32/64},未知长度的类型:int, float, 未知类型:number, 字节串和字符串:bytearray, string 搜索类型:相等,大于,小于,变化,未变,增大,减少 ============================================= 下载: PPA https://launchpad.net/~coolwanglu/+archive/scanmem 我只在64bit Karmic下进行了测试,其他环境如果不能正常使用请告知,谢谢 SVN svn checkout http://scanmem.googlecode.com/svn/trunk/ scanmem 主页: http://code.google.com/p/scanmem/ 下载时注意选择0.09版本 运行需要python和python-gtk2, 编译需要libreadline(大多数发行版应该都默认安装吧) ============================================= GameConqueror的BUG或者不恰当的使用会导致程序崩溃,请务必注意备份数据,资料等等。 安装后应该在“游戏”类别里出现菜单项,也可以直接运行gameconqueror(请在终端内运行,见下) 查看Value的悬停提示(tooltip)可以了解各种搜索语法,参考了金山游侠 至于那个烦人的终端窗口,现在只能在这里看到搜索进度和出错信息。我之前主要是实现scanmem的各种功能,界面改进则是下个版本的目标 ============================================= 未来考虑实现的功能: - 界面改进(搜索进度条,出错提示,用户交互等等) -

GameConqueror 0.09 -- Linux Game Hacking Tool

If you are a game hacker If you've been looking for a `CheatEngine for Linux` Then you can't miss this. ============================================== GameConqueror is a game hacking tool for linux, it's written in PyGTK and uses scanmem as its backend. It's supposed to be with most useful features of CheatEngine for Linux. Currently, I've implemented almost everything about scanning, involving variant data types and scan types: Data Types: int{8/16/32/64}, float{32/64}, unknown type(int or float) and unknown width(will try each of them), byte array and string Scan Types: equal, greater, less, changed, unchanged, increased(by), decreased(by) This should be enough for most cases, so I decided to release it at the current status. ============================================= Here's how you can get it PPA (for Ubuntu users) https://launchpad.net/~coolwanglu/+archive/scanmem (I've not test it in 32bit environments or Jaunty, do please inform me if it doe

autotools, deb 和 PPA 不完全攻略

最近在给自己的GameConqueror折腾 PPA, 那少不了折腾标题里的三样东西。下决心看了一遍三个东西的文档,整理如下 链接 autotools: Autoconf Automake deb packaging: Debian New Maintainers' Guide Ubuntu Packaging Guide Building Package for PPA PPA stuff PPA Overview Uploading 那么一个一个说: 注意: 本篇系个人总结而非教程,如有疑问请参阅上述链接。 1. AUTOTOOLS autotools 的精髓是让开发者免于手写繁琐的Makefile,同时又让最后生成的源码包符合GNU的一套标准。然而autotools本身也很难用。。。入门门槛比较高。当然难用是相对的,掌握了基本要领就可以了 需要手写的文件一般是一个configure.ac和若干个Makefile.am, ac和am分别是autoconf和automake的缩写 configure.ac定义了源码包整体信息,如名称,版本,编译环境等,最后根据configure.ac输出configure,而configure可以判断编译环境是否满足需要,这就是著名的./configure && make 的前一半 Makefile.am则是Makefile的另一种格式,由于绝大多数C/C++或一些其他语言的程序编译,打包,安装等等都是同一模式,所以才有了automake,Makefile.am的作用是决定程序的编译方式,还有各个文件的类型,是否打包,安装位置等等,这些由automake生成许多Makefile.in一起打包,等到编译时./configure会把Makefile.in再变成Makefile 关于configure.ac, 最开始可以用autoscan生成一个模板,自己慢慢改,有许多宏,都可以在autoconf的网页上查到 一般(我看到的)分为两个部分,前一半检查编译环境,后一半把检查的结果输出,一般就是进行宏替换等等。 检查编译环境,一般无非是编译器(是否存在,编译选项,特性支持),库(是否存在,版本),条件编译(是否启用的某个功能,或其他编译时指定的参数),这一部分去查AC_CHECK*,AM_CONDITIONAL这些宏