让windows 10 内置ubuntu(WSL)成为扩增子分析生产力
先提示下,由于现在大部分电脑的win10版本是1903或者更低,wsl的性能相比2004版本的wsl2有一定差距。据说前者不是真正的linux内核,后者才是。又据说2004版本bug挺多,暂时没有升呢。
最近手上有了一台新的红米笔记本16英寸,r7-4700u-16G的电脑,比起之前的thinkpad E431性能有了不小的提升,八核心八线程,多线程处理速度相比之前的双核4线程要强了不止两倍,虽然同样16G的内存,频率也从1600MHz DDR3变为2600MHz了,别的不提,只16S降噪生成特征表的步步骤,速度就提升明显,八核心左右的运算任务,暂时就不需要再开云服务进行了。
之前的黑苹果,虽然用着还算平衡,毕竟相当于盗版,两三天一次的死机,有点无语,可能水平不足,在苹果转向arm的时刻,或许黑苹果可能性正在消失,我们要准备转向开源的linux,毕竟win10都已经和linux一起共存了。linux和服务器的环境完全一致,更有利于生产环境的布置和迁移。在当今的环境下,其实一个linux操作系统已经基本够用,wps、Rstudio、qq和微信等都有解决方案。但是还免不了有一些个别的软件,特别是行业软件要用到win,毕竟人家有二十多年的积累,不是涉密工作,使用还是可以的。windows10+wsl2在这种情况下就是一个比较完美的选择,无需烦恼地双系统切换,一个系统可以实现两个系统的功能,又基本不牺牲性能,可以说真香了。
回归正传,关于wsl2的配置,还是有点内容需要记录下的,首先,用系统自带的terminal太丑了,基本上看不下去,好在微软也发现了这个问题,开发了Windows Terminal,用起来舒服多了。有两个地方需要配置:
1、修改默认terminal为ubuntu
如何打开wsl2网上已经有很多教程了,这里也不再写。修改默认terimal其实也有很多教程了,这里我搬过来一个:
尊重版权,链接先放这:https://www.sunzhongwei.com/modify-windows-terminal-open-shell-by-default
每次打开 Windows Terminal 都会默认打开 Power Shell, 而我只使用 WSL Ubuntu。
所以,我想将 WSL 设为默认打开。
只需要点击顶部下拉箭头,选择“设置”,修改 defaultProfile 的值为对应的 guid 即可。
例如:
"defaultProfile": "{c6eaf9f4-32a7-5fdc-b5cf-066e8a4b1e40}",
guid 需要替换为自己配置文件中的相应值。
2.设置默认的打开路径
这里我发现这个教程的路径设置方法神奇地不好用,又找到了另一个:
设置从windowsterminal打开wsl时进入linux用户主目录神奇地发现可能这个app还处于快速迭代中,也失效了,还好基本理解了作者的意思,加一个启动命令的程序名即可,于是,小改下,就成功了,可以愉快地工作了。
在配置文件的profiles
->list
中找的你的Linux发行版,添加一行commandline:
3、zsh美化
就是安装zsh和oh_my_zsh这些了,也已经有一些教程,放这:
比如这一个教程:https://www.jianshu.com/p/2c9cc1eb2548
这样就可以让你的终端告别只有黑白,美美的,爱美之心,人皆有之嘛。
4、安装R和Rstudio-server,ubuntu下写R脚本
参考的这篇:https://www.jianshu.com/p/327cb204ec16
好像教程已经写得很好了,也不需要我补充什么了。
5、windows的Ubuntu子系统ssh和ftp
参考生信技能树的这篇,地址在这。
先到这里,后面有了继续补充。
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 全网首发:12306抢票算法大曝光?(十张图搞定)
- 全网首发:12306抢票算法大曝光?(勘误)
- 新一代垃圾回收器ZGC的探索与实践
- Python GUI项目实战(一)登录窗体的设计与实现
- Python GUI项目实战(二)主窗体的界面设计与实现
- Python GUI项目实战(三)实现信息查询功能
- 在 Kubernetes 上使用 Argo 实现 CI/CD
- 微信小程序:授权登录 + 基于token的身份验证详解
- 「最强」Lettuce 已支持 Redis6 客户端缓存
- Go中校验一个字符串是否是有效的JSON字符串
- 在 Vue 中,如何从插槽中发出数据
- Azure DevOps+Docker+Asp.NET Core 实现CI/CD(二.创建CI持续集成管道)
- 这样的奇技淫巧,劝你不用也罢
- 我服务又双叒叕奔溃了,含泪干货分享
- Azure DevOps+Docker+Asp.NET Core 实现CI/CD(一 .简介与创建自己的代理池)