玩转windows内置linux子系统_4.在windows下任意位置打开linux的同样位置

519 查看

概览

早做完上一步的时候,相信已经很方便的使用windows下的linux了,但是对于我这种千年大懒人来说还远远不够。
因为我根本不想一层层的cd过去。
我的想实现这样的需求:
在windows的目录下面,右键点击,cd in linux,然后自动弹出来个shell,并且已经进到这个目录下。
这样才能满足我这样的懒人嘛。

借鉴

实际上这并不难实现,安装过git bash的同学都见过,在右键上有个git bash here的功能,就是这样的,此处我们仿照他来实现我们的这个功能。
我们在注册表中搜索git bash here,不一会就找到了,

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Directory\background\shell\git_shell]

我们分析一下
首先上面的background代表在文件夹内的背景处,即空白处。git_shell代表他的名字。
然后我们也仿照写一个即可。

分析

我们点开开始菜单,找到最近安装,里面有个Bash on Ubuntu on Windows,前面还有个Ubuntu的图标,看着不错,我们拿过来。
右键点击,看到他是个快捷方式,不用想我们也知道,连接的是c:\windows\system32\bash.exe
然后看看图标路径%USERPROFILE%\AppData\Local\lxss\bash.ico,那如果看到此处足够细心的话,就会发现,其实Ubuntu的安装位置就是在
%USERPROFILE%\AppData\Local\lxsslxss的意思就是linux subsystem,可显然我当初没有发现它的安装位置,我是直接搜索的root,最后查找到这里的。
不管怎么说,这个图标挺好看,我们记住路径拿走它。

实现

我们按照上面的git shell来增强我们的功能,写个注册表脚本如下:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Directory\background\shell\lxss_shell]
@="cd in linux"
"Icon"="\"%USERPROFILE%\\AppData\\Local\\lxss\\bash.ico\""

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Directory\background\shell\lxss_shell\command]
@="\"c:\\Windows\\System32\\bash.exe\""

然后导入即可。

截图