Tag Archives: 不工作

Arch Linux broadcom wireless 驱动自行编译安装

Arch最近频繁升级内核,有木有?一激动,升级了内核,无线网络没了,有木有?
以前,辛辛苦苦找到了无线网卡的驱动broadcom-wl,结果现在全白费了,有木有?

但是,回过神来,不想折腾的Linux User不适合用Arch。想想,还是硬着头皮自己编译吧。当然也不是完全从零开始,Arch的一个优点就是有很好的用户支持,官方wiki中没有的话,可以去AUR看看。因为原先使用的是第三方源中的broadcom-wl,所以在AUR中搜索了一下,于是就得到了编译需要的前提信息,链接是http://aur.archlinux.org/packages.php?ID=19514

好,接下来进入编译工作。

  1. 在上面的链接中下载整个编译需要的文件(Tarball),如PKGBUILD、install等,也可以点击这里下载,解压
  2. 编译需要依赖以下软件或工具:makepkg,fakeroot,patch,make。请确保一一安装。
  3. 从终端进入刚才的Tarball解压出来的目录,执行makepkg,不推荐使用root权限编译(所以要安装fakeroot,这些信息在编译过程中都会一一提示的,请注意输出的内容)
  4. 编译成功后,会生成名字类似broadcom-wl-5.100.82.112-2-i686.pkg.tar.xz的包,使用 pacman -U broadcom-wl-5.100.82.112-2-i686.pkg.tar.xz 安装。
  5. 安装完成后,执行 modprobe wl

原先使用第三方源安装时,如果执行modprobe wl是会报错的,现在OK了。

如果这样之后还是不行的话,给我留言吧。记得描述清除,或者留下联系方式。

Install Gnome3 on ArchLinux

Gnome3已经发布有一段时间了,初步使用以及参加HZLUG后,确实是不错的新一代桌面,让我一改觉得它臃肿的看法。

具体的安装可以参见官方文档:https://wiki.archlinux.org/index.php/GNOME_3

这里对自己的安装过程做一些记录:

  1. 安装gnome3。启用testing源,nano /etc/pacman.conf,找到被注释的[testing],将注释去除。
  2. 使用的更新源。中国境内的163的源比较快,但是前天出现一些问题,导致community出问题,不过已经修复。如果出现这样的问题,可以尝试切换到其他的更新源。
  3. 安装dbus。安装dbus,pacman -S dbus。启用dbus,/etc/rc.d/dbus start。配置dbus,nano /etc/rc.conf,在DEAMON中添加dbus。
  4. *安装fuse。pacman -S fuse。添加模块,modprobe fuse。
  5. 安装nvidia驱动。一种是安装开源驱动nouveau,另一种是安装闭源nvidia驱动。由于使用前者导致gnome-shell无法正常运行,使用后者。pacman -S nvidia。
  6. 配置nvidia。安装pkg-config,pacman -S pkg-config。执行nvidia-xconfig。重启reboot。
  7. 安装gnome。pacman -Syu testing/gnome testing/gnome-extra。后者是可选的扩展包。基本的gnome就装前者。
  8. 安装pmount。挂载移动设备用。pacman -S pmount。pmount依赖于hal,如果hal没安装请先安装,如果已经安装,执行/etc/rc.d/hal start。将hal加入DAEMON,nano /etc/rc.conf。
  9. 安装ntfs-3g。提供ntfs读写支持。昨天想往移动硬盘拷些文件,结果提示没有权限。Google了一下,说是缺少ntfs读写支持,需安装ntfs-3g,pacman -S ntfs-3g。
  10. 除此之外,声音等请参考以前的博文

fancybox.cancel

常在调用fancybox显示表单前要判断用户是否做了先决的操作,如果没有操作就中止弹出fancybox。在以前的博文中,提到$.fancybox.cancel()。

最近注意了一下代码,才发现方法名写成了cancle,这样会引起脚本报错。代码如下:

$(‘a[name="info"]‘).click(function(){
if(true){
}
else{
$.fancybox.cancle();
}
}).fancybox();

虽然方法名写错了,但是也实现了中止fancybox显示的效果,而且再做了先决操作后,fancybox可以正常工作。而改为正确的cancel方法后,反而导致整个页面中的脚本都不能工作,脚本报错显示是fancybox中的e.onCancel()方法未定义。具体是什么问题还需研究研究。

先撇开上面的问题不说,在保证不出现脚本报错的前提下,我们还可以使用另一个全局方法$.fancybox.close()来实现,代码如下:

$(‘a[name="info"]‘).fancybox().click(function(){
if(true){
}
else{
$.fancybox.close();
}
});

注意比对两段代码,你会发现fancybox和click方法的顺序不同。fancybox是绑定在click事件上的。前一段代码中cancle导致fancybox方法失效;后一段代码实际上就是关闭fancybox,也就是说你得让fancybox打开了才能关闭它,所以它们出现的顺序就这么决定了。

PS Firefox 4发布了,太不错了,你值得拥有!

fancybox in asp.net

在Asp.Net中使用fancybox通常遇到的问题,主要是在fancybox中的服务器端控件无法正常工作了,一些网友提出给fancybox中的控件绑定事件,并使用__doPostback(”,”)触发该控件的服务器端实践。当然这是一种解决的办法,但是每一次都要额外写一些代码,确实也挺烦的。

一种较为行之有效的方法就是修改fancybox的主JS文件,搜索其中的body并将其替换为form。因为fancybox的弹出窗口是通过在页面中添加多个层来实现的,默认情况下这些层都使用append方法添加在body的最后,也就是form的外边,当显示fancybox是服务器端控件会被移出form。而添加的服务器端控件是必须包含在form中的,否则无法正常工作。

另外,如果你在项目中使用了updatepanel,可能在updatepanel中的链接无法使用fancybox正常显示。例如,在updatepanel中有一个GridView,其中的一列上添加了链接,用来弹出fancybox显示详细信息,第一次进入页面后,点击链接可以弹出fancybox,当点击查询按钮后,再点击链接fancybox就失效,转而变为页面跳转。

大致分析的原因是,查询使得GridView中链接列的链接上绑定的fancybox丢失了。直接的想法就是,在查询结束后,列表绑定完成后,重新为链接列的每一个链接重新绑定fancybox。这样,我们在调用GridView的绑定方法之后,向页面中写入一段脚本,页面上脚本如下:

jQuery.showInfo = function(){
jQuery(‘a[name="linkInfo"]‘).fancybox();
}

服务器端代码,ScriptManager.RegisterStartupScript(Page,Page.GetType(),”",”jQuery.showInfo();”,true);

目前,在我的试验中,你需要为fancybox指定一些参数,否则可能仍然会出现原来的问题。

PS Firefox 4即将正式发布,等不及了,赶快尝试吧!