Re:从零开始的Windows环境配置

  1. 1. 什么是WSL 2
  2. 2. 备份
  3. 3. 安装Windows10系统
    1. 3.1. 准备刻录U盘
    2. 3.2. 开始安装
  4. 4. 初始化设置
    1. 4.1. Windows更新
    2. 4.2. 登陆微软账户
    3. 4.3. 修改时区
    4. 4.4. 下载语言包
    5. 4.5. Windows功能
    6. 4.6. 卸载自带的软件
    7. 4.7. Edge浏览器的同步和设定
    8. 4.8. 邮箱绑定
  5. 5. 初始软件安装
    1. 5.1. Microsoft Store下载软件
    2. 5.2. Chocolatey
      1. 5.2.1. 安装
      2. 5.2.2. 使用
      3. 5.2.3. 查看所有程序列表
      4. 5.2.4. 查看更新
      5. 5.2.5. 知其所以然
      6. 5.2.6. 报错修复
    3. 5.3. pyenv-win
      1. 5.3.1. 安装pyenv-win
      2. 5.3.2. 使用
    4. 5.4. (旧)python虚拟环境
    5. 5.5. flutter
      1. 5.5.1. 下载 Flutter SDK
      2. 5.5.2. 下载 Android Studio
      3. 5.5.3. vscode相关配置
  6. 6. WSL 2
    1. 6.1. 安装WSL2
    2. 6.2. 文件附件中不保留区域信息
    3. 6.3. 安装Nerd-fonts字体
    4. 6.4. 安装zsh
    5. 6.5. Zplug下载
    6. 6.6. (新)Oh My Zsh和主题powerlevel10k
    7. 6.7. pyenv
      1. 6.7.1. 安装pyenv
      2. 6.7.2. 切换python版本
      3. 6.7.3. 虚拟环境的使用
    8. 6.8. nodenv
    9. 6.9. goenv
    10. 6.10. jenv
    11. 6.11. rbenv
    12. 6.12. tfenv
      1. 6.12.1. Ruby on Rails
    13. 6.13. Jupyter Lab
      1. 6.13.1. 安装Jupyter Lab
      2. 6.13.2. 扩展插件
    14. 6.14. minikube
    15. 6.15. Flutter
      1. 6.15.1. 安装
      2. 6.15.2. 配置
    16. 6.16. (旧)Oh My Zsh和主题powerlevel10k
    17. 6.17. (旧)nvm
    18. 6.18. (旧)golang
    19. 6.19. (旧)java
      1. 6.19.1. 下载JDK
      2. 6.19.2. 配置环境变量
    20. 6.20. VcXsrv
    21. 6.21. gcloud-cli
  7. 7. 安装Windows其他软件
    1. 7.1. Office365
    2. 7.2. Adobe
    3. 7.3. 欧路词典
    4. 7.4. NVIDIA驱动程序
    5. 7.5. Logicool G HUB
    6. 7.6. Logitech Unifying
    7. 7.7. TeX Live
    8. 7.8. Citavi
    9. 7.9. 百度网盘
    10. 7.10. Cisco AnyConnect VPN
    11. 7.11. EPOCCAM DRIVER
    12. 7.12. (旧)nvm-windows
  8. 8. 主板BIOS升级
    1. 8.1. 下载BIOS
    2. 8.2. 进入BIOS升级
    3. 8.3. 升级BIOS时遇到的问腿
  9. 9. 备忘录
    1. 9.1. 开始预览图
      1. 9.1.1. PC开始预览图
      2. 9.1.2. XPS开始预览图
    2. 9.2. ssh的权限说明
    3. 9.3. DNS设置
    4. 9.4. samba添加到网络位置
    5. 9.5. git
    6. 9.6. Developing inside a Container
  10. 10. 错误处理
  11. 11. 重装日志
    1. 11.1. 主机
      1. 11.1.1. 2020年10月26日
    2. 11.2. XPS
      1. 11.2.1. 2021年4月29日

  • 2021年4月更新:这个月新的笔记本电脑到了,重置一遍主机 + 笔记本,修改并合并以前的windows配置日志
  • 2021年10月更新:笔记本电脑升级至Windows11
  • 2022年12月更新:主机电脑升级至Windows11

什么是WSL 2

WSL 是适用于 Linux 的 Windows 子系统(Windows Subsystem for Linux),可以让开发人员原生运行 GNU/Linux 环境—— 包括大多数命令行工具、实用工具和应用程序。也就是说,对于使用 Windows10 系统的开发人员,要开发 Linux 环境下的程序——尤其是Linux环境下的 WEB 程序以及处理开源项目,以前只能使用虚拟机安装 Linux,但是虚拟机在使用中相当于一台独立的计算机,有许多不足,比如性能低、启动慢、管理不便、和宿主机 Win10 系统互操作不方便。WSL 就是为使用 Windows10 系统的软件开发人员准备的 Linux 开发环境

WSL2 是第二代 WSL,包含在2020年5月正式发布 Windows 10 v2004 版中。相比第一代,新的 WSL2 重新设计了架构,使用真正的 Linux 内核,几乎具有 Linux 的所有完整功能。启用WSL2的 Linux 系统启动时间非常快,内存占用很少,并且,WSL 2 还可以直接原生运行 Docker,VS Code 编辑器还有 Remote-WSL 插件,相对于完整的 linux 虚拟机只是不支持 systemctl、systemd,不能直接运行图形桌面。Windows 也越来越向虚拟平台靠拢,Windows NT 内核和 Linux 内核都是运行在虚拟平台之上的,是平级的

备份

重置前需要先对原来系统盘上的文件进行备份到另一个扩展盘上

  • 文档
  • 桌面文件
  • 需要的下载文件
  • .ssh文件夹
  • .gitconfig
  • .wslconfig
  • .vscode使用Github备份
  • MobaXterm导出配置文件
  • FileZilla导出配置文件
  • WSL2的文件
  • WSL2的setting.json文件
  • ~/.jupyter/lab/user-settings下jupyter lab的配置文件

备份完成后重置即可(删除所有文件)

注意:重置开始时要拔掉网线,或者不要连接网络,否则自动登陆微软账号

安装Windows10系统

主机重置的话可以重新装系统,如果不需要重新抹掉系统这里可以跳过

准备刻录U盘

准备一个大小大于8GB的U盘,并找一台windows10电脑,进入微软官网的Win10安装工具下载地址,下载并运行Win10安装工具

  • 点击接受
  • 选择为另一台电脑创建安装介质
  • 选择语言,版本和体系结构
  • 选择要使用的介质:U盘
  • 等待进度条即可

安装U盘制作完成后就可以拔下U盘了

开始安装

注意:这里保持拔掉网线状态

组装好电脑之后将制作的安装U盘插到机箱背部的USB3.0接口处,开机后根据提示选择启动顺序(技嘉:F12),选择BOOT MENU即可,然后选择前缀有UEFI的U盘

然后进入到蓝屏界面,点击:

  • 下一步
  • 现在安装
  • 我没有产品密钥

然后选择Windows10专业版,然后点击自定义安装,然后选择用于安装系统的固态用盘,重装的话要把原来的系统盘删除,然后会出现一个刚才系统盘的未分配空间,点击新建,点击应用,不建议分区,C盘空间大一些比较好,然后点击确定。然后选择刚才新建的驱动器分区中的主分区,点击下一步,等着进度条读完就可以拔下U盘了,接下来系统会自动重启几次

然后进行初始化设置

特别注意,这里设置的用户名即为打开终端里面显示的用户名(username)

嘿!别来无恙啊

出现后需要等一会儿即可

初始化设置

Windows更新

连上网以后,先更新Windows,因为这会花费较长时间

登陆微软账户

打开设置,找到账户信息,该用 Microsoft 账户登陆,然后修改设备名称(hostname)

修改时区

初始化时选择了中文,这里将时区修改为UTC+09:00

下载语言包

根据需要下载所需语言包

Windows功能

维基百科,在计算机安全领域,沙盒(sandbox)是种安全机制,为执行中的程式提供的隔离环境。通常是作为一些来源不可信、具破坏力或无法判定程序意图的程序提供实验之用

如果是Windows Pro的话,打开控制面板-程序和功能-启用或关闭Windows功能中启用Windows沙盒

  • 若发现无法启用Windows沙盒,打开BIOS启用SVM即可

卸载自带的软件

例如dell会装一些自带的软件,McAfree杀毒软件,不需要的话可以删除(不删除的话后面chocolatey不让用)

Edge浏览器的同步和设定

  • 地址栏和搜索:使用google默认搜索引擎
  • 使用安全的DNS指定如何查找网络的网络地址:关闭,因为自己使用ADGUARD,使用自己的DNS服务器

邮箱绑定

逐一绑定邮箱,域名邮箱yandex的密码要去:account management -> passwords and authorization -> app passwords中设置添加


2021年5月25日起,不再使用yandex,开始使用zoho:

安全-特定应用的密码中添加即可

初始软件安装

Microsoft Store下载软件

Microsoft Store下载其中一部分软件,同时卸载一些自带不用的软件,并关闭onedrive备份

  • QQ桌面版
  • Line
  • Twitter
  • Slack
  • Telegram
  • Microsoft Whiteboard
  • Microsoft To Do
  • MSN天气
  • Ubuntu 20.04 LTS
  • Windows Terminal
  • iTunes

Chocolatey

安装

Chocolatey是Windows的包管理软件,类似于Mac OS上的brew

打开Chocolatey官网

打开Windows Terminal,记得是管理者权限运行,输入

1
Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))

安装完成后输入

1
choco

使用

即可确认安装完成

打开网站,开始安装程序,例如安装Chrome浏览器,只需要输入

1
choco install googlechrome

即可完成安装,非常方便。在Chocolatey上可以安装原先电脑上绝大部分软件。

这次重置想使用Microsoft Eage浏览器,在下载完chrome浏览器后只需要设置Microsoft Eage浏览器中的导入其他浏览器即可完成同步

接下来找自己需要用的其他软件下载即可:

  • Git
  • ccleaner
  • zoom
  • vscode
  • PotPlayer
  • mobaxterm
  • sqlite
  • mysql
  • nextcloud
  • rainmeter
  • steam
  • teamviewer
  • qBittorrent
  • drawio
  • OBS Studio
  • Tableplus
  • Redis
  • postman
  • screentogif
  • zotero
  • mendeley
  • 7zip
  • docker-desktop
  • notion
  • keepass
  • vcxsrv
  • discord
  • goland
  • wechat
  • androidstudio
  • picard
  • openhardwaremonitor
  • wireshark
  • kindle
  • crystaldiskinfo
1
choco install git.install ccleaner zoom vscode potplayer mobaxterm sqlitebrowser mysql.workbench nextcloud-client rainmeter steam teamviewer qbittorrent drawio obs-studio tableplus redis-desktop-manager postman screentogif zotero mendeley 7zip docker-desktop notion keepass vcxsrv discord goland wechat androidstudio picard openhardwaremonitor wireshark kindle crystaldiskinfo

其中PotPlayer,teamviewer安装会报错(现在似乎好了),只需要加上--ignore-checksums即可

1
choco install potplayer teamviewer --ignore-checksums
  • sqlite安装完成后需要去C盘里面找然后固定到"开始"

查看所有程序列表

为了便于管理,我们有时候需要查看所有程序的列表。想知道自己用 Chocolatey 装了哪些程序:

1
choco list --local

查看更新

需要更新程序时,可以先检查一下哪些应用需要更新,使用 outdated 命令:

1
2
3
4
5
6
7
choco outdated

Chocolatey v0.10.15
Outdated Packages
Output is package name | current version | available version | pinned?

Chocolatey has determined 0 package(s) are outdated.

这样就会把所有「过期」的应用全部列出来,可以按需更新。升级与安装的命令格式相似:

1
choco upgrade --yes vscode

你也可以尝试一键升级所有程序,命令同样非常语义化,执行「升级」、「允许」操作、「所有」应用:

1
choco upgrade --yes all

现在,你可以不必担心每一个程序是否是最新版,因为你可以时不时运行一下更新命令;你也不用担心程序卸载不干净了,使用 Chocolatey 安装的程序,就可以用 Chocolatey 卸载

这个命令也可以简写为:

1
cup all -y

有可能是 choco 版本更新导致,目前 cup all -y 会报错

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
choco list

Chocolatey v2.2.2
7zip 23.1.0
7zip.install 23.1.0
androidstudio 2023.1.1.26
autohotkey.portable 2.0.10
ccleaner 6.19.10858
chocolatey 2.2.2
chocolatey-compatibility.extension 1.0.0
chocolatey-core.extension 1.4.0
chocolatey-dotnetfx.extension 1.0.1
chocolatey-misc-helpers.extension 0.0.4
chocolatey-windowsupdate.extension 1.0.5
crystaldiskinfo 9.1.1
crystaldiskinfo.portable 9.1.1
discord 1.0.9005
discord.install 1.0.9005
docker-desktop 4.26.1
dotnetcore-3.1-desktopruntime 3.1.32
dotnetcore-desktopruntime 3.1.32
dotnetfx 4.8.0.20220524
drawio 22.1.11
ffmpeg 6.1.0
git.install 2.43.0
goland 2023.3.2
KB2533623 2.0.0
KB2919355 1.0.20160915
KB2919442 1.0.20160915
KB2999226 1.0.20181019
KB3033929 1.0.5
KB3035131 1.0.3
KB3063858 1.0.0
keepass 2.55.0
keepass.install 2.55.0
kindle 2.3.70673
mendeley 1.19.8
mobaxterm 23.5.0
mysql.workbench 8.0.34
nextcloud-client 3.11.0
notion 2.2.0
obs-studio 30.0.2
obs-studio.install 30.0.2
openhardwaremonitor 0.9.6.20210201
openlens 6.5.2.3660
picard 2.10.0
postman 10.21.0
potplayer 23.8.30
qbittorrent 4.6.2
redis-desktop-manager 2021.5.357
slack 4.35.126
sqlitebrowser 3.12.2
sqlitebrowser.install 3.12.2
steam 2.10.91.91221129
steam-client 2.10.91.92
TablePlus 5.7.1
teamviewer 15.49.2
vcredist140 14.38.33130
vcredist2008 9.0.30729.616104
vcredist2010 10.0.40219.32503
vcredist2013 12.0.40660.20180427
vcredist2015 14.0.24215.20170201
vcredist2017 14.16.27033
vcxsrv 1.20.14
vscode 1.85.1
vscode.install 1.85.1
WinPcap 4.1.3.20161116
wireshark 4.2.0
zoom 5.17.0.28375
zotero 6.0.30
67 packages installed.

知其所以然

前面安装的时候提到过,Chocolatey 跟其他第三方软件管理器不同之处在于,其他软件管理器经常修改原来的安装包,从而可以夹带自己的广告,并且经常安装好之后发现并不是最新版本。但是 Chocolatey 不但使用官网链接下载,而且会在下载完成后使用数字摘要技术检查安装包是否跟官网上的完全一致,所以,你使用 Chocolatey 安装的就是最新纯净官网版本

此外,通过使用 info 命令,你还可以查看程序的详细信息,便于你确认是否需要使用 Chocolatey 来安装这个程序:

1
choco info tim

在这里列出了 Tim 的软件描述、更新时间、用户协议、官网链接、下载数、用于完整性检查的数字摘要,以及软件包的认证状态和测试状态。这些信息可以用来确认 Chocolatey 上的这个软件包是否可靠

报错修复

再一次检查更新中,软件安装过程中,家里突然跳闸了,之后重新安装时候发现每次都在相同的位置报如下错误:

1
Error deserializing response of type chocolatey.infrastructure.app.domain.PackageFiles: '.', hexadecimal value 0x00, is an invalid character. Line 1, position 1.

解决方法,卸载报错的程序,重新安装即可。参考:

pyenv-win

PowerShell:因为在此系统上禁止运行脚本的解决方案:

打开 PowerShell 然后输入 get-executionpolicy

  • Restricted 执行策略不允许任何脚本运行
  • AllSignedRemoteSigned 执行策略可防止 Windows PowerShell 运行没有数字签名的脚本

以管理员身份打开 PowerShell 输入 set-executionpolicy remotesigned,选择 Y

安装pyenv-win

pyenv-win是python管理工具,可以切换任意版本的python

打开网站,并打开Windows PowerShell执行以下指令:

1
git clone https://github.com/pyenv-win/pyenv-win.git $HOME/.pyenv
1
[System.Environment]::SetEnvironmentVariable('PYENV',$env:USERPROFILE + "\.pyenv\pyenv-win\","User")
1
[System.Environment]::SetEnvironmentVariable('path', $HOME + "\.pyenv\pyenv-win\bin;" + $HOME + "\.pyenv\pyenv-win\shims;" + $env:Path,"User")

接下来打开终端:

1
pyenv install 3.9.6
1
pyenv global 3.9.6
1
pyenv rehash

每次安装后需执行pyenv rehash即可

使用

1
2
3
4
python -m venv venv

# 进入虚拟环境
.\venv\Scripts\activate

(旧)python虚拟环境

  • 2022年:现已不用,因为发现安装后会跟wsl的python环境有冲突

虽然基本都在wsl下工作,但是有时为了测试程序在windows环境上是否可以正常运行,这里配置一下python虚拟环境,我选择的是自带venv模块创建虚拟环境

1
python -m venv venv

进入虚拟环境:

1
.\venv\Scripts\activate

启动虚拟环境报错时,打开PowerShell检查:

1
get-ExecutionPolicy

如果返回结果是Restricted,则表示系统禁止运行脚本,此时需要管理员权限打开PowerShell输入:

1
set-executionpolicy remotesigned

Windows PowerShell默认是Restricted(防止运行没有数字签名的脚本),要设置成remotesigned模式

再次运行:

1
.\venv\Scripts\activate

可以发现前面带有(venv),说明成功进入虚拟环境

1
2
PS C:\Users\zhangqiang\Desktop\bilibili-downloader> .\venv\Scripts\activate    
(venv) PS C:\Users\zhangqiang\Desktop\bilibili-downloader>

flutter

下载 Flutter SDK

下载后解压至C:\src下,然后打开环境变量设置,User variablesPath下,添加C:\src\flutter\bin

环境确认:

1
2
3
4
5
6
flutter --version

Flutter 2.5.3 • channel stable • https://github.com/flutter/flutter.git
Framework • revision 18116933e7 (7 weeks ago) • 2021-10-15 10:46:35 -0700
Engine • revision d3ea636dc5
Tools • Dart 2.14.4

下载 Android Studio

下载后打开并下载flutter的插件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
flutter doctor -v

[✓] Flutter (Channel stable, 2.5.3, on Microsoft Windows [Version 10.0.19043.1348], locale zh-CN)
• Flutter version 2.5.3 at C:\src\flutter
• Upstream repository https://github.com/flutter/flutter.git
• Framework revision 18116933e7 (7 weeks ago), 2021-10-15 10:46:35 -0700
• Engine revision d3ea636dc5
• Dart version 2.14.4

[!] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
• Android SDK at C:\Users\zhangqiang\AppData\Local\Android\sdk
✗ cmdline-tools component is missing
Run `path/to/sdkmanager --install "cmdline-tools;latest"`
See https://developer.android.com/studio/command-line for more details.
✗ Android license status unknown.
Run `flutter doctor --android-licenses` to accept the SDK licenses.
See https://flutter.dev/docs/get-started/install/windows#android-setup for more details.

[✗] Chrome - develop for the web (Cannot find Chrome executable at .\Google\Chrome\Application\chrome.exe)
! Cannot find Chrome. Try setting CHROME_EXECUTABLE to a Chrome executable.

[✓] Android Studio (version 2020.3)
• Android Studio at C:\Program Files\Android\Android Studio
• Flutter plugin can be installed from:
🔨 https://plugins.jetbrains.com/plugin/9212-flutter
• Dart plugin can be installed from:
🔨 https://plugins.jetbrains.com/plugin/6351-dart
• Java version OpenJDK Runtime Environment (build 11.0.10+0-b96-7249189)

[✓] VS Code, 64-bit edition (version 1.62.3)
• VS Code at C:\Program Files\Microsoft VS Code
• Flutter extension version 3.29.0

[✓] Connected device (1 available)
• Edge (web) • edge • web-javascript • Microsoft Edge 96.0.1054.43

! Doctor found issues in 2 categories.

然后执行flutter doctor --android-licenses,发现报错:

1
2
3
4
flutter doctor --android-licenses

Android sdkmanager not found. Update to the latest Android SDK and ensure that the cmdline-tools are installed to
resolve this.

解决方案如下:

然后再次确认:

1
2
3
4
5
6
7
8
9
10
11
12
flutter doctor

Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, 2.5.3, on Microsoft Windows [Version 10.0.19043.1348], locale zh-CN)
[✓] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
[✗] Chrome - develop for the web (Cannot find Chrome executable at .\Google\Chrome\Application\chrome.exe)
! Cannot find Chrome. Try setting CHROME_EXECUTABLE to a Chrome executable.
[✓] Android Studio (version 2020.3)
[✓] VS Code, 64-bit edition (version 1.62.3)
[✓] Connected device (1 available)

! Doctor found issues in 1 category.

vscode相关配置

首先下载flutter,dart等插件,关于调用VSCode模拟器(虚拟机),参考以下链接

WSL 2

安装WSL2

打开Windows PowerShell,按顺序复制网站指令:

  • Step 1 - Enable the Windows Subsystem for Linux
1
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
  • Step 3 - Enable Virtual Machine feature
1
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

然后重启电脑

  • Step 4 - Download the Linux kernel update package

点击下载WSL2 Linux kernel update package for x64 machines,并安装

  • Step 5 - Set WSL 2 as your default version
1
wsl --set-default-version 2
  • Step 6 - Install your Linux distribution of choice

打开Microsoft Store,下载Ubuntu 20.04 LTS

  • Step 7 - Set up a new distribution

启动刚才下载的Ubuntu 20.04 LTS,创建用户名。然后创建密码即可

之后会进入终端,输入

1
explorer.exe .

之后,可以看到在Windows下成功打开了Linux环境,我们将它添加一个网络位置(\\wsl$\Ubuntu-20.04\home\zhangqiang)

如图打开终端上的设置,setting.json文件配置如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
// This file was initially generated by Windows Terminal 1.2.2381.0
// It should still be usable in newer versions, but newer versions might have additional
// settings, help text, or changes that you will not see unless you clear this file
// and let us generate a new one for you.
// To view the default settings, hold "alt" while clicking on the "Settings" button.
// For documentation on these settings, see: https://aka.ms/terminal-documentation
{
"$schema": "https://aka.ms/terminal-profiles-schema",
"defaultProfile": "{07b52e3e-de2c-5db4-bd2d-ba144ed6c273}",
// You can add more global application settings here.
// To learn more about global settings, visit https://aka.ms/terminal-global-settings
// If enabled, selections are automatically copied to your clipboard.
"copyOnSelect": false,
// If enabled, formatted data is also copied to your clipboard
"copyFormatting": false,
// A profile specifies a command to execute paired with information about how it should look and feel.
// Each one of them will appear in the 'New Tab' dropdown,
// and can be invoked from the commandline with wt.exe -p xxx
// To learn more about profiles, visit https://aka.ms/terminal-profile-settings
"profiles": {
"defaults": {
// Put settings here that you want to apply to all profiles.
"snapOnInput": true,
"cursorColor": "#FFFFFF",
"cursorShape": "bar",
"fontFace": "Hack NF",
"fontSize": 12,
"fontWeight": "normal",
"useAcrylic": true,
"acrylicOpacity": 0.5,
"closeOnExit": false,
"padding": "0, 0, 0, 0",
"scrollbarState": "hidden"
},
"list": [
{
// Make changes here to the powershell.exe profile.
"guid": "{61c54bbd-c2c6-5271-96e7-009a87ff44bf}",
"name": "Windows PowerShell",
"commandline": "powershell.exe",
"hidden": false
},
{
// Make changes here to the cmd.exe profile.
"guid": "{0caa0dad-35be-5f56-a8ff-afceeeaa6101}",
"name": "命令提示符",
"commandline": "cmd.exe",
"hidden": false
},
{
"guid": "{b453ae62-4e3d-5e58-b989-0a998ec441b8}",
"hidden": false,
"name": "Azure Cloud Shell",
"source": "Windows.Terminal.Azure",
},
{
"guid": "{07b52e3e-de2c-5db4-bd2d-ba144ed6c273}",
"hidden": false,
"name": "Ubuntu-20.04",
"source": "Windows.Terminal.Wsl",
"commandline": "wsl.exe ~"
}
]
},
// Add custom color schemes to this array.
// To learn more about color schemes, visit https://aka.ms/terminal-color-schemes
"schemes": [],
// Add custom keybindings to this array.
// To unbind a key combination from your defaults.json, set the command to "unbound".
// To learn more about keybindings, visit https://aka.ms/terminal-keybindings
"keybindings": [
// Copy and paste are bound to Ctrl+Shift+C and Ctrl+Shift+V in your defaults.json.
// These two lines additionally bind them to Ctrl+C and Ctrl+V.
// To learn more about selection, visit https://aka.ms/terminal-selection
{
"command": {
"action": "copy",
"singleLine": false
},
"keys": "ctrl+c"
},
{
"command": "paste",
"keys": "ctrl+v"
},
// Press Ctrl+Shift+F to open the search box
{
"command": "find",
"keys": "ctrl+shift+f"
},
// Press Alt+Shift+D to open a new pane.
// - "split": "auto" makes this pane open in the direction that provides the most surface area.
// - "splitMode": "duplicate" makes the new pane use the focused pane's profile.
// To learn more about panes, visit https://aka.ms/terminal-panes
{
"command": {
"action": "splitPane",
"split": "auto",
"splitMode": "duplicate"
},
"keys": "alt+shift+d"
}
]
}
  • 打开终端时默认打开种类设置:将对应的guid后面字符串复制到defaultProfile之后即可
    • “defaultProfile”: “{61c54bbd-c2c6-5271-96e7-009a87ff44bf}”

文件附件中不保留区域信息

将windows上文件移动到wsl2时候,文件夹里面就会自动生成一个file_name.extention:Zone.Identifier格式的文件

配置:Win+R–>gpedit.msc–>User Configuration–>Administrative Templates–>Windows Components–>Attachment Manager–>“Do not preserve zone information in file attachments”–>Enabled–>OK

这样可以保证之后不再生成

安装Nerd-fonts字体

打开Nerd-fonts的github,下载字体并安装

安装zsh

万物始于更新

1
sudo apt update && sudo apt -y upgrade
1
sudo apt install zsh

然后切换到zsh

1
chsh -s /bin/zsh

Zplug下载

Zplug是管理zsh的插件,首先安装Zplug,也可以写入.zshrc文件中下载:

1
curl -sL --proto-redir -all,https https://raw.githubusercontent.com/zplug/installer/master/installer.zsh | zsh

(新)Oh My Zsh和主题powerlevel10k

由于有多台设备,为了同步一些配置文件,aliases,终端配置,这里采用以下更方便的方法(参考网站):

  1. 下载oh-my-zsh:
1
git clone https://github.com/ohmyzsh/ohmyzsh.git ~/.oh-my-zsh
  1. 首先在git仓库上创建一个项目,项目内放置了.ssh/config.zshrc等文件
  2. 在本地创建bare仓库:(个人路径:~/work/repos/下)
1
git clone --bare https://git.tyokyo320.com/zhangqiang/dotfiles.git
  1. 初始化设置
1
2
3
git --git-dir=$HOME/work/repos/dotfiles.git --work-tree=$HOME reset --hard master

HEAD is now at cf9a15a 更新 '.zshrc'
  1. 如果不想在本地修改配置文件,就直接在gitea上编辑修改提交,然后本地拉取:
1
2
3
4
5
6
7
8
git --git-dir=$HOME/work/repos/dotfiles.git --work-tree=$HOME pull

From https://git.tyokyo320.com/zhangqiang/dotfiles
* branch HEAD -> FETCH_HEAD
Updating cf9a15a..2574763
Fast-forward
.zshrc | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

为了方便,在./zshrc文件后添加

1
alias sync-config='git --git-dir=$HOME/work/repos/dotfiles.git --work-tree=$HOME'

这样以后修改完以后直接本地拉取:

1
sync-config pull

即可

如果想本地编辑的话,就在克隆一个仓库至本地,修改提交至git仓库,然后本地拉取同步

pyenv

安装pyenv

首先安装必要的库,不然无法安装python版本

1
2
# c++ compiler
sudo apt install -y build-essential
1
2
# openssl
sudo apt install -y libssl-dev
1
sudo apt install -y zlib1g-dev
1
2
# bz2, readline, sqlite3
sudo apt install -y libbz2-dev libreadline-dev libsqlite3-dev

根据个人需要有可能还需要安装:

1
2
3
4
sudo apt install -y libffi-dev
sudo apt install -y zlib1g-dev
sudo apt install -y liblzma-dev
sudo apt install -y git

参考网站

  1. Check out pyenv where you want it installed. A good place to choose is $HOME/.pyenv (but you can install it somewhere else).
1
git clone https://github.com/pyenv/pyenv.git ~/.pyenv

因为zplug中已经写好,clone完直接重启终端,确认pyenv,然后开始安装python:

1
pyenv install --list

这里我选择安装的版本为:

1
pyenv install 3.9.4
1
2
3
4
pyenv versions

* system (set by /home/zhangqiang/.pyenv/version)
3.9.4

切换python版本

切换python版本做一下测试

1
2
pyenv global 3.9.4   # 全局进行切换到python 3.9.4版本
pyenv local 3.9.4 # 只针对当前目录及其子目录切换python 3.9.4版本

例如:

1
2
3
4
5
6
pyenv global 3.9.4

pyenv versions

system
* 3.9.4 (set by /home/zhangqiang/.pyenv-version)

可以看到当前的python 版本已经切换到3.9.4了

同理,我们可以继续用python global在各个版本之间进行切换,如果要切换回系统版本,请用:

1
2
pyenv global system   # 全局进行切换到系统自带python
pyenv local system # 只针对当前目录及其子目录切换到系统自带python

虚拟环境的使用

首先新建一个名为venv的虚拟环境:

1
python -m venv venv

然后启用虚拟环境:

1
source venv/bin/activate

退出虚拟环境:

1
deactivate

查看安装的package及其版本:

1
pip freeze

一键安装package:

首先把已经安装的package导入到requirements.txt里面

1
pip freeze > requirements.txt

在另一个新建的虚拟环境中一键安装即可

1
pip install -r requirements.txt

.gitignore里面一般会添加:venv

nodenv

本次重置window上面没有安装python和node.js的虚拟环境,打算只安装在wsl下:

  1. Clone nodenv into ~/.nodenv.
1
git clone https://github.com/nodenv/nodenv.git ~/.nodenv
  1. .zshrc文件中的zplug里面加入zplug "C-uo/zsh-nodenv", from:github即可
  2. 这个时候在终端输入nodenv可以看到变绿色了,但是还不能install,需要build一下,参考网站
1
2
3
# As a nodenv plugin
$ mkdir -p "$(nodenv root)"/plugins
$ git clone https://github.com/nodenv/node-build.git "$(nodenv root)"/plugins/node-build

然后就可以查看node版本号

1
2
# list all available versions:
$ nodenv install -l
  1. 安装,这里选择了常用版本14.16.1
1
2
# install a Node version:
$ nodenv install 14.16.1
  1. 查看和设置版本
1
2
3
4
nodenv versions

nodenv local 14.16.1
nodenv global 14.16.1

装完这里,blog应该可以运行了

1
2
# 新建一篇日志
node_modules/hexo/bin/hexo new post [title]

goenv

本次更新配置golang的虚拟环境:如果发现已经有.goenv了可以删除重新clone一次,这样会有最新版本的go

参考zplug部分

  1. Check out goenv where you want it installed. A good place to choose is $HOME/.goenv (but you can install it somewhere else).
1
git clone https://github.com/syndbg/goenv.git ~/.goenv
  1. zplug "RiverGlide/zsh-goenv", from:gitlab添加到~/.zshrc文件中即可

查看可以安装的版本:

1
goenv install --list

使用:

1
2
# 安装
goenv install 1.17.0
1
2
3
4
5
goenv rehash

go version

go version go1.17 linux/amd64

使用:

1
2
3
4
goenv exec go run main.go

# 或者
go run main.go

jenv

本次更新配置jenv,jenv是用来管理一台机器上多个JDK版本的,并且可以随时切换版本使用

前面已经下载好了JDK11,个人本地路径下载至:~/library/java/

参考网站

  1. Installing jenv
1
2
3
4
5
git clone https://github.com/jenv/jenv.git ~/.jenv

# Shell: zsh
echo 'export PATH="$HOME/.jenv/bin:$PATH"' >> ~/.zshrc
echo 'eval "$(jenv init -)"' >> ~/.zshrc
  1. zplug "plugins/jenv", from:oh-my-zsh添加到~/.zshrc文件中,刷新终端
  2. 【补充】To make sure JAVA_HOME is set, make sure to enable the export plugin:
1
2
jenv enable-plugin export
exec $SHELL -l
  1. Adding Your Java Environment:
1
jenv add /home/zhangqiang/library/java/jdk-11.0.11/

添加后可以查看

1
2
3
4
5
jenv versions
11
11.0
11.0.11
oracle64-11.0.11

然后选择:

1
jenv global oracle64-11.0.11

查看:

1
2
3
4
5
java -version

java version "11.0.11" 2021-04-20 LTS
Java(TM) SE Runtime Environment 18.9 (build 11.0.11+9-LTS-194)
Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.11+9-LTS-194, mixed mode)

检查:

1
2
3
4
5
jenv doctor

[OK] JAVA_HOME variable probably set by jenv PROMPT
[OK] Java binaries in path are jenv shims
[OK] Jenv is correctly loaded

rbenv

  1. Installing rbenv
1
git clone https://github.com/rbenv/rbenv.git ~/.rbenv
  1. zplug "plugins/rbenv", from:oh-my-zsh添加到~/.zshrc文件中,刷新终端
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
rbenv

rbenv 1.2.0-14-gc6cc0a1
Usage: rbenv <command> [<args>]

Some useful rbenv commands are:
commands List all available rbenv commands
local Set or show the local application-specific Ruby version
global Set or show the global Ruby version
shell Set or show the shell-specific Ruby version
rehash Rehash rbenv shims (run this after installing executables)
version Show the current Ruby version and its origin
versions List installed Ruby versions
which Display the full path to an executable
whence List all Ruby versions that contain the given executable

See `rbenv help <command>' for information on a specific command.
For full documentation, see: https://github.com/rbenv/rbenv#readme
  1. 这个时候在终端输入rbenv可以看到变绿色了,但是还不能install,需要build一下,参考网站
1
2
3
# As an rbenv plugin
$ mkdir -p "$(rbenv root)"/plugins
$ git clone https://github.com/rbenv/ruby-build.git "$(rbenv root)"/plugins/ruby-build

然后可以查看ruby版本号

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
rbenv install -l

2.6.10
2.7.6
3.0.4
3.1.2
jruby-9.3.6.0
mruby-3.1.0
picoruby-3.0.0
rbx-5.0
truffleruby-22.1.0
truffleruby+graalvm-22.1.0

Only latest stable releases for each Ruby implementation are shown.
Use 'rbenv install --list-all / -L' to show all local versions.
  1. install
1
rbenv install 3.1.2
  1. set a version
1
rbenv global 3.1.2
  1. check
1
2
rbenv versions
* 3.1.2 (set by /home/zhangqiang/.rbenv/version)
1
2
ruby --version
ruby 3.1.2p20 (2022-04-12 revision 4491bb740a) [x86_64-linux]

tfenv

1
$ git clone --depth=1 https://github.com/tfutils/tfenv.git ~/.tfenv
1
2
$ tfenv list-remote
$ tfenv install 1.8.3
1
2
3
4
$ tfenv use 1.8.3
$ tfenv version-name

1.8.3

Ruby on Rails

Ruby on Rails 是一个面向对象的 web 开发框架,在日本,依然有很多公司在使用

  • Gem 是 Ruby 中的包,其中包含包信息,以及用于安装的文件。Gem 通常是依照 .gemspec 文件构建的,其为 YAML 文件。然而,Ruby 代码也可以直接创建 Gem,这种情况下通常利用Rake 来进行
    • .gemspec 文件其中包含 Gem 有关的信息,例如版本号、作者、联系邮件以及依赖等,例如 cocoapods.gemspec
  • RubyGems 是 Ruby 的一个包管理器源,提供了分发 Ruby 程序和库的标准格式 gem,旨在方便地管理 gem 安装的工具,以及用于分发 gem 的服务器源。这类似于 Python 的 pip
  • Bundler 能够跟踪并安装所需的特定版本的 gem,以此来为 Ruby 项目提供一致的运行环境。定义一个 Gemfile,说明想要包含哪些库,并且可以选择指定版本或范围。运行 bundle install,它会生成一个 Gemfile.lock,说明所有库的确切版本,然后 bundle install 使用该项目运行的任何其他人都会获得完全相同的版本
  1. install
1
gem install bundler rails
  1. check gem, rake, rails versions
1
2
3
4
5
6
7
8
9
10
11
# gem versions
$ gem -v
3.3.7

# rake versions
$ rake -V
rake, version 13.0.6

# rails versions
$ rails -v
Rails 7.0.3
  1. how to use
1
2
3
4
5
6
7
# eg. directory name: blog
rails new blog

cd blog

# Starting up the Web Server
rails server

Jupyter Lab

安装Jupyter Lab

开启一个项目的python虚拟环境再执行,不要安装在全局里面

1
pip install jupyterlab

注意,第一次安装有可能报错:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
Collecting jupyterlab
Downloading jupyterlab-2.2.8-py3-none-any.whl (7.8 MB)
|████████████████████████████████| 7.8 MB 4.1 MB/s
Collecting jinja2>=2.10
Using cached Jinja2-2.11.2-py2.py3-none-any.whl (125 kB)
Collecting notebook>=4.3.1
Using cached notebook-6.1.4-py3-none-any.whl (9.5 MB)
Collecting tornado!=6.0.0,!=6.0.1,!=6.0.2
Using cached tornado-6.0.4.tar.gz (496 kB)
ERROR: Command errored out with exit status 1:

ModuleNotFoundError: No module named '_ctypes'
----------------------------------------
ERROR: Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.

解决方案:

1
sudo apt-get install libffi-dev

退出虚拟环境,重新安装一次python(重新编译安装)

1
pyenv install 3.9.4

扩展插件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
pip install jupyter_contrib_nbextensions jupyter_nbextensions_configurator
jupyter contrib nbextension install --sys-prefix
jupyter nbextensions_configurator enable --sys-prefix

jupyter labextension install @jupyterlab/toc
jupyter labextension install @jupyter-widgets/jupyterlab-manager
jupyter labextension install @krassowski/jupyterlab_go_to_definition
jupyter labextension install jupyter-matplotlib

pip install autopep8
pip install jupyterlab_code_formatter
pip install jupyterlab_execute_time
pip install lckr-jupyterlab-variableinspector
pip install https://jfds-1252952517.cos.ap-chengdu.myqcloud.com/jupyterhub/jupyterlab_language_pack_zh_CN-0.0.1.dev0-py2.py3-none-any.whl

~/.jupyter/lab/user-settings下有配置文件详细设置

minikube

Minikube是一个本地的Kubernetes开发环境

Flutter

安装

解压至~/library

然后打开.zshrc文件引入环境变量:

1
export PATH="$PATH:[PATH_OF_FLUTTER_GIT_DIRECTORY]/bin"

保存并刷新,然后运行检查

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
flutter doctor

Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, 2.5.3, on Ubuntu 20.04.3 LTS 5.10.60.1-microsoft-standard-WSL2, locale C.UTF-8)
[✗] Android toolchain - develop for Android devices
✗ Unable to locate Android SDK.
Install Android Studio from: https://developer.android.com/studio/index.html
On first launch it will assist you in installing the Android SDK components.
(or visit https://flutter.dev/docs/get-started/install/linux#android-setup for detailed instructions).
If the Android SDK has been installed to a custom location, please use
`flutter config --android-sdk` to update to that location.

[✗] Chrome - develop for the web (Cannot find Chrome executable at google-chrome)
! Cannot find Chrome. Try setting CHROME_EXECUTABLE to a Chrome executable.
[!] Android Studio (not installed)
[!] Connected device
! No devices available

! Doctor found issues in 4 categories.

配置

1
sudo apt install clang curl pkg-config ninja-build cmake libgtk-3-dev libblkid-dev liblzma-dev unzip
1
2
3
4
5
flutter config --enable-linux-desktop

Setting "enable-linux-desktop" value to "true".

You may need to restart any open editors for them to read new settings.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
flutter doctor

Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, 2.5.3, on Ubuntu 20.04.3 LTS 5.10.60.1-microsoft-standard-WSL2, locale C.UTF-8)
[✗] Android toolchain - develop for Android devices
✗ Unable to locate Android SDK.
Install Android Studio from: https://developer.android.com/studio/index.html
On first launch it will assist you in installing the Android SDK components.
(or visit https://flutter.dev/docs/get-started/install/linux#android-setup for detailed instructions).
If the Android SDK has been installed to a custom location, please use
`flutter config --android-sdk` to update to that location.

[✗] Chrome - develop for the web (Cannot find Chrome executable at google-chrome)
! Cannot find Chrome. Try setting CHROME_EXECUTABLE to a Chrome executable.
[✓] Linux toolchain - develop for Linux desktop
[!] Android Studio (not installed)
[✓] Connected device (1 available)

! Doctor found issues in 3 categories.

由于性能考虑,现在已经不在WSL 2上开发flutter了,而且会有图形界面等问题因素,因此转移至windows下开发

(旧)Oh My Zsh和主题powerlevel10k

1
sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
1
chsh -s /bin/zsh
1
git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k

然后更改文件~/.zshrc

就修改主题为ZSH_THEME="powerlevel10k/powerlevel10k",保存退出

重开终端后,会有几个样式选择问题,根据喜好回答即可

(旧)nvm

网站

本来想安装却发现nvm已经有了,这是因为在win上面安装过了,WSL 2环境相通,所以这里可以不用再安装了

1
2
3
whereis nvm

nvm: /mnt/c/Users/zhangqiang/AppData/Roaming/nvm/nvm.exe

这里只需要安装node.js即可,首先查看nodejs的版本号:

1
nvm ls-remote

然后安装:

1
nvm install 12.18.4

这样blog在WSL 2上也可以运行了

(旧)golang

1
mkdir library

在新建的文件夹内下载:

1
wget https://golang.org/dl/go1.15.2.linux-amd64.tar.gz

然后解压

1
tar -zxvf go1.15.2.linux-amd64.tar.gz

打开.zshrc添加如下:

1
2
3
4
5
# go
export GOPATH=$HOME/go
export PATH="$PATH:$HOME/library/go/bin"
export GO111MODULE=on
export PATH="$PATH:$HOME/go/bin"

然后重启终端即可

(旧)java

下载JDK

首先安装JDK,至于版本选择,可以选择稳定的JDK 8或者JDK 11,这里我选择的是JDK 11

打开ORACLE下载JDK11的地址,选择合适的安装包

1
2
3
uname -m

x86_64
  • 这里我选择的是Linux x64 Compressed Archive

将下载的压缩包移动到WSL 2下的/library/java里,解压缩:

1
tar xvzf jdk-11.0.11_linux-x64_bin.tar.gz

解压后,本次重置采取jenv来管理一台机器上多个JDK版本的,不再采用以前配置方法

配置环境变量

打开.zshrc添加如下:

1
2
3
4
5
# jdk环境
export JAVA_HOME=$HOME/library/java/jdk-11.0.10
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH

重新加载zshrc:

1
source .zshrc

然后测试环境:

1
2
3
4
5
java -version

java version "11.0.10" 2021-01-19 LTS
Java(TM) SE Runtime Environment 18.9 (build 11.0.10+8-LTS-162)
Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.10+8-LTS-162, mixed mode)

自己的library下文件管理情况:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
tree -L 2

.
├── go
│   ├── AUTHORS
│   ├── CONTRIBUTING.md
│   ├── CONTRIBUTORS
│   ├── LICENSE
│   ├── PATENTS
│   ├── README.md
│   ├── SECURITY.md
│   ├── VERSION
│   ├── api
│   ├── bin
│   ├── doc
│   ├── favicon.ico
│   ├── lib
│   ├── misc
│   ├── pkg
│   ├── robots.txt
│   ├── src
│   └── test
└── java
└── jdk-11.0.10

11 directories, 10 files

VcXsrv

参考网站:

使用WSL 2时,不能直接显示图片是件挺麻烦的事,例如,之前我想让程序显示图片的时候得到No X11 DISPLAY variable was set, but this program performed an operation which requires it.的报错,我的解决方式是在Windows系统安装并下载VcXsrv(前面已经用choco安装过了),WSL 2将通过它把图片输出到Windows并在屏幕上显示

安装好以后,首先到控制面板的防火墙设置中,需要配置防火墙,外界网络访问VCXSRV的端口,然后启动VCXSRV,前面基本默认设置即可,但是Extra settings中的Disable access control一定要选这一项!

WSL 2相当于远程(外界)网络了,和Windows10是分开的,和WSL1不一样

windows终端中查看WSL 2中的IP:ipconfig,然后打开~/.zshrc,添加

1
export DISPLAY=[HOST]:[DISPLAY NUMBER]

或者在终端中输入

1
echo "export DISPLAY=172.17.80.1:0.0" >> ~/.zshrc
1
source .zshrc

可以检查一下设置:

1
echo $DISPLAY

以后每次想查看WSL中的图片,都要先启动XLaunch

WSL 2下的ip地址会变,需要在.zshrc中对应修改!

gcloud-cli

1
sudo apt update && sudo apt upgrade -y
1
2
3
4
5
6
7
8
9
10
11
# 添加 Google Cloud SDK 软件源
echo "deb [signed-by=/usr/share/keyrings/cloud.google.gpg] https://packages.cloud.google.com/apt cloud-sdk main" | sudo tee -a /etc/apt/sources.list.d/google-cloud-sdk.list

# 导入 Google Cloud 的 GPG 签名密钥
curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key --keyring /usr/share/keyrings/cloud.google.gpg add -

# 更新软件包列表
sudo apt update

# 安装 Google Cloud SDK
sudo apt install google-cloud-sdk
1
gcloud init
1
2
3
4
5
6
7
8
9
10
gcloud version

Google Cloud SDK 452.0.1
alpha 2023.10.25
beta 2023.10.25
bq 2.0.98
bundled-python3-unix 3.9.17
core 2023.10.25
gcloud-crc32c 1.0.0
gsutil 5.27

安装Windows其他软件

Office365

登陆Office student 365下载

  • 安装后Teams需要重启才能显示出来

Adobe

上个月学校给的账号过期了,先等等学校,如果不给免费的用就打算再续费一年

  • XD

欧路词典

NVIDIA驱动程序

打开网站NVIDIA Driver Downloads

选择自己显卡型号下载即可

Logicool G HUB

Logitech Unifying

TeX Live


现在使用docker部署latex环境

  • .devcontainer文件夹移动到latex项目下

先打开桌面版docker,第一次部署首先要build镜像,回到vscode,通过设置搜索Remote-Containers: Rebuild and Reopen in Container

其实就是把本地文件绑定到有latex环境的docker容器内

Citavi

百度网盘

Cisco AnyConnect VPN

学校官网下载

EPOCCAM DRIVER

iPhone手机 使用的时候,必须先启动 iTunes,然后打开手机app即可连接

(旧)nvm-windows

打开网站,下载nvm-setup.zip。然后控制面板-系统-高级系统设置-环境变量-path中添加C:\Users\zhangqiang\AppData\Roaming\nvm,然后重启终端

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
nvm list available

| CURRENT | LTS | OLD STABLE | OLD UNSTABLE |
| ------- | ------- | ---------- | ------------ |
| 14.11.0 | 12.18.4 | 0.12.18 | 0.11.16 |
| 14.10.1 | 12.18.3 | 0.12.17 | 0.11.15 |
| 14.10.0 | 12.18.2 | 0.12.16 | 0.11.14 |
| 14.9.0 | 12.18.1 | 0.12.15 | 0.11.13 |
| 14.7.0 | 12.17.0 | 0.12.13 | 0.11.11 |
| 14.6.0 | 12.16.3 | 0.12.12 | 0.11.10 |
| 14.5.0 | 12.16.2 | 0.12.11 | 0.11.9 |
| 14.4.0 | 12.16.1 | 0.12.10 | 0.11.8 |
| 14.3.0 | 12.16.0 | 0.12.9 | 0.11.7 |
| 14.2.0 | 12.15.0 | 0.12.8 | 0.11.6 |
| 14.1.0 | 12.14.1 | 0.12.7 | 0.11.5 |
| 14.0.0 | 12.14.0 | 0.12.6 | 0.11.4 |
| 13.13.0 | 12.13.0 | 0.12.4 | 0.11.2 |
| 13.11.0 | 10.22.0 | 0.12.2 | 0.11.0 |
| 13.10.1 | 10.21.0 | 0.12.1 | 0.9.12 |
| 13.10.0 | 10.20.1 | 0.12.0 | 0.9.11 |
| 13.9.0 | 10.20.0 | 0.10.48 | 0.9.10 |

This is a partial list. For a complete list, visit https://nodejs.org/download/release

安装:

1
2
nvm install  12.18.4
nvm use 12.18.4
1
2
3
4
node
Welcome to Node.js v12.18.4.
Type ".help" for more information.
>

接下来安装hexo

1
npm install -g hexo-cli

这里我遇到了一个问题,安装完成后却无法执行hexo,发现是PowerShell给我禁止了,解决方案如下:

以管理员身份打开PowerShell 输入set-executionpolicy remotesigned,选择:是

然后blog就复活了!

主板BIOS升级

  • 2021年11月更新:BIOS版本由F51升级至F62d
  • 2023年3月更新:BIOS版本由F62d升级至F64a

下载BIOS

然后准备一个格式化好的U盘,将下载解压后最大的那个文件移动到U盘中

进入BIOS升级

插入U盘,重启进入BIOS -> 系统 -> Q-Flash中选择更新,等待一段时间后更新会完成

升级BIOS时遇到的问腿

升级结束后,发现WSL 2打不开了:请启用虚拟机平台 Windows 功能并确保在 BIOS 中启用虚拟化,打开任务管理器 -> 性能 -> CPU后发现:虚拟化显示已禁用

解决:重启进入BIOS,M.I.T. -> Advanced Frequency Settings -> Advanced CPU Core Settings -> SVM Mode,启用SVM Mode,然后保存退出

备忘录

开始预览图

  • Window11版本中,自定义磁条被删除…

PC开始预览图

XPS开始预览图

ssh的权限说明

1
2
3
4
5
6
chmod 700 ~/.ssh
chmod 644 ~/.ssh/authorized_keys
chmod 644 ~/.ssh/known_hosts
chmod 644 ~/.ssh/config
chmod 600 ~/.ssh/id_rsa
chmod 644 ~/.ssh/id_rsa.pub

DNS设置

每次重装服务器或重置电脑需要设置ipv4和ipv6DNS指向服务器

  • ipv4:192.168.10.106
  • ipv6:
1
2
3
4
5
ifconfig

wlp2s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.10.106 netmask 255.255.255.0 broadcast 192.168.10.255
inet6 2400:xxxx:xxxxxxxxxxx prefixlen 64 scopeid 0x0<global>

需要修改电脑ipv4和ipv6DNS的服务器,让它分别指向服务器的ipv4和ipv6

这样PortainerAdGuard Home就可以打开了

samba添加到网络位置

重置后,网络位置需要重新添加,详情参考网站

  1. 右击开始按钮,点击设置
  2. 点击应用,打开应用程序和功能
  3. 点击启用或关闭Windows功能
  4. 勾选SMB1.0协议,点击确定
  5. 按住“Win”和“R”键,在弹出的对话框中输入“gpedit.msc”
  6. 在本地组策略编辑器对话框中,依次点击“计算机配置”“管理模板”“网络”
  7. 点击“lanman工作站”
  8. 双击“启用不安全的来宾登录”,点击“已启用”,点击“确定”即可

最后添加网络位置,这里不知道为什么我其实输入的网络地址一直是对的但是很久没有添加成功,即使使用其他凭据连接,输入了正确密码还是失败,最后却神奇的添加上了

问题解决:

不要直接添加网络位置,使用如上图搜索添加即可不需要上述配置(网络后面输入:\ \ip网络位置)

git

此外,git需要重新输入邮箱和用户名后才能提交,主要的改动是因为win和wsl里面换行不同导致的变动

配置name,Email:

1
git config --global user.name "username"
1
git config --global user.email "email"

当前仓库:

1
git config  credential.helper store

全局配置:

1
git config --global credential.helper store

Developing inside a Container

网站

1
2
3
4
5
6
wsl -l -v

NAME STATE VERSION
* Ubuntu-20.04 Running 2
docker-desktop Stopped 2
docker-desktop-data Stopped 2

错误处理

使用jupyter导入scikit-image时发生报错,ModuleNotFoundError: No module named '_lzma',解决方案:

1
2
3
4
sudo apt-get install libreadline-gplv2-dev libncursesw5-dev libssl-dev \
libsqlite3-dev tk-dev libgdbm-dev libc6-dev libbz2-dev libffi-dev zlib1g-dev build-essential checkinstall make build-essential libssl-dev zlib1g-dev \
libbz2-dev libsqlite3-dev wget curl llvm libncurses5-dev \
libncursesw5-dev xz-utils tk-dev libffi-dev liblzma-dev python-openssl

然后重新装python3.8.5

1
pyenv install 3.8.5

重装日志

主机

2020年10月26日

重装原因:开关机需要很久,且关机后机箱还保持亮的状态。开机进入系统需要很长时间,开关机重启等操作需要强制关机,基本上无法开关机,由于不知道原因,不得不重装

原因分析:

抹掉原来系统盘后,重装了系统之后发现开机还是进不去,想了想近期就买了2块新的HDD,当拔掉硬盘线的时候发现一且都正常了。

也就是白白抹掉原来数据了…

  • 然后只插了其中一块硬盘(4T)的线,发现启动正常了
  • 然后只插了其中另一块硬盘(6T)的线,发现又启动不了了
  • 再测试线发现线是好的

由于这块6T的蓝盘买了也没用过,偶尔还会发出哔的奇怪声音,所以基本断定是这个盘的问题

问题解决:

拔掉这个有问题的硬盘问题全部解决了,剩下就是不得不全部重装一遍,然后配置重新一遍环境

XPS

2021年4月29日

重装原因:为了整理日志,重新装一次