欢迎来到半导体与芯片的世界 - PC&Server OS设置
type: channel
link: http://bennyhe.cn/index.php/category/windows-linux-macos/
items: windows 知识汇总
items: 跨平台且开源的文本扩展器：Espanso
items: Linux自动化脚本工具——AutoKey简介
items: gvim+tmux 和vscode+neovim 的ide 模式
items: 推荐5款Github上有趣的PHP项目
items: 5 分钟，教你从零快速编写一个油猴脚本！
items: 通过公网IP 云服务器做开源免费内网穿透推荐
items: 自己搭建远程桌面服务器-RustDesk
items: 如何快速更换 macOS 应用程序、文件和文件夹的图标
items: 减少windows 系统CPU占用，减小风扇噪声

windows 知识汇总
type: item
date: 2025-12-08T14:40:00+08:00
description: 1 右键菜单添加使用gvim打开方式①打开注册表编辑器，开始-->运行-->regedit②定位到：HKEY_CLASSSES_ROOT---> * --->Shell，在Shell 上右击，新建---> 项，输入： Open With gvim（使用vim打开）③在 Open With gvim 右键--->新建--->字符串值，数值名称设置为：Icon，数值数据设置为：C:\MyProgram\gvim73\gVimPortable\vim\vim73\gvim.exe,0数值名称：Icon数值数据：C:\MyProgram\gvim73\gVimPortable\vim\vim73\gvim.exe,0④在刚才新建的项：Open With gvim 下面添加一个新项：Command修改 Commnad 项右边窗口的数值数据为：C:\MyProgram\gvim73\gVimPortable\vim\vim73\gvim.exe %1C:\MyProgram\gvim73\gVimPortable\vim\vim73\gvim.exe %1上面的设置会带来一个小问题：当文件名的最后一个字符为空格时，使用GVIM打开某个文件时会新建一个空白的文件，而不是直接打开该文件。解决方法：加引号，如下：C:\MyProgram\gvim73\gVimPortable\vim\vim73\gvim.exe "%1"效果如下：本文转自hapjin博客园博客，原文链接：http://www.cnblogs.com/hapjin/，如需转载请自行联系原作者2 windows 家庭版添加gpedit@echo off pushd "%~dp0" dir /b C:\Windows\servicing\Packages\Microsoft-Windows-GroupPolicy-ClientExtensions-Package~3*.mum >List.txt dir /b C:\Windows\servicing\Packages\Microsoft-Windows-GroupPolicy-ClientTools-Package~3*.mum >>List.txt for /f %%i in ('findstr /i . List.txt 2^>nul') do dism /online /norestart /add-package:"C:\Windows\servicing\Packages\%%i" pause

跨平台且开源的文本扩展器：Espanso
type: item
date: 2025-10-26T20:07:00+08:00
description: 不论是在手机还是电脑上，我们在与人交流的过程中常常会形成或用到一些重复性的表述，这些表述的内容长度可多可少，但由于它们被用到频率十分之高，所以我们通常会更喜欢用类似于缩写的方式来代替我们一字一句输入的过程，例如说「yyds」（永远滴神）、「dddd」（懂的都懂）、「nbnhhsh」（能不能好好说话）等。这些缩写或缩略语通常也可以被看作是用户自定义词典，我们不仅可以在操作设备上自定义，也可以在输入法上自定义。不过它们也仅限于定义一些纯文字性质的内容且长度有限，同时这些自定义设置可能会和特定的操作系统相绑定又或是无法完全导出，迁移成本存在过高的情况。但有这么一类应用和自定义词典类似，它们为了用户自定义输入的缩写内容而生，不仅能定义纯文字性质的内容，还具备较强的扩展性，也被称为是文本扩展器（Text Expander）。文本扩展器的作用表现和我们在使用自定义词典时的方式别无二致，都是输入一个特定的表达式，然后就会被替换成我们事先定义好的内容，比如：---------------------------------> [input] #42 ---------------------------------- [output] 意大利面拌 42 号混凝土 <---------------------------------当我们在文本扩展器中事先设置完整内容之后，只要输入 #42 后就会转换成「意大利面拌 42 号混凝土」完整的句子。知名的文本扩展器有 TextExpander，不过它属于付费应用也不是我们此次讨论的主角；而本文我们所介绍的则是另外一款免费、开源、跨平台且基于 Rust 语言编写的文本扩展器——Espanso，它不仅简单易用、体积小巧，且可配置性强，用户不但可以基于命令行配置扩展内容，而且还可以安装来自于社区的第三方扩展包。快速上手因为 Espanso 是一个开箱即用的工具，其安装步骤简单到可以一笔带过：打开 Espanso 官网，点击推荐的系统版本，下载并安装。注：安装完成并启动 Espanso 时需要额外的操作授权，否则 Espanso 可能无法正确运行。当然我们主要是看看如何使用 Espanso。毕竟安装完毕后启动 Espanso 是不会直接显示什么华丽的界面，因为它本质可以算是一个名不见经传的后台程序，只不过以应用的方式活跃在系统后台。使用 Espanso 的方式十分简单，我们只需在任意一个可以输入内容的地方，像输入代码一样先按下英文冒号「:」，然后再输入剩下的指令就可以神奇地看到 Espanso 已经为我们补全了内容。其中由 : 开始的一系列内容称为触发器（Trigger），而补全后的内容也被称为是匹配项（Match）。比如我们现在输入 :date 的触发器指令那么 Espanso 直接会就帮我们将内容替换为表示当天日期的匹配项：就是这么简单！不过你可能会好奇，我是怎么知道 :date 匹配项的呢？我们也可以在状态栏中找到 Espanso 的图表并点击「Open Search Bar」选项或是按下 Option+空格（Windows 上是 Alt+空格）就可以弹出相应的列表与搜索界面：除此之外，因为我前面说了 Espanso 本质是一个后台程序，所以我们可以通过命令行来与之交互（可以在终端上通过 espanso --help 命令获取所有命令）。这里我们为了查看有哪些匹配项，可以直接使用 espanso match list 命令：espanso match list:espanso - Hi there!:date - {{ date }}可以看到 Espanso 并没有内置过多的匹配项，所以要想它能为我们更好地自动补全内容，就需要我们像自定义缩略语或短语一样事先进行人为配置。Espanso 的配置主要有两部分，我们可以通过 espanso path 命令来找到配置文件路径：espanso pathConfig: /Users/Bobot/Library/Preferences/espansoPackages: /Users/Bobot/Library/Preferences/espanso/match/packagesRuntime: /Users/Bobot/Library/Application Support/espanso上述结果中的 Config 部分即为 Espanso 在当前操作系统中的配置存放路径。当中主要包含了两部分配置：$CONFIG/ config/default.ymlmatch/base.yml其中：config 部分的配置主要是针对 Espanso 程序本身，包括自定义补全的触发符号（比如将前面的英文冒号 : 更改为其他符号）、是否只在特定应用内 Espanso 才会生效等等；…

Linux自动化脚本工具——AutoKey简介
type: item
date: 2025-10-26T10:41:00+08:00
description: 下面简介了AutoKey软件的概述、安装和使用方法。了解到这个软件的起因是在Ubuntu中想实现Windows中的自定义短语，但是Ubuntu中的Ibus输入法不是很支持该功能。搜索之后了解到espanso和AutoKey可以实现该功能。另外，AutoKey和WIndows中的AutoHotKey功能很相似，但并不是同一个软件。注：AutoKey目前不支持Wayland协议，只支持Xorg，而Ubuntu22.04默认使用的是Wayland。虽然可以切换，但也很麻烦。生成AI：Claude-3-Opus（POE）官方文档：1. https://github.com/autokey/autokey 2. Welcome to AutoKey!1 AutoKey 简介什么是 AutoKeyAutoKey 是一款开源的 Linux 桌面自动化工具,主要用于自动输入文本和执行预定义的操作。它可以帮助用户将常用的短语、句子或代码片段绑定到缩写或热键上,从而提高输入效率,节省时间。AutoKey 支持纯文本和富文本格式,可以在各种应用程序中使用,如文本编辑器、邮件客户端、IDE 等。AutoKey 的主要功能AutoKey 提供了以下主要功能:文本替换:将预定义的缩写替换为相应的文本内容,支持纯文本和富文本格式。脚本执行:可以将 Python 脚本绑定到缩写或热键上,实现更加灵活和强大的自动化操作。快捷键绑定:可以将缩写或脚本绑定到特定的热键组合,通过按键触发相应的操作。应用程序特定的缩写:可以为特定的应用程序设置专属的缩写,实现更加精准的自动化。文本模板:支持创建包含动态内容的文本模板,如日期、时间、剪贴板内容等。AutoKey 的工作原理AutoKey 的工作原理如下:用户在 AutoKey 中创建缩写,并将其绑定到相应的文本内容或 Python 脚本。AutoKey 在后台监听用户的键盘输入,当检测到与预定义缩写匹配的输入时,触发相应的替换操作。如果缩写绑定的是文本内容,AutoKey 会自动删除缩写,并将绑定的文本内容输入到当前光标所在位置。如果缩写绑定的是 Python 脚本,AutoKey 会执行该脚本,并根据脚本的逻辑执行相应的自动化操作,如模拟按键、粘贴文本、控制窗口等。AutoKey 的优势和适用场景AutoKey 的优势包括:提高输入效率:通过将常用的文本绑定到缩写,可以显著减少输入所需的时间和按键次数。自动化重复性任务:利用 Python 脚本,可以自动执行一些重复性的操作,如数据格式转换、文件处理等。减少错误:预定义的缩写和脚本可以确保输入的一致性和准确性,减少手动输入带来的错误。易于自定义:用户可以根据自己的需求,创建和管理缩写和脚本,实现个性化的自动化。AutoKey 适用于以下场景:编程:可以将常用的代码片段、函数模板绑定到缩写,提高编码效率。文案写作:可以将常用的句子、段落、签名等绑定到缩写,加快写作速度。客户服务:可以将常用的回复模板绑定到缩写,提高响应速度和一致性。数据录入:可以将常用的数据格式、表格模板绑定到缩写,简化录入过程。总之,AutoKey 是一款功能强大、灵活易用的 Linux 自动化工具,通过自定义缩写和脚本,可以显著提高工作效率,适用于各种需要重复输入和操作的场景。2 AutoKey 的安装和配置在 Ubuntu 系统中安装 AutoKey在 Ubuntu 系统中,可以通过两种方式安装 AutoKey:通过 Ubuntu 软件中心安装或使用 apt 命令安装。通过 Ubuntu 软件中心安装打开 Ubuntu 软件中心。在搜索框中输入 "AutoKey",点击搜索。在搜索结果中找到 "AutoKey" 应用,点击 "安装" 按钮。输入用户密码,等待安装完成。使用 apt 命令安装打开终端。输入以下命令,按回车执行:sudo apt updatesudo apt install autokey-gtk输入用户密码,等待安装完成。启动和配置 AutoKey启动 AutoKey安装完成后,可以通过以下方式启动 AutoKey:在 Ubuntu 的应用程序菜单中找到并点击 "AutoKey" 图标。在终端中输入 autokey-gtk 命令,按回车执行。熟悉 AutoKey 的用户界面AutoKey 的主界面由以下几个部分组成:缩写列表:显示所有已创建的缩写。缩写编辑器:用于编辑选中的缩写的内容和属性。工具栏:包含常用的操作按钮,如新建缩写、保存、删除等。菜单栏:提供访问 AutoKey 各种功能和设置的菜单项。创建和管理缩写创建新的缩写在 AutoKey 主界面中,点击工具栏上的 "新建" 按钮,或右键点击缩写列表中的 "My Phrases" 文件夹,选择 "New" > "Phrase"。…

gvim+tmux 和vscode+neovim 的ide 模式
type: item
date: 2025-10-10T14:43:00+08:00
description: vscode 界面安装的插件：vscode+neovim 设置参考这篇文档：http://bennyhe.cn/index.php/archives/327/gvim 的界面：常用功能都有，文件浏览、语法高亮、彩虹括号、括号自动补齐、输入关键词提示，ctag 函数跳转、文档状态、多terminal（tmux）集成等等常用功能。terminal界面采用tmux，配合clipper 工具可以和gvim 文本窗口互相粘贴，可以分页多个terminal。gvim 按照的插件~/.vim/ 下文件夹结构~/.vim/ 下文件（插件）acp.vim auto-pairs.vim grep.vim mark.vim NERD_tree.vim scala.vim Tabular.vim verilog_systemverilog.vim vtreeexplorer.vimairline.vim ctrlp.vim marksbrowser.vim matchit.vim rainbow_parentheses.vim showmarks.vim taglist.vim visual-increment.vim~/.vimrc 文件如下：if v:version >= 900 set scroll=1 let g:airline_scroll_size = 1 " 覆盖插件默认值 endif set number syntax on set showmode set showcmd set hlsearch set autoindent set smartindent set cindent set ts=4 set softtabstop=4 set shiftwidth=4 set noexpandtab set tabstop=4 set cursorline set cursorcolumn set lines=35 columns=100 set ruler set showmatch set wrap noremap <C-S-A> gggH<C-O>G inoremap <C-S-A> <C-O>gg<C-O>gH<C-O>G cnoremap <C-S-A> <C-C>gggH<C-O>G onoremap <C-S-A> <C-C>gggH<C-O>G snoremap <C-S-A> <C-C>gggH<C-O>G xnoremap <C-S-A> <C-C>ggVG noremap <C-S> :update<CR> vnoremap <C-S> <C-C>:update<CR> inoremap <C-S> <Esc>:update<CR>gi if has("clipboard") " CTRL-X and SHIFT-Del are Cut vnoremap <C-A-X> "+x vnoremap <S-Del> "+x " CTRL-C and CTRL-Insert are Copy vnoremap <C-A-C> "+y vnoremap <C-Insert> "+y " CTRL-V and SHIFT-Insert are Paste map <C-A-V> "+gP map <S-Insert> "+gP cmap <C-A-V> <C-R>+ cmap <S-Insert> <C-R>+ endif "source $VIMRUNTIME/mswin.vim behave mswin set guifont=Monospace\ 14 set linespace=4 colorscheme evening "unmap <C-V> "unmap <C-A> "unmap <C-C> "unmap <C-X> " copy paste map <C-Insert> "+y map <S-Insert> "+gP "Mouse could be controled when INSERT model set mouse=a set selection=exclusive set selectmode=mouse,key "============================= " showmarks setting "============================= " Enable ShowMarks let showmarks_enable = 1 " Show which marks let showmarks_include = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" " Ignore help, quickf…

推荐5款Github上有趣的PHP项目
type: item
date: 2025-09-03T17:16:20+08:00
description: 原创php中文网php中文网课程2022年11月16日17：00安徽1.Piwigo（一款开源在线相册应用）项目地址：https://github.com/Piwigo/Piwigo采用 PHP+MySQL 开发的管理照片的 Web 项目，它功能强大安装简单，拥有丰富的主题和灵活的插件，可轻松完成个性化定制。支持 iOS 和 Android 客户端，让你可以随时随地上传、管理照片。2.SyncMusic（在线弹幕点歌台）项目地址：https://github.com/kasuganosoras/SyncMusic基于 PHP Swoole 开发的在线弹幕点歌台。支持自由点歌、切歌、调整排序、删除指定音乐以及基础权限分级3.freenom（免费域名自动续期工具）项目地址：https://github.com/luolongfei/freenom因为顶级免费域名供应商 Freenom，提供的免费域名需要每年续期，该项目可以自动完成域名续期，让你轻松拥有免费的顶级域名。4.dootask（在线项目管理平台）项目地址：https://github.com/kuaifan/dootask功能包括任务分配、文档协作、即时 IM、文档协作、文件管理等5.server（开源云存储平台）项目地址：https://github.com/nextcloud/server开源云存储平台，功能齐全，可以用于搭建公司内部的云存储平台来自微信

5 分钟，教你从零快速编写一个油猴脚本！
type: item
date: 2025-08-28T10:46:17+08:00
description: 1T服务圈儿2022年05月07日17：30江苏来源：经授权转自 AirPython（ID：AirPython）作者：星安果Tampermonkey，又称 Greasemonkey 油猴脚本，是一款免费的浏览器扩展，可用于管理用户脚本，它本质上是对浏览器接口的二次封装油猴脚本可用于更改页面布局样式、完成页面自动化、去广告、下载影视等功能，适用于主流的浏览器官网：https://www.tampermonkey.net/index.php介绍Tampermonkey 特点包含：内置的编辑器，可以非常方便地管理、编辑用户脚本支持自动更新检查功能标签中脚本运行状态速览可以通过压缩文件、云存储进行脚本备份及还原通过面板新建一个用户脚本，默认会生成一个模板，模板内容如下：模板中会预设部分元数据，用于定义脚本的名称、版本号、更新方式、运行页面、权限等功能常见的元数据包含：@name - 油猴脚本的名称 @namespace 脚本的命名空间，用于确定脚本的唯一性 @version 脚本的版本号，用于脚本的更新 @description 脚本的描述信息 @author 作者 @require 定义脚本运行之前需要引入的外部 JS，比如：jQuery @match 使用通配符执行需要匹配运行的网站地址 @exclude 排除匹配到的网站 @grant 指定脚本运行所属的权限 @connect 用于跨域访问时指定的目标网站域名 @run-at 指定脚本的运行时机 @icon 用于指定脚本的图标，可以设置为图片 URL 地址或 base64 的字符串常见 API油猴提供了很多强大的 API，用于操作缓存及窗口等，如果不需要使用这些 API，可以声明权限为 none，即：@grant none2-1 打印日志用于在控制台中打印日志，便于调试// 授权 @grant GM_log // 在控制台打印日志 GM_log("Hello World");2-2 缓存管理包含对缓存的新增、获取、删除，在使用之前我们都需要使用关键字 @grant 进行授权//授权 // @grant GM_setValue // @grant GM_getValue // @grant GM_deleteValue //设置缓存 GM_setValue("hello", true); //获取缓存，默认值为true GM_getValue("hello", true); //删除缓存 GM_deleteValue("hello")2-3 缓存监听有时候，我们需要对缓存中的某个键的值进行监听，当发生变化时，调用一个方法事件比如，这里新增了一个监听器，对键名为 hello 的值进行监听// 授权 // @grant GM_addValueChangeListener // @grant GM_removeValueChangeListener // 添加一个监听器 const listener_id = GM_addValueChangeListener('hello', function(name, old_value, new_value, remote){ if(hello == false){ //具体的调用方法 //.... } }) //监听监听器 GM_removeValueChangeListener(listener_id);2-4 打开一个标签格式：GM_openInTab(url, options)该 API 可用于打开一个新的标签页面其中，第一个参数用于指定新标签页面的 URL 地址，第二个参数用于指定页面展示方式及焦点停留页面// 授权 // @grant GM_openInTab // 打开新页面 var onpenNewTap = function (){ //打开百度页面 //active:true，新标签页获取页面焦点 //setParent :true:新标签页面关闭后，焦点重新回到源页面 newTap = GM_openInTab("https://www.baidu.com",{ active: true, setParent :true}); ...2-5 跨域请求在授予 GM_xmlhttpRequest 权限之后，就可以跨域发送请求了PS：第一次跨域请求时，会弹出请求对话框，需要选中允许，才能正常进行跨域请求// 授权 // @grant GM_xmlhttpRequest ... GM_xmlhttpRequest({ url:"http://www.httpbin.org/post", method:'POST', headers: { "content-type": "application/json" }, data:"", o…

通过公网IP 云服务器做开源免费内网穿透推荐
type: item
date: 2025-08-28T10:32:00+08:00
description: 本文以渗透的视角，总结几种个人常用的内网穿透，内网代理工具，介绍其简单原理和使用方法。nps1.1 简介nps是一款轻量级、高性能、功能强大的内网穿透代理服务器。目前支持tcp、udp流量转发，可支持任何tcp、udp上层协议（访问内网网站、本地支付接口调试、ssh访问、远程桌面，内网dns解析等等……），此外还支持内网http代理、内网socks5代理、p2p等，并带有功能强大的web管理端。一台有公网IP的服务器（VPS）运行服务端（NPS）一个或多个运行在内网的服务器或者PC运行客户端（NPC）1.2 特点Go语言编写支持跨平台支持多种协议的代理web管理端1.3 使用方法https://github.com/ehang-io/nps/releasesNPS安装配置找到自己服务器相应版本的server： cd ~ wget https://github.com/cnlh/nps/releases/download/v0.23.2/linux_amd64_server.tar.gz tar xzvf linux_amd64_server.tar.gz cd ~/nps在nps目录下面会有一个nps可执行文件、conf配置目录和web网页目录，我们只需要修改conf/nps.conf即可：vim conf/nps.conf需要改一下#web下面的几个参数，web_host= 服务器IP或者域名 web_username= admin（登录用户名） web_password= 你的密码 web_port=8080（web管理端口）修改#bridge 可以更改 NPC的连接端口。比如我们拿到一台权限受限的服务器，有防火墙，可能只有部分端口（80，443）可以出网，就需要修改成出网端口。##bridge bridge_type=tcp bridge_port=443 # 修改连接端口 bridge_ip=0.0.0.0启动#Mac/Linux ./nps test|start|stop|restart|status 测试配置文件|启动|停止|重启|状态 #Windows nps.exe test|start|stop|restart|status 测试配置文件|启动|停止|重启|状态NPC./npc -server=你的IP:8024 -vkey=唯一验证密码 -type=tcp新建好客户端后，也可以在+中看到，详细的客户端连接命令：web管理端在客户端界面可以通过新增的方式添加客户端连接，每一个连接的vkey都是唯一区分的。每一个客户端，在建立连接后，都可以建立多个不同协议的隧道，这一个个隧道就是不同的代理了。通过不同的协议和端口就可以连接代理的内网机器。frp2.1 简介frp 是一个专注于内网穿透的高性能的反向代理应用，支持 TCP、UDP、HTTP、HTTPS 等多种协议。可以将内网服务以安全、便捷的方式通过具有公网 IP 节点的中转暴露到公网。2.2 特点客户端服务端通信支持 TCP、KCP 以及 Websocket 等多种协议。端口复用，多个服务通过同一个服务端端口暴露。跨平台，但是支持的比nps少一点多种插件，提供很多功能2.3 使用方法下载：https://github.com/fatedier/frp/releases以下内容摘自：https://segmentfault.com/a/11900000218768361. 通过 rdp 访问家里的机器1.修改 frps.ini 文件，为了安全起见，这里最好配置一下身份验证，服务端和客户端的 common 配置中的 token 参数一致则身份验证通过：# frps.ini [common] bind_port = 7000 # 用于身份验证，请自行修改，要保证服务端与客户端一致 token = abcdefgh启动 frps：./frps -c ./frps.ini修改 frpc.ini 文件，假设 frps 所在服务器的公网 IP 为 x.x.x.x：# frpc.ini [common] server_addr = x.x.x.x server_port = 7000 # 用于身份验证，请自行修改，要保证服务端与客户端一致 token = abcdefgh [rdp] type = tcp local_ip = 127.0.0.1 local_port = 3389 remote_port = 6000启动 frpc：./frpc -c ./frpc.ini5.通过 rdp 访问远程的机器，地址为：x.x.x.x:6000开机自启针对 Windows 系统，为了便于使用，可以配置一下开机的时候静默启动。1.在 frpc.exe 的同级目录创建一个 start_f…

自己搭建远程桌面服务器-RustDesk
type: item
date: 2025-08-03T08:01:00+08:00
description: 1.RustDesk简介此软件主要功能为远程各种设备（其中包括Windows、macOS、Linux、iOS、Android、Web等）支持文件传输（可直接拷贝远程电脑的文件，类似向日葵的远程文件）支持内网穿透（支持端口映射，TCP/UDP，支持Windows默认远程桌面应用）最主要优点为可远程Android，本人最爱，简单配置，可帮助老家父母直接操控手机，解决他们使用手机过程中的问题2.同类型软件对比（我已知的）2.1 向日葵①网络差②不能高清分辨率③不支持自建服务器④使用第三方网络转发不安全⑤不支持内网穿透（端口映射）⑥不能满足所有设备（我知道的安卓就不可以）2.2 frp①部署不方便②只能使用Windows自带远程桌面③每次端口映射都需要修改配置文件并且重启服务④不能满足所有设备（好像只能电脑使用）2.3 TeamViewer不过多介绍 好多年就不用了（我记的疫情期间居家办公直接卡的要死，之后就没在用过）2.4 ToDesk/RayLink①不能满足所有设备（安卓不能使用）②不支持自建服务器③使用第三方网络转发不安全④不支持内网穿透（端口映射）————————————————1.拉取RustDesk镜像sudo docker image pull rustdesk/rustdesk-server阿里云加速使用这个sudo docker image pull thtom/rustdesk-server2.启动hbbs服务sudo docker run --name hbbs -p 21115:21115 -p 21116:21116 -p 21116:21116/udp -p 21118:21118 -v pwd:/root -td --net=host rustdesk/rustdesk-server hbbs阿里云加速使用这个sudo docker run --name hbbs -p 21115:21115 -p 21116:21116 -p 21116:21116/udp -p 21118:21118 -v pwd:/root -td --net=host thtom/rustdesk-server hbbs3.启动hbbr服务sudo docker run --name hbbr -p 21117:21117 -p 21119:21119 -v pwd:/root -td --net=host rustdesk/rustdesk-server hbbr阿里云加速使用这个sudo docker run --name hbbr -p 21117:21117 -p 21119:21119 -v pwd:/root -td --net=host thtom/rustdesk-server hbbr4.查看Docker容器启动情况docker ps -a确认hbbs、hbbr容器为Up状态命令解释替换路径和域名的地方加了个[]，是为了便于区分，替换的时候记得删除。“-p 26115:21115” ： 26115 是docker宿主机（本机端口），21115 是RustDesk 的默认端口， 如果不修改默认端口 请使用“-p 21115:21115”，其他的端口映射类似--name 是定义了 docker 实例的名称，可以方便引用-v 是docker宿主机到容器内的文件映射“rustdesk/rustdesk-server hbbr” 是带 hbbr或者hbbs 参数启动-r [你的地址（IP/域名）]:26116 是 在你的指定端口监听 ，默认端口是 21116 开放端口默认情况下，hbbs 监听21115(tcp), 21116(tcp/udp), 21118(tcp)，hbbr 监听21117(tcp), 21119(tcp)。务必在防火墙开启这几个端口， 请注意21116同时要开启TCP和UDP 。其中21115是hbbs用作NAT类型测试，21116/UDP是hbbs用作ID注册与心跳服务，21116/TCP是hbbs用作TCP打洞与连接服务，21117是hbbr用作中继服务, 21118和21119是为了支持网页客户端。如果您不需要网页客户端（21118，21119）支持，对应端口可以不开。TCP( 21115, 21116, 21117, 21118, 21119 )UDP( 21116 )加密key自定义key在上述的开启 hbbs和hbbr 命令中 后面加上参数 “-k [你的自定义key]”docker run --name hbbs -p 26115:21115 -p 26116:21116 -p 26116:21116/udp -p 26118:21118 -v [你的自定义地址/hbbs]:/roo…

如何快速更换 macOS 应用程序、文件和文件夹的图标
type: item
date: 2025-07-29T11:17:00+08:00
description: icns是啥？第一步 生成不同尺寸的png图标创建icons.iconset文件夹用来放置不同尺寸的图标注：此文件夹名必须以.iconset结尾，否则生成icns文件时会报错，报错信息为invalid iconsetAI生成项目只做不同分别率图标可以直接使用在线网站https://onlinecooltools.com/zh/image-to-icon-converter或者格式工厂转换生成。在命令行中进入目录，并执行以下命令（可以批量复制粘贴执行）sips -z 16 16 pic.png --out icons.iconset/icon_16x16.pngsips -z 32 32 pic.png --out icons.iconset/icon_16x16@2x.pngsips -z 32 32 pic.png --out icons.iconset/icon_32x32.pngsips -z 64 64 pic.png --out icons.iconset/icon_32x32@2x.pngsips -z 64 64 pic.png --out icons.iconset/icon_64x64.pngsips -z 128 128 pic.png --out icons.iconset/icon_64x64@2x.pngsips -z 128 128 pic.png --out icons.iconset/icon_128x128.pngsips -z 256 256 pic.png --out icons.iconset/icon_128x128@2x.pngsips -z 256 256 pic.png --out icons.iconset/icon_256x256.pngsips -z 512 512 pic.png --out icons.iconset/icon_256x256@2x.pngsips -z 512 512 pic.png --out icons.iconset/icon_512x512.pngsips -z 1024 1024 pic.png --out icons.iconset/icon_512x512@2x.pngAI生成项目pic.png替换为你的图片文件路径，尺寸要求为1024x1024这一步会在icons.iconset目录下生成若干不同尺寸的图标，用来下一步生成icns图标第二步 生成icns图标iconutil -c icns icons.iconset -o Icon.icnsAI生成项目这步之后可以在目录下面看到Icon.icns图标，就可以使用了。或者直接使用在线网站https://www.aconvert.com/cn/image/png-to-icns/ 直接从png 转换为icns， tvbox 的icns 已经生成上传自己的wps 网盘更换图标打开「访达」「Finder」，左侧边栏中中选择「应用程序」文件夹，然后找到要更改图标的应用程序，鼠标左键点一下让 App 处于高亮选中状态 按下command + i 打开 App 的「简介」界面，也可以点击「标题栏」中的「简介」的小按钮选择新的图标文件，鼠标左键点击不松拖动到「简介」左上角的图标框上，然后松开鼠标左键即可如果应用程序在「程序坞」「Dock」上，此时只需 command + 鼠标左键点击应用图标可以立即查看更换后效果3.app 修改名字点击左侧的dock上面的访达图标。在访达内点击左侧边栏上面应用程序文件夹。点击选择需要修改名字的软件，右键软件选择重命名。等待软件上面有个黑色的框或者是文字变成黄色再次点击一下，并且输入新的名字。输入后在软件外围点击一下即可生效，这样做软件已经改名完毕了。

减少windows 系统CPU占用，减小风扇噪声
type: item
date: 2025-07-17T10:03:20+08:00
description: 1、禁用 Windows 10/11 开始菜单网络搜索微软从 Windows 10 开始，在开始菜单里集成了 Bing 网络搜索，当输入的搜索词在本地无结果，就会调用 Bing 进行网络搜索。如果我们输入的是敏感信息，就很容易导致隐私泄露。 解决办法就是禁用网络搜索！禁用方法：修改注册表方法适用于 所有版本 Windows 10/11 。第一步使用组合键 Win + R 打开 “运行” 窗口，输入 regedit，确定，打开注册表。第二步找到目录 HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows，右键 Windows -> “新建” -> “项”，创建名称为 Explorer 的项。第三步右键刚刚创建的 Explorer 项，选择 “新建” -> “DWORD(32位)值”，创建名称为 DisableSearchBoxSuggestions 的值。第四步右键刚刚创建的 DisableSearchBoxSuggestions，选择 “修改”，将 “数值数据” 改为 1，确定。重启系统重启系统后，修改就会生效。恢复方法如果你想重新启用开始菜单的网络搜索功能，只需要打开注册表，把我们刚刚创建的 Explorer 目录删除，重启系统即可。Microsoft Windows Search 搜索器 占用CPU解决办法当我正在愉快的使用电脑时，突然小风扇呜呜的转了起来，这声让人很是抓狂！！！ 我想您肯定也有这样的感受。打开任务管理器一看，某进程占用了大量的CPU资源，导致电脑性能下降，并疯狂消耗电力并释放热量，小风扇不抓狂旋转才怪。除了病毒之外，微软Microsoft Windows Search 搜索器这一进程疯狂占用CPU是比较常见一个，在此结合自己经验给出一些亲测有效的解决方法。搜索器使CPU狂飙的主要原因：在建立索引所包含的位置拷贝了大量文件，导致Microsoft Windows Search 搜索器开始疯狂工作为这些新文件建立索引。解决办法：打开 控制面板，找到 索引选项，点击 修改(M)，将不需要建立索引的位置勾选掉即可。禁用一些windows 服务禁用 Windows 10 更新把diagnostic开头的都停止+禁用 //诊断策略,对普通用户来说除了浪费资源并没有什么卵用按需要把windows update,windows备份之类的都关了禁用windows search删除常驻进程软件删除360，安全软件就是系统自带windows defender设置wsa 为需要时启动，wsa 已经不再微软支持，可以使用腾讯应用宝支持apk程序，或者可以在桌面建立apk 启动快捷方式的虚拟机，比如blue stack等等