如图:左边是 emacs -nw
,右边是gui版本。
win10:18932
windows terminal:0.2.1831
wsl2下用的Emacs是Windows还是Linux版本?
用的linux的emacs
update:
后来又试了试直接用MobaXterm运行 emacs -nw
,发现启动时间是正常的0.6s左右,看样子是 windows terminal的导致的启动慢。windows terminal的话是启动后在 scratch buffer停留了很长时间,然后才是dashboard
如果没记错的话,Windows terminal 还比较年轻吧,各种问题估计会不少
windows terminal 还在preview版本
wsl2比起wsl运行emacs进步大吗?
wsl的话在文件io上体验很不好, 经常需要等待.
wsl2之后提升很多, io接近linux原生
有一个小毛病: wsl2 应该是共享win主机的path, zsh的命令补全也会查找 C:\Windows\system32\
, 命令补全基本不可用.
这个情况可以有个workaround 在注册表里将 HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Lxss\{GUID}\Flags
7 改成 5 就好了
谨慎跟帖操作。 我试着操作了两次,将16进制的15修改成了十进制的5.
修改之后,子系统安装的Ubuntu立刻被扫清了,需要重新安装。PS C:\Users\Gaowei> wsl
适用于 Linux 的 Windows 子系统没有已安装的分发版。
可以通过访问 Microsoft Store 来安装分发版:
https://aka.ms/wslstore
重新安装的截图:
注册表中flag的值还是f(15)。试了两次都是同样的结果。
之前的wsl-ubuntu找不到一点数据痕迹,请谨慎跟帖操作。
一年前wsl2和Windows Terminal才刚发布,经过一年的更新可用性已经提高很多,此帖信息可能过时。
关于Windows PATH的问题。我直接在 .zprofile
设置了 PATH 和 windows_path 变量,使用时直接修改当前环境PATH即可。
实际使用中在wsl2中调用Windows程序的次数其实比较少,所以我感觉这是个比较折中的解决方案。
export PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/path/to/other"
export windows_path="/mnt/c/WINDOWS/system32:/path/to/other"
alias wph="export PATH="$PATH:$windows_path"
从Windows-Terminal中启动doom-emacs还是一样的慢。差10多倍的时间。
实际使用路径的问题,我把 /mnt/c/Users/Me 作为Home路径。这样wsl-ubuntu只作为一张皮,作server使用,里面不保留任何数据。与window无缝协作。