WSL

WSL18.04 Setup I

Posted by HYJ on July 21, 2018

目前Windows Store中已经有多个Linux发行版: Ubuntu, OpenSUSE, SLES, Kali Linux , Debian GNU/Linux, WLinux。本文使用Ubuntu18.04。

目录

已知WSL18.04在首次apt update时有 *Error: insufficient privileges to access the ebtables rulesets. 但似乎这个报错可以被忽略,该问题已经被解决(2018.9.23),见 Errors in Ubuntu 18.04 on Windows 10 - Microsoft Community , 这应该是一个Ubuntu的 bug

安装Ubuntu 18.04 WSL

官方安装教程 Windows Subsystem for Linux Installation Guide for Windows 10

首先启用 “Windows Subsystem for Linux” 选项,在管理员模式下启动 Powershell 并运行以下指令

Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux

重启计算机后,打开 Microsoft Store,下载 WSL

Snipaste_2018-07-21_16-09-14

将 Bash Console Here 添加到右键菜单

如果你的系统是 Insider 17666 (1809 later) 或更新版本,则WSL已经在右键菜单;若不是,则需要手动添加。

1. 将以下内容复制进 Powershell ,回车运行
该代码将会在“目录空白处”和“文件夹图标”上右键时出现”Bash Console Here”

$null = 0..1 | % {
  $key = New-Item -Force $('HKCU:\Software\Classes\Directory{0}\shell\BashConsoleHere' -f ('', '\Background')[$_])
  $key | New-ItemProperty -Name '(Default)' -Value 'Bash Console Here' -Type String
  $key | New-ItemProperty -Name 'Icon' -Value '%LOCALAPPDATA%\lxss\bash.ico' -Type ExpandString
  $key = New-Item -Force "$($key.PsPath)\command"
  $key | New-ItemProperty -Name '(Default)' -Value "cmd /c cd `"$(('%1', '%V')[$_])`" && bash.exe" -Type String
}

⚠若只想在目录空白处右键时出现 “Bash Console Here”, 将以下内容保存为一个 .reg 文件,双击运行

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\SOFTWARE\Classes\Directory\Background\shell\BashConsoleHere]
@="Bash Console Here"
"Icon"=hex(2):25,00,4c,00,4f,00,43,00,41,00,4c,00,41,00,50,00,50,00,44,00,41,\
  00,54,00,41,00,25,00,5c,00,6c,00,78,00,73,00,73,00,5c,00,62,00,61,00,73,00,\
  68,00,2e,00,69,00,63,00,6f,00,00,00

[HKEY_CURRENT_USER\SOFTWARE\Classes\Directory\Background\shell\BashConsoleHere\command]
@="cmd /c cd \"%V\" && bash.exe"

2. 最后,将 bash.ico 放入对应位置 %LOCALAPPDATA%\lxss\bash.ico

参考:
“Bash Here” Context Menu in Windows Explorer · Issue #603 · Microsoft/WSL

其他参考资料
1. Windows Explorer doesn’t show correctly the custom icon - Super User
2. registry - Set icon for custom right-click context menu item for all desktop shortcuts (windows explorer) - Stack Overflow
3. How to launch Bash shell from right-click context menu on Windows 10

常用操作

常用操作

目的 命令
更新软件源 sudo apt-get update
升级所有软件 sudo apt-get upgrade

安装zsh和oh-my-zsh

sudo apt-get install zsh git-core
sudo wget https://github.com/robbyrussell/oh-my-zsh/raw/master/tools/install.sh -O - | zsh
chsh -s `which zsh` #或 chsh -s /usr/bin/zsh

将以下内容添加进 .bashrc

if [ -t 1 ]; then
exec zsh
fi

重新打开WSL使更改生效

参考: Use Zsh in WSL on Windows 10 – Vinh Pham – Medium

其他

若想配合VcXsrv使用GUI, 可以参考这篇知乎专栏: 在Win10中使用带有Unity桌面的Ubuntu

使用Mintty访问WSL https://github.com/mintty/wsltty

Github上的 kpocza/LoWe 为WSL提供了音频和视频播放支持,其他关于WSL的信息/工具/发行版可参考 sirredbeard/Awesome-WSL