lubuntu18.04工控屏QT开发

2023-05-16

lubuntu18.04工控屏QT开发——备忘

    • 系统更新
    • 中文语言包及输入法
    • QT安装
    • QWT安装
    • QT程序的打包和运行
    • Lubuntu开机自启动脚本程序方法
    • Lubuntu开机跳过输入密码自动登录

13.3寸触摸工控屏,lubuntu18.04系统,用于QT程序开发,新机配置步骤记录。

系统更新

开机后打开终端先进行系统的更新:8

  1. 更新已安装的包;

sudo apt-get update

  1. 升级系统;

sudo apt-get upgrade

中文语言包及输入法

  1. 中文语言包设置
    菜单→首选项→语言支持→添加/删除语言→选择中文,应用。然后将中文输入法拖动到最上方,最后重启系统。
  2. 安装ibus中文输入法,打开终端:

sudo apt-get install ibus ibus-clutter ibus-gtk ibus-gtk3 ibus-qt4

  1. 切换到ibus框架:

im-config -s ibus

  1. 安装中文拼音引擎:

sudo apt-get install ibus-pinyin

  1. IBus窗口添加中文拼音输入法:

sudo ibus-setup

  1. 重启系统.

QT安装

  1. 安装g++:

sudo apt-get install build-essential

  1. 命令安装qt:

sudo apt-get install qtcreator
sudo apt-get install qt5-default

  1. 重启系统.

QWT安装

  1. 安装qwt命令:

sudo apt-get install libqwt-headers
sudo apt-get install libqwt-qt5-6
sudo apt-get install libqwt-qt5-dev
sudo apt-get install libqwtmathml-qt5-6

QT程序的打包和运行

  1. 创建一个单独的文件夹install,将需要发布的QT的可执行程序WenShi复制到install文件夹中。
  2. 在install文件夹中创建脚本文件pack.sh,命令为:

touch pack.sh

在脚本文件pack.sh中写入如下内容:

#!/bin/bash

LibDir=$PWD
Target=$1

lib_array=($(ldd $Target | grep -o "/.*" | grep -o "/.*/[^[:space:]]*"))

for Variable in ${lib_array[@]}
do
    cp "$Variable" $LibDir
done

设置脚本权限,命令为:

sudo chmod 777 pack.sh

执行脚本,命令为:

./pack.sh WenShi

其中WenShi为执行程序,此时会在文件夹install下生成执行程序WenShi依赖的QT基础库文件。

  1. 去QT的安装目录下,找到/home/li/Qt5.12.9/5.12.9/gcc_64/plugins/platforms目录

cd /usr/lib/arm-linux-gnueabihf/qt5/plugins/platforms

创建packlib.sh脚本,写入脚本内容如下:

#!/bin/bash

LibDir=$PWD"/lib"
Target=$1

lib_array=($(ldd $Target | grep -o "/.*" | grep -o "/.*/[^[:space:]]*"))

$(mkdir $LibDir)

for Variable in ${lib_array[@]}
do
    cp "$Variable" $LibDir
done

这两个脚本在功能上是一样的,都是生成执行程序的依赖库。只不过区别在于2步骤直接将依赖库生成在当前目录;而3步骤创建了一个lib文件夹,用来存放依赖库,目的是方便清除,不改变QT的安装目录下的文件。

设置脚本权限,命令为:

sudo chmod 777 packlib.sh

执行脚本,命令为:

./pack.sh libqxcb.so

会在该目录下生成一个lib文件夹,将lib文件夹里面的内容复制到install文件夹下

  1. 将platfroms文件夹也复制到install文件夹下。
  2. 在install文件夹下创建WenShi.sh脚本文件,文件下写入如下内容:
#!/bin/sh
appname=`basename $0 | sed s,\.sh$,,`
 
dirname=`dirname $0`
tmp="${dirname#?}"
 
if [ "${dirname%$tmp}" != "/" ]; then
dirname=$PWD/$dirname
fi
LD_LIBRARY_PATH=$dirname
export LD_LIBRARY_PATH
$dirname/$appname "$@"

设置权限

sudo chmod 777 WenShi.sh

执行

./WenShi.sh

此时的执行程序在关闭终端之后也会随之关闭。

Lubuntu开机自启动脚本程序方法

  1. 在桌面创建一个autostart.sh脚本文件。填入以下内容:
#!/bin/bash
{
	gnome-terminal -x bash -c "cd /home/youngfeel/Desktop/install;./WenShi.sh;exec bash"
	
}

设置权限

sudo chmod 777 autostart.sh

  1. 命令安装gnome-terminal:

sudo apt-get install gnome-terminal

  1. 命令安装gnome管理界面:

sudo apt-get install gnome-startup-applications

cmd输入命令打开gnome管理界面:

gnome-session-properties

点击“添加”按钮.
名称:自定义,相当于取个名字
命令:点击浏览选择autostart.sh脚本文件

Lubuntu开机跳过输入密码自动登录

  1. 修改/etc/lxdm/default.conf文件
    cmd输入命令:

sudo vim /etc/lxdm/default.conf

修改或添加一行:

autologin = youngfeel        #autologin需要自己根据系统用户名填写
  1. 修改/etc/lightdm/lightdm.conf文件
    cmd输入命令:

sudo vim /etc/lightdm/lightdm.conf

文件修改如下:

[SeatDefaults]
autologin-guest=false        #设置游客不可以自动登录
autologin-user=youngfeel	 #设置自动登录的用户,此处为tck
autologin-user-timeout=0     #设置登录等待时间为0
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

lubuntu18.04工控屏QT开发 的相关文章

  • 线程池BUG复现和解决

    逻辑很简单 xff0c 线程池执行了一个带结果的异步任务 但是最近有偶发的报错 xff1a java util concurrent RejectedExecutionException Task java util concurrent
  • 移动端开发——APP端上H5容器化建设

    1 背景 当前移动端和前端的结合愈加紧密 xff0c 尤其是在偏重活动运营的电商App中 xff0c 受制于App版本审核 xff0c 具备研发成本低 可灵活发布等特点的H5页面受到青睐 xff0c 使其在APP端上承接了越来越多的业务 然
  • C++时间与字符串转换

    1 常用的时间存储方式 1 xff09 time t类型 xff0c 这本质上是一个长整数 xff0c 表示从1970 01 01 00 00 00到目前计时时间的秒数 xff0c 如果需要更精确一点的 xff0c 可以使用timeval精
  • 解决linux环境下nohup: redirecting stderr to stdout问题

    在生产环境下启动Weblogic时 xff0c 发现原来好好的nohup信息输出到指定文件中的功能 xff0c 突然出问题了 现象是控制台输出的信息一部分输出到了我指定的文件 xff0c 另一部分却输出到了nohup out xff0c 而
  • [转]Redis作为消息队列与RabbitMQ的性能对比

    周末测试了一下RabbitMQ的性能 xff0c RabbitMQ是使用Erlang编写的一个开源的消息队列 xff0c 本身支持很多的协议 xff1a AMQP xff0c XMPP SMTP STOMP xff0c 也正是如此 xff0
  • Python3.7 实现TCP通信

    TCP 连接程序分为服务端和客户端两部分 服务端步骤如下 xff1a 1 创建套接字Socket 什么是套接字 应用层通过传输层进行数据通信时 xff0c TCP和UDP会遇到同时为多个应用程序进程提供并发服务的问题 为了区别不同的应用程序
  • CentOS、Ubuntu、Debian三个linux比较异同

    Linux有非常多的发行版本 xff0c 从性质上划分 xff0c 大体分为由商业公司维护的商业版本与由开源社区维护的免费发行版本 商业版本以Redhat为代表 xff0c 开源社区版本则以debian为代表 这些版本各有不同的特点 xff
  • LDAP 中 CN, OU, DC 的含义

    1 LDAP的存储规则 区分名 xff08 DN xff0c Distinguished Name xff09 和自然界中的树不同 xff0c 文件系统 LDAP 电话号码簿目录的每一片枝叶都至少有一个独一无二的属性 xff0c 这一属性可
  • bat修改hosts文件

    attrib R C WINDOWS system32 drivers etc hosts 64 echo 64 echo 127 0 0 1 aaaa bbb com gt gt C WINDOWS system32 drivers et
  • 使用org.apache.tools.zip实现zip压缩和解压

    import java io import org apache tools zip import java util Enumeration 功能 zip压缩 解压 支持中文文件名 说明 本程序通过使用Apache Ant里提供的zip工
  • freeModbus代码解读及移植笔记

    freeModbus的代码库还是很好用的 xff0c 本人在wince和C8051F410下均移植成功 xff08 只用到RTU模式 xff09 但freeModbus提供的文档比较少 xff0c 只能对照着Modbus协议一点点试着读懂源
  • MySQL变量:local_infile

    local infile服务器变量指示能否使用load data local infile命令 该变量默认为ON 该变量为OFF时 xff0c 禁用客户端的load data local infile命令 Sql代码 mysql gt sh
  • strcpy函数实现

    C语言标准库函数strcpy的一种典型的工业级的最简实现 返回值 xff1a 返回目标串的地址 对于出现异常的情况ANSI C99标准并未定义 xff0c 故由实现者决定返回值 xff0c 通常为NULL 参数 xff1a strDesti
  • C++库介绍

    1 C 43 43 标准库 xff08 STL xff09 STL六大组件 容器 算法 迭代器 仿函数 适配器 配接器 空间配置器 1 容器 各种数据结构 xff0c 如vector list deque set map等 xff0c 用来
  • 【C++】extern “C“ 用法详解

    前言 前面简单了解了C 43 43 中的extern 34 C 34 之后 xff0c 可能很多小伙伴对这个陌生的词非常困惑 xff0c 不能理解他的使用场景 所以本章内容就来详细了解extern 34 C 34 的用法 xff0c 这里使
  • FreeRTOS学习第三篇——FreeRTOS任务创建(下)

    声明 xff1a 本文为博主的学习篇章 xff0c 欢迎大家指错 xff0c 共同学习 在解决一下上篇遗留下来的问题之前 xff0c 还得提前做些功课 xff0c 了解一些FreeRTOS的全局变量 PRIVILEGED DATA stat
  • printf用法之打印二进制,八进制,十进制,十六进制

    printf用法之打印2进制 xff0c 八进制 xff0c 十进制 xff0c 十六进制 printf是格式化输出函数 xff0c 它可以直接打印十进制 xff0c 八进制 xff0c 十六进制 xff0c 输出控制符分别为 d o x
  • 【飞控开发基础教程7】疯壳·开源编队无人机-SPI(气压计数据获取)

    COCOFLY教程 疯壳 无人机 系列 SPI xff08 气压计数据获取 xff09 图1 一 SPL06 简介 SPL06 是歌尔公司最新推出新款气压传感器 xff0c 最新推出新款气压传感器SPL06 001 xff0c 歌尔是全球领
  • 【遥控器开发基础教程5】疯壳·开源编队无人机-SPI(2.4G 双机通信)

    COCOFLY教程 疯壳无人机 系列 SPI 2 4G 双机通信 图1 一 NRF24L01 1 1 NRF24L01 简介 NRF24L01 是由NORDIC 生产的工作在 2 4GHz 2 5GHz 的ISM 频段的单片无线收发器芯片
  • tcp之IO模型

    5种io模型 tcp服务器分为了5种io复用模型 分别是 阻塞io模型 非阻塞io模型 io复用 信号驱动io 异步io 本文会讲前面3种io模型的tcp服务器实现 本文只做tcp服务器实现 客户端逻辑处理 接收数据等缓冲区不做深入说明 简

随机推荐

  • C语言带参数的宏定义

    C语言允许宏带有参数 在宏定义中的参数称为 形式参数 xff0c 在宏调用中的参数称为 实际参数 xff0c 这点和函数有些类似 对带参数的宏 xff0c 在展开过程中不仅要进行字符串替换 xff0c 还要用实参去替换形参 带参宏定义的一般
  • Ubuntu U盘安装时安装时卡在Syslinux的问题

    用软碟通制作的U盘启动 xff0c ubuntu是11 10版本 xff0c 安装时显示 xff1a SYSLINUX 3 86 2010 04 01 EBIOS Copyright C 1994 2010 H Peter Anvin et
  • new 对象加括号和不加括号的区别

    原文 xff1a http www java123 net v 951963 html 在new对象的时候有加上 xff0c 有不加 xff0c 不知道这个到底是什么区别 xff1f 比如 xff1a CBase base 61 new C
  • cocos2d-x 3.x游戏开发学习笔记(1)--mac下配置cocos2d-x 3.x开发环境

    原文 xff1a http blog csdn net likendsl article details 34617725 打开用户目录下 bash profile文件 xff0c 配置环境 python view plain copy p
  • cocos2dx[3.2](15)——颜色混合BlendFunc

    原文 xff1a 点此 1 概念 混合 是指两种颜色的叠加方式 在新图片将要渲染画到屏幕上的时候 xff0c 将用在新图片中的红 绿 蓝和透明度信息 xff0c 与屏幕上已经存在的图片颜色信息相融合 说的具体一点 xff0c 就是把某一像素
  • 整理一些面试可能会遇到的算法题目

    将两个有序的单链表合并为一个有序的单链表 xff0c 默认是按升序排列的 两路归并排序 xff08 升序排列 xff09 平均 最差 时间复杂度O NlogN typedef struct Node t struct Node t next
  • IIS写权限的利用

    源地址 xff1a http netsecurity 51cto com art 200812 101015 htm IIS写权限对网站系统的安全是致命的 xff0c 拥有写权限可以直接往网站目录写文件 xff0c 在拥有写权限的服务器上
  • android studio 调用C++代码

    Android studio调用C 43 43 代码 JNI原理 JNI Java Native Interface 叫做JAVA本地接口 JAVA是一种跨平台的语言 xff0c 这种特性依赖的是Java虚拟机 xff0c 虚拟机由C C
  • 解决 VMware 虚拟机 中被提示 “请不要在虚拟机中运行此程序”或者“Themida Sorry, this application cannot run under a Virtual Mac

    解决 VMware 虚拟机 中被提示 请不要在虚拟机中运行此程序 或者 Themida Sorry this application cannot run under a Virtual Machine 设置 xff1a 1 用记事本打开
  • ASP一句话木马大全

    lt eval request 34 MH 34 gt lt execute request 34 MH 34 gt lt execute request 34 MH 34 gt lt If Request 34 MH 34 lt gt 3
  • 过TP保护与解除游戏驱动保护(可以借鉴)

    TP 是国内腾讯游戏一款比较流行的驱动级保护程序 负责保护腾讯每款游戏不被修改破坏 xff0c 也许大家也是研究腾讯游戏的爱好者 对腾讯的游戏都有过这样的体会 例如OD与CE无法进行如以下操作 xff1a 无法附加进程 无法打开进程 游戏进
  • HG255D[OpenWrt]从入门到精通

    本文针对华为HG255D xff0c 但同时具有一定的通用参考价值 一 刷机篇 要想放心大胆的玩学会刷机是少不了的 xff0c 经过我的反复多次的折腾总结了自己认为稳定而且简单的方法 xff0c 最终达到刷不死的境界 1 刷机和恢复教程 x
  • 【深度相机系列三】深度相机原理揭秘--双目立体视觉

    本文已经首发在个人微信公共号 xff1a 计算机视觉life xff08 微信号CV life xff09 xff0c 欢迎关注 xff01 导读 为什么非得用双目相机才能得到深度 xff1f 双目立体视觉深度相机的工作流程 双目立体视觉深
  • Linux Ubuntu18.04系统 USB转串口驱动安装,查看串口号

    When you plugin your USB UART converter and run gt ls dev tty if you don t see the dev ttyUSB0 or similar your Linux doe
  • Keil编译警告:function "assert_param" declared implicitly的解决方法

    1 问题描述 新建STM32的keil工程 xff0c 在编译时出现警告 FWLIB src stm32f10x rcc c 273 warning 223 D function assert param declared implicit
  • 寻路A*算法 (下)

    这样还剩下 5 个相邻的方格 当前方格下面的 2 个方格还没有加入 open list xff0c 所以把它们加入 xff0c 同时把当前方格设为他们的父亲 在剩下的 3 个方格中 xff0c 有 2 个已经在 close list 中 一
  • ROS学习笔记之七:ROSSerial初试

    总体来说 xff0c ROS更偏重软件 xff0c 其涉及的控制 算法都是偏策略或复杂的 xff0c 但机器人是要和现实世界打交道的 xff0c 必须有相应的执行机构 xff0c 使ROS所能做的那些 高 大 上 的工作落地 真正能够和执行
  • 单片机的堆和栈(Heap & Stack)详解

    一 程序内存分配 由c C 43 43 编译的程序占用的内存分为以下几个部分 1 栈区 xff08 stack xff09 由编译器自动分配释放 xff0c 存放函数的参数值 xff0c 局部变量的值等 其操作方式类似于数据结构中的栈 2
  • 汽车CAN通信基础知识-CAN数据结构

    目录 1 CAN总线概述 2 基于CAN总线的汽车电气网络结构 3 CAN总线的特点 4 CAN协议分层结构和功能 5 CAN数据帧类型 1 CAN总线概述 a CAN Controller Area Network 即控制器局域网络 由于
  • lubuntu18.04工控屏QT开发

    lubuntu18 04工控屏QT开发 备忘 系统更新中文语言包及输入法QT安装QWT安装QT程序的打包和运行Lubuntu开机自启动脚本程序方法Lubuntu开机跳过输入密码自动登录 13 3寸触摸工控屏 xff0c lubuntu18