博客文章

  • Windows创建软链接的命令mklink

    最近在windows系统上做开发。通常在Linux系统上如果有几个项目公用一部分资源文件,可以创建一个资源的”链接”到需要使用的目录,但是在我印象里window只有“快捷方式”这么个东西。于是在网上搜索了一下。用于在windows系统上创建链接的命令是mklink。

  • WSL开启Systemd支持

    9月份的时候网上看新闻,说WSL(Linux子系统)已经支持Systemd。

    按照网上的介绍WSL需要 0.67.6 或更高版本。

    查看 WSL 版本 wsl --version,返回了wsl的使用帮助

    PS C:\Users\001> wsl --version
    命令行选项无效: --version
    版权所有(c) Microsoft Corporation。保留所有权利。
    
    用法: wsl.exe [Argument] [Options...][CommandLine]
    
    运行 Linux 二进制文件的参数:
    
        如果未提供命令行,wsl.exe 将启动默认 shell
    
        --exec-e <CommandLine>
            不使用默认 Linux shell 执行指定命令。
    
        --
            按原样传递剩余命令行。
    
    选项:
        --cd <Directory>
            将指定目录设置为当前工作目录。
            如果使用 ~,则将使用 Linux 用户的主路径。如果路径以 / 字符开头,
            它将被解释为绝对 Linux 路径。
            否则,该值必须是绝对 Windows 路径。
    
        --distribution-d <Distro>
            运行指定的分发。
    
        --user-u <UserName>
            以指定用户身份运行。
    
        --system
            为系统分发启动 shell
    

    估计版本差异太大。

    然后升级wsl wsl --update

    PS C:\Users\001> wsl --update
    正在安装: 适用于 Linux 的 Windows 子系统
    已安装 适用于 Linux 的 Windows 子系统。
    PS C:\Users\001> wsl --version
    WSL 版本: 0.70.4.0
    内核版本: 5.15.68.1
    WSLg 版本: 1.0.45
    MSRDC 版本: 1.2.3575
    Direct3D 版本: 1.606.4
    DXCore 版本: 10.0.25131.1002-220531-1700.rs-onecore-base2-hyp
    Windows版本: 10.0.22623.870
    

    OK,然后编辑 /etc/wsl.conf ,加入:

    [boot]
    systemd=true
    

    最后重启wsl实例。

    root@rmi-win11:~# systemctl status nginx
    ● nginx.service - A high performance web server and a reverse proxy server
       Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
       Active: active (running) since Tue 2022-10-25 08:58:44 CST; 5min ago
         Docs: man:nginx(8)
      Process: 999 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
      Process: 908 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
     Main PID: 1009 (nginx)
        Tasks: 9 (limit: 4915)
       CGroup: /system.slice/nginx.service
               ├─1009 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
               ├─1010 nginx: worker process
               ├─1011 nginx: worker process
               ├─1013 nginx: worker process
               ├─1014 nginx: worker process
               ├─1015 nginx: worker process
               ├─1017 nginx: worker process
               ├─1018 nginx: worker process
               └─1020 nginx: worker process
    
    Oct 25 08:58:43 rmi-win11 systemd[1]: Starting A high performance web server and a reverse proxy server...
    Oct 25 08:58:44 rmi-win11 systemd[1]: Started A high performance web server and a reverse proxy server.
    

  • 网站屏蔽国内IP访问的方法

    使用 Nginx + MaxMind + GeoIP 方案

  • Windows端口转发

    背景

  • 操作Aurora VPN客户端的Python包

    背景

  • 记一个weditor在windows上的安装错误

    weditor是用于Android元素定位的Python软件包。

  • Python协程笔记

    参考

    笔记

    • Python的协程是通过Generator实现的,协程是遵循某些规则的生成器;
    • 运行一个协程,asyncio 提供三种机制:
      • asyncio.run()
      • await 等待一个协程
      • asyncio.create_task() 函数用来并发运行作为 asyncio任务的多个协程
    • 一个对象如果可以使用await语句,它就是一个可等待对象
    • 可等待对象有三种类型
      • 协程
      • 任务
        • 任务被用来并行的调度协程
        • 当一个协程通过 asyncio.create_task() 等函数被封装为一个任务,该协程会被自动调度执行
      • Future
        • Future是一种特殊的低层级可等待对象,表示一个异步操作的最终结果。
    • 休眠 coroutine asyncio.sleep(delay, result=None)
      • 如果指定了result,则当协程完成时将其返回给调用者
    • 并发运行任务 awaitable asyncio.gather(*aws, return_exceptions=False)
      • 并发 运行aws序列中的可等待对象。
      • 如果aws中某个可等待对象是协程,会自动作为一个任务调度
    • asyncio.gatherasyncio.wait 区别
      • asyncio.gather 返回一个list, 结果和输入协程的顺序一致
      • asyncio.wait 返回两个值,第一项表示完成的任务列表 (done),第二项表示等待 (Future) 完成的任务列表 (pending)
      • asyncio.wait 支持一个接收参数return_when,在默认情况下,asyncio.wait会等待全部任务完成 (return_when=’ALL_COMPLETED’),它还支持 FIRST_COMPLETED(第一个协程完成就返回)和 FIRST_EXCEPTION(出现第一个异常就返回)
    • asyncio.create_task 就是用的 loop.create_task

  • 安装Arch Linux

    概念

  • 使用clip.exe将wsl的输出重定向到Windows剪贴板

    Windows 有个 clip 命令,可以把命令行的输出重定向到 Windows 剪贴板。

  • Windows安装和设置Python开发环境

    安装Python

  • 推荐windows系统使用winget.run

    winget.run

  • 用命令行安装Windows11系统

    说明

  • 硬改了樱桃ML4100 CYA键位

    缺少键帽太丑了,索性把轴拆了,Ctrl 键硬改到 Caps Lock

  • 樱桃ML4100 USB CYA维修记录

    键盘正常使用着突然 OL 键失灵了,我以为键按下去卡住了,试着活动了一下键帽,发现按键没有异常,猜想可能是轴体坏了,等到周末拆开看一下。

  • Let’s Encrypt和Certbot的使用

    Let’s Encrypt是免费颁发TLS证书的机构(CA)。支持使用 ACME 协议 的软件获取证书。

subscribe via RSS