<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[lk_luck的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/lk_luck</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; lk_luck]]></copyright><item><title><![CDATA[linux 通过打补丁的方式更新文件]]></title><link>https://blog.youkuaiyun.com/lk_luck/article/details/121912371</link><guid>https://blog.youkuaiyun.com/lk_luck/article/details/121912371</guid><author>lk_luck</author><pubDate>Mon, 13 Dec 2021 19:55:57 +0800</pubDate><description><![CDATA[原理：
使用 diff 命令把修改前和修改后两个文件的差异记录在 patch 文件中，然后用 patch 命令把 patch 文件打到旧文件中得到新文件。
可以用于更新终端设备的文件，或者同步文件的修改内容给其他用户。
制作补丁
制作文件的补丁：
$ diff -au old.file new.file &gt; test.patch

old.file 修改前的文件，new.file 修改后的文件。
test.patch 补丁文件，记录了 old.file 文件和 new.file 文件的差异。
制作目录]]></description><category></category></item><item><title><![CDATA[Windows 10 上使用 Markdownpad2 写文档无法预览]]></title><link>https://blog.youkuaiyun.com/lk_luck/article/details/121799647</link><guid>https://blog.youkuaiyun.com/lk_luck/article/details/121799647</guid><author>lk_luck</author><pubDate>Wed, 08 Dec 2021 20:13:37 +0800</pubDate><description><![CDATA[新上手了一个写 markdown 的软件 MarkdownPad 2，发现写了不能预览。。。
预览视图报错：

在官方的 FAQ 中找到了问题描述：LivePreview is not working

翻译：

LivePreview 不起作用 - 它显示一条错误消息，说明 这个视图崩溃了！
此问题已在 Windows 8 中特别观察到。您可能会看到如下所示的错误消息，并且在 Markdown 编辑器窗格中键入时不会呈现任何 HTML。
要解决此问题，请尝试安装Awesomium 1.6.6 SDK。
如]]></description><category></category></item><item><title><![CDATA[Qt 字符串编码转换]]></title><link>https://blog.youkuaiyun.com/lk_luck/article/details/121799043</link><guid>https://blog.youkuaiyun.com/lk_luck/article/details/121799043</guid><author>lk_luck</author><pubDate>Wed, 08 Dec 2021 19:34:59 +0800</pubDate><description><![CDATA[包含头文件：
#include &lt;QTextCodec&gt;

栗子，UTF-8 转 GB2312
/* UTF-8 转 GB2312 */
QString str = "这是一段文字。";
QTextCodec *utf8Codec   = QTextCodec::codecForName("UTF-8");
QTextCodec *gb2312Codec = QTextCodec::codecForName("GB2312");

QString unicode = utf8Codec -&gt]]></description><category></category></item><item><title><![CDATA[Qt 工程添加资源文件（图片）]]></title><link>https://blog.youkuaiyun.com/lk_luck/article/details/121663204</link><guid>https://blog.youkuaiyun.com/lk_luck/article/details/121663204</guid><author>lk_luck</author><pubDate>Wed, 01 Dec 2021 20:15:51 +0800</pubDate><description><![CDATA[在做带 UI 的程序时，往往需要添加一些图片美化 UI，本文介绍怎么给工程添加图片，并显示在 Label 控件上。
添加资源文件
在工程目录新建一个目录，把图片文件放进去

Qtcreator 项目的窗口点击鼠标右键，依次选择：添加新文件 -&gt; Qt -&gt; Qt Resource File

名字随意，路径选择前面保存图片新建的目录，确认后会生成 .qrc 文件。
鼠标右键点击 .qrc 文件选择 Open in Editor

点击添加前缀，输入前缀名称，需要添加前缀之后才能添加文件

快捷键]]></description><category></category></item><item><title><![CDATA[编译 Qt 程序报错：“Qt requires C++11 support“]]></title><link>https://blog.youkuaiyun.com/lk_luck/article/details/121662952</link><guid>https://blog.youkuaiyun.com/lk_luck/article/details/121662952</guid><author>lk_luck</author><pubDate>Wed, 01 Dec 2021 19:48:07 +0800</pubDate><description><![CDATA[编译 Qt 程序报错：“Qt requires C++11 support”

需要添加 C++11 支持
.pro 文件添加内容：
CONFIG += c++11

或者
QMAKE_CXXFLAGS += -std=c++11


]]></description><category></category></item><item><title><![CDATA[Linux 远程工具]]></title><link>https://blog.youkuaiyun.com/lk_luck/article/details/121501231</link><guid>https://blog.youkuaiyun.com/lk_luck/article/details/121501231</guid><author>lk_luck</author><pubDate>Tue, 23 Nov 2021 20:20:02 +0800</pubDate><description><![CDATA[向日葵
下载地址：向日葵、支持国产系统版本
说明：

个人免费（限量 10 台设备）；
Windows、macOS、iOS、Android 客户端都有，某些国产操作系统（银河麒麟、统信UOS等）还支持 aarch64 平台的；
有图形版本和命令行版本；
不用注册，直接安装打开就能用；

安装完成后，启动命令：
$ sudo /usr/local/sunlogin/bin/sunloginclient

如果修改了安装路径，根据实际情况输入命令

ToDesk
下载地址：ToDesk
说明：

个人免费（限量]]></description><category></category></item><item><title><![CDATA[crontab 修改默认编辑器]]></title><link>https://blog.youkuaiyun.com/lk_luck/article/details/121500710</link><guid>https://blog.youkuaiyun.com/lk_luck/article/details/121500710</guid><author>lk_luck</author><pubDate>Tue, 23 Nov 2021 19:38:32 +0800</pubDate><description><![CDATA[Linux 系统定时任务一般都是通过 crontab 完成，使用方法可以查看：Linux 定时任务 Crontab
crontab 首次使用的时候需要选择编辑器，手快选错了的话就很尴尬，可能连退出都不会。（好不容易学会退出 VIM，然后又来一个新的。。。）
可以通过命令进行重新选择：
$ select-editor

如：

首次选择的时候就有提示，运行 “select-editor” 可以修改，但是手快的估计也看不到。

...]]></description><category></category></item><item><title><![CDATA[libssl.so.1.0.0 not found]]></title><link>https://blog.youkuaiyun.com/lk_luck/article/details/120810892</link><guid>https://blog.youkuaiyun.com/lk_luck/article/details/120810892</guid><author>lk_luck</author><pubDate>Sun, 17 Oct 2021 15:14:03 +0800</pubDate><description><![CDATA[在 ARM64 平台上开发了一套代码，不涉及硬件平台，移到 AMD64 平台编译项目报错：
libssl.so.1.0.0 =&gt; not found
libcrypto.so.1.0.0 =&gt; not found

在 ARM 上搜索了这个文件，文件路径：
/lib/aarch64-linux-gnu/libssl.so.1.0.0

搜索这个文件在哪个安装包：
$ apt-file search libssl.so.1.0.0

没找到内容，说明使用的这个源上面没有包含这个文件的安装包。
em]]></description><category></category></item><item><title><![CDATA[ubuntu 初始化分区]]></title><link>https://blog.youkuaiyun.com/lk_luck/article/details/120751041</link><guid>https://blog.youkuaiyun.com/lk_luck/article/details/120751041</guid><author>lk_luck</author><pubDate>Wed, 13 Oct 2021 20:10:34 +0800</pubDate><description><![CDATA[一般新买的硬盘需要初始化之后才能使用，因为上面没有文件系统，如果你买的硬盘直接就能挂载和使用，那么它有可能是。。。老司机。
直接挂载新的硬盘会出现这样的报错：
mount: /mnt: wrong fs type, bad option, bad superblock on /dev/sdb, missing codepage or helper program, or other error.

出现这个报错有两种情况，第一种就是新硬盘，上面没有文件系统，需要格式化；第二种就是你硬盘的文件系统挂了，可以尝]]></description><category></category></item><item><title><![CDATA[QT 程序使用 Framebuffer 显示 UI]]></title><link>https://blog.youkuaiyun.com/lk_luck/article/details/120750634</link><guid>https://blog.youkuaiyun.com/lk_luck/article/details/120750634</guid><author>lk_luck</author><pubDate>Wed, 13 Oct 2021 19:45:31 +0800</pubDate><description><![CDATA[桌面版本的 Linux 都会带有类似 xorg 这样的图形服务，桌面程序和应用程序的 UI 都是通过图形服务渲染的。但是有些系统为了减少系统体积、提升性能，会把图像服务和没有用到的模块裁剪掉，如嵌入式系统。
没有图形服务程序就不能直接渲染显示 UI，这时候我们可以使用 Framebuffer 进行渲染。
Framebuffer 也叫帧缓冲，它相当于屏幕的显示内容缓存，修改 Framebuffer 的内容，屏幕显示的内容也会同步修改。
Qt 支持 Framebuffer 显示，在编译 Qt 环境的时候，con]]></description><category></category></item><item><title><![CDATA[ftp 限定用户的访问路径后，增加公共区域访问]]></title><link>https://blog.youkuaiyun.com/lk_luck/article/details/120730505</link><guid>https://blog.youkuaiyun.com/lk_luck/article/details/120730505</guid><author>lk_luck</author><pubDate>Tue, 12 Oct 2021 19:55:38 +0800</pubDate><description><![CDATA[ftp 如果需要启动用户权限控制，一般情况下我们会把用户的访问目录限定在个人的 home 目录下，或者某个指定的路径，然后禁止访问其他的路径。  如果有一个公共区域需要多人共享的话，首先我们想到使用软链接，在每个人的访问区域中创建一个软链接，这样所有人都能通过软链接访问到公共区域，又不会影响到其他区域。
但是问题来了，ftp 协议不支持软链接，创建了链接文件，通过 ftp 协议后，看见的是普通文件，没办法跳转到对应的目录。
这时候我们可以通过绑定的方式，把公共区域和个人访问区域的一个目录进行绑定，这样就能通]]></description><category></category></item><item><title><![CDATA[esx-Server 多路径配置]]></title><link>https://blog.youkuaiyun.com/lk_luck/article/details/120730206</link><guid>https://blog.youkuaiyun.com/lk_luck/article/details/120730206</guid><author>lk_luck</author><pubDate>Tue, 12 Oct 2021 19:30:11 +0800</pubDate><description><![CDATA[在 esx-Server 上安装了 Ubuntu20.04，进去系统查看日志时发现，syslog 一直刷错误：
multipathd[651]: sda: add missing path
multipathd[651]: sda: failed to get udev uid: Invalid argument
multipathd[651]: sda: failed to get sysfs uid: Invalid argument
multipathd[651]: sda: failed to ge]]></description><category></category></item><item><title><![CDATA[编译 FFmpeg-4.4]]></title><link>https://blog.youkuaiyun.com/lk_luck/article/details/119331071</link><guid>https://blog.youkuaiyun.com/lk_luck/article/details/119331071</guid><author>lk_luck</author><pubDate>Tue, 10 Aug 2021 20:24:17 +0800</pubDate><description><![CDATA[下载源码
在 GitHub 下载源码包：FFmpeg
建议选定版本就不要变了，FFmpeg 每个大版本都会改东西，换一个版本就要重新研究一遍。
API 改、结构体改、连宏定义都改，绝了。之所以在网上很少有 FFmpeg 的文档资料，是因为你写文档的速度不一定有他改代码快。。。
要了解 API 怎么用只能啃源代码，或者使用 Doxygen 从源代码生成 API 文档。后面再写一篇博客介绍怎么使用 Doxygen 从源码文件生成 API 文档吧。网上找到一个连接也是用 Doxygen 的，可以看一下：FFmpe]]></description><category></category></item><item><title><![CDATA[QT websocket 服务器设置 wss 访问]]></title><link>https://blog.youkuaiyun.com/lk_luck/article/details/119207965</link><guid>https://blog.youkuaiyun.com/lk_luck/article/details/119207965</guid><author>lk_luck</author><pubDate>Thu, 29 Jul 2021 14:46:01 +0800</pubDate><description><![CDATA[wss 比 ws 多了一层证书校验，理论上我们只要在 websocket 服务器前面加一层 ssl 的认证就可以了。
服务器配置
代码直接用 QT 官方的栗子：
链接: SSL 回显服务器示例
打开 sslechoserver.cpp 文件，看构造函数就可以了
//! [constructor]
SslEchoServer::SslEchoServer(quint16 port, QObject *parent) :
    QObject(parent),
    m_pWebSocketServer(n]]></description><category></category></item><item><title><![CDATA[使用 dos2unix 把 windows 行尾结束符转换成 Unix 行尾结束符]]></title><link>https://blog.youkuaiyun.com/lk_luck/article/details/118114600</link><guid>https://blog.youkuaiyun.com/lk_luck/article/details/118114600</guid><author>lk_luck</author><pubDate>Thu, 22 Jul 2021 20:34:53 +0800</pubDate><description><![CDATA[windows 系统行尾的结束符由 回车符 和 换行符 两个符号组成（ “\r\n”），而 Unix 系统的行尾结束符只有 “换行符”（"\n"）。
如果你是两个系统交叉使用，这个差异就会变得很蛋疼。试着想象一下，你在 windows 系统使用 IED 把代码写得很优雅，而在 Linux 系统使用 vi 打开却发现每一行结尾都加上了 “^M”；又或者当你信心满满的写好一个 shell 脚本，拉到 Linux 上运行却一堆报错 “找不到命令：\r”；轻则逼死强迫症，重则机毁人亡。]]></description><category></category></item><item><title><![CDATA[Ubuntu搭建离线APT仓库]]></title><link>https://blog.youkuaiyun.com/lk_luck/article/details/116054561</link><guid>https://blog.youkuaiyun.com/lk_luck/article/details/116054561</guid><author>lk_luck</author><pubDate>Fri, 23 Apr 2021 15:35:51 +0800</pubDate><description><![CDATA[前面写了一篇博客，讲述如何用自己制作的Debian包搭建APT仓库： Ubuntu 搭建 APT 仓库
这篇博客讲解怎么从公网的软件源上拉取（打工人的事怎么能说偷）软件包到本地，然后在本地搭建一个离线版本的APT仓库。
拉取软件包需要用到 apt-mirror 这个工具
安装 apt-mirror
$ sudo apt install apt-mirror

修改配置文件
修改配置文件 /etc/apt/mirror.list
默认的配置文件：

说明：
set base_path 设置下载的路径
默认下载]]></description><category></category></item><item><title><![CDATA[systemd 的标准输入、标准输出和标准错误]]></title><link>https://blog.youkuaiyun.com/lk_luck/article/details/115695182</link><guid>https://blog.youkuaiyun.com/lk_luck/article/details/115695182</guid><author>lk_luck</author><pubDate>Wed, 21 Apr 2021 20:35:15 +0800</pubDate><description><![CDATA[Linux 的 systemd 也有 StandardInput 、StandardOutput 和 StandardError。之所以研究这东西，是因为我在折腾 systemd 服务的时候，发现 systemd 会把程序的日志输出到 syslog，这就很尴尬了。

]]></description><category></category></item><item><title><![CDATA[VMware workstations报错 “锁定文件失败，打不开磁盘 ‘D:\XXX.vmdk’ 或它所依赖的某个快照磁盘”]]></title><link>https://blog.youkuaiyun.com/lk_luck/article/details/115468737</link><guid>https://blog.youkuaiyun.com/lk_luck/article/details/115468737</guid><author>lk_luck</author><pubDate>Tue, 06 Apr 2021 20:13:03 +0800</pubDate><description><![CDATA[问题
启动 Ubuntu 虚拟机的时候 VMware workstations 报错了：
锁定文件失败，
打不开磁盘 “D:\小姐姐的别墅\software\vm\Ubuntu18.04.vmdk” 或它所依赖的某个快照磁盘。
原因
在存放虚拟机镜像的文件夹发现多了几个 “xxx.lck” 文件夹。在网上找了一下资料，VMware workstations 为了防止虚拟机镜像文件被多台虚拟机同时访问，在打开虚拟机之前会先对镜像文件进行加锁操作（生成 “xxx.lck” 文件夹），然后再关闭虚拟机的时候解锁（]]></description><category></category></item><item><title><![CDATA[多线程操作 GUI 程序崩溃]]></title><link>https://blog.youkuaiyun.com/lk_luck/article/details/115377498</link><guid>https://blog.youkuaiyun.com/lk_luck/article/details/115377498</guid><author>lk_luck</author><pubDate>Thu, 01 Apr 2021 16:39:30 +0800</pubDate><description><![CDATA[报错：
[xcb] Unknown request in queue while dequeuing
[xcb] Most likely this is a multi-threaded client and XInitThreads has not been called
[xcb] Aborting, sorry about that.
backend: ../../src/xcb_io.c:179: dequeue_pending_request: Assertion `!xcb_xlib_unkno]]></description><category></category></item><item><title><![CDATA[BMP图片-文件头部信息]]></title><link>https://blog.youkuaiyun.com/lk_luck/article/details/115122351</link><guid>https://blog.youkuaiyun.com/lk_luck/article/details/115122351</guid><author>lk_luck</author><pubDate>Tue, 23 Mar 2021 16:09:29 +0800</pubDate><description><![CDATA[BMP 图片也就是位图（bitmap），直接存储像素数据，几乎不进行压缩，图像信息丰富，比较明显的缺点就是占用空间大。
BMP 图片的结构很简单，首先是文件信息、接着是位图信息，然后是调色板信息，最后是位图数据。需要注意的是，文件头部信息的每一部分都是固定大小的，所以在处理文件头部信息时需要按 1 字节对齐的方式访问，或者在声明结构体时用关键字 “__attribute__((packed))” 取消字节对齐。
1. 文件信息
文件信息结构体：
typedef struct tag_bitmap_file_]]></description><category></category></item></channel></rss>