2011-03-03 wcdj
问题背景:
同学Deng的ns2出现了问题,想使用同学Yang的已安装好的ns2。因此,Deng将已安装后的ns-allinone-2.27目录压缩后全部拷贝到自己的硬盘上。然后Deng再在自己的机子上安装了Cygwin。安装好后,为了不改动ns-allinone-2.27中已有的配置,Deng在/home目录下创建与Yang相同的用户文件夹,再把ns-allinone-2.27解压到此文件夹下。此时的问题是,由于Deng的用户名与Yang的用户名不同,所以在第一次运行Cgywin后,会在/home目录下自动创建一个Deng的文件夹,而Deng拷贝过来的ns-allinone-2.27应该位于Yang的文件夹下,所以需要修改Cygwin的默认启动路径。可行的方法如下:
默认情况下,打开Cygwin后,pwd显示当前路径为 /home/当前用户名。例如:
方法1:
用 env 命令查看目前系统中有哪些环境变量,可以找到:
HOME=/home/WCDJ
因此,想改变Cygwin默认启动路径就是去修改HOME的环境变量为你所想要的值就可以了。
方法如下:
右键 桌面上我的电脑->属性->高级->环境变量,在上面那个个人用户的环境变量框中,或者下面的系统变量框中,新建,变量名设置为HOME,变量值为你想要的具体路径。
如果在自己用户变量处建,那么这个变量值的有效范围就是当前自己用户。如果在系统变量处建,那么这个变量值的有效范围就是当前整个系统,也就是无论哪个用户登录系统,这个变量都有效。
这样,每次启动Cygwin后,就会自动转到HOME所在路径下。
方法2:
在C:/cygwin/cygwin.bat里面加入了这样一行
这样Cygwin就会去HOME的这个路径下面找相关配置文件,如果C:/cygwin/home/abc下面有 .bashrc, .inputrc, .bash_profile 这样几个文件,Cygwin就能找到相关的配置。而不用管Cygwin是否创建了home,只要最后Cygwin能找到配置文件就OK了。
方法 3:
修改当前用户名,这个不太方便,没有采取。
关于那三个配置文件哪里找去?打开C:/cygwin/etc/skel 目录,你就会发现它们静静的躺在那里。这三个文件就是Cygwin一开始为用户准备的。把这三个文件拷贝到你的home目录下就可以了,然后用文本编辑器打开.bashrc 文件,把你需要设定的环境变量和参数写在这里,保存后重新启动Cygwin就可以看到已经生效了(注意 :如果不想重新启动Cygwin使.bashrc文件生效,输入source .bashrc 或 . .bashrc 命令即可)。
测试:
[1] ns 成功
[2] ./leach_test 成功
参考:
[1] 修改Cygwin的默认启动路径 [Change to default running path of Cygwin]
http://hi.baidu.com/serial_story/blog/item/366978106724b9f9c2ce797a.html
[2] Cygwin home路径问题
http://www.baisi.net/thread-39168-1-1.html