如何禁止电脑开机时自动连接蓝牙耳机

前言 由于电子设备比较多,蓝牙耳机配对的设备也比较多,这就引起了一个问题,本来连着手机听歌听的好好的,电脑开机之后就会自动抢占蓝牙耳机的信号,导致我还得重新在手机上连接耳机,严重影响听歌体验,于是就查询了如何禁用电脑自动连接的行为,希望这篇文章对你也有用。 如何操作 编辑 /etc/bluetooth/main.conf 这个文件: sudo vim /etc/bluetooth/main.conf 找到这些内容: # AutoEnable defines option to enable all controllers when they are found. # This includes adapters present on start as well as adapters that are plugged # in later on. Defaults to 'true'. # AutoEnable=true 修改配置文件,禁用自动连接: AutoEnable=false 重启设备,测试效果。

四月 17, 2023 · Aimer Neige
Friend Link

在 PaperMod 博客中添加友链

PaperMod 是一个非常棒的博客主题,但是它不支持友链,所以你要自己写一些代码。 完整代码 把下面的代码存储在 layouts/shortcodes/friends.html 用法 在 data/friends.yml 中添加你的友链数据,示例: - title: "伞" intro: "一只咸鱼的学习记录" link: "https://umb.ink/" image: "https://avatars.githubusercontent.com/u/53655863?v=4" - title: "HelloWorld的小博客" intro: "这里是一个小白的博客" link: "https://mzdluo123.github.io/" image: "https://avatars.githubusercontent.com/u/23146087?v=4"

三月 12, 2023 · Aimer Neige
lxgw

在 PaperMod 博客中设置自定义字体

下载字体 下载你需要的字体,并存储在 static/fonts 导入字体 @font-face { font-family: "LXGWWenKai-Regular"; src: url("/fonts/lxgw-wenkai/LXGWWenKai-Regular.ttf") format("truetype"); } 应用字体 body { font-family: LXGWWenKai-Regular; } 在 PaperMod 中应用 把你自己的 css 文件文件放在 assets/css/extended/custom_fonts.css 导入多字重的字体文件 @font-face { font-family: "LXGWWenKai"; src: url("/fonts/lxgw-wenkai/LXGWWenKai-Light.ttf") format("truetype"); font-weight: lighter; font-style: normal; } @font-face { font-family: "LXGWWenKai"; src: url("/fonts/lxgw-wenkai/LXGWWenKai-Regular.ttf") format("truetype"); font-weight: normal; font-style: normal; } @font-face { font-family: "LXGWWenKai"; src: url("/fonts/lxgw-wenkai/LXGWWenKai-Bold.ttf") format("truetype"); font-weight: bold; font-style: normal; } 使用 CDN @import url('https://cdn.jsdelivr.net/npm/jetbrains-mono@1.0.6/css/jetbrains-mono.min.css'); code { font-family: 'JetBrains Mono'; } 参考链接 Sulv’s Blog - Hugo博客自定义字体 PaperMod - FAQs StackOverflow - Using custom fonts using CSS?...

三月 2, 2023 · Aimer Neige
go banner

如何给 Go 的结构体添加多个 tag

本来很简单的东西,但是老忘,干脆写个博客吧 错误写法 type Page struct { PageId string `bson:"pageId",json:"pageId"` Meta map[string]interface{} `bson:"meta",json:"pageId"` } 正确写法 type Page struct { PageId string `bson:"pageId" json:"pageId"` Meta map[string]interface{} `bson:"meta" json:"pageId"` } 很多 Tag Items []Item `gorm:"column:items,type:varchar(255);comment:'sample column'" json:"items"` 参考链接 StackOverflow - How to define multiple name tags in a struct

二月 26, 2023 · Aimer Neige
Golang Context

Golang Context

前言 有时我们要通过第三方服务获取数据,它可以是外部提供的 API,也可以是微服务的接口等等,总之,它们有相同的问题:“获取数据可能需要大量时间”。如果在代码中同步地获取这些数据,程序就会花时间等待这些服务响应,而这些等待会严重影响程序的运行效率,而且一旦这些服务崩溃,我们的程序就会陷入无休止的等待中,那么如何解决这个问题呢?可以使用 Go 的 context 包。 问题 我们用这个函数来替代那些第三方服务。我们直接使用 time.Sleep() 函数来模拟一个耗时过程,在现实场景中,它可能是在执行一个非常复杂的 SQL 查询,也可以是调用一个人工智能服务接口。当然,这个耗时是不确定的,甚至有可能是无穷大(卡死)。 func fetchThirdPartyStuffWhichCanBeSlow() (int, error) { time.Sleep(time.Millisecond * 500) return 64, nil } 如果我们不做任何处理,直接调用这个函数,就像这样: func foo() { // some code here ... val, err := fetchThirdPartyStuffWhichCanBeSlow() if err != nil { log.Fatal(err) } // some code here ... } 上面的代码如果用在一些只执行一次的脚本、工具中,并不会带来严重后果,无非多等一下就好了,即使有问题也可以关掉程序检查一下第三方服务。但是如果上面的代码用在一个承载大流量的 web 服务中,程序在执行完耗时代码后还要继续执行一些重要的业务功能,那么这样直接调用而不加考虑的代码很可能是致命的。一旦第三方服务出现问题,程序没有任何机制检查和处理,而是直接陷入无休止的等待。这显然是不合理的。 解决方案 要解决上述的问题,比较常见的思路是引入一个主动停止耗时服务的功能,这样如果耗时函数花了太多时间执行,程序就可以感知到,并主动干预。 在后文中,我们假设我们要使用用户的 ID 访问用户的数据,且调用三方服务的代码被单独封装为 fetchUserData()。 使用 Channel 如果不使用本文要介绍的 Context,传统的思路是使用 Channel + Select 来处理: type Response struct { value int err error } func fetchUserData(userID int) (int, error) { stop := make(chan bool) respch := make(chan Response) go func() { val, err := fetchThirdPartyStuffWhichCanBeSlow() respch <- Response{ value: val, err: err, } }() go func() { time....

二月 3, 2023 · Aimer Neige
Minecraft Java Edtion

如何搭建 Minecraft Mod 服务器

使用 PaperMC 安装 PaperMC 下载 PaperMC 提供的 jar 包,存储在恰当位置即可。 启动 PaperMC java -Xms2G -Xmx2G -jar paper.jar --nogui 下面是官方提供的优化后的启动脚本: java -Xms10G -Xmx10G -XX:+UseG1GC -XX:+ParallelRefProcEnabled -XX:MaxGCPauseMillis=200 -XX:+UnlockExperimentalVMOptions -XX:+DisableExplicitGC -XX:+AlwaysPreTouch -XX:G1NewSizePercent=30 -XX:G1MaxNewSizePercent=40 -XX:G1HeapRegionSize=8M -XX:G1ReservePercent=20 -XX:G1HeapWastePercent=5 -XX:G1MixedGCCountTarget=4 -XX:InitiatingHeapOccupancyPercent=15 -XX:G1MixedGCLiveThresholdPercent=90 -XX:G1RSetUpdatingPauseTimePercent=5 -XX:SurvivorRatio=32 -XX:+PerfDisableSharedMem -XX:MaxTenuringThreshold=1 -Dusing.aikars.flags=https://mcflags.emc.gs -Daikars.new.flags=true -jar paper.jar --nogui 安装 datapack 关掉已启动的服务器,将 datapack 存储在 papermc/world/datapacks 文件夹下,重启服务器即可。(如果不存在就新建一个) 安装插件 关掉已启动的服务器,将下载好的插件存储在 papermc/plugins 文件夹下,重启服务器即可。(如果不存在就新建一个) 配置服务器 PaperMC 提供了非常多的服务器修改配置,具体请查阅 官方文档。 对于 mod 的说明 PaperMC 并不兼容 Fabric 的 mod。如果需要使用 Fabric 的 mod,请参考下面的内容使用 Fabric 服务器。...

一月 26, 2023 · Aimer Neige
Desktop File

如何编写 .desktop 文件

前言 在 Linux 系统中,经常会遇到一些软件只提供了可执行文件,而并没有提供可以通过包管理安装的途径,常见于 AppImage 封装的软件,这时候每次需要运行软件都需要通过终端来执行,非常麻烦。不过这个问题可以通过手动编写 .desktop 文件来解决,这样这些可执行文件就可以和其他软件一样拥有桌面图标。 用法 使用 vim 或其他文本编辑器直接编写 .desktop 文件后将其置于如下路径之一即可: /usr/share/applications/ /usr/local/share/applications/ ~/.local/share/applications/ 示例 来自 Arch Linux Wiki 的示例 [Desktop Entry] # The type as listed above Type=Application # The version of the desktop entry specification to which this file complies Version=1.0 # The name of the application Name=jMemorize # A comment which can/will be used as a tooltip Comment=Flash card based learning tool # The path to the folder in which the executable is run Path=/opt/jmemorise # The executable of the application, possibly with arguments....

一月 25, 2023 · Aimer Neige
Minecraft Java Edtion

如何搭建你自己的 Minecraft 服务器

阅前须知 本文章面向具有一定运维经验的用户,不面向小白 本文章介绍的 Minecraft 是 Java 版本的 Minecraft 本文章只介绍纯净服的搭建,不会说明如何安装 mod 如非特殊说明,本文中出现的 “我的世界” 均指代 Minecraft 的中文翻译,而不是由网易代理的 “我的世界” 准备 可供外部连接的服务器 基础 Linux 知识 安装 首先要确定你的服务器是否可以被外部连接 有公网 IP 如果你有公网 IP,可以直接使用你的主机作为服务器,相当于你有一台私有的云服务器。 没有公网 IP 如果你没有公网 IP,你需要购买一台云服务器,这样,你就拥有了一个可供外部连接的公网 IP。 如果你对服务器配置要求较高,本地也有闲置主机可以用来跑 Minecraft 服务器,可以通过 frp 将本地的主机穿透出去,以供外部连接。这样云服务器的配置就可以很低,只负责转发网络数据。 如果你对服务器的配置要求不高,也不想本地 24 小时开着一台机器,可以直接使用云服务器来跑 Minecraft 服务器。 至于你需要多高的配置来运行 Minecraft 服务器,可以参考 Wiki 的内容: 确保服务器可以被外部连接后,安装 Minecraft 下载服务器文件 在 官网 下载服务器运行所需的 jar 文件。 官方只提供最新版的文件,如果你需要历史版本,使用官方启动器下载。 运行服务器 直接使用官网的示例指令运行 jar 文件: java -Xmx1024M -Xms1024M -jar minecraft_server.1.19.3.jar nogui 如果你有更高的内存,可以修改 -Xmx1024M -Xms1024M 这一部分。...

一月 12, 2023 · Aimer Neige
Ubuntu qBittorrent-nox

在 Ubuntu 服务器上安装 qBittorrent-nox

在 Ubuntu 服务器上安装 qBittorrent-nox 更新系统 sudo apt update && sudo apt upgrade -y 导入 qBittorrent-nox 稳定版本的源 sudo add-apt-repository ppa:qbittorrent-team/qbittorrent-stable -y 导入 qBittorrent-nox 非稳定版本的源(每夜版) sudo add-apt-repository ppa:qbittorrent-team/qbittorrent-unstable -y 更新源 sudo apt update 安装 qBittorrent-nox sudo apt install qbittorrent-nox -y 创建用户和用户组 sudo adduser --system --group qbittorrent-nox # on fedora sudo groupadd qbittorrent-nox 将你添加到用户组中 sudo adduser your-username qbittorrent-nox # on fedora sudo usermod -aG qbittorrent-nox your-username 创建 service 文件 sudo vim /etc/systemd/system/qbittorrent-nox.service [Unit] Description=qBittorrent Command Line Client After=network....

十一月 11, 2022 · Aimer Neige
Fedora WeChat

在 Fedora 系统上安装微信

在 Fedora 系统上运行微信 安装 wine sudo dnf install wine 调整缩放比例 输入下面的指令打开 winecfg winecfg 在 Graphics 一栏中调整合适的 dpi 以保证有舒适的使用体验。(4k 屏幕,192 dpi) 下载并配置字体 依次执行如下指令即可 sudo dnf install cabextract sudo dnf install winetricks winetricks corefonts gdiplus riched20 riched30 下载并安装微信 直接下载官方的 exe 安装包(在网页下载也是一样的) wget https://dldir1.qq.com/weixin/Windows/WeChatSetup.exe 使用 wine 启动微信 wine ./WeChatSetup.exe 接下来按照 Windows 的安装逻辑点击下一步安装好微信 安装结束后可以删除安装包 修改语言设置 修改这个文件 vim ~/.local/share/applications/wine/Programs/WeChat/WeChat.desktop 调整 Exec 这一部分,添加如下环境变量 env LC_ALL="zh_CN.UTF8" 最终结果应该是这样(注意路径) [Desktop Entry] Name=WeChat Exec=env LC_ALL="zh_CN.UTF8" env WINEPREFIX="/home/aimer/.wine" wine C:\\\\ProgramData\\\\Microsoft\\\\Windows\\\\Start\\ Menu\\\\Programs\\\\WeChat\\\\WeChat.lnk Type=Application StartupNotify=true Path=/home/aimer/....

十一月 10, 2022 · Aimer Neige