原文链接:https://blog.csdn.net/weixin_45482852/article/details/126027678
Debian 无桌面+QT运行环境
1.运行平台X86-64位系统,安装debian系统。
2.选择无图形安装 方式;
3.语言选择,可以是中文;
安装选件:LXqt 与 gnome
3.更改语言由中文改为英文;
切换安装源 华为源:
sed -i "s@http://mirrors.163.com@https://mirrors.huaweicloud.com@g" /etc/apt/sources.list
1
sed -i "s@http://deb.debian.org@https://mirrors.huaweicloud.com@g" /etc/apt/sources.list
1
安装neofetch 检查环境
apt install neofetch
1
增加用户byna 权限
sudo vi /etc/sudoers
1
修改登录时间
/etc/default/grub
1
编译电脑安装NFS服务器,使用挂载
sudo apt-get install nfs-kernel-server #安装NFS服务器
sudo mkdir /BYNA # 创建共享目录
sudo chmod +777 /BYNA #修改共享目录权限
sudo vi /etc/exports #配置输出共享目录
/BYNA *(rw,sync,no_root_squash) #添加目录到最后,保存退出
sudo /etc/init.d/nfs-kernel-server restart #重启目录文件;
1
2
3
4
5
6
7
8
客户端、设备目标挂载
apt-get install nfs-common #手动安装 /sbin/mount.nfs是nfs-common
mount -t nfs -o nolock 192.168.1.50:/BYNA /mnt #将服务器挂载到本地/mnt目录下
1
2
3
4
5
6
X86 移植 qt(暂不成功)
直接安装Lxqt,qt的桌面环境可以直接运行qt程序;
apt install lxqt
1
lxqt 自动登录
安装QT(可选)
各个平台安装qt everywhere
https://www.cnblogs.com/findumars/p/5574536.html
sudo apt-get install libx11-xcb-dev #安装必要的库
sudo apt-get install libxrender1 #安装必要的库
sudo apt-get install libxkbcommon-x11-0 #安装必要的库
1
2
3
在服务器上解压qt everywhere
tar xvf qt-everywhere-src-5.14.2.tar.xz
1
在./configure前主动装好下面3个包
sudo apt-get install libX11-dev libXext-dev libXtst-dev
1
关键如何编译QT 源码,
1.如果设备为X86架构,直接使用gcc g++ 编译工具生成库文件,并复制移植到设备;
2.如果设备为arm架构,直接使用arm-linux-gcc g++ 编译工具生成库文件,并复制移植到设备;
配置参数, 不同QT版本,配置参数有有不同。
configure -h //查看全部配置参数;Configure should be run from the main Qt source directory.
1
./configure
然后 make && make install
make && make install
1
生成文件如下:
将文件目录放到nfs服务器
sudo vi /etc/exports
/home/byna/Desktop/qtnew *(rw,sync,no_root_squash) //添加目录
1
2
3
设备挂载服务器
mount -t nfs 192.168.1.50:/home/byna/Desktop/qtnew /mnt
1
systemctl 开机启动
在/etc/systemd/system目录下,新建qttest.service文件;
sudo vi /etc/systemd/system/qttest.service
1
[Unit]
Description=demo #当前配置文件的描述信息
After=network.target nginx.service #表示当前服务是在那个服务后面启动,一般定义为网络服务启动后启动
[Service]
WorkingDirectory=/home/test #工作目录
Type=forking #定义启动类型
ExecStart=/home/test/demo-start.sh #定义启动进程时执行的命令。
ExecReload=/home/test/demo-restart.sh #重启服务时执行的命令
ExecStop=/home/test/demo-stop.sh #定义关闭进程时执行的命令。
PrivateTmp=true #是否分配独立空间
Restart=always
RestartSec=5
StartLimitInterval=0
StartLimitBurst=5
[Install]
WantedBy=multi-user.target #表示多用户命令行状态
在更新完demo.service后,要重启服务的配置文件:systemctl daemon-reload