linux(ubuntu20.04)+PicGo(gui版)+github+typora搭建笔记

写在开头,这是我最开始折腾的笔记,个人感觉这一套不好用,后面还折腾了一系列,感觉好用。

下载PicGo

https://github.com/Molunerfinn/PicGo/releases

Linux下载.AppImage结尾的

2024-7-16 22:33:05 的最新版是 https://picgo-release.molunerfinn.com/2.4.0-beta.7/PicGo-2.4.0-beta.7.AppImage

chmod +x PicGo-2.4.0-beta.7.AppImage

设置开机自启动 后来发现瞎折腾,软件支持开机自启动,可以跳过这一步骤

image.png

cd /etc/init.d/ sudo vim picgo 然后输入如下内容,注意替换为你的路径

#!/bin/bash /home/xxx/PicGo-2.4.0-beta.7.AppImage

sudo chmod 777 picgo

添加开机启动

sudo update-rc.d picgo defaults 90

删除开机启动

sudo update-rc.d -f picgo remove

列出所有启动项,可查看开机自启动服务的状态:

sudo systemctl list-unit-files sudo systemctl list-unit-files|grep picgo

后来发现这个PicGo用root启动有问题

<think>我们被要求在Ubuntu 20.04上编译指定本的OpenCV(3.4.15),并且指定了编译目录为/home/user/opencv/build。注意,这里的user应该是当前用户,所以实际路径可能是/home/你的用户名/opencv/build。 步骤概述: 1. 安装依赖项 2. 下载OpenCV 3.4.15源码 3. 创建并进入构建目录(/home/user/opencv/build) 4. 配置构建(使用CMake) 5. 编译并安装 注意:由于OpenCV 3.4.15可能对较新的Ubuntu 20.04中的一些库有兼容性问题,我们可能需要调整一些依赖本或者配置选项。 根据引用[2]和引用[5]中的信息,我们可以参考一些安装步骤,但要注意本差异。 具体步骤: 1. 安装依赖项: 打开终端,执行以下命令安装必要的依赖: ```bash sudo apt update sudo apt install -y build-essential cmake git pkg-config libgtk-3-dev \ libavcodec-dev libavformat-dev libswscale-dev libv4l-dev \ libxvidcore-dev libx264-dev libjpeg-dev libpng-dev libtiff-dev \ gfortran openexr libatlas-base-dev python3-dev python3-numpy \ libtbb2 libtbb-dev libdc1394-22-dev ``` 注意:OpenCV 3.4.15需要较旧本的libjasper-dev,但在Ubuntu 20.04中已被移除,我们可以跳过或者从其他源安装。但为了简化,我们可以不安装libjasper-dev,因为它是可选的(用于JPEG2000支持)。如果需要,可以尝试从Ubuntu 18.04的源安装,但这里我们跳过。 2. 下载OpenCV 3.4.15源码: 我们可以下载指定本的OpenCV和OpenCV_contrib(如果需要额外模块)源码。注意,OpenCV 3.4.15的贡献模块需要与主本匹配。 创建目录并下载源码(假设我们想要包含contrib模块): ```bash mkdir -p ~/opencv cd ~/opencv git clone https://github.com/opencv/opencv.git -b 3.4.15 git clone https://github.com/opencv/opencv_contrib.git -b 3.4.15 ``` 这样,我们就在~/opencv目录下有了opencv和opencv_contrib两个目录。 3. 创建构建目录并进入: ```bash mkdir -p ~/opencv/build cd ~/opencv/build ``` 4. 使用CMake配置构建: 执行cmake命令,注意指定contrib模块的路径(如果需要)以及其他选项。这里我们假设需要contrib模块,并且安装路径为默认的/usr/local。 ```bash cmake -D CMAKE_BUILD_TYPE=RELEASE \ -D CMAKE_INSTALL_PREFIX=/usr/local \ -D INSTALL_C_EXAMPLES=OFF \ -D INSTALL_PYTHON_EXAMPLES=OFF \ -D OPENCV_EXTRA_MODULES_PATH=~/opencv/opencv_contrib/modules \ -D BUILD_EXAMPLES=OFF \ -D WITH_FFMPEG=ON \ -D WITH_CUDA=OFF \ # 如果不使用CUDA,可以关闭。如果需要CUDA,需要额外配置,但OpenCV 3.4.15对CUDA 11+支持可能有问题,建议关闭。 ../opencv ``` 注意:如果不需要contrib模块,可以去掉`-D OPENCV_EXTRA_MODULES_PATH`这一行。 另外,由于Ubuntu 20.04的默认gcc本是9,而OpenCV 3.4.15可能对高本gcc支持不够好,可能会遇到一些警告或错误。如果遇到问题,可能需要降低gcc本(例如安装gcc-7并切换)或者应用补丁。 5. 编译和安装: 使用make进行编译,然后安装。 ```bash make -j$(nproc) # 使用所有可用的CPU核心进行编译 sudo make install ``` 6. 配置环境: 为了让系统找到OpenCV库,需要更新动态链接库缓存: ```bash sudo ldconfig ``` 7. 验证安装: 可以编写一个简单的C++程序或者使用Python来验证。例如,在Python中: ```python import cv2 print(cv2.__version__) ``` 应该输出3.4.15。 注意事项: - 如果遇到编译错误,可能需要根据错误信息调整依赖或CMake选项。 - 如果需要CUDA支持,请注意OpenCV 3.4.15可能不支持较新的CUDA本(如CUDA 11),需要尝试使用CUDA 10.x。但根据引用[1],在Ubuntu 16.04上安装OpenCV 3.1时使用了CUDA 8,所以对于3.4.15,建议使用CUDA 10.0或10.1。但本回答中我们关闭了CUDA。 - 如果不需要contrib模块,可以省略opencv_contrib的下载和CMake中的OPENCV_EXTRA_MODULES_PATH选项。 卸载OpenCV(如果需要): 根据引用[2]中的卸载步骤,可以进入构建目录执行: ```bash sudo make uninstall ``` 然后手动删除相关文件,或者直接删除安装目录(/usr/local)下的OpenCV相关文件。 由于编译过程可能较长,请耐心等待。 生成相关问题: 1.Ubuntu 20.04上编译OpenCV 3.4.15时遇到未定义的引用错误怎么办? 2. 如何为OpenCV 3.4.15启用CUDA加速? 3. 编译OpenCV时如何指定安装路径? 4. 如何验证OpenCV是否安装成功? 5. 如何卸载通过源码编译安装的OpenCV?</think>### 在 Ubuntu 20.04 上编译 OpenCV 3.4.15 的完整指南 #### **1. 安装依赖项** ```bash sudo apt update sudo apt install -y build-essential cmake git pkg-config libgtk-3-dev \ libavcodec-dev libavformat-dev libswscale-dev libv4l-dev \ libxvidcore-dev libx264-dev libjpeg-dev libpng-dev libtiff-dev \ gfortran openexr libatlas-base-dev python3-dev python3-numpy \ libtbb2 libtbb-dev libdc1394-22-dev libopenexr-dev \ libgstreamer-plugins-base1.0-dev libgstreamer1.0-dev ``` > 📌 注意:OpenCV 3.4.15 需要较旧本的 `libjasper-dev`,但 Ubuntu 20.04 已移除此包。可通过以下方式安装: > ```bash > sudo add-apt-repository "deb http://security.ubuntu.com/ubuntu xenial-security main" > sudo apt update > sudo apt install libjasper1 libjasper-dev > ``` #### **2. 下载源码** ```bash mkdir -p ~/opencv && cd ~/opencv git clone https://github.com/opencv/opencv.git -b 3.4.15 git clone https://github.com/opencv/opencv_contrib.git -b 3.4.15 ``` #### **3. 配置编译环境** ```bash mkdir -p build && cd build cmake -D CMAKE_BUILD_TYPE=RELEASE \ -D CMAKE_INSTALL_PREFIX=/usr/local \ -D INSTALL_C_EXAMPLES=OFF \ -D INSTALL_PYTHON_EXAMPLES=OFF \ -D OPENCV_EXTRA_MODULES_PATH=~/opencv/opencv_contrib/modules \ -D WITH_FFMPEG=ON \ -D WITH_GTK=ON \ -D BUILD_EXAMPLES=OFF \ -D BUILD_TESTS=OFF \ ../opencv ``` > 🔍 **关键参数说明**: > - `OPENCV_EXTRA_MODULES_PATH`:包含 contrib 模块(如 SIFT/SURF) > - `CMAKE_INSTALL_PREFIX`:指定安装路径 > - `WITH_FFMPEG=ON`:启用视频编解码支持[^5] #### **4. 编译与安装** ```bash make -j$(nproc) # 使用所有CPU核心加速编译 sudo make install sudo ldconfig # 更新库链接 ``` #### **5. 验证安装** ```bash # C++ 验证 pkg-config --modversion opencv # 应输出:3.4.15 # Python 验证 python3 -c "import cv2; print(cv2.__version__)" # 应输出:3.4.15 ``` #### **6. 环境配置** ```bash # 添加库路径(若程序运行时提示找不到库) echo '/usr/local/lib' | sudo tee /etc/ld.so.conf.d/opencv.conf sudo ldconfig ``` #### **常见问题解决** 1. **编译错误:`videoio.hpp 文件缺失`** 删除 build 目录并重新执行 CMake,添加: ```bash -D WITH_V4L=ON -D WITH_LIBV4L=ON ``` 2. **Python 绑定未生成** 确保安装 `python3-dev` 并检查 CMake 输出中的 `Python 3` 部分是否包含 `Interpreter` 和 `numpy` 路径[^2]。 3. **CUDA 支持问题** OpenCV 3.4.15 对 CUDA 11+ 支持有限,建议使用 CUDA 10.2(需额外配置): ```bash -D WITH_CUDA=ON -D CUDA_ARCH_BIN="7.5" # 根据GPU算力调整 ``` > ⚠️ 卸载方法:进入 `~/opencv/build` 执行 `sudo make uninstall`[^2] --- ### 相关问题 1. 如何解决 OpenCV 3.4.15 在 Ubuntu 20.04 上编译时的 `libjasper` 依赖问题? 2. 编译 OpenCV 时如何启用 CUDA 加速?需要哪些额外配置? 3. 安装多本 OpenCV 时如何通过 CMake 指定使用特定本? 4. 如何验证 OpenCV 的视频编解码功能(如 FFMPEG)是否正常工作? 5. 在 Docker 容器中编译 OpenCV 有哪些优化编译速度和镜像体积的技巧? [^1]: 引用自用户提供的安装笔记,强调本匹配的重要性 [^2]: 参考 Ubuntu 安装 OpenCV3 的卸载流程 [^5]: 关键步骤:添加库路径到系统配置
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值