`
richiewu
  • 浏览: 34006 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

Windows域用户非sshd登录本地Cygwin

 
阅读更多
Linux向来都只能是运行在大部分人Windows的虚拟机上,像个玩具.对于懒人,连虚拟机都不想用的话可以试试Cygwin.
Cygwin在本地模拟一个Unix环境确实方便很多.但是Cygwin使用Windows本身命令行界面不够友好,窗口,字体调整都极其不方便,而且只能用难看的字体.所以出现了使用Putty登录本地Cygwin进行操作的解决方案,就像远程登录一样.

非域用户登录本地Cygwin没什么好说的,无论是sshd还是直接登录一般都能正常使用.
这里谈到的是在域用户情况下,如何用Putty非sshd登录本地Cygwin,既能不用每次设置那么麻烦,又能正常使用.
两种方式登录当然都需要建立一个session,并修改必要的设置,域用户环境有个问题就是用sshd登录Cygwin后查找当前用户是否存在于/etc/passwd,/etc/group,如果不存在,User和Group都会显示成??????,这样对文件进行读写操作都会提示没有权限.
当然有人会想到用mkgroup和mkpasswd,不过我遇到更麻烦的问题了,这两条命令加上-d参数对域用户操作的时候都不能成功执行,而且用sshd登陆不够简便,起码得设置,生成私钥,开启服务才能登录.
域用户其实也可以用Puttytel登录本地Cygwin,用不着sshd那个加密功能.Puttytel是Putty其中一个组件,提供了本地Cygwin直接联机的功能,而不需要开启sshd服务.
Puttytel登录本地提供的命令为putty -cygterm -,-表示登录shell,问题就出在这个-上了,不用-就不能登录shell,任何操作都做不了,用了-就会直接建立一个新session,所有设置都是默认值.
想想每次登陆的时候,都必须建一个新session,所有设置都还得自己手动重新设置一遍就知道有多麻烦了.还有个问题就是打开新session都会弹出两个窗口,一个空白,一个是当前登录的session.
不过修改Putty代码,把默认设置给改了重新编译一个版本也是办法,不过是有点变态的办法...
本文重点之另一个解决办法:
修改Cygwin根目录下的那个bat文件,指向到Putty的安装目录后加入下面一行代码:
start putty -load "session name" -
session name即是一个Cygterm类型的session,可以先修改设置,运行后的设置就是该session的设置.所有问题都一并解决鸟...
Cygwin的bat文件:
@echo off
D:
chdir X:/Program Files/Puttycyg
start putty -load "cygwin" -
在Puttytel中建立一个叫"cygwin",类型为Cygterm的session:
命令一行填入"-cygterm "
另外可以用Poderosa直接登录到Cygwin的Shell,这篇文章已经失去其意义,Poderosa图:

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics