Category Archives: Linux
推荐WebShell
http://www-personal.umich.edu/~mressl/webshell/ 这个脚本是一个简单的web server,功能是提供一个web界面的ssh接口,需要python和pyopenssl支持。下载解压之后首先执行make_certificate.sh,然后执行./WebShell.py 推荐的参数是-p 443 -d,这样可以采用默认的端口进行ssh,并成为一个daemon在后台运行。这个程序对于我这种有时无法直接ssh而只能web的人来说可以应急使用。(只有http[s]代理,而没有socket代理) 需要注意的是执行似乎需要root权限,否则在pty.fork()时候会失败。(很奇怪,我在python的终端内执行时这个函数不会失败的……)
c程序调试
我是不知道大家用什么东西,很多人可能很喜欢kdevelop的gdb集成,也喜欢kdbg,或者用anjuta,eclipse的cdt,或者用vim+gdb,emacs+gdb 其实我个人使用cgdb的,一听名字就知道,还是gdb,console程序,上下分栏,方便查阅代码,搜索是类vim的操作。 我推荐身边的人还是用kdevelop和kdbg啦,和别人合作的时候用的是kdbg 用cgdb的优点在于,可以在tty里调试,尤其是调试fcitx的时候,断点命中的时候窗口可是会死掉哦……所以呢…… 另外很奇怪的是我这里的xterm如果不启动fcitx的情况下貌似没有xim支持,调试fcitx不会死耶…… 吐槽: eclipse太卡卡卡卡卡卡……真的,太卡了……eclipse的最强特性:卡……为了eclipse给笔记本加的内存…结果我笔记本还是ddr1,一条1G的内存300多……
何时才能追上我
Arch最近你很疲软啊…… 警告:ati-dri:本地(7.8-1)比 extra 的版本更新 (7.7.1-0.1)警告:dri2proto:本地(2.2-1)比 extra 的版本更新 (2.1-2)警告:kernel26:本地(2.6.34rc1-1)比 core 的版本更新 (2.6.32.10-1)警告:kernel26-firmware:本地(2.6.34rc1-1)比 core 的版本更新 (2.6.32.10-1)警告:kernel26-headers:本地(2.6.34rc1-1)比 core 的版本更新 (2.6.32.10-1)警告:libdrm:本地(2.4.19-1)比 extra 的版本更新 (2.4.18-2)警告:libgl:本地(7.8-1)比 extra 的版本更新 (7.7.1-0.1)警告:mesa:本地(7.8-1)比 extra 的版本更新 (7.7.1-0.1)警告:xf86-video-ati:忽略软件包更新(6.12.192-1 => 6.12.4-3)
开源的强大,Archlinux ATI R600 开源驱动安装
说起来,开源究竟有多强大谁也说不好,仅指与我相关的ATI显卡驱动一例。 ATI显卡驱动在Linux上真是要多Suck有多Suck,一般说来,闭源驱动的性能总归是要好一些,这也确实,闭源的驱动在BenchMark上的表现超过开源驱动,但是这不妨碍他Fuck itself。观感上的问题就是ATI的闭源驱动在窗口Resize的时候会有明显的延迟,CPU会刷的一下升上去,为此有人搞了一个补丁。但是这个补丁会带来显示的问题,在性能不如Compiz的Kwin上尤其明显,当然也不是说Compiz就没有这个问题,但是少。 其次,ATI只官方支持Ubuntu,这是什么意思呢?一旦Xorg或者Kernel更新了(这两个和驱动关系很大),ATI的驱动往往跟不上更新,为啥,因为Ubuntu没有使用新的版本的内核或者Xserver。Nvidia则不然,能在内核未发布的时候保证支持。这是态度问题啊…… Catalyst驱动到现在还没有支持Xorg 1.7,导致我等使用Archlinux的同学要么就等着不更新,要么就抛弃闭源驱动。不更新有很多麻烦,有可能有很多依赖的包都会出现问题,尤其是Archlinux这种滚动更新的发行版,长时间不更新会带来更多的麻烦。 说起来,这种时候大家的选择只有忍耐,或者投奔开源。这时我早早的就开始在网上寻找开源3d的支持。于是我发现了这个:http://aur.archlinux.org/packages.php?ID=28981 当时还尝试自己编译相关支持,但是失败……后来有人终于成功搞出来,不过那已经是很久之后的事情了。ATI的开源3d也确实牵动着众多用户的心,很多人都有关注,各个网站也有相关文章,主要关注的还是Phoronix上的新闻。 那时还曾经头脑发热想去参与开发,后来发现自己啥也不懂就作罢了…… 列出历史上的几篇激动人心的文章: AMD Releases R600/700 Programming Guide ATI发布了编程指南,这是走向开源的第一步,这样就不用苦苦逆向工程搞出来什么寄存器是干什么的,同时还能带来更好的性能。 Open-Source ATI R600/700 3D Driver Almost Working 这篇文章标志着开源驱动就要到来啦~ ATI R600/700 OSS 3D Driver Reaches Gears Milestone glxgears works!一个大家常用的benchmark 然后就是等待内核2.6.31,其实这时候我一直都还没尝试过开源驱动,其实是没有成功。当Xserver 1.7到来的时候,大局迫使我向开源驱动靠拢。这时候我编译了drm-next的radeon模块,终于看见了3d work,太感动了,太激动了……虽然渲染错误时常出现,但是我也坚定的向Catalyst说了fuck and goodbye! 说起来感觉内核发布得越来越快?2.6.32很快就到来了,这是声明有官方支持的r600/r700的3d,测试发现渲染错误依然,不过不用自己编译相关模块了,倒是不错。 期间也出现了一些问题,例如early load,为此我写了一个mkinitcpio的hook,发在了评论里,被别人拿走打包了radeon-initrd,确实可以尽量早的启动kms。 后来2.6.32.2内核会导致无法启动的错误,后来发现有人测试2.6.33rc1的内核很好使,于是我也下载自己搞了一通,最后发现没有firmware?!没办法,幸好我之前注意到了一个叫做radeon_ucode的包,于是装上,哇!没有渲染错误的KDE … Continue reading