• Ubuntu常见问题解决


    Ubuntu常见问题解决

    1.ubuntu系统上安装qt5.12后无法调试运行

      原因:缺少gcc、g++、make、libgl1

    sudo apt-get install gcc
    sudo apt-get install g++
    sudo apt-get install make
    sudo apt-get install libgl1-mesa-dev
    
    • 1
    • 2
    • 3
    • 4

    2.ubuntu系统上安装qt5.12无法输入中文

      原因安装的qt只能缺少中文输入环境。
      安装fcitx-qt5:sudo apt-get install fcitx-frontend-qt5

    2.1安装搜狗输入法

      下载路径:https://pinyin.sogou.com/linux/
    在这里插入图片描述
      ubuntu下安装软件包命令

    sudo dpkg -i /mnt/hgfs/ubuntu/software_pack/sogoupinyin_2.4.0.3469_amd64.deb 
    
    • 1

      此时有可能安装不成功,调用apt的自动修复,自动安装缺少的包:sudo apt-get install -f

    2.2 拷贝动态库到Qt安装路径下

      查看libfcitxplatforminputcontextplugin.so库路径:dpkg -L fcitx-frontend-qt5 |grep .so
      将该库拷贝到Qt5.12.6/5.12.6/gcc_64/plugins/platforminputcontexts/目录下:

    cp /usr/lib/x86_64-linux-gnu/qt5/plugins/platforminputcontexts/libfcitxplatforminputcontextplugin.so ./Qt5.12.6/5.12.6/gcc_64/plugins/platforminputcontexts/
    
    • 1

      该库拷贝到Qt5.12.6/Tools/QtCreator/lib/Qt/plugins/platforminputcontexts/目录下

    cp /usr/lib/x86_64-linux-gnu/qt5/plugins/platforminputcontexts/libfcitxplatforminputcontextplugin.so ./Qt5.12.6/Tools/QtCreator/lib/Qt/plugins/platforminputcontexts/
    
    • 1

    3.ubuntu网络图标不显示解决

      1.关网络服务:sudo service network-manager stop
      2.删除网络状态文件:sudo rm /var/lib/NetworkManager/NetworkManager.state
      3.启动网络服务:sudo service network-manager start
      4.修改配置文件将flase改为true:sudo gedit /etc/NetworkManager/NetworkManager.conf
    在这里插入图片描述
      5.重启网络服务:sudo service network-manager restart
      若上面方式还是无法解决,则重置网络服务器。
    在这里插入图片描述

    4.ubuntu下安装与移除deb包命令

    sudo dpkg -i <xxx.deb>   #安装deb软件
    sudo dpkg -r <软件包>     #移除安装的deb包
    sudo apt-get install -f   #自动安装缺少的库
    
    • 1
    • 2
    • 3

    5.ubuntu下常用安装与卸载命令

    sudo apt-get install <软件>   #在线安装软件
    sudo apt-get remove <软件包名字>  #删除已安装的软件包(保留配置文件)
    sudo apt-get --purge remove <软件>  #删除已安装的软件包(不保留配置文件)
    sudo apt-get update   #更新
    sudo apt-get upgrade  #升级已安装的软件包,在升级前先执行安装
    
    • 1
    • 2
    • 3
    • 4
    • 5

    6.ubuntu下make menuconfig打开失败

    在这里插入图片描述
      安装 flexbison,重新make menuconfig即可。

    sudo apt-get install flex
    sudo apt-get install bison
    
    • 1
    • 2

    7.ubuntu下编译驱动文件

    7.1查看内核信息

      Linux下内核源码位置: /usr/src/
      Ubuntu下查看系统信息: sudo lsb_release -a

    [wbyq@wbyq src]$ sudo lsb_release -a
    No LSB modules are available.
    Distributor ID:	Ubuntu
    Description:	Ubuntu 18.04.6 LTS
    Release:	18.04
    Codename:	bionic
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

      Ubuntu下查看内核版本信息:cat /proc/version 或者 uname -a

    [wbyq@wbyq src]$ cat /proc/version
    Linux version 5.4.0-126-generic (buildd@lcy02-amd64-087) (gcc version 7.5.0 (Ubuntu 7.5.0-3ubuntu1~18.04)) #142~18.04.1-Ubuntu SMP Thu Sep 1 16:25:16 UTC 2022
    [wbyq@wbyq src]$  uname -a
    Linux wbyq-virtual-machine 5.4.0-126-generic #142~18.04.1-Ubuntu SMP Thu Sep 1 16:25:16 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
    
    
    • 1
    • 2
    • 3
    • 4
    • 5

    7.2 驱动编译与注册

    • 驱动模板示例
    #include 
    #include 
    #include 
    /*驱动入口函数*/
    static int __init tiny4412_wbyq_module_init(void)
    {
    	/*内核层打印函数*/
        printk("设备层注册成功\n");
        return 0;
    }
    /*驱动出口函数*/
    static void __exit tiny4412_wbyq_module_cleanup(void)
    {
        printk("设备层注销成功\n");
    }
    
    module_init(tiny4412_wbyq_module_init);/*驱动入口函数,注册驱动时调用*/
    module_exit(tiny4412_wbyq_module_cleanup);/*驱动出口函数,驱动注销时调用*/
    MODULE_LICENSE("GPL"); //驱动许可证
    MODULE_AUTHOR("it_ashui");
    MODULE_DESCRIPTION("tiny4412 hello module");
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 驱动编译示例
    KER_ADD=/usr/src/linux-headers-5.4.0-126-generic #内核Makefile路径
    app:
    	make -C $(KER_ADD) M=`pwd` modules #调用内核Makefile编译当前模块
    .PHONY=celan
    clean:
    	make -C $(KER_ADD) M=`pwd` modules clean #清空文件
    obj-m +=drv_hello.o  #驱动依赖文件
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 驱动安装
    [wbyq@wbyq drv_hello]$ sudo insmod  drv_hello.ko  //安装驱动
    [wbyq@wbyq drv_hello]$ lsmod  //查看安装的驱动
    Module                  Size  Used by
    drv_hello              16384  0
    [wbyq@wbyq drv_hello]$ modinfo drv_hell.ko //查看驱动信息
    modinfo: ERROR: Module drv_hell.ko not found.
    [wbyq@wbyq drv_hello]$ modinfo drv_hello.ko
    filename:       /mnt/hgfs/ubuntu/work/drv_hello/drv_hello.ko
    description:    tiny4412 hello module
    author:         it_ashui
    license:        GPL
    srcversion:     C3B117744D970DDBCE90F06
    depends:        
    retpoline:      Y
    name:           drv_hello
    vermagic:       5.4.0-126-generic SMP mod_unload modversions 
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17

      注意:驱动程序正常会使用printk向终端打印调试信息, 如果驱动安装之后当前终端没有反应,可以通过dmesg命令查看日志里是否有输出。

    [wbyq@wbyq drv_hello]$ dmesg --ctime 
    [1119 11:58:11 2022] 设备层注册成功
    
    • 1
    • 2
  • 相关阅读:
    Spring注解驱动之FactoryBean注册组件
    C++ Python网易云音乐播放器
    同城服务系统商家商城城市代理躲猫猫小程序
    LeetCode538:把二叉搜索树转换为累加树
    Java程序设计——注解(Java高级应用)
    Laf v1.0 发布:函数计算只有两种,30s 放弃的和 30s 上线的
    MATLAB | 全网唯一,使用MATLAB绘制精致的环形树状图
    基于matlab的小车在行驶过程中倒立摆的动态平衡控制器仿真
    C#实现二分查找算法
    C++ 11 模板改进
  • 原文地址:https://blog.csdn.net/weixin_44453694/article/details/126566555