- important
- 我的工作环境
ArchLinux Wsl2
Total Commander
VimDestop
Utools
很重大的发现,在windows
和vim
交互时候,一定要在写入模式 下粘贴,要不然,粘贴的东西会有差异
- ArchLinux Wsl2
- Total commander + VimDestop
- Utools
参考文档1:wsl安裝archlinux 参考文档2:wsl2配置archlinux
以下代码都是Powshell在管理员权限下运行
- 启用hyperv 官方文档
- 启用用于linux的子系统
Enable-WinowsOptionalFeature -Online -FeatureName VirtualMachinePlatformd
需要系统重启
安装官方文档出现找到如下:
GitHub地址
下载后缀名为appx
的文件,下载到你需要安装的ArchLinux的目录,我的目录是D/Linux
- 将
.appx
改为.zip
解压到当前目录 , 解压文件有个Arch.exe
的可执行程序,直接点击这个程序,arch
就开始安装了。安装完成再打开Arch.exe
就进入了Arch的环境。下面就是给系统装程序了。
我一般都用第二种方法来安装.LxRunOffline 来安装.
普通安装:下载解压LxRunOffline , 并设置环境变量
这里并没有给出相关参数,你需要Win
标志中右键管理员权限运行Powershell
输入LxRunOffline
下载ArchLinux 下载最新版本
以tar.gz
结尾的文件
安装ArchLinux到WSL
eg:
LxRunOffline i -n Arch2 -f D:\Arch2\archlinux-bootstrap-2021.12.01-x86_64.tar.gz -d D:\Arch2\ -r root.x86_64
command:
LxRunOffline i -n <Arch名称> -f <镜像文件位置> -d <安装位置>
安装完成设置这个系统由Wsl2
管理:
Command2:
wsl --set-vesion <Arch名称> 2
eg:
Wsl --set-vesion Arch2 2
进入系统:
wsl -d Arch2
用Windows
编辑/etc/pacman.conf
cd /etc
explorer.exe .
别忘记后面的.
在文件后最后面加上中国源:
[archlinuxcn]
Serve = https://mirrors.tuna.tsinghua.edu.cn/archlinuxcn/$arch
然后进入上一级目录pacman.d
, 编辑里面的mirrolist文件, 将中国的的源取消注释(选择部分即可
)
然后回到Arch:
pacman -Syu
pacman-ey --init
pacman-key --populate
pacman -S archlinuxcn-keyring
pacman -S base base-devel vim git wget
别忘了给当前root
用户设置登录密码:
passwd
然后再新建一个普通用户:
addusr -m -G wheel -s <用户名>
将文件/etc/sudoers
中的wheel All=(All) All
那一行取消注释 可以在Windows下完成操作
PS: 这里有个问题需要注意下, 完成之后用普通用户sudo pacman
时候会发现没有权限,需要执行下面操作
usermod -aG wheel <用户名>
注意要在root
用户下运行, 意思就是将用户
加入到wheel
组里面
为用户设置密码:
passwd <用户名>
查看用户ID:
id -u <用户名>
一般root用户的id为0
, 只有一个普通用户一般为1000
设置使用普通用户登录ArchLinux
退出Arch:
exit
在powershell中执行:
lxrunoffline su -n <你的arch名字> -v <账户id>
到这里就结束了, 下面就是安装自己需要的软件和实现图形界面
可以参照这个博客:https://p3terx.com/archives/manage-wsl-with-lxrunoffline.html 其中执行下面命令没反应,我使用另外一条命令执行备份的
- 备份
没反应的备份command:
lxrunoffline e -n <WSL名称> -f <压缩包路径>.tar.gz
有效的备份命令:
wsl -export <WSL名称> <压缩包路径>.tar
- 还原 备份无效的还原命令:
lxrunoffline i -n <WSL名称> -d <安装路径> -f <压缩包路径>.tar.gz
备份有效的还原命令:
wsl --import <WSL名称> <安装路径> <压缩包路径>.tar
注意我们安装完成之后, windows的字体要和Arch
的字体相匹配, 要不然ranger
COC
会有适配的问题
安装图形界面:
需要先安装图形界面服务这里用xorg
sudo pacman -S xorg xorg-service
sudo pacman -Sy xfce4 xfce4-terminal
图形界面可以不安装, 直接就可调用ArchLinux
的应用程序生成图形界面
只要我们安装下面这个软件:
Xlaunch
: https://sourceforge.net/projects/vcxsrv/
这里我们需要取消电脑的不提示公用网络:
然后就会出现下面界面:
在用户目录C:\\Users\\<username>
下创建.wslconfig
文件:
[wsl2]
#kernel=C:\\temp\\myCustomKernel
[wsl2]
#guiApplications=false
memory=5GB # 将WSL 2中的VM内存限制为4 GB
processors=6 #使WSL 2 VM使用两个虚拟处理器
swap=4GB
swapFile=D:\\Arch\\swap.vhdx
localhostForwarding=true
做一个定时任务,每5分钟清理一次
yay -S cronie
sudo crontab -e -u root #这个任务只对root用户有效
sudo crontab -e -u dav
会用编辑器打开文件, 添加一下内容:
*/15 * * * * sync; echo 3 > /proc/sys/vm/drop_caches; touch /root/drop_caches_last_run
然后再bash中加入
sudo nano ~/.bashrc
[ -z "$(ps -ef | grep cron | grep -v grep)" ] && sudo /etc/init.d/cron start &> /dev/null
我用的fish, 将代码中的$
替换成awk
, 编辑~/.config/fish/config.fish
参考这篇
选择.NET Core runtime runtime 5.0
的安装即可
启动cronie
服务
#设置开机启动
sudo systemctl enable cronie.service #没用
#立即启动 #每次打开都需要
gein -s
sudo systemctl start cronie.service
在wsl终端上可以通过查看/ root / drop_caches_last_run上次修改日期来检查cron作业是否正在相应地运行:
sudo stat -c '%y' /root/drop_caches_last_run
ShortCut | functions |
---|---|
<C-c> | copy |
<C-v> | paste |
<C-d> | open file with edge |
<C-d> | open ipynb |
<C-b> | open img with photoshop |
as wsl2 is Wayland can't use ueberzug for x11, and we can use ueberzugpp
wayland_ueberzug
yay -S fcitx5-im fcitx5-chinese-addons fcitx5-pinyin-zhwiki fcitx5-input-support
# fcitx5框架组件、中文输入法、中文维基词库、输入法配置文件
if you want to use fcitx5 in wslg, u should add blow config to you ~/.profile
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS=@im=fcitx
export SDL_IM_MODULE=fcitx
export GLFW_IM_MODULE=ibus
fcitx5 --disable=wayland -d --verbose '*'=0
# the last code must add, otherwise won't start fcitx5
yay -S fcitx fonts-noto-cjk fonts-noto-color-emoji dbus-x11
add this code to the ~/.profile
#!/bin/bash
export QT_IM_MODULE=fcitx
export GTK_IM_MODULE=fcitx
export XMODIFIERS=@im=fcitx
export DefaultIMModule=fcitx
#可选,fcitx 自启
fcitx-autostart &>/dev/null
基本开箱即用, 就是加了两个bat
文件,一个是用来在工作目录中打开windows terminal
, 另外一个是在工作目录打开jupyter lab
因为是经常要用工具,分别绑定了快捷键alt
+ w
, alt
+ j
bat写法也很简单
在total Commander 文件中新建一个usrcmd.ini
文件:
[em_zylbash]
cmd=D:\TotalCMD\zylcyg.bat
param=%P
[em_zyljupyter]
cmd=D:\TotalCMD\jupyter.bat
param=%P
bat文件添加内容如下:
@echo off
wt cd %1
wsl
@echo off
cd %1
jupyter lab
注意 wsl
jupyter lab
都要加入到系统环境变量中
将工具 放在D
盘
在win
+ r
打开cmd
运行:
shell:startup
将里面的vimd.exe
创建一个快捷键方式,快捷键方式拖入到开机启动项中,开机就可以用vimdistop
还有上面的Xlaunch
的快捷方式也加入到开机启动项中
how to config:
you can ued ahk to config this, just create a .bat
files:
wsl -d $wsl\dav\home\ st
If you don't know how to configure, you can use:
wsl --help
Then use bonding Win+Enter
to run this bat, but is you run .bat
directly, there will have a black terminal, so you can use .vbs
to run this bat file, and then binding this vbs file to the shortcut.
VimDestop 的使用参照:
keys | functions |
---|---|
j |
down |
k |
up |
h |
left |
l |
right/进入目录/打开文件/将压缩文件当前目录打开 |
gg |
up to first document |
G |
down to the last document |
H |
go ahead |
L |
back |
n |
最近访问目录 |
tab |
切换面板 |
U |
回到根目录 |
D |
回到桌面 |
T |
打开驱动器列表 |
Ctrl f |
或pgdn, 下一页 |
Ctrl b |
或pgup, 上一页 |
. |
用explorer 打开当前目录 |
, |
添加标签(mark) |
d |
显示标签 |
------------- | ------------------------------------------------- |
Space |
选择/取消选择 |
J |
选择/反选文件 |
K |
选择/反选文件 |
a |
全选文件 |
Ctrl a |
全选文件 |
Ctrl d |
全部取消选择 |
B |
将所有子目录的文件全部显示在当前目录 |
\ |
选择或反选所有文件 |
] |
选择和光标所在文件相同拓展名的文件 |
shift ] |
取消] 的选择 |
[ |
选择当前文件 |
shift [ |
取消选择当前文件 |
---------------- | ---------------------------------------------------- |
Ctrl c |
复制 |
Ctrl x |
剪切 |
Ctrl v |
粘贴 |
f9 |
同f5 |
f10 |
同f6 |
x |
同del |
X |
同Shift del |
r |
重命名 |
R |
打开批量重命名窗口 |
f2 |
参考下github |
y |
复制文件名 |
Y |
复制文件路径 |
Ctrl y |
复制选定的所有列 |
f |
提示复制相关操作 |
------------------- | ------------------------------------------------------- |
q |
在对侧预览光标所在文件 |
w |
或f3 , 在新窗口预览选定文件 |
e |
编辑光标所在文件, 只有一个notepad |
shift f3 |
在新窗口预览光标所在文件 |
I |
或Alt`` f3 使用外部查看编辑器打开文件 |
alt Enter |
查看属性对话框 |
Ctrl g |
打开更改属性对话框 |
------------------- | ------------------------------------------------------- |
; |
打开书签, 使用菜单首字母或带下划线字母定位 |
; c |
配置书签 & + 字母 |
; r |
从书签中删除当前目录 |
" |
默认配置不启用 |
_ |
取消标记文件,默认文件不启用 |
------------------- | ------------------------------------------------------- |
b |
解压文件, 默认解压到对侧,删除路径解压到本目录 |
p |
压缩文件,压缩到对侧 |
Ctrl p |
压缩文件到当前目录,配置见github |
------------------- | ------------------------------------------------------- |
C |
使用内置工具比较两个选定文件 |
W |
使用外置工具比较两个选定文件 |
M |
打开内置的"比较两侧目录内容"窗口 |
Ctrl m |
比较两侧目录内容,并选定不同的文件, |
------------------- | ------------------------------------------------------- |
o |
打开右键菜单 |
------------------- | ------------------------------------------------------- |
/ |
搜索模式, 只显示匹配的文件 |
? |
打开搜索工具对话框 |
F |
在单独的进程打开搜索对话框 |
O |
打开按拓展名过滤文件对话框 |
------------------- | ------------------------------------------------------- |
t |
打开新标签页 |
Ctrl t |
在新标签页打开光标所在目录 |
u |
关闭标签页 |
f11 |
或P gT , 定位到前一个标签页 |
f12 |
N 或gt , 定位到下一个标签页 |
g+ 数字 |
定位到第几个标签页 |
g |
提示标签页相关内容 |
------------------- | ------------------------------------------------------- |
zv |
切换水平,垂直切分 |
zz |
在水平方向,切换半屏,全屏 |
Ctrl u |
对调两个窗口内容 |
= |
让对侧内容和这边一致 |
z |
提示更多窗口相关内容 |
------------------- | ------------------------------------------------------- |
m |
切换列表,缩略图模式 |
jkhl |
在缩略图模式中, 变成方向键 |
ctrl h |
在缩略图模式中 left |
ctrl l |
在缩略图模式中 right |
ctrl j |
在缩略图模式中 down |
ctrl k |
在缩略图模式中 up |
v |
切换列视图 |
s |
奇幻文件排序方法 |
ctrl s |
显示当前目录下所有子目录大小 |
------------------- | ------------------------------------------------------- |
E |
当前目录下进入cmd |
Ctrl e |
进入powershell |
: |
打开下面命令框 |
Ctrl Enter |
将光标所在的文件名复制到命令行 |
------------------- | ------------------------------------------------------- |
- |
显示或隐藏文件树 |
Ctrl r |
刷新 |
Q |
启用禁用菜单栏 |
V |
界面调整 |
Z |
打开配置窗口 |
Ctrl q |
打开内部帮助命令 |
------------------- | ------------------------------------------------------- |
win o |
全局, 用tc取代当前文件对话框 |
Ctrl Enter |
返回光标处文件或目录,用于打开文件 |
Shift Enter |
返回当前目录并返回, 用于保存文件 |
Enter |
如果是目录则进入, 如果是文件则返回 |
1 |
如果是目录则进入, 如果是文件则打开 |
即装即用, 不要就拆掉
快捷键 | 功能 |
---|---|
alt shift F |
翻译 |
alt shift P |
粘贴板 |
alt shfit B |
bing搜索 |
alt shift J |
截图 |
快捷键 | 原来快捷键 | 功能 |
---|---|---|
Alt n |
ctrl tab |
在单个应用切换标签 |
win enter |
win up |
切换分屏,全屏 |
win shift enter |
win down |
切换分屏,退出全屏 |
win h |
-- | 怕误按,把他取消 |
win j |
alt tab |
切换应用 |
win k |
alt shift tab |
反方向切换应用 |
win n |
win right |
交换当前窗口的位置 |
win p |
win left |
交换当前窗口的位置 |
win shift h |
win ctrl left |
回到上一个虚拟桌面 |
win shift l |
win ctrl right |
跳到下一个虚拟桌面 |
capslk |
esc |
交换功能 |