标签归档:windows

使用 dos2unix 解决跨操作系统换行符问题

dos2unix 是将 Windows 格式文件转换为 Unix/Linux 格式的实用命令。

unix2dos 则是和 dos2unix 互为孪生的一个命令,将 Linux&Unix 格式文件转换为 Windows 格式文件的命令。

各个操作系统安装方法如下:

OS X
    brew install dos2unix
Debian
    apt-get install dos2unix 
Ubuntu
    apt-get install dos2unix 
Alpine
    apk add dos2unix 
Arch Linux
    pacman -S dos2unix 
Kali Linux
    apt-get install dos2unix 
CentOS
    yum install dos2unix 
Fedora
    dnf install dos2unix 
Windows (WSL2)
    sudo apt-get update sudo apt-get install dos2unix 
Raspbian
    apt-get install dos2unix 
Dockerfile
    dockerfile.run/dos2unix 
Docker
    docker run cmd.cat/dos2unix dos2unix

下面以 15分钟学会Emacs Lisp 教学源文件为例展示效果。

$ dos2unix learn-emacs-lisp-zh.el
dos2unix: converting file learn-emacs-lisp-zh.el to Unix format...

转换前后的对比如下:

上方是转换后的文件,下方是转换前的文件,使用 Emacs 打开。

可以看到,转换前该文件使用的是 Windows 风格的换行符,转换后该文件使用 Unix 风格换行符。

Unix 系统中:每行结尾只有 “”,即 \n; Windows 系统中:每行结尾是 “”,即 \r\n; Mac 系统中:每行结尾是 “”,即 \r“。

参考文献

Windows 禁用 AppXSVC 解决 CPU 占用高问题

在一台虚拟机上安装了 Windows 10 lstc 2021 版,启动后发现 CPU 占用率一直居高不下,查看任务管理器发现是一个叫 wsapp 的系统服务服务占用 CPU 过高,搜索后发现对应的是 AppX Deployment Service 系统服务,是用来提供 微软应用商店服务服务的。

这就很奇怪了,lstc 没有预装微软应用商店呀,因此也不能使用常规方法将其关闭,实测在服务管理器中也无法直接关闭。

解决方法

后面我发现其实可以通过修改注册表的方式去禁用该服务,方法很简单:

Step1 打开注册表编辑器

两种方法可以打开:

  1. 在任务栏上的搜索框中,键入regedit,然后选择”注册表编辑器 (桌面应用) 结果。
  2. 右键单击”开始”, 然后选择”运行”。“打开:”框中键入 regedit,然后选择”确定“。

Step2 禁用服务

首先在注册表编辑器中找到这一项:

HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\AppXSvc

之后在右侧找到 Start 将值由原本的 3 改为 4 即可。

https://imagehost-cdn.frytea.com/images/2021/12/16/image46a917cd3ecedee5.png

大概像图片中这样。

最后重启即可!

Step3 查看效果

重启后查看任务管理器,发现再也没有长期占用 CPU 50% 以上的 AppXSVC 服务了。

https://imagehost-cdn.frytea.com/images/2021/12/16/image0e48aeaeec65f56a.png

结束。

参考文献

最新 2021 Win10 LTSC 20H1 安装激活方法

我个人日常使用操作系统主要是 Linux 或 MacOS,但在一些特殊情况下,一些工作使用 Windows 桌面处理起来会方便一些(比如 Linux 环境时需要首发企业微信等),于是我会在公司内网云平台或是台式机上安装一个 Win10 桌面系统。

但原生的 Win10 系统过于臃肿,带有许多我用不上的功能,我只需要一个桌面环境+浏览器再安装我需要的软件即可。第三方的精简镜像安全性没有保障,这时官方提供的 LSTC 版系统镜像就很香了。

Windows LTSC,企业长期服务版,支持安全更新周期长达10年,为企业研制,官方精简版,没有商店小娜edge等UWP应用,但是缺点是不支持大版本的更新,比如装了1809版本,以后不可升级,只能重装新版本,或者一直用下去。

正常情况下安装好一直使用即可,不建议升级最新版,但是这次重装还是选择安装新版比较好。

微软于 11 月 17 日 正式推出 Windows 10 2021 年 11 月更新(21H2),与此同时,微软 Windows 10 企业版 LTSC 2021 正式版(长期服务频道)发布,基于 Windows 10 版本 21H2 打造。

之前写的文章已经过时,正好记录一下新版 LSTC 系统的安装激活步骤。

物料准备

首先需要准备安装镜像,可通过下面 MSDN 提供的链接下载,也可通过 @如有乐享 提供的地址下载:

- Windows 10 Enterprise LTSC 2021 (x64) - DVD (Chinese-Simplified)
    - 文件:SW_DVD9_WIN_ENT_LTSC_2021_64BIT_ChnSimp_MLF_X22-84402.ISO
    - 大小:4.7GB
    - MD5:2579B3865C0591EAD3A2B45AF3CABEEE
    - SHA1:C19D7DAFBAFEB26C36E31D97C465E87C7A6E8A4C
    - SHA256:C117C5DDBC51F315C739F9321D4907FA50090BA7B48E7E9A2D173D49EF2F73A3
    - 下载地址:
        - ED2K: ed2k://|file|SW_DVD9_WIN_ENT_LTSC_2021_64BIT_ChnSimp_MLF_X22-84402.ISO|5044211712|1555B7DCA052B5958EE68DB58A42408D|/
        - BT: magnet:?xt=urn:btih:366ADAA52FB3639B17D73718DD5F9E3EE9477B40&dn=SW_DVD9_WIN_ENT_LTSC_2021_64BIT_ChnSimp_MLF_X22-84402.ISO&xl=5044211712
- Windows 10 Enterprise LTSC 2021 (x86) - DVD (Chinese-Simplified)
    - 文件:SW_DVD9_WIN_ENT_LTSC_2021_32BIT_ChnSimp_MLF_X22-84401.ISO
    - 大小:3.37GB
    - MD5:A4F6F8F67D9A59AD462FF51506C5CD3A
    - SHA1:50ED6860535FDDF9D0418EFD99EF7F40DAA696F5
    - SHA256:9F855FCC4CB44C119F9CE73DABE569FCB7F4F4D85F922206BF2E108116A34F25
    - 下载地址:
        - ED2K: ed2k://|file|SW_DVD9_WIN_ENT_LTSC_2021_32BIT_ChnSimp_MLF_X22-84401.ISO|3621132288|F67BB339ADFEFCF6ED22400EAACBD068|/
        - BT: magnet:?xt=urn:btih:F8EC74BA352633CECF7A0D0AF1E98A7345C3C2FC&dn=SW_DVD9_WIN_ENT_LTSC_2021_32BIT_ChnSimp_MLF_X22-84401.ISO&xl=3621132288

激活步骤

安装过程就不赘述了,使用 libvirt + qemu 或是 Vmware, VirtualBox 等安装即可,安装好之后使用管理员权限运行 CMD ,输入以下命令即可:

slmgr.vbs /ipk M7XTQ-FN8P6-TTKYV-9D4CC-J462D
slmgr.vbs /skms kms.loli.beer
slmgr.vbs /ato

结束后就会看到激活水印消除,激活成功。

参考文献

一键修改Windows远程桌面(RDP)端口号

本文主要内容来微软官方文档,命令未 PowerShell 命令,管理员权限运行,最后给出链接。

若要查看当前 RDP 端口,可使用以下 PowerShell 命令:

Get-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp' -name "PortNumber"

若要修改 RDP 端口,可使用以下命令(以3390为例):

Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\W

若要添加新的 RDP 监听端口,可以这样(未验证):

inStations\RDP-Tcp' -name "PortNumber" -Value 3390
New-NetFirewallRule -DisplayName 'RDPPORTLatest' -Profile 'Public' -Direction Inbound -Action Allow -Protocol TCP -LocalPort 3390

重启生效!

参考文献

Windows Update服务启动弹出“拒绝访问的解决方案

概述

说起 windows 自动更新相信这是让很多人又爱又恨的东西,爱在于它可以带给我们更新更安全的系统,让我们的生活添加一些新意;而恨就在于其常常在我们不知情的情况下强行开始更新并运行很久的时间。

作者对于 windows 自动更新忍无可忍,从注册表层关闭了 windows 自动更新;但是当时年少无知,只图一时爽快,确实很长的一段时间没有再更新,但是当有一天我需要自动更新的时候却发现自动更新的服务怎么也打不开了,具体表现在开启 windows update 服务会提示拒绝访问

经过多次的探索,终于在今天成功开启了自动更新,并开始了一次漫长的更新,第一次感觉到了自动更新是多麽的开心!!在这里记录下这一过程,会开启,会关闭,才算真正学会这一大法,本文介绍方法反之即可作为彻底禁用自动更新的办法!

继续阅读

Windows下纯控制台配置vue环境并创建第一个vue项目

概述

本文叙述如何在windows环境下完全使用cmd控制台配置vue环境并使用控制台创建vue项目,最终使用webstorm运行。

环境配置

第一步:node.js安装

Vue项目通常通过webpack工具来构建,而webpack命令的执行是依赖node.js的环境的,所以首先要安装node.js。node.js的官方地址为:https://nodejs.org/en/download/,下载相应版本。

安装完毕之后,在命令行下验证是否安装成功:输入npm,显示如下就表示安装成功。

第二步:cnpm的安装

安装完node之后,npm包含的很多依赖包是部署在国外的,在天朝,大家都知道下载速度是超级慢啊。所以我们要安装cnpm,cnpm是淘宝对npm的镜像服务器,这样依赖的包安装起来就快多了。 安装命令为:npm install -g cnpm --registry=https://registry.npm.taobao.org~~~~

最好还是科学上网,使用淘宝镜像会出现各种诡异的bug,特此忠告!

第三步:vue-cli的安装

vue-cli是vue官方提供的一个命令行工具,可用于快速搭建大型单页应用。该工具提供开箱即用的构建工具配置,带来现代化的前端开发流程。只需一分钟即可启动带热重载、保存时静态检查以及可用于生产环境的构建配置的项目。 安装命令为:

npm install -g vue-cli

回车,等待安装。

安装完后,检查是否安装成功,输入vue,出现以下提示表示安装成功

控制台新建vue项目

(1)新建一个项目文件夹,命名为 vue-demo,cd到此文件夹,输入:vue init webpack vue-demo,回车,按照如下操作进行初始化:

我们暂时不适用模板提供的测试框架,Karma + Mocha,以及Nightwatch。 (2)项目目录

(3)安装项目依赖的包 cd到vue-demo 文件夹,执行cnpm install,安装依赖包,安装完成之后,项目目录下多了node_modules:

(4)运行项目 在命令行里输入 cnpm run dev,执行完成后启动项目,浏览器出现以下接结果,说明启动成功。注意浏览器的版本,低版本的不支持哦。

在webstorm中打开项目

在webstorm中打开刚刚新建的项目

按照下图指示打开npm

package.json上右键

打开npm

双击dev,等待运行,成功即显示访问域名

运行成功

npm配置

修改仓库源

开始:在cmd中输入

npm config ls

出现npm的配置,你可以看到如下:

其中metrics-registry是远程仓库源

prefix是储存npm下载的包和其他工具的本地仓库地址

更换仓库源:

**npm config set registry http://registry.npm.taobao.org/**

这是淘宝的仓库源,淘宝仓库源和npm仓库源每10分钟同步一次,基本满足你的需求

如果你觉得不满意,可以更换回npm官方仓库源:

npm config set registry http://www.npmjs.org

参考文档