退出进程的常用信号

参考: GNU libc

1$ kill -l
2 1) SIGHUP       2) SIGINT       3) SIGQUIT      4) SIGILL       5) SIGTRAP
3 6) SIGABRT      7) SIGBUS       8) SIGFPE       9) SIGKILL     10) SIGUSR1
411) SIGSEGV     12) SIGUSR2     13) SIGPIPE     14) SIGALRM     15) SIGTERM
516) SIGSTKFLT   17) SIGCHLD     18) SIGCONT     19) SIGSTOP     20) SIGTSTP
查看全文

通过systemd service启动的程序无法写文件

编译安装 NetworkManager 之后,网络功能瘫痪。提示 read-only file system:

1$ nmcli device wifi rescan
2$ nmcli device wifi connect HBC-WiFi
3Error: Failed to add/activate new connection: failure adding connection: 
4error writing to file '/usr/etc/NetworkManager/system-connections/HBC-WiFi.nmconnection': 
5failed to create file /usr/etc/NetworkManager/system-connections/HBC-WiFi.nmconnection.QZNRI1:read-only file system
查看全文

通过 systemd service 控制 x11vnc

创建 /usr/lib/systemd/user/x11vnc.service 文件,写入以下内容:

1[Unit]
2Description=X11 VNC Server
3Requires=graphical-session.target
4After=graphical-session.target
5
6[Service]
查看全文
查看全文

配置命令提示符

通过环境变量 PS1 配置命令提示符,以 Ubuntu 24.04 的默认值为例:

1\[\e]0;\u@\h: \w\a\]${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ 

它分为两个部分。

查看全文

QAudioOutput 无法播放声音的问题

在 Windows 上使用 MSVC 编译的 Qt 程序,无法播放声音,QAudioDeviceInfo::availableDevices 返回空列表。

这是因为没能正确加载 Qt 插件。需要将 Qt\msvc2017_64\plugins 目录下的 audio 目录复制到可执行文件所在目录。

使用 windeployqt 部署后即可正确运行。

插件加载正确后,仍然发生无声音的问题,且 Qt 无任何报错。通过 QAudioDeviceInfo 查看支持的音频格式为:

查看全文

QCustomPlot 启用 OpenGL

编译时添加预编译宏 QCUSTOMPLOT_USE_OPENGL,用绘图的 QCustomPlot 子类调用 setOpenGl(true),并链接 OpenGL32

在 Windows 上使用 OpenGL32 存在很严重的性能问题,可以改为使用 freeglut

图像错乱问题

修改 QCPPaintBufferGlFbo::draw,添加上下文切换的代码。

查看全文

QObject 与 dllimport 的相关问题

Qt 的元对象编译(MOC)系统会根据标记了 Q_OBJECT 的类生成代码。由于类通常在头文件中,因此通常需要将头文件加入编译。

1add_library(lib SHARED lib.h lib.cpp)

在 Windows 上引用 lib 时,可能会遇到 staticMetaObject 符号未定义的错误。

查看全文
查看全文
查看全文