Linux环境变量详解
环境变量的含义程序(操作系统命令和应用程序)的执行都需要运行环境,这个环境是由多个环境变量组成的 环境变量分类环境变量的分类 按生效的范围分类 系统环境变量:公共的,对全部用户生效 用户环境变量:用户私有的、自定义的个性化设置,只对该用户生效 按生存周期分类 永久环境变量:在环境变量脚本中配置,用户每次登录时会自动执行这些脚本,相当于永久生效 临时环境变量:使用时在shell中临时定义,退出shell后失效 Linux环境变量Linux环境变量也成为Shell环境变量,习惯上使用大写字母,例如PATH、HOSTNAME、LANG 常用的环境变量查看环境变量1env 使用env命令展示当前用户全部的环境变量 1echo $PATH 使用echo $变量名 展示指定环境变量 常用的环境变量 PATH 可执行程序的搜索目录,可执行程序包括系统命令和用户的应用程序 LD_LIBRARY_PATH C/C++语言动态链接库的搜索目录,需要C/C++程序员手动设置 设置环境变量临时环境变量1export MYSITE='ciiki.eu....
解决Dell台式机无法识别CTIA麦克风
工作的机子是Dell OptiPlex5060,前后面板分别有个3.5mm耳机孔,插上线控耳机只能听声音,无法使用麦克风。工作有时还会开在线视频会议,无法发言难受的一批,查了各种资料,网上这种问题提出者很多,但是真正能解决问题的很少,于是整理记录此文,说不定自己还会遇到,就不用再查一遍资料了,如果能给后人提供帮助,也是很荣幸的 首先去设备管理器,音频输入和输出下,插入耳机看到的设备为Realtek(R) Audio 然后去dell官网支持https://www.dell.com/support/home/zh-cn,识别产品或搜索支持,输入自己的型号(如果不行就输入OptiPlex 7090,驱动比较新),选择驱动程序和下载,手动查找适合 OptiPlex 5060 的特定驱动程序,搜索audio 先安装搜索到的Waves MaxxAudio Pro 应用程序,再安装Realtek 高保真声卡驱动程序,然后会被要求重启电脑 重启后设备管理器里Realtek(R) Audio已经变成了Speakers/Headphones (Realtek(R) Audio),重新插耳机应该会弹出...
内网穿透方案
前言简单介绍一下NAT技术,NAT全称Network Address Translation,网络地址转换,简单来说就是把内网ip转为公网ip。由于ipv4地址逐渐枯竭,ip变的十分宝贵,出现了NAT这种技术,它可以让多个设备通过NAT路由器使用同一个公网ip访问互联网,而路由器之下的这些设备之间使用内网ip进行区分。这项技术很大程度的延缓了ipv4不够用的窘境,弊端则是很难从公网去访问内网资源。目前家用宽带很少能够分到公网ip了,基本上是多户共用一个公网ip,对于有从公网访问内网的需求(比如访问家里的摄像头,nas,服务器)的人来说,那就只有做一下内网穿透了。 目前有很多成熟的内网穿透方案,比如花生壳,frp等等。花生壳付费,frp虽然免费开源,但还是需要购买一台具有公网ip的服务器作为中转服务器,一年的费用也不低,像我这种白嫖怪花钱是不可能花钱的,于是把目光定在了zerotier和cloudflare提供的tunnel上 zerotier 注册账号 https://www.zerotier.com/ ,注册完成后登录后台点击Create A Network,会生成一个带有NE...
x-ui
x-ui是个小型的服务器状态面板,很多人用它来快速的配置节点,这里我只是希望用它的web界面看一下它的状态,另外用telegram接受状态通知。 首先感谢x-ui开源项目,https://github.com/FranzKafkaYu/x-ui 一键安装脚本 1bash <(curl -Ls https://raw.githubusercontent.com/vaxilu/x-ui/master/install.sh) 确认是否继续,如选择n则跳过本次端口与账户密码设定[y/n]: y 然后分别设置用户名,密码,端口 安装完成后在浏览器使用ip:端口即可进入后台 需要注意在面版设置里首次进入会随机生成面板 url 根路径,然后根据需要可以自己再改一下 telegram提醒里需要设置电报机器人Token、电报机器人ChatId、定时通知策略然后启用电报机器人,保存配置,重启面版。 当然,在首页还是关掉xray运行吧,毕竟内存不大,设置好大概就是这个样子。 telegram也可以收到通知
随身wifi运行ShellCrash和AdguardHome
前言上一篇文章中将随身wifi刷成了debian系统,本篇基于此为随身wifi安装ShellCrash和AdguardHome实现透明代理和广告拦截功能。(也可做为通用旁路网关的配置指南) 资源下载 UPX 官方下载:https://github.com/upx/upx/releases 下载 upx-xxx-win64.zip 文件 ShellCrash 官方下载:https://github.com/juewuy/ShellCrash/raw/master/bin/ShellCrash.tar.gz Clash.Meta 内核 官方下载:https://github.com/MetaCubeX/Clash.Meta/releases 下载 clash.meta-linux-arm64-cgo-alpha-xxx.gz 文件 AdGuardHome 官方下载:https://github.com/AdguardTeam/AdGuardHome/releases 下载 AdGuardHome_linux_arm64.tar.gz 文件 ShellCrashSh...
随身wifi刷入Linux
前言介绍随身wifi原本的作用为开热点以供手机电脑等设备连接上网,工作原理和手机热点几乎一样,不过大多数随身wifi是通过焊接在其上的esim连入互联网,商家也是凭借esim月租套餐来挣钱。为了吸引顾客,有些随身wifi本身卖的很便宜,但性能并不差,可以关注酷安随身wifi话题,偶尔有随身wifi的车再叠加个红包,十元包邮就可以买下一个。本文记录基于OpenStick项目将随身wifi刷成Linux发行版debian,后续将其配置为网关服务器以及DNS服务器,同时作为小型服务器运行一些任务,踩了不少坑,写文以记录 准备工具 螺丝刀 windows系统电脑 随身wifi资源集 一颗不怕折腾的心 到手到手后大概就长这个样子,小巧但不怎么精致(小小的也很可爱呢…雾)。 用螺丝刀拆掉后面几颗螺丝,查看板子丝印,可以看到UFI003,这就是高通方案,可以刷Linux,如果是中兴微的后续就不用看了,刷不了的,具体哪些版本可以刷可以参考OpenStick的WIKI:https://www.kancloud.cn/handsomehacker/openstick/2636505 刷机安...
ffmpeg SDK学习(2)
ffmpeg sdk 解码 demo上一篇文章《ffmpeg SDK学习(1)》简单编译了一下ffmpeg,生成了可执行程序bin目录,如果想调用ffmpeg自己实现编解码功能,则需要用到静态库lib目录。官方同样提供了相应的调用库的demo例子,本文记录使用官方demo之中的decode_video.c实现H.264的解码。 首先需要H264裸流使用编译出的ffmpeg可执行程序即可从视频里提取H264裸流 123cd /root/study/ffmpeg/build64/bin#如果想调整视频分辨率 ./ffmpeg -i video.mp4 -vf scale=352:288 -y output.mp4./ffmpeg -i output.mp4 -codec copy -f h264 video.h264 拷贝生成的video.h264至examples12cp video.h264 /root/study/ffmpeg/build64/share/ffmpeg/examples/cd /root/study/ffmpeg/build64/share/ffmpeg/ex...
ffmpeg SDK学习(1)
linux下编译ffmpeg静态库环境: Ubuntu Desktop 20.04.5 LTS gcc version 9.4.0 1.首先安装依赖以下为必须项 123apt-get install diffutils make pkg-config yasmapt-get install libsdl2-2.0apt-get install libsdl2-dev 因为ffmpeg编码H264需要libx264,所以如果要用sdk来编码则需要安装libx264-dev,只解码的话是不需要的 1apt-get install libx264-dev 2.拉取源码我当前路径为/root/study 123git clone https://git.ffmpeg.org/ffmpeg.git ffmpegcd /root/study/ffmpeg 会在当前路径下生成ffmpeg目录,然后进入该目录 1cd /root/study/ffmpeg 3.配置编译选项注意--prefix=后为安装路径,必须用绝对路径,如果用相对路径后续会出问题,如果第二步没有安装li...
音视频笔记(2)--PCM格式
参数(1)采样位深:每个采样点的bit数 8bits: 0~255 16bits: 0~65535 (2)采样率:每秒采样次数 16KHz:每秒采16000个采样点 (3)声道数 双声道(stereo):左-右-左-右… (4)字节序 一般使用小端存储结构,16LE:低字节高字节-低字节高字节-低字节高字节… 处理代码来自雷霄骅,致敬雷神,雷神千古! 分离test_stereo_s16le.pcm左右声道1234567891011121314151617181920212223242526/** * Split Left and Right channel of 16LE PCM file. * @param url Location of PCM file. * */int simplest_pcm16le_split(char *url){ FILE *fp=fopen(url,"rb+"); FILE *fp1=fopen("output_l.pcm","wb+"); FILE *fp2=fopen(&...
音视频笔记(1)--YUV格式
来源我们都知道RGB格式表示色彩,但是之前的显示器只能解析灰白的图像,为了兼容老旧设备,自然不能用RGB格式表示图像,于是YUV出现了。它可以将RGB三个分量转换成YUV三个分量,对于可以显示彩色的设备,解析Y、U、V三个分量,显示出彩色;对于老旧黑白设备,仅解析Y分量,就可以显示出黑白的图像。 YUV和YCbCr、YPbPr几个概念是一样的,Y表示亮度(Luminance),也就是灰度,U是色度(Chrominance),V是浓度(Chroma),而人眼对亮度分量Y的敏感度是高于UV分量的,所以YUV相对于RGB还可以减少数据量 RGB转YUVY = 0.299R + 0.587G + 0.114*B U = -0.147R - 0.289G + 0.436B = 0.492(B-Y) V = 0.615R - 0.515G - 0.100B = 0.877(R-Y) YUV转RGBR = Y + 1.140*V G = Y - 0.394U - 0.581V B = Y + 2.032*U 格式分...












