开头

事情的起因是我想玩玩一个 魔改的pvz ,但是卡巴斯基报毒说有木马。为了安全起见,我想试一试用前段时间装的 Sandboxie 来运行一下。因为不会设置隔离的沙盒,搞到一般就放弃了。(后面的问题可能是这里修改了注册表的什么地方吧)

中间

然后我想看一看数据库实验的手册,结果 Microsoft 365 报 0x426-0x0 的错误码。我看了 帖子,装了个 Microsoft Support and Recovery Assistant (没有什么用),打算卸载了重新安装。结果这个 Assistant 卸载了老半天还没卸载完,我就中途取消了。

而后我把沙盒的设置修改回去了,启用了 MS ClickToRun 的服务,还有 Windows Module Installer 服务。然后把 Office 365 卸载了,又在微软商店装了回来。尝试打开文档,还是失败了。

然后我看到了 这个 教程,想试一下 msconfig 里面的“诊断启动”,导致了今天最惊险的情况😇。电脑启动后唯二的两种登录方式都不可用了:人脸和 PIN 码(选择 PIN 会弹出一个弹窗问你是否从商店里安装一个什么,有点太幽默了点)。电脑险些直接变成薄薄的板砖。

结果

多次物理重启后,我根据 教程 进入恢复环境,把 Utilman.exe 换成 cmd.exe,重启后点右下角的小人就打开了 cmd,再打开 msconfig 改成正常启动,再重启就恢复正常了。

最后 Office 是根据 教程官网 重新安装好了。Office 已卸载的时候搜索 WINWORD 可以找到在 C:\Program Files\Microsoft Office\root\Office16 的疑似本体的文件。

因为想把电脑上的一些图片转成 ASCII 图片, 在复制 Windows 的文件地址到 WSL 上时, 没有找到像 cygpath 这样的工具, 所以我在 .zshrc 里加了下面的内容:

1
2
3
4
5
# cygpath-like func
w2nix()
{
echo "$1" | sed -e 's/\\/\//g' -e 's/E:/\/mnt\/e/g'
}

在我想把这件事写进 blog 时, 我又发现我的 hexo 命令找不到了。

一番排查后发现是 nvm 修改系统变量的时候连着 node_global 也给改掉了。蒸 🦐 头

参考链接

Linux技巧:sed命令替换、删除、同时匹配多个模式的方法

zsh自定义命令并传递参数

问题

尝试在 Hexo 中显示公式,采用了 pandoc + mathjax 的方法。 但是在下标中仍然不能有 # 或 \# ,现在也没有找到解决办法

详细信息

安装的 node_modules :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
$ npm ls
hexo-site@0.0.0 E:\Document\Blog
├── hexo-deployer-git@4.0.0
├── hexo-filter-flowchart@1.0.4
├── hexo-filter-mathjax@0.9.0
├── hexo-generator-archive@2.0.0
├── hexo-generator-category@2.0.0
├── hexo-generator-index@3.0.0
├── hexo-generator-tag@2.0.0
├── hexo-renderer-ejs@2.0.0
├── hexo-renderer-pandoc@0.4.0
├── hexo-renderer-stylus@3.0.1
├── hexo-server@3.0.0
├── hexo-theme-next@8.19.2
└── hexo@7.1.1

在 _config.yml 中添加:

1
2
3
4
5
6
7
8
9
10
11
12
# Mathjax
mathjax:
tags: none # or 'ams' or 'all'
single_dollars: true # enable single dollar signs as in-line math delimiters
cjk_width: 0.9 # relative CJK char width
normal_width: 0.6 # relative normal (monospace) width
append_css: true # add CSS to pages rendered by MathJax
every_page: false # if true, every page will be rendered by MathJax regardless the `mathjax` setting in Front-matter
packages: # extra packages to load
extension_options: {}
# you can put your extension options here
# see http://docs.mathjax.org/en/latest/options/input/tex.html#tex-extension-options for more detail

通过 winget 安装了 pandoc 3.1.12.2

如果开启代理时打开 WSL ,会提示 “wsl: 检测到 localhost 代理配置,但未镜像到 WSL。NAT 模式下的 WSL 不支持 localhost 代理。”

参考链接

%USERHOME%/.wslconfig 中添加如下内容

1
2
3
4
5
6
[experimental]
autoMemoryReclaim=gradual | dropcache | disabled
networkingMode=mirrored
dnsTunneling=true
firewall=true
autoProxy=true

Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub.

Quick Start

Create a new post

1
$ hexo new "My New Post"

More info: Writing

Run server

1
$ hexo server

More info: Server

Generate static files

1
$ hexo generate

More info: Generating

Deploy to remote sites

1
$ hexo deploy

More info: Deployment

例题

有三个表

学生

课程

选课

  1. 检索不学 C2 课的学生姓名,年龄
  2. 检索学习全部课程的学生学号

笔记

  1. 错误的做法是

    这意味着检索出“选了不是 C2 的课程”的学生姓名、年龄,而非所有学生中“没有选 C2 课程”的学生

    正确的做法是

  2. 错误的做法是

    这意味着检索出“学习全部课程且成绩相同”的学生学号,因为 S 和 Grade 共同作为除法“ ”中的

    正确的做法是

VMware 版本:16.2.4 Pro

Kali pre-built 版本:Kali Rolling (2023.4) x64

因为之前配 Ubuntu 的网络的时候就有点抓瞎,所以这次打算把配置过程稍微记录下来,免得再把头搞大。之前我是用 iso 安装了 kali ,因为当时没想到还有直接下载虚拟机的,后来感觉 pre-built 的启动更快一点,键盘鼠标输入也更流畅,就把之前的删掉了。

基本配置

Kali可以手动配置网络,也可以让NetworkManager(命令有 nmclinmtui )自动配置。默认的配置文件是 /etc/network/interfaces ,nm的配置文件是 /etc/NetworkManger/NetworkManager.conf

据我观察kali应该就只有 networking.serviceNetworkManager.service 两个服务是跟网络相关的,不过前者是 actived(exited) 状态,后者是 actived(running) 状态。我猜 networking 应该就是管那个 interfaces 的服务。

/etc/network/interfaces默认配置:

1
2
3
4
5
auto lo
iface lo inet loopback

# auto eth0
# iface eth0 inet dhcp

/etc/NetworkManager/NetworkManager.conf 默认配置:

1
2
3
4
5
[main]
plugins=ifupdown,keyfile

[ifupdown]
managed=false

因为 managed 默认为 false ,nm 不会接管 interfaces 中已经配置的接口,所以 interfaces 中只需要写 loopback 的内容。如果把 interfaces 中 eth0 的配置取消注释,右上角的网络小图标会显示没有网络,但是此时是可以上网的。

我的虚拟机的网卡名字叫 eth0 ,对应 mac 地址是 VMware 虚拟机设置 -> 网络适配器 -> 高级 的 mac 地址。不管连接模式是 nat 还是 bridge ,到虚拟机中对应的都是同一个有线连接。如果有移动网卡就可以通过 虚拟机 -> 可移动设备 给虚拟机用,可以连接周围的 WiFi 。

如果修改了虚拟机的 permanent mac , nm 的 networking 这一项就会关闭,导致 lo 和 eth0 两个网卡都是 strictly unmanaged 状态,只需要输入 nmcli n on 把 networking 打开就好了。

nm 还需要设置 connection ,一般一个 device 设置一个就好了,因为不能同时开启 (不确定有多个网卡是什么情况) 。通过 nmtui 或者 kali 桌面的 Advanced Network Configuration 设置都可以, nmcli 也可以,不过不太方便。

连接校园网

WHU校园网登录认证

WHU校园网自助服务

因为校园网需要在网页上认证,所以在桥接模式下,虽然我的虚拟机可以 ping 到物理机,但是无法上网。要在虚拟机上使用校园网,需要把 mac 地址改成物理机用来上网的无线网卡的地址 (比如我的网卡是 Intel(R) Wi-Fi 6 AX201 160MHz) ,桥接模式下面 "复制物理网络连接状态" 的选项似乎选不选都可以。虚拟机成功登录校园网后,物理机是没法正常上网的状态,将虚拟机挂起可以恢复。

其他

/sys/class/net/ 下可以看到网卡的名字

lspcilsusb 可以查看 pci 和 usb 设备

macchanger 可以改变网卡的 mac 地址,不过好像不能改 permanent mac

sudo systemctl restart networking 重启 networking.service

sudo systemctl restart NetworkManager 重启 NetworkManager.service

0%