从GNOME网站安装exaile-doubanfm-gnome-shell-extension

最近GNOME发布了期待已久的extension.gnome.org,这个网站允许你直接通过浏览器安装和管理gnome-shell扩展,有点类似app store的感觉,混乱的~/.local/share/gnome-shell/extensions/终于有了一个官方的界面。

网站开通的第一时间,我提交了exaile-doubanfm-gnome-shell-extension,经过review和修改,这个扩展也得到了进一步的完善,适配了gnome-shell 3.2的风格。

你可以从这个地址直接安装启用
https://extensions.gnome.org/extension/24/exaile-doubanfm-control/

它会在exaile douban.fm启动后显示一个菜单在gnome-shell上,你可以通过这个菜单进行基本的操作。

如果喜欢,别忘了在extension.gnome.org上vote一下 :)

Upgraded to GNOME 3.2

ArchLinux最大的魅力就在于Rolling Release,所有的悲喜剧你都比别人早一步见证。

升级到GNOME 3.2后,我的gnome-settings-daemon不能正常工作,导致gtk+的主题都无效。如果没有经验你可能不太容易注意到它的真实原因。最后找到了同病相怜的人,这个问题被报告在这里。恰好是在我发现这个问题几个小时之前。在gnome解决这个问题之前,有一个简单的workaround:
sudo mv /usr/lib/gnome-settings-daemon-3.0/libcolor.so /usr/lib/gnome-settings-daemon-3.0/libcolor.so~

库加载失败后gnome-settings-daemon会自动禁用这个插件,避免出现Segmentation fault。以上的操作,at your own risk。

此外,gnome-shell升级到3.2以后有些api的变化,我更新了exaile豆瓣电台的gnome-shell插件,你可以顺手git pull一下。
Screenshot at 2011-10-02 17:48:51

告别Ubuntu,迁移到Fedora 15,GNOME 3

Fedora15/Gnome3

昨晚终于下了决心告别Ubuntu的紫色,迎接新的GNOME3桌面。这个想法有一段时间了,Ubuntu从09年生日的时候安装在这台电脑上,已经将近两年的时间,经历了9.04, 9.10, 10.04, 10.10, 11.04五个版本,安装了GNOME, awesome, KDE, LXDE, Openbox, wmii, GNOME3, Ubuntu Netbook等等桌面环境,可以想想那种混乱。而且通过升级获得的新版本,并不能体会到快速开机这样的特性。这次unity发布以后,用了半个月,没有什么眼前一亮的感觉,操作也不太方便,于是换发行版的想法就更加强烈了。

我的系统之前有三个分区,分别挂载/,/home以及/opt。这次更新理想的方式就是格式化/,保留/home和/opt。之前比较讲究规范,所以/下面基本上没有什么需要备份的东西,配置文件都放在/home下面。这样用fedora的livecd安装程序手动配置磁盘分区,只格式化/就可以了。安装的过程非常顺利,重启以后就进入用户配置的界面了。

要把原先的/home/sun分配给新的sun用户,这里我走了一点弯路。系统可以把/home/sun目录配置给新的sun用户作为$HOME,但是目录的owner并不会根据用户名称来匹配。Ubuntu默认第一个用户的UID是1000,而Fedora创建的新用户默认是500. 我现在不确定如果把第一个用户的ID手动指定为1000会不会就直接成功。不过这个问题不大,只要启动之后用root用户把/home/sun目录chown给新的sun用户就可以了,当然文件很多是需要消耗一些时间的。

进入GNOME3桌面之后发现无线网络连不上,而且不弹出密码输入框。因为我最近改了无线的密码,而NetworkManager还是从gnome-keyring里去读旧的密码,所以总是连接失败。这时rm -r ~/.gnome-keyring/ 删除旧密码即可。

桌面的第二个问题是桌面背景仍然是旧的配置(只有颜色没有图片,因为GNOME3默认桌面不由Nautilus管理),这时要毫不留情地删掉所有GNOME2的配置: rm -rf ~/.gnome2 ~/.gconf ~/.gconfd

第三个问题,gnome的applition菜单非常混乱,还存着Ubuntu系统时候的内容。根据freedesktop的标准,用户的菜单配置保存在~/.config/menus里,而用户菜单会从~/.local/share/applications下读取所有的.desktop文件,甚至包括wine也会在这里创建自己的菜单。对付这些内容,一删了之: rm -rf ~/.local/share/applications/*。这样菜单就只会从/usr/share/applications/下读取.desktop文件,这些都是最新安装的。

然后,然后就没有了!就可以开始享受fresh install了,甚至你打开thunderbird,所有的邮件都在那里,什么都不用再做。
Window Selector
如果要比较gnome-shell和unity的话:

  1. gs的启动器比unity要好用,unity的启动器搜索程序之后必须点击图标才能启动,gs可以直接回车启动第一个
  2. gs的dock比unity要好用,其实都与windows7的任务栏类似,但是 unity里打开了一个终端之后,再点这个图标就转到终端,如果想新开一个就无奈了,右键点击也没有新开的选项。(难道是shift+click,来不及试了。。。)
  3. unity的indicator比gs的tray强大多了,这是ubuntu的强项,从10.04开始就用自己的indicator,到了11.04已经有成熟的API,除了官方的,还有很多程序支持,还有天气、系统监控的indicator。gs抛弃了原来的panel applets,现在看天气、看系统状况都无从谈起。尤其是看不到cpu使用情况,心里总是不踏实,天知道firefox+flash又把你的系统烧了多久。

总体来说这次重装效果非常好,基本上没有留下任何瑕疵。断断续续用了四年多的Ubuntu,再见了~

GUI Debugging tools

想了解一个C程序的运行,打算用gdb来单步看一下流程,发现直接用gdb不太方便,然后模仿偶像用emacs的gdb支持(M-x gdb)。但是境界实在是比不上偶像,emacs的操作都还不熟练。最后选择了geany。geany是一个简单的C/C++ IDE,它有一个geanygdb插件可以帮助你在geany的图形界面里调试。

但是最近安装在仓库里的geanygdb插件有一些问题,会导致很高的CPU占用。不过这个问题被报告在这里,现在已经修复了。因为新版本还没有release,所以如果急着用的话,可以从svn签出代码:
svn co https://geany-plugins.svn.sourceforge.net/svnroot/geany-plugins/trunk/geany-plugins
然后执行:

cd geany-plugins
./autogen.sh
./configure
cd geanygdb
make
sudo make install

重启geany,打开plugin manager,看到geanygdb的版本已经变成0.20就可以使用了。

geany现在还不支持ctags,是因为它内部有一套自己的tags实现。代码导航可以用过上下文菜单 Go to tag Definition 或者 Go to tag Declaration 实现,最好是到Preference中给这两个命令设置一个快捷键,比如Ctrl+],再对Navigate back 设置一个Ctrl+t,就如同vim+ctags一样了。

实际上在GNOME桌面还有一个专门的GDB图形界面,叫做Nemiver。Nemiver对gdb的常用命令都有快捷键操作,把鼠标移动到代码上还可以查看变量的值,效果和eclipse调试java程序一样,非常强大。

The post is brought to you by lekhonee v0.7