我们公司的IT部电脑统一使用的Ubuntu系统,大约在去年的时候,统一换成了deepin系统了(公司穷啊,配不起mac),体验还不错,就是偶尔会出现奇葩bug。
然而在自己家中电脑是win10环境 ,敲代码不是怎么舒服。
于是各种折腾!!!
1,虚拟机,使用vmware,但是我的破电脑运行虚拟机时候,总觉得不流畅。各种卡卡卡卡,性能是个大问题。。。于是淘汰。
2,双系统,登陆win10时候,需要搬砖就要关机重启选择deepin,搬砖结束又要换回去,,,体验不舒服,淘汰。
最终,选择了在win10下打造wsl环境~
话不多说,开搞。
1 win10安装子系统deepin/Ubuntu
首先,启用windows的子系统功能
控制面板->卸载程序->启用或关闭Windows功能->适用于Linux的Windows子系统 打上对勾,确定。
然后,Win键,打开Microsoft-store ,搜索linux,建议选择Ubuntu 18.04 / Debian ;
安装好后,启动Ubuntu。输入用户名,设置密码。
然后将软件源改为清华镜像(速度杠杠的!!!)
cd /etc/apt/
sudo mv sources.list sources.list.bak
sudo touce sources.list
sudo vi sources.list
# 然后将镜像内容粘贴进来保存
# 更新软件到最新
sudo apt-get update && sudo apt-get --assume-yes upgrade
sudo apt-get install --assume-yes xfce4
sudo apt-get install --assume-yes xorg-dev
将下面代码添加到 /etc/profile 文件里:
# 与 Xserver 连接 ,下面要用到的,很重要,图像化全靠它了
export DISPLAY=:0
export NO_AT_BRIDGE=1
2 WSL安装
安装MobaXterm,里面内置了Xserver服务。
使用其免费版本的portable就OK~
注意!!!每次在打开WSL的app前确保 MobaXterm 正在运行,并保证右上角 Xserver 为开启状态,如图:
MobaXterm默认设置是不允许windows粘贴板上的内容直接复制的,需要修改,settings->X11-> 将clipboard 框里选择为 disable "copy on select"`就可以了
安装terminal,推荐使用wsl-terminal.做这个功能的作者已经把很多的脏活、累活都已经帮我们做好了,只需要简单几步就可以像使用Window软件一样使用WSL里的软件。
下载解压即可,然后进入解压目录,运行open-wsl.exe就可以打开一个wsl终端模拟器。
运行解压目录下的 ./tools/1-add-open-wsl-terminal-here-menu.js 就ok了,这时右键menu就像下图:
如果你喜欢用vim,那么无需修改,直接运行 ./tools/5-add-open-with-vim-menu.js即可。如果你和我一样,喜欢用emacs,那就修改下上面的文件,内容改为
var WshShell = new ActiveXObject("WScript.Shell");WshShell.CurrentDirectory = "..";WshShell.RegWrite("HKCU\\Software\\Classes\\*\\shell\\vim-in-wsl-terminal\\" , "Open with &emacs in wsl-terminal", "REG_SZ");WshShell.RegWrite("HKCU\\Software\\Classes\\*\\shell\\vim-in-wsl-terminal\\icon" , "\"" + WshShell.CurrentDirectory + "\\emacs.exe\"" );WshShell.RegWrite("HKCU\\Software\\Classes\\*\\shell\\vim-in-wsl-terminal\\command\\" , "\"" + WshShell.CurrentDirectory + "\\emacs.exe\" \"%1\"", "REG_SZ");
然后运行该文件。运行后,选中文件,单击右键,会有 Open with emacs in wsl-termina 的选项。一定要选中文件后右键。否则是看不到改选项的。
3,Ubuntu里面设置中文
(在WSL里,Windows的文件都是mount在/mnt/下面的),这里我们将Windows的字体库导入到WSL的字体中以便使用
# 将windows的字体放入ubuntu里
sudo mkdir /usr/share/fonts/windows
sudo cp -r /mnt/c/Windows/Fonts/*.ttf /usr/share/fonts/windows/
fc-cache
安装谷歌拼音输入法
sudo apt-get --assume-yes install fcitx fcitx-googlepinyin dbus-x11
设置环境变量,将下面代码添加到 /etc/profile 文件里
export LC_ALL="zh_CN.UTF-8"
export XMODIFIERS=@im=fcitx
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
设置zh_CN.UTF-8
sudo locale-gen zh_CN.UTF-8
然后重启下shell。
设置中文输入法
fcitx # 如果运行时长时间卡住,按回车
fcitx-configtool # 确保此时Xserver为开启,否则,,,嗯,你看不到设置弹框
确保fcitx候选的输入法里至少包含:english-英语 和 googlepinyin
把启动dbus和fcitx服务写入~/.bashrc里面,等于开机启动~
if [ $(ps -ax | grep dbus-daemon | wc -l) -eq 1 ]; then
eval `dbus-launch fcitx > /dev/null 2>&1`
fi
4,最后安装Emacs
可以直接运行
sudo apt install emacs25
但是官网最新的是26.2,可以直接从ftp选择26.2版本下载,编译安装
#安装所需依赖
sudo apt-get install --assume-yes build-essential libncurses5-dev
sudo apt-get install --assume-yes libgif-dev libxpm-dev
sudo apt-get install --assume-yes libtiff5-dev
sudo apt-get install --assume-yes libxml2-dev
sudo apt-get install --assume-yes libgnutls28-dev
#解压emacs26.2后
cd emacs-26.2
./configure
make -j4
sudo make install
然后就大功告成~
附:我使用的eamcs配置 Emacs配置