Tag Archives: Linux

昨天和 sssslang 和 xwl 聚了个会

和 sssslang 倒是很早就见面来着,好像是他那会刚回北京?聊了聊 linux 相关的东西,呵呵。 说起来 linux 用户也挺郁闷的,平时旁边没几个用的,就算是用的,好像也都是 ubuntu 用户,基本就是当 windows 用的,很少主动去挖掘 linux 的一些东西,这些用户比较务实,主要还是在工作方面,开发的东西也都是工作相关的,比较少去做一些无聊的开发。。。所以和他们好像也没什么好聊的。 前两天 #emacs-cn 的 xwl 提议聚会,大家一拍即合,呵呵,定了时间地点,那就聚一个。 聊的东西基本围绕在 emacs, linux, mac 上面。最主要的是 xwl 秀了下他的小黑 macbook 和他的 emacs,sssslang 倒是很详细的问了下 xwl 用的 elisp 扩展,可我对那些不是很明白,我觉得 elisp 就是一个变态的语言。。。对我来说,还记得的可能有下面几个吧。 1 他的 emacs 的标题会显示宋词,会定时变化。 2 有个渐变的扩展,叫做 highlight tail 的,很 cool 吸引小 mm 的必备啊,呵呵。 3 他用了很多定时器,比如执行完编译后,会 split 出来一个新的窗口显示一些编译信息,如果没有错误,那等 3 秒,这个窗口就会自动关掉。还有 [...]

万恶的 ATI fglrx 驱动

ATI 官方驱动带了一个 amdcccle 命令,可以显示图形界面对显示器作一些设置,例如修改分辨率,twinview, dual head, bigdesktop 这些设置。其实 nvidia 的官方驱动也是带了这么一个工具的。 但是呢,有时候就会发现,通过这个命令修改显示之后,你的xorg.conf 里面的设置就不起作用了!无论你之后如何去修改你的 xorg.conf ,他根本不会去理会。 我遇到的问题就是,某次通过 amdcccle 设置了一下 bigdesktop,结果导致接上我的另外一个LCD之后,那个LCD的分辨率死活就卡在 1024×768 上了。要知道,那个LCD是支持 1280×1024的,可是无论如何设置,就是不能提高分辨率了。查看 xorg 的log,能看到读取的 /etc/X11/xorg.conf 文件,可是就是没效果。 开始怀疑是显示器出于保护,把分辨率设置底了,结果接到别人的笔记本上面是没问题的。后来研究来研究去,发现还是 ATI 驱动的问题。 /etc/ati 下面有不少文件,也不知道这些文件是什么用途,但是 amdpcsdb 这个文件就是罪魁祸首了。删掉后LCD的分辨率就正常了。 很奇怪,我执行 amdcccle 的时候,用的可不是 sudo ,他是怎么写到这个文件里面的?

自动登录网站的 greasemonkey 脚本

自动登录 gmail 的 greasemonkey 脚本,可以根据需要修改 formElement.name==”Email” 为别的,来登录别的网站。注意修改 name, include 这些相关的东东 // (c) 2007, Yabin Guo // To install, you need Greasemonkey: http://greasemonkey.mozdev.org/ // // ——————————————————————– // ==UserScript== // @name gmail Login // @description Auto-login of gmail // @include https://www.google.com/a/wdicc.com/* // ==/UserScript==   //replace your seraph username and password in the following expression; userName="wd"; passWord="*******";   [...]

PING命令中TTL的具体含义zz

有台服务器ping的时候老出现 Time to live exceeded 这个错误,这样就会误报服务器挂掉,很烦人。找了半天似乎找到了解决方法了。 ping的时候返回的包的ttl值是根据对方系统的设置来的,默认情况下,win是128,linux是64,返回的时候,每经过一个节点,就减1,这样,根据返回包的ttl值就可以判断经过了几个路由节点。而节点要是比较多的话,会导致这个ttl值为0,这样就出现上面提到的问题了。当然,要是遇到包进了环路,也会产生这样的问题,详细的内容可以看下面的转载文章。 这样,解决这个问题的方法就是修改对方系统的默认ttl 值,比如修改为255,这样如果还产生上面的错误的话,那就没准是哪里的问题了。呵呵。 Linux下修改方法: 方法1(重启后有效): #sysctl -w net.ipv4.ip_default_ttl=N (N=0~255),若N>255,则ttl=0 方法2(重启后无效): #echo N(N为0~255) > /proc/sys/net/ipv4/ip_default_ttl 原文地址:这里 PING命令中TTL的具体含义 提供者 vitty简单来说,TTL全程Time to Live,意思就是生存周期。 首先要说明ping命令是使用的网络层协议ICMP,所以TTL指的是一个网络层的网络数据包(package)的生存周期,这句话不懂的先回去复习OSI7层协议去。 第一个问题,为什么要有生存周期这个概念。 很 显然,一个package从一台机器到另一台机器中间需要经过很长的路径,显然这个路径不是单一的,是很复杂的,并且很可能存在环路。如果一个数据包在传 输过程中进入了环路,如果不终止它的话,它会一直循环下去,如果很多个数据包都这样循环的话,那对于网络来说这就是灾难了。所以需要在包中设置这样一个 值,包在每经过一个节点,将这个值减1,反复这样操作,最终可能造成2个结果:包在这个值还为正数的时候到达了目的地,或者是在经过一定数量的节点后,这 个值减为了0。前者代表完成了一次正常的传输,后者代表包可能选择了一条非常长的路径甚至是进入了环路,这显然不是我们期望的,所以在这个值为0的时候, 网络设备将不会再传递这个包而是直接将他抛弃,并发送一个通知给包的源地址,说这个包已死。 其实TTL值这个东西本身并代表不了什么,对于使用者来说,关心的问题应该是包是否到达了目的地而不是经过了几个节点后到达。但是TTL值还是可以得到有意思的信息的。 每 个操作系统对TTL值得定义都不同,这个值甚至可以通过修改某些系统的网络参数来修改,例如Win2000默认为128,通过注册表也可以修改。而 Linux大多定义为64。不过一般来说,很少有人会去修改自己机器的这个值的,这就给了我们机会可以通过ping的回显TTL来大体判断一台机器是什么 操作系统。

死在了fsck手里

上周六断电,一台dhcp server挂了,启动的时候提示硬盘有问题,让fsck修复一下。每次启动都提示,而且在这里会停下来,很烦。那就fsck一下吧,结果。。。系统就进不去了。埃,之前还好还能进去,真郁闷。 所以,fsck之前,一定要先把重要的东西都导出来再说。 fsck的命令的几个使用方法