Tuesday, March 18, 2025

基于Cherrystudio和DeepSeek搭建本地知识库

 一 下载并安装Cherrystudio


1.下载网址:https://cherry-ai.com/(谷歌浏览器支持安装文档正常下载。不建议选择网盘下载,因为网盘下载还要求下载夸克网盘,有些麻烦)。


2.安装Cherrystudio
Image

二 获取硅基流API Key


1.注册硅基流动账号。网址为:https://account.siliconflow.cn/zh/login


2.获取硅基流动API Key。登录硅基流动网站,打开“账户管理/API密钥”菜单,点击“新建API密钥”。新建密钥、命名,并拷贝密钥。
Image


三 在Cherrystudio中配置

取硅基流API Key


1.在“模型服务”菜单中,选择“硅基流动”,粘贴硅基流动的API密钥(或点击“获取”),检查API密钥,确保连接成功(硅基流动处于“on”的状态)。
Image


2.点击“管理”按钮,点击【+】添加模型,添加deepseek-R1(推理模型)和deepseek-V3(混合专家模型)。
Image



四 搭建本地知识库


1.添加嵌入式模型。点击“嵌入”按钮,点击【+】嵌入“BAAI/bge-m3”模型(免费)。
Image


2.添加知识库。在“知识库”菜单下,添加知识库“XBRL知识库”,命名并选择嵌入模型。
Image


3.添加知识文档。点击需要添加文档的知识库“XBRL知识库”,将文档、目录、网址、站点、笔记等添加到知识库中。
Image

五 基于本地知识库进行问答


1.回到聊天界面,选择模型,选择知识库,开始对话。
Image

至此,基于【硅基流动API + Cherrystudio】的本地知识库搭建完成。根据CherryStudio知识库教程可知,在 Cherry Studio 知识库中添加的数据全部存储在本地,在添加过程中会复制一份文档放在 Cherry Studio 数据存储目录。


六 添加联网搜索


1.配置网络搜索引擎API密钥。在CherryStudio“设置/网络模型”菜单下,获取“tavily”密钥。作为研究者,每月可免费使用1000次搜索。
Image

2.在对话框使用时,可以点亮“联网搜索”功能。在检索过程中,即可同时基于指定知识库和联网搜索的网络资料回答问题。经测试后,答案非常精准。但因某些制度,在制定过程中不是考虑计算机阅读和理解的,因此在提问时,需要制定使用复杂制度条款的原则。

https://mp.weixin.qq.com

Thursday, March 13, 2025

utools怎么使得开始菜单里的快捷方式可以快速执行

 Alt+Sapce 打开utools,直接输入设置或者点击右上角的utools图标,选择 设置 再选择文档启动,将想要快捷打开的软件,快捷方式,文档,文档夹(下图2)快捷方式、文档或文档夹拖到此窗口即可。

 https://juejin.cn/post/6975091944657551367

utools在D盘创建C盘配置文件的软链接

 uTools默认是安装在C盘的,我们可以通过给uTools文档夹创建一个软连接来改变文档的实际位置。
    退出uTools
    win+R 后输入 %APPDATA%,找到uTools文档夹(假设目前uTools文档夹的路径是 C:\Users\fakeuser\AppData\Roaming\uTools)
    选中uTools文档夹,剪切到你想要的任何位置(你没看错是剪切)(假设剪切后uTools文档夹的路径为 D:\fakepath\uTools)
    4. win+R 后输入 cmd,打开cmd窗口
    在cmd窗口中输入mklink /d "C:\Users\fakeuser\AppData\Roaming\uTools" "D:\fakepath\uTools",回车(记得替换路径)

完成上述操作后,你会发现原来的AppData目录中出现了一个类似快捷方式的uTools目录,但是仅仅是类似,实际上是创建了一个软链接,普通的快捷方式是没法达到这个目的的。

这样就能让uTools不占用C盘空间,将数据储存到其他地方了。

https://blog.csdn.net/H_jrqn/article/details/126525311

Thursday, February 20, 2025

用QPython实现使用android的自动化操作[AutoPy]

Qpython AutoPy.py作者记录

使用方法:

1.安装我的AutoPy.apk

1.1 授权无障碍辅助权限(重要)

1.2 授权文档读写权限(重要)

2.点击安装Dian模块

3.打开开发者选项的显示指针位置

4.测试点击,测试拖动,

1150532-20200103140724768-1082716535.png

如图则可以正常使用

qpython里面的使用方法:

在qpython中使用,第一步要导入Dian文档,该文档目前共有两个方法,一个是实现点击,一个是实现拖动的,在这两个功能的配合下可以完成大部分自动化操作

1.点击:(方法名:tap(x,y))

#第一个参数x为,点击屏幕上的x坐标

#第二个参数y为,点击屏幕上的y坐标

#使用方法为:

improt Dian#导入Dian文档

Dian.top(100,100)#点击x:100,y:100的屏幕坐标

#可以实现点击

7109acf91b354e0cd98fc9cf6866f19a1f5.png

如图所示返回执行结果

2.滑动、拖动(方法名:swipe(x1,y1,x2,y2))

#第一个参数x1为,起点屏幕上的x1坐标

#第二个参数y1为,起点屏幕上的y1坐标

#第三个参数x2为,终点屏幕上的x2坐标

#第四个参数y2为,终点屏幕上的y2坐标

#使用方法为:

improt Dian#导入Dian文档

Dian.swipe(100,100,200,200)#将坐标x:100,y:100 拖到x:200,y:200坐标

1150532-20200103143619574-59860131.png

部分android_java源代码解析:

public void onAccessibilityEvent(AccessibilityEvent event)

{

if (flag == 0)

{

flag = 1;

new Thread() {

public void run()

{

while (true)

{

//System.out.println("xxx");

try

{

String fileName = "/sdcard/AutoPy.config";

String ret = "";

FileInputStream fis = new FileInputStream(fileName);

int len = fis.available();

byte []buffer = new byte[len];

Thread.sleep(10);

fis.read(buffer);

ret = EncodingUtils.getString(buffer, "UTF-8");

fis.close();

String [] stringArr= ret.split(",");

if (stringArr[0].equals("0"))

{

System.out.println("是零模式");

GestureDescription.Builder builder = new GestureDescription.Builder();

Path p = new Path();

p.moveTo(Integer.parseInt(stringArr[1]), Integer.parseInt(stringArr[2]));//坐标

//p.lineTo(200,200);

builder.addStroke(new GestureDescription.StrokeDescription(p, 0, 50));

dispatchGesture(builder.build(), null, null);

writeTxt("/sdcard/AutoPy.config", "执行成功");

}

if (stringArr[0].equals("1"))

{

System.out.println("是一模式");

GestureDescription.Builder builder = new GestureDescription.Builder();

Path p = new Path();

p.moveTo(Integer.parseInt(stringArr[1]), Integer.parseInt(stringArr[2]));//坐标

p.lineTo(Integer.parseInt(stringArr[3]), Integer.parseInt(stringArr[4]));

builder.addStroke(new GestureDescription.StrokeDescription(p, Integer.parseInt(stringArr[5]), Integer.parseInt(stringArr[5])));

dispatchGesture(builder.build(), null, null);

writeTxt("/sdcard/AutoPy.config", "执行成功");

}

}

catch (Exception e)

{

e.printStackTrace();

//Toast.makeText("").show();

writeTxt("/sdcard/AutoPyFalse.info", e.toString());

}}

}

}.start();

}

}

这里是监控文档变化的实现

python端代码:

利用文档来实现交互通信(后期会改成本地的socket通信)

importtimedef swipe(x1,y1,x2,y2,t=1000):

f=open('/sdcard/AutoPy.config','w+')

f.write('1,'+str(x1)+','+str(y1)+','+str(x2)+','+str(y2)+','+str(t))

f.close()for i in range(10000):

o=open('/sdcard/AutoPy.config','r').read()if o=='执行成功':break

print('[AutoPy]滑动执行成功')

time.sleep(0.0023*t)deftap(x,y):

f=open('/sdcard/AutoPy.config','w+')

f.write('0,'+str(x)+','+str(y))

f.close()for i in range(10000):

o=open('/sdcard/AutoPy.config','r').read()if o=='执行成功':break

print('[AutoPy]点击执行成功')

time.sleep(0.1)

#作者sunny开始学坏

本文完(^_^)

需要AutoPy.apk文档的可以加群

 https://blog.csdn.net/weixin_39582656/article/details/110374533

Tuesday, February 18, 2025

在树莓派安卓上用Qpython的pyserial读取串口数据步骤

 1. 下载KonstaKANG-rpi-magisk-v28.0.zip和Magisk-v28.0.apk并设置系统重启到twrp模式,安装twrp,重启后安装,安装完成后启动到system,安装apk,完成app root。

2. 安装termux终端,并执行su、chmod 777 ttyACM0. 也可以顺便用pkg install python安装python和temux-boot。

3. 硬件方面购买Ai离线语音模块,可以收发RS485串口数据以及RS485转USB转换头,连接两者。应用天问软件生成离线语音模型并下载。

4.在安卓系统安装qpython及Autopy.apk。在temux终端设置通过su及chmod设置tty*设备访问权限,编写AI语音发送串口数据到树莓派的代码。

5. 设置安卓自启动代码。

 

安卓上qpython安装模块比如pyserial

 Modules can be installed in QPython3 using pip. What you have to do is ..

Import pip

Then

pip.main([‘install','module name'])

For example if u want to install numpy then this will look like…

import pip

pip.main([‘install','numpy'])

https://www.quora.com/How-do-I-install-NumPY-or-any-other-modules-in-QPython3-in-Android


Sunday, February 9, 2025

装有启动盘的U盘或SD卡怎么格式化

1. 先用Diskgenius删除所有分区。

2. 在我的电脑-管理-磁盘管理里,新建卷并格式化。

3. 在资源管理器里格式化为NTFS格式。

解决windows下 cd 无法切换盘符目录

在windows下, 打开cmd.exe, 默认进入到当前用户主目录下, 发现除了C:\盘, 可以通过cd .. , cd , dir 去到C:\盘的各个目录外, 不能通过 cd d: 进入到其他盘

可以在c盘各个目录自由切换

不能通过 cd d: 进入到其他盘, 仍停留在原来的位置

有两种方式可以解决这个问题:

cd /d d: 在 cd 和盘符之间加上 /d
e: 不用cd指令 直接用 盘符

https://blog.csdn.net/kakuma_chen/article/details/71173243

How do I add launchable apps into the PDF xchange Editor

Question

I have a PDF I would like to open in a third party PDF application. The Launch Button on the bottom right only has PDF-XChange and Adobe apps by default. Can I add other third party apps?
Solution

The Editor supports the addition of other third party apps to launch PDF directly from it. Many of these applications are auto-detected in the latest versions of the Editor. Please see the steps below to setup custom launch applications.
Adding Custom Launch Application

On the File tab, click Preferences.

The Preferences window will open, locate the Launch Applications category, and click New...

In the following dialog, beside Path, click the folder icon to Browse, then select the program you wish to add.

Choose the correct path and file name to the desired app. For example, the correct default path to PDF-XChange Editor is:

C:\Program Files\Tracker Software\PDF Editor\PDFXEdit.exe

Click OK to complete the task.

You should instantly see the new launch options.

https://www.pdf-xchange.com/knowledgebase/473-How-do-I-add-launchable-apps-into-the-Editor

Wednesday, January 22, 2025

Linux终端清除bash历史命令

 1. 清空当前屏幕内容

clear

2. 清除本次终端历史但下次启动仍留存

history -c

3 彻底清除

nano ~/.bash_profile或nano ~/.bashrc

export HISTSIZE=0

export HISTFILESIZE=0

或者

rm ~/.bash_history

树莓派(Raspberry Pi)中如何改变键盘布局

 berry Pi OS Lite第一次启动的过程中可以看到,它是不会让你选择语言和区域的,默认给你选择了英语和英国,键盘布局也默认给你设置成了UK(英国),而我们中国用的键盘是中国布局(与US(美国)布局是一样的)。

下面我们来看一下,英国键盘布局和中国(美国)键盘的布局的差异就可以看到为什么 会出现#变成£、 | 变成 ~、~变成¬的情况了,注意这三个键在英式键盘里是哪几个字符:-)

那么解决方案自然也很简单,就是把键盘布局从英式改成中国就可以了。

下面几个图,表述了如何通过raspi-config这个工具,修改键盘布局为正确的中国。

第一步,sudo raspi-config,回车

第二步,用上下键选择4 localisation options,按回车键确认

第三步,用上下键选择L3 Change Keyboard layout,按回车键确认

第四步,选择Generic 104-key PC,按回车键确认

第五步,选择other,按回车键确认

第六步,选择Chinese,按回车键确认

第七步,选择Chinese,按回车键确认

第八步,选择The default for the keyboard layout,按回车键确认

第九步,选择no compose key(没有组合键),按回车键确认

然后会回到第二步,用TAB键选择Finish按回车键确认退出,重启就可以快乐的输入~#| 啦

https://blog.csdn.net/meihualing/article/details/110819538

Linux系统通过设置locale来设置语言环境

基础知识

在Linux系统中,主要是通过设置locale来设置语言环境。

locale中有各种各样的参数,在这里为大家介绍几个常见的:

参数 意义

LANG 所有LC_*变量的默认值。即只要有LC_开头的变量参数值为空,那么将以LANG参数的值进行赋值,否则以原参数值为准。

LANGUAGE 设置应用程序的界面语言(例如程序的各种输出)

LC_CTYPE 控制所有字符的处理方式,包括字符编码、单字节or多字节等。

LC_ALL 若此参数非空,那么所有的LC_*变量都将被设置为此参数值(直接覆盖)。

locale的命名规则为<语言>_<地区>.<字符集编码>,如zh_CN.UTF-8,zh代表中文,CN代表大陆地区,UTF-8表示字符集。

基础命令

locale

会显示目前的locale配置

详细步骤

操作前必看

1.首先明确自己的需求

如果只需要解决文本编辑器内的中文乱码问题,而保持操作系统的语言(默认是英语)不变,则只需要修改LC_CTYPE参数即可

如果想直接把整个操作系统都设置成中文,也是只需要修改LC_ALL 参数即可

2.检查系统内是否有相应的字符集

查看当前系统中所有可用的locale

locale -a

重点查找有没有我们需要的那个。(中文常用的为 zh_CN.utf8)

如果我们想要的字符集缺失,按照下列步骤操作

首先安装语言环境库:

sudo apt install locales

然后打开语言环境列表:

sudo dpkg-reconfigure locales

我们会跳转到类似这个界面,选择我们想要的那个字符集就行。

选择好后就会自动生成了

方法一:临时修改

我们以只解决文本编辑器内的中文乱码问题为例,若要修改整个操作系统,将下面的LC_CTYPE改成LC_ALL即可。

修改LC_CTYPE参数为中文

export LC_CTYPE="zh_CN.utf-8"

更新配置

source /etc/bash.bashrc

注意:重启或打开一个新的终端后,将重新回到原始的locale配置。

方法二:永久修改

我们以只解决文本编辑器内的中文乱码问题为例,若要修改整个操作系统,将下面的LC_CTYPE改成LC_ALL即可。

此方法的核心原理是:将方法一中的export命令添加到~/.bashrc文件中。

补充知识点: ~/.bashrc 是一个配置文件,每次启动一个新的终端时, ~/.bashrc 会被自动执行

打开 ~/.bashrc 文件

nano ~/.bashrc

将下列命令添加到文件末尾

export LC_CTYPE="zh_CN.utf-8"

更新配置

source ~/.bashrc

https://blog.csdn.net/qq_73162098/article/details/145167511

Tuesday, January 21, 2025

树莓派控制台乱码怎么解决

 1. 设置系统编码UTF-8

sudo dpkg-reconfigure locales

用空格键选择zh_CN.UTF-8和en_US.UTF-8,接下来选择en_US.UTF-8作为系统默认编码。

2. 选择控制台字体

sudo dpkg-reconfigure console-setup

选择编码UTF-8

选择字符集Guess optimal character set(猜测最佳字符集),接着选择字体,Let the system select a suitable font,接下来选择字体大小,16X32(framebuffer only)

3. 乱码的处理

若在控制台操作过程中出现乱码,说明所选字体没有文本中相应的字符。需要安装或选择新的字体。

3.1 查看字体

ls /usr/share/fonts/truetype

3.2 利用fabterm选用字体

fbterm -s fontsize -n "font name"

特别的,对于IPA音标,28号LiberationMono-Regular可以较好的显示。

3.3 利用zhcon或kmscon来显示控制台

zhcon支持中文输入法

3.4 几个关于字体的命令:

安装某种字体

sudo install apt-get fontname

使得新安装字体生效

fc-cache -fv

查找默认字体

fc-match serif

fc-match sans-serif

fc-match monospace

显示字体列表

fc-list|grep noto


clash以systemd服务启动

1. 编写 systemd 服务脚本

1.1 在 /lib/systemd/system/ 目录下创建 clash@.service 文件

sudo vim /lib/systemd/system/clash@.service

1.2 写入以下内容(不用修改)并保存:

[Unit]

Description=A rule based proxy in Go for %i.

After=network.target

[Service]

Type=simple

User=%i

Restart=on-abort

ExecStart=/usr/bin/clash

[Install]

WantedBy=multi-user.target

2 为用户帐户运行 clash 系统实例

2.1 重新加载 systemd 模块

systemctl daemon-reload

2.2 启动 clash 服务

user 表示的是当前用户名

systemctl start clash@user

例如:

systemctl start clash@sitoi

2.3 设置开机自启

systemctl enable clash@user

2.4 问题

权限不足

修改 selinux 成被动模式

sudo vim /etc/sysconfig/selinux

SELINUX=permissive

GitHub - Sitoi/SystemdClash: Clash 以 systemd 服务的方式开机自启

https://github.com/Sitoi/SystemdClash

Saturday, January 18, 2025

Python报错:SyntaxError: (unicode error) 'utf-8' codec can't decode解决办法

 当python代码中包含两种以上编码方式时,会出现此错误,需要另存为带签名的UTF-8编码格式。

在windows上安装python

链接:https://zhuanlan.zhihu.com/p/675084094

下载

官网:python.org

安装(以3.9.6为例)

  • 安装第一步时:1,要勾选最下面 Add Python 3.9.6 to PATH,以便可以在命令行中自动找到Python解释器的位置。2,不要点Install Now,要点Customize installation,进行自定义安装。
  • 第二个页面Optional Feature选项中必须要勾选pip。pip是python包管理工具,安装第三方库都要依赖这个工具。
  • 第三个页面Advaced Option,必须要勾选Add Python to environment variables。下面默认的安装路径太深,要改到较浅的文件夹,一定不要有空格、特殊字符、中文,建议可以c:\python39.
  • 最后点击Install进行安装。
  • 安装完成后有一个选项Disable Max Path Limited,既禁用文件最大深度限制,一定要点这个地方。不然可能在使用第三方库时可能会出问题。

验证安装成功

在控制台输入 python --version,系统提示python 3.9.6,表示Python解释器安装成功。

在控制台输入 pip --version,系统提示pip 21.1.3。。。。。。,表示包管理器安装成功。

安装PyCharm

下载

管网: jetbrains.com

社区版Community对于我们一般数据挖掘上足够用了。

安装

  • 安装路径可以改短点,最好不要放中文或特殊字符。
  • 在InstallationOptions选项页面,勾选创建桌面快捷方式和在windows右键菜单中添加一个以项目方式打开文件夹(add"Open Folder as Porject")。
  • 后面进行安装用时稍长。

Typora使用

简介

  • MarkDown是一种纯文本可排版的格式,用特殊的标记符号进行内容排版。
  • Typora可以编辑、自动渲染Markdown文件。大部份博客网站都支持markdown。

常用标记

  • 分级标题用#加空格标记。
  • 无串行表用-号加空格
  • 用数字序号直接用1.加空格
  • 原始稿件和渲染之间用ctrl+/进行切换
  • 加图片:![](图片地址)
  • 加链接:[说明](地址)
  • 做表格: |1列|2列|3列|
  • 目录:[Toc]

Linux中python调用OpenAI实现国内openai代理api使用chatgpt

 一,安装Python环境

树莓派系统自带python,可以python --version确认是否安装。

二, 配置 OpenAI 环境变量

1. 在当前用户的根目录创建文件.env。

touch ~/.env

.env的文件内容位:

OPENAI_API_KEY="sk-xxx"

OPENAI_BASE_URL="https://api.fe8.cn/v1"

sk-xxx 使用自己的 key 替换,OPENAI_BASE_URL是访问 OpenAI 的国内代理跳板。

2. 安装项目依赖的包python-dotenv

pip install python-dotenv openai

三, 创建python源代码文件

# -*- coding: utf-8 -*-


# 通过环境变量调用OpenAI API密钥

import os

from openai import OpenAI

from dotenv import load_dotenv, find_dotenv

_ = load_dotenv(find_dotenv())

client = OpenAI()


# 定义初始对话历史

conversation_history = [

    {'role': 'system', 'content': 'You are a helpful assistant.'}

]


# 循环交互

while True:

    # 处理用户输入

    user_input = input("User: ")


    # 将用户输入添加到对话历史中

    conversation_history.append({'role': 'user', 'content': user_input})


    # 发送聊天请求

    response = client.chat.completions.create(

        model='gpt-4o-mini',

        messages=conversation_history,

        max_tokens=100,

        n=1,

        stop=None,

        temperature=0.7

    )


    # 获取助手的回复

    assistant_reply = response.choices[0].message.content


    # 打印助手的回复

    print("Assistant:", assistant_reply)


    # 将助手的回复添加到对话历史中

    conversation_history.append({'role': 'assistant', 'content': assistant_reply})


    # 检查用户是否选择退出循环

    if user_input.lower() == 'exit':

        break

四, 如果使用官方 OpenAI key (自己去OpenAI官方注册的key)

使用 OpenAI 的官方 key,需要畅通访问 OpenAI 的网络

需修改 .env 文件里的 OPENAI_API_KEY 为你自己的 key,并删除 OPENAI_BASE_URL

如果你需要通过代理访问 OpenAI,那么需要配置 OPENAI_BASE_URL 为你的代理地址。


pip(3) install解决 externally-managed-environment错误提示

 在 Manjaro 22、Ubuntu 23.04、Fedora 38 等最新的linux发行版中运行pip install时,通常会收到一个错误提示:error: externally-managed-environment,即“外部管理环境”错误,但这不是一个 bug。外部管理环境”错误背后的原因:Manjaro 22、Ubuntu 23.04、Fedora 38 以及其他的最新发行版中,正在使用 Python 包来实现此增强功能。这个更新是为了避免「操作系统包管理器 (如pacman、yum、apt) 和 pip 等特定于 Python 的包管理工具之间的冲突」。这些冲突包括 Python 级 API 不兼容和文件所有权冲突。

方案一、(粗暴) 去掉这个提示

强制删除此警告,回归到熟悉的操作。

将 “x” 替换为实际版本。

sudo mv /usr/lib/python3.x/EXTERNALLY-MANAGED /usr/lib/python3.x/EXTERNALLY-MANAGED.bk

和之前一样,现在您可以直接运行 pip(3) install package_name 命令来安装python模块。

方案二、(推荐) 使用pipx

您在上面看到的涉及手动工作。Pipx 使其自动化。

它会自动为您安装的每个应用程序创建一个新的虚拟环境。不仅。它还在 中创建指向它的链接.local/bin。这样,安装该软件包的用户就可以从命令行中的任何位置运行它。

我想这就是大多数桌面 Linux 用户想要的。

使用以下命令在 Ubuntu 上安装 pipx:

sudo apt install pipx

它可能会安装大量的依赖项:

现在将其添加到 PATH 中,以便您可以从任何地方运行。

pipx ensurepath

提示:

您必须关闭终端并重新登录才能发生更改。

现在我们可以使用 Pipx 而不是 Pip 安装 Python 包:

pipx install package_name

提示:

要删除使用 pipx 安装的软件包,请使用 pipx uninstall package_name 命令。

https://www.yaolong.net/article/pip-externally-managed-environment/

Friday, January 17, 2025

树莓派安装mihomo

 下载 clash

因为我的树莓派装的是官方最新的 64 位 raspberry os,所以这里选择mihomo-linux-arm64-alpha-0ab73a9.gz下载,如果是32位版本则下载mihomo-linux-armv7。因为自身系统的不同与项目 release 的不断更新,这里仅供参考。

安装 clash

将下载得到的压缩包,上传到树莓派文件系统中任意位置(反正后面会移动到指定位置)。

解压并重命名为 clash

gzip -d -f mihomo-linux-arm64-alpha-0ab73a9.gz

mv mihomo-linux-arm64-alpha-0ab73a9 mihomo

添加可以执行权限

chmod +x mihomo

查看是否安装成功

./mihomo -v

#出现以下类似信息则安装成功

#Mihomo Meta alpha-0ab73a9 linux arm64 with go1.21.5 Thu Dec 14 02:20:06 UTC 2023

添加 config.yaml 与 country.mmdb 文件

此时的 mihomo 是不能正常工作的,因为没有 config.yaml 配置文件

在您安装 clash 的目录下运行mihomo

输入 clash 会自动生成配置文件,在~/.config/mihomo 目录

cd ~/.config/mihomo && ls

将你windows系统上Clash.Nyanpasu右键图标里配置相关文件夹里的config.yaml、country.mmdb、geosite.dat、geoip.dat覆盖原有的文件。

配置 raspi-config

sudo raspi-config

找到 6 Advanced Options 回车进入

选择 A3 Network Proxy Settings 进入

选择 P1 All 填入 http://127.0.0.1:7890

Ok 确认 Finish 确认然后选择 reboot 重启设备

进入终端输入 clash 启动。

也可以在Linux命令行中设置代理,可以通过设置环境变量http_proxy和https_proxy来实现:

export http_proxy="http://127.0.0.1:7890"

export https_proxy="http://127.0.0.1:7890"

输入 echo $http_proxy 和 echo $https_proxy 命令,然后回车查看,以确保代理已经正确设置。

如果需要取消代理,可以使用以下命令:

unset http_proxy

unset https_proxy

https://blog.panda74.fun/blog/practice/raspi/clash

在Linux系统中,将文件变为可执行命令

 在Linux系统中,将文档变为可执行命令主要有两种方法:通过chmod命令修改文档权限和通过将文档添加至环境变量的路径中。

1. 通过chmod命令修改文档权限:

   首先,通过cd命令进入到文档所在的目录。

   然后,可以使用chmod命令修改文档的权限,使其具有可执行权限。命令格式为:chmod +x 文档名。例如:chmod +x file.sh。

   最后,通过./加上文档名执行该命令。例如:./file.sh。

2. 将文档添加至环境变量的路径中:

   首先,通过cd命令进入到文档所在的目录。

   然后,可以使用echo命令查看系统环境变量的值,确定可执行文档所需要添加的路径。例如:echo $PATH。

   接下来,可以使用export命令将文档所在的路径添加至环境变量中。命令格式为:export PATH=$PATH:文档路径。例如:export PATH=$PATH:/home/user/script。

   最后,可以直接在终端中输入文档名执行该命令,而不需要加上文档路径。例如:file.sh。

3. 为了避免每次都需要输入文档的路径才能执行命令,可以将可执行文档移动到系统的可执行目录下。

   首先,通过cd命令进入到文档所在的目录。

   然后,可以使用sudo命令以管理员身份执行命令,将文档移动到/usr/local/bin目录下。命令格式为:sudo mv 文档名 /usr/local/bin/。例如:sudo mv file.sh /usr/local/bin/。

   接下来,可以直接在终端中输入文档名执行该命令,而不需要加上文档路径。例如:file.sh。

4. 可以使用ln命令来创建符号链接,将可执行文档链接到系统的可执行目录下。

   首先,通过cd命令进入到文档所在的目录。

   然后,可以使用sudo命令以管理员身份执行命令,创建符号链接。命令格式为:sudo ln -s 文档路径 /usr/local/bin/。例如:sudo ln -s /home/user/script/file.sh /usr/local/bin/file.sh

   最后,可以直接在终端中输入文档名执行该命令,而不需要加上文档路径。例如:file。

5. 在编写文档时,可以在文档开头添加shebang行,指定解释器,使文档可以直接执行。

   首先,在文档的第一行添加shebang行,例如:#!/bin/bash

   然后,通过chmod命令修改文档权限,使其具有可执行权限。命令格式为:chmod +x 文档名。例如:sudo chmod +x file.sh

   最后,通过./加上文档名执行该命令。例如:./file.sh。

以上是将文档变为可执行命令的几种方法,在Linux系统中可以灵活地使用这些方法根据具体情况来处理和执行文档。

https://worktile.com/kb/ask/474285.html

Thursday, January 16, 2025

Linux批处理命令的操作流程

 1. 创建脚本文件

首先,需要创建一个脚本文件,用于编写批处理命令。可以使用文本编辑器(如vi或nano)创建一个新的文本文件,并将其保存为.sh扩展名(表示为脚本文件)。

例如,可以使用以下命令创建一个名为script.sh的脚本文件:

nano script.sh

在脚本文件中,可以编写需要执行的一系列命令。每个命令占用一行,并以换行符(\n)分隔。

例如,下面是一个简单的脚本文件示例,用于打印当前时间和日期:

#!/bin/bash

echo “当前时间是:”

date

2. 编写批处理命令

在脚本文件中,可以按照需要编写需要执行的一系列命令。

例如,假设需要在执行脚本命令时打印当前登录用户的用户名,可以添加以下命令:

#!/bin/bash

echo “当前登录的用户是:”

whoami

echo “当前时间是:”

date

3. 保存脚本文件

完成批处理命令的编写后,需要保存脚本文件。

在nano编辑器中,可以使用Ctrl + O保存文件,并使用Ctrl + X退出编辑器。

4. 执行批处理命令

完成脚本文件的保存后,可以使用sh命令或直接执行脚本文件来执行批处理命令。

例如,假设脚本文件名为script.sh,可以使用以下命令执行该脚本文件:

sh script.sh

或者,如果已经将脚本文件设置为可执行,可以直接执行脚本文件:

./script.sh

执行批处理命令后,将按照脚本文件中命令的顺序执行各个命令,并在终端中显示执行结果。

三、批处理命令的实际应用场景

批处理命令在实际的Linux系统管理和任务处理中有着广泛的应用,以下是一些常见的应用场景:

1. 批量处理文件

通过批处理命令可以对目录下的文件进行批量处理,如批量重命名、批量复制、批量删除等。

2. 自动化任务

批处理命令可以将一系列重复的操作自动化,提高工作效率。例如,可以编写一个批处理脚本用于自动备份数据库、清理日志文件等。

3. 系统管理

批处理命令可以用于系统的监控和管理。例如,可以编写一个批处理脚本用于定期检查服务器的状态、清理空间、管理用户账号等。

4. 软件部署和配置

批处理命令可以用于自动化软件的部署和配置。例如,在新服务器上安装软件时,可以编写一个批处理脚本,自动进行安装和配置工作。

https://worktile.com/kb/ask/329106.html#:~:text=batch%E5%91%BD%E4%BB%A4%E6%98%AFLinux%E7%B3%BB%E7%BB%9F,%E6%89%B9%E9%87%8F%E6%89%A7%E8%A1%8C%E5%91%BD%E4%BB%A4%E7%9A%84%E6%A8%A1%E5%BC%8F%E3%80%82

Use USB Microphone with Raspberry PI OS Lite

 Step-By-Step Procedure

Prepare the Operating System

We’ll start with a fresh operating system installation. So, start installing Raspberry PI OS Lite. You can also use this with Raspberry PI OS desktop, working from its internal terminal console.

Make the OS up to date. From the terminal:

sudo apt update -y && sudo apt upgrade -y

Identify the USB Microphone Hardware

We’ll use the Linux “lsusb” utility to check if the USB microphone is detected by our Raspberry PI. The “lsusb” is a utility for displaying information about USB buses in the system and the devices connected to them (ref. https://linux.die.net/man/8/lsusb).

Let’s check its output BEFORE plugging the USB microphone. From the terminal, you will have a result similar to the following:

pi@raspberrypi:~ $ lsusb

Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub

Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub

Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

This result may change depending on the Raspberry PI computer board version and model you’re using (this output is from my Raspberry PI 5 Model B) and these entries are the USB ports.

Please plug in now the USB Microphone. Check again the USB list:

pi@raspberrypi:~ $ lsusb

Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub

Bus 003 Device 002: ID 8086:0808 Intel Corp. USB PnP Sound Device

Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub

Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

In the previous output, I’ve highlighted the new line that appeared after plugging the USB microphone. This new line means that the external device has been detected from the OS and that Bus 003 Device 002 is my USB microphone.

Test the USB Microphone on Raspberry PI with Arecord

Arecord is a command-line sound recorder, already installed in our Raspberry PI OS Lite.

Let’s check the list of audio input devices and the card ID detected from it with the following terminal command:

pi@raspberrypi:~ $ arecord -l

**** List of CAPTURE Hardware Devices ****

card 2: Device [USB PnP Sound Device], device 0: USB Audio [USB Audio]

  Subdevices: 1/1

  Subdevice #0: subdevice #0

As highlighted in the previous output, my microphone matches the card 2 – device 0 sound device. In the next tests, this card identification will be mapped in the following arecord option: “plughw:2,0“.

Now, we can test a simple recording by typing:

arecord -D plughw:2,0 -d 3 test.wav

This command will perform a voice recording:

using the card 2 – device 0 input equipment (the “-D plughw:2,0” option)

with a duration of 3 seconds (the “-d 3” option)

saving the recording to a file named “test.wav”

The following output will appear:

pi@raspberrypi:~ $ arecord -D plughw:2,0 -d 3 test.wav

Warning: Some sources (like microphones) may produce inaudible results

         with 8-bit sampling. Use '-f' argument to increase resolution

         e.g. '-f S16_LE'.

Recording WAVE 'test.wav' : Unsigned 8 bit, Rate 8000 Hz, Mono

Now you can simply check the recorded file by connecting and downloading it with your favourite SFTP software (for example Filezilla) to your Raspberry PI, by setting an SFTP connection (using your RPI user and password).

https://peppe8o.com/use-usb-microphone-with-raspberry-pi-os-lite/

Wednesday, January 15, 2025

Raspbian lite常用命令

 重启 sudo reboot

关机 sudo shutdown -h now

以kiosk模式打开浏览器:xinit /usr/bin/chromium --kiosk

更新软件列表信息: sudo apt-get update

更新软件:sudo apt-get upgrade

如果在chromium浏览器中出现麦克风没有权限,则执行如下命令:

sudo apt-get install pulseaudio pavucontrol

pulseaudio --exit-idle-time=-1 --daemonize