小米的Samba配置

参考文章:https://www.jianshu.com/p/9572ba5ed6dd

经验证,以下仅能被摄像机访问,但在wIndow是无法访问。

1.安装samba

sudo apt install samba

2.创建目录

mkdir /home/abc/share
sudo chmod 777 -R share

3.配置smb.conf文件

sudo vim /etc/samba/smb.conf
[global]
  workgroup = WORKGROUP  #原有的
  server min protocol = NT1    #新增的,小米摄像头只支持SMB 1.0
[share]   #新增的共享字段
  path = /home/abc/share
  public = yes
  writable = yes
  available = yes
  browseable = yes
  read only = no

3.配置samba的密码

sudo smbpasswd -a abc

4.重启服务

sudo service smbd restart
sudo service nmbd restart
注意,小米摄像头和NAS机器要处在同一局域网,摄像头才能发现NAS服务

QT的镜像加速配置

qt-online-installer-windows-x64-4.8.1.exe --mirror http://mirrors.ustc.edu.cn/qtproject/
./qt-unified-linux-x64-online.run --mirror http://mirrors.ustc.edu.cn/qtproject/
open qt-online-installer-macos-x64-4.8.1.app --args --mirror http://mirrors.ustc.edu.cn/qtproject/

Centos8.5的镜像问题

将 CentOS BaseURL 更改为 vault.centos.org:

CentOS Linux 8 已于 2021 年 12 月 31 日退役。这意味着 CentOS 官方项目将不再为 CentOS 8 提供开发资源。

Failed to synchronize cache for repo ‘AppStream’,

ignoring this repo. Failed to synchronize cache fo

[root@nayana yum.repos.d]# sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-*
[root@nayana yum.repos.d]# sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-*
[root@nayana yum.repos.d]# dnf update

在Ubuntu20.04安装Qt6.8.0遇到的问题

根据ChatGPT的问答,解决方案如下:

Ubuntu环境:

sudo apt update
sudo apt install -y libxcb1 libx11-xcb1 libxcb-util1 libxcb-cursor0 libxcb-keysyms1 libxcb-image0 libxcb-render-util0 libxcb-icccm4 libxcb-xinerama0 libxcb-xkb1 libxkbcommon-x11-0

sudo apt-get install libxkbcommon-dev

Centos环境

sudo dnf install -y libxcb xcb-util xcb-util-wm xcb-util-image xcb-util-keysyms xcb-util-renderutil

一些包(包括 xcb-util-cursor)可能需要 EPEL(Extra Packages for Enterprise Linux) 仓库支持。执行以下命令启用 EPEL 仓库:

sudo dnf install epel-release
sudo dnf update

sudo dnf install xcb-util-cursor

2. 启用 PowerTools(Rocky Linux 8 和 CentOS 8)

如果 EPEL 仓库不足以解决问题,可能还需要启用 PowerTools 仓库。在 Rocky Linux 8 上可以通过以下命令启用:

bash复制代码sudo dnf config-manager --set-enabled powertools

然后重新尝试安装:

bash复制代码sudo dnf install xcb-util-cursor

如果在 Rocky LinuxCentOS 系列中使用 dnf 安装 xcb-util-cursor 时出现 Unable to find a match 错误,说明该包未包含在默认的仓库中。以下是解决办法:


1. 启用 EPEL 仓库

一些包(包括 xcb-util-cursor)可能需要 EPEL(Extra Packages for Enterprise Linux) 仓库支持。执行以下命令启用 EPEL 仓库:

bash复制代码sudo dnf install epel-release
sudo dnf update

然后尝试再次安装 xcb-util-cursor

bash复制代码sudo dnf install xcb-util-cursor

2. 启用 PowerTools(Rocky Linux 8 和 CentOS 8)

如果 EPEL 仓库不足以解决问题,可能还需要启用 PowerTools 仓库。在 Rocky Linux 8 上可以通过以下命令启用:

bash复制代码sudo dnf config-manager --set-enabled powertools

然后重新尝试安装:

bash复制代码sudo dnf install xcb-util-cursor

3. 检查包是否在 Rocky Linux 上可用

Rocky Linux 8/9 上,使用以下命令检查包是否存在于当前仓库中:

bash复制代码dnf search xcb-util-cursor

如果包未找到,可能需要手动编译或安装。


4. 手动编译安装 xcb-util-cursor

如果仓库中确实没有提供,可以通过以下方式手动编译:

1. 安装开发工具:

bash复制代码sudo dnf groupinstall "Development Tools"
sudo dnf install xcb-util xcb-util-devel libX11-devel

2. 下载源码:

从官方 XCB 项目获取源码:

bash复制代码wget https://xcb.freedesktop.org/dist/xcb-util-cursor-0.1.3.tar.gz

解压源码:

bash复制代码tar -xvzf xcb-util-cursor-0.1.3.tar.gz
cd xcb-util-cursor-0.1.3

3. 编译和安装:

bash复制代码./configure
make
sudo make install

在Qt中绘制字符串,哪种效率最高

一共提供了三种绘制方式:

》基于QPoint的绘制
》基于QRectangle的绘制
》基于QStaticText的绘制
》基于QTextLayout的绘制

从下图的执行堆栈可见,除QPoint方式外,其它方式均会转化来QTextLine进行绘制,在转化之前,均会检查换行符、Tab符、边界等的检查及格式化。

腾迅Docker加速

因为docker版本比较旧,故需要加入新的源:
第一步:yum-config-manager --add-repo   http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

第二步:yum install docker-ce -y

[root@VM-24-8-centos ~]# cat /etc/docker/daemon.json
{
    "registry-mirrors": [
        "https://mirror.ccs.tencentyun.com"
    ]
}

CMake的64脚本编译

call “C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvarsall.bat” amd64
call “E:\Qt\Qt5.12.12\5.12.12\msvc2017_64\bin\qtenv2.bat”

set path_script=%~dp0

cd /D %path_script%
rd /s/q “%path_script%\build”
rd /s/q “%path_script%\winx”

md “%path_script%\build”
cd /D “%path_script%\build”

cmake -G “Visual Studio 15 2017″ -A x64 -DCMAKE_DEBUG_POSTFIX=”d” -DBUILD_SHARED_LIBS=OFF -DCMAKE_INSTALL_PREFIX=%path_script%/winx ../qmqtt-1.0.2
cmake –build . –config Debug && cmake –build ./ –config Debug –target install
cmake –build . –config Release && cmake –build ./ –config Release –target install

真彩色测试

awk 'BEGIN{
    s="/\\/\\/\\/\\/\\"; s=s s s s s s s s;
    for (colnum = 0; colnum<77; colnum++) {
        r = 255-(colnum*255/76);
        g = (colnum*510/76);
        b = (colnum*255/76);
        if (g>255) g = 510-g;
        printf "\033[48;2;%d;%d;%dm", r,g,b;
        printf "\033[38;2;%d;%d;%dm", 255-r,255-g,255-b;
        printf "%s\033[0m", substr(s,colnum+1,1);
    }
    printf "\n";
}'

==========================
#!/bin/bash
# Based on: https://gist.github.com/XVilka/8346728 and https://unix.stackexchange.com/a/404415/395213

awk -v term_cols="${width:-$(tput cols || echo 80)}" -v term_lines="${height:-1}" 'BEGIN{
    s="/\\";
    total_cols=term_cols*term_lines;
    for (colnum = 0; colnum<total_cols; colnum++) {
        r = 255-(colnum*255/total_cols);
        g = (colnum*510/total_cols);
        b = (colnum*255/total_cols);
        if (g>255) g = 510-g;
        printf "\033[48;2;%d;%d;%dm", r,g,b;
        printf "\033[38;2;%d;%d;%dm", 255-r,255-g,255-b;
        printf "%s\033[0m", substr(s,colnum%2+1,1);
        if (colnum%term_cols==term_cols) printf "\n";
    }
    printf "\n";
}'