欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

用ubuntu的使用习惯使用windows (by quqi99)

程序员文章站 2022-07-11 11:54:26
...

作者:张华 发表于:2020-04-18
版权声明:可以任意转载,转载时请务必以超链接形式标明文章原始出处和作者信息及本版权声明

问题

新入手了一台笔记本电脑,默认安装了win10,用了十几年linux了,也一大堆linux的vps维护的太麻烦,还是就只使用单系统的win10吧。那样,问题来了,如何像平时使用ubuntu的习惯一样使用linux呢?

CLI工具的选择

国内网络太慢,所以从来不在国内的机器上跑程序,都是ssh到国外vps上来办公的, 这样主要是使用CLI命令,很少或几乎没有使用GUI工具的习惯。所以选择一个好的CLI工具是决定能否继续使用windows的关键。

  • 能用wsl吗?wsl将linux系统调用翻译成windows调用, 决定了它仅支持CLI, 当然也可以通过windows上安装xming之类的x server来运行某一些GUI(wsl内运行:export DISPLAY=:0.0),但很多GUI是不支持的如chrome与firefox; 另外,wsl也不支持访问底层硬件所以无法运行python pyaudio之类的程序。wsl的优点它可以通过运行’wsl’快速切换到ubuntu bash;也可以通过’wsl ls’之类的命令实现在windows上直接运行bash命令, 这对我这种只熟悉unix命令不熟悉windows命令的人来说吸引力是很大的。所以wsl要结合着用,但主要就是用它的’wsl ls’之类的方便(后面会讲如何通过alias来使用它)。
  • 能用powershell吗?要运行访问硬件之类的python pyaudio程序只能通过powershell, 不能使用ubuntu wsl shell或者cgwin shell. 使用powershell不支持自定义快捷键让我像使用bash的快捷键习惯一样使用它,这个缺点是对我来说是致命的,所以我不能用它。
  • 能用mabaxterm吗?mabaxterm同时集成了wsl shell, cgwin shell, powershell, 但这些全如上面说的不合我的需求。所以只能将它作为备用,偶尔用用它好用的x server, scp等功能。我很少用GUI,所以这对我来说也属于低概率事件,备用着吧。
  • cmder是我最终选用的工具,它的cmder shell支持使用python pyaudio程序,和bash一样的快捷键使用习惯。也集成了git, ssh这些常用的功能,也能通过定义alias别名方便使用wsl bash命令, 也支持tabs。很好,就是它了,现在需要设置它让它更符合我平时使用linux的习惯。

设置cmder的home dir

D:\>wsl
aaa@qq.com:/mnt/d# grep -r 'home pat' /mnt/d/soft/cmder/vendor/init.bat -A 3
:: Set home path
if not defined HOME set "HOME=%USERPROFILE%"
%lib_console% debug_output init.bat "Env Var - HOME=%HOME%"
@cd /d "D:/"

定义/bak软链与ubuntu的路径使用习惯相同

aaa@qq.com:/mnt/d# ln -s /mnt/d /bak
aaa@qq.com:/mnt/d# ls /bak/soft/cmder/vendor/init.bat
/bak/soft/cmder/vendor/init.bat

定义alias别名在cmder shell更方便直接使用wsl bash命令

D:\>cat soft/cmder/config/user_aliases.cmd |tail -n 20
sshxxx=ssh aaa@qq.com -b 192.168.8.101
ifconfig=wsl ifconfig
awk=wsl awk
head=wsl head
less=wsl less
ls=wsl ls
man=wsl man
sed=wsl sed
tail=wsl tail
route=wsl route
ping=wsl ping
nslookup=wsl nslookup
dig=wsl dig
tar=wsl tar
cat=wsl cat
tee=wsl tee

设置默认使用cmder shell

注: win+shift+s可以快速截屏
用ubuntu的使用习惯使用windows (by quqi99)

标题在General -> Confirm中去掉警告

设置tab相关的快捷键与chrome vimum

用ubuntu的使用习惯使用windows (by quqi99)

其他 - 让windows支持内录

thinkpad x1 yoga只有一个音频口,喇叭在放音的时候就单工了麦克风不能录音了,能让声音内部从喇叭路由到pyaudio程序处理了再内部路由到麦克风吗?答案是需要安装虚拟路由,同时得支持路由在虚拟设备和物理设备间路由。有款叫voicemeeter的软件就是做这件事的。路由设置如下图:

  • 在1处选内装麦克风,同时将A去掉,A代表可以从麦克风处输入声音
  • 2处不选 ,因为只有一个音频物理设备
  • 3处是选虚拟设备的,A,B两处默认都选
    最右侧输出到扬声器
    用ubuntu的使用习惯使用windows (by quqi99)
    需要将声音的输入和输出默认都走虚拟设备
    用ubuntu的使用习惯使用windows (by quqi99)
    注意:这样,声音就被内部路由到python pyaudio了, 如果外部也能从物理设备录音的话,必须一直开着voicemeeter, 所以按win+r键输入 shell:startup 进入 C:\Users\ThinkPad\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup 目录, 将voicemeeter的链接加到这个目录开机就自动启动了. 不过, 我不是这样做的,voicemeeter菜单中有如下的两项开机自动启动并放入拖盘的设置,如下图。
    用ubuntu的使用习惯使用windows (by quqi99)

粘贴到vim全变成一行的问题

如从记事本复制多行内容,然后粘贴到vim却变成了多行,将下图中Ctrl+Shift+V的快捷键设置成Multi lines模式即可。
用ubuntu的使用习惯使用windows (by quqi99)

另一个开机自启的方法

上面介绍了一种开机自启的方法,但对于cmd命令的自启还要写脚本打开shell,再后台运行程序,再关shell。但我的windows shell不熟悉啊。有一种简单的将自己的应用放入服务的方法, 以开机自启frpc为例:

  • 将nssm.exe下载放到和frpc同一级目录
  • 运行:nssm install frpc 会弹出配置服务界面,照着配置就行了
  • 到服务目录设置自动启动它。

安装clink增强cmder的像bash completion一样的命令提示

安装类似于proxychain的proxycap

安装winaera tweaker设置系统代替设置注册表

使用qnap nas

qnap nas设置了nfs server, wsl中由于没nfs内核模块,无法通过autofs设置nfs.
所以直接在浏览器上通过\就可以访问nas了, 或者安装qfinder pro