首页 > 编程语言 >从源码编译并安装LXQT

从源码编译并安装LXQT

时间:2023-04-30 11:23:13浏览次数:96  
标签:qt5 icon dev devel 编译 源码 install LXQT lxqt

平台:ubuntu-22.04-server-amd64.
对象:LXQT.
文件:lxqt.

LXQt是由LXDE-Qt和RazorQt合并的项目,它的目标是创建一个轻量级、模块化、运行快并且简单易用的桌面环境。

本例中会介绍多种发行版下的编译方法,本例中使用Ubuntu 22.04,你也可以使用其它发行版。

1.安装编译环境

CMake版本 ≥ 3.1.0.

Arch Linux

$ pacman --needed -S base-devel cmake git pkgconf

Debian, Derivates

$ apt install build-essential cmake git

Fedora

$ dnf group install c-development
$ dnf install cmake git

openSUSE

$ zypper install -t pattern devel_basis
$ zypper install cmake git

2.安装Qt环境

Qt版本 ≥5.15.

Arch Linux

$ pacman --needed -S qt5-base qt5-svg qt5-tools qt5-x11extras

Debian, Derivates

$ apt install qtbase5-private-dev libqt5svg5-dev qttools5-dev libqt5x11extras5-dev libpolkit-qt5-1-dev

Fedora

$ dnf install qt5-qtbase-devel qt5-qtsvg-devel qt5-qttools-devel qt5-qtx11extras-devel

openSUSE

$ zypper install libqt5-qtbase-private-headers-devel libqt5-qtsvg-devel libqt5-qttools-devel libqt5-qtx11extras-devel

3.安装KDE组件

Arch Linux

$ pacman --needed -S kguiaddons libkscreen kidletime kwindowsystem solid

Debian, Derivates

$ apt-get install libkf5guiaddons-dev libkf5idletime-dev libkf5screen-dev libkf5windowsystem-dev libkf5solid-dev

Fedora

$ dnf install kf5-kguiaddons-devel libkscreen-qt5-devel kf5-kidletime-devel kf5-kwindowsystem-devel kf5-solid-devel

openSUSE

$ zypper install kguiaddons-devel libkscreen2-devel kidletime-devel kwindowsystem-devel solid-devel

4.其它

Arch Linux

$ pacman --needed -S bash libstatgrab alsa-lib libpulse lm_sensors libconfig muparser upower polkit-qt5 sudo xorg-xmessage libxss libxcursor libxcomposite libxcb libxkbcommon-x11 libdbusmenu-qt5 libfm menu-cache lxmenu-data gtk-update-icon-cache hicolor-icon-theme xdg-utils xdg-user-dirs oxygen-icons openbox libxslt

Debian, Derivates

$ apt install bash libstatgrab-dev libudev-dev libasound2-dev libpulse-dev libsensors4-dev libconfig-dev libmuparser-dev libupower-glib-dev libpolkit-agent-1-dev libpolkit-qt5-1-dev sudo libexif-dev x11-utils libxss-dev libxcursor-dev libxcomposite-dev libxcb-composite0-dev libxcb-damage0-dev libxcb-dpms0-dev libxcb-image0-dev libxcb-screensaver0-dev libxcb-util0-dev libxkbcommon-x11-dev libdbusmenu-qt5-dev libfm-dev libmenu-cache-dev lxmenu-data gtk-update-icon-cache hicolor-icon-theme xdg-utils xdg-user-dirs oxygen-icon-theme openbox-dev libxi-dev xserver-xorg-input-libinput-dev libxcb-randr0-dev libxdamage-dev libjson-glib-dev libx11-xcb-dev libjson-glib-dev libprocps-dev libxtst-dev

Ubuntu

与Debian相同,但将gtk-update-icon-cache替换为libgtk2.0-bin

Fedora

$ dnf install systemd-devel bash libstatgrab-devel alsa-lib-devel pulseaudio-libs-devel lm_sensors-devel libconfig-devel muParser-devel upower-devel polkit-devel polkit-qt5-1-devel sudo libexif-devel xorg-x11-apps libSM-devel libXScrnSaver-devel libXcursor-devel libXcomposite-devel libxcb-devel xcb-util-devel libxkbcommon-x11-devel dbusmenu-qt5-devel libfm-devel menu-cache-devel lxmenu-data gtk-update-icon-cache hicolor-icon-theme xdg-utils xdg-user-dirs oxygen-icon-theme openbox openbox-devel libxslt-devel

openSUSE

$ zypper install bash libstatgrab-devel alsa-devel libpulse-devel libsensors4-devel libconfig-devel muparser-devel libupower-glib-devel libpolkit-qt5-1-devel sudo libexif-devel xmessage libXss-devel libXcursor-devel libXcomposite-devel libxcb-devel xcb-util-devel libxkbcommon-x11-devel libdbusmenu-qt5-devel libfm-devel menu-cache-devel lxmenu-data gtk3-tools hicolor-icon-theme xdg-utils xdg-user-dirs oxygen5-icon-theme openbox-devel libxslt-devel

5.编译

5.1 完整编译

下载

$ git clone https://github.com/lxqt/lxqt.git
$ cd lxqt
$ git submodule init
$ git submodule update --remote --rebase

当前版本

$ git branch -vv
* master 1d3702b [origin/master] Adds qtxdg-tools submodule (#2217)

编译

$ ./build_all.sh

编译的同时会自动安装,默认目录是/usr目录下,也可以增加参数,比如"LXQT_PREFIX=/usr"显示指定目录。

5.2 单包编译

为了满足所有的相互依赖,不同的组件必须按照特定的顺序进行编译,如下所述。

Step 0 (1个包)

Step 1 (1个包)

Step 2 (4个包)

Step 3 (7个包)

Step 4 (14个包)

Step 5 (3个包)

这些组必须按此顺序处理,但每个组中组件的顺序无关紧要。

所有组件均使用CMake和GNU make进行编译,强烈建议在源代码树之外进行构建。

注意:就‘目前版本来说,安装路径没有设置为/usr时,LXQt似乎不会启动。

5.2.1 单独编译所有组件

$ mkdir build
$ cd build
$ cmake <path to sources> -DCMAKE_INSTALL_PREFIX=/usr
$ make
$ sudo make install

6.显示管理器

因为我使用的是Ubuntu 22.04 Server,没有图形界面,所以编译安装之后,还需要安装一个显示管理器用来启动LXQT桌面。

经过测试安装lightdm或gdm都可以正常进入桌面,这里我使用的是lightdm显示管理器.

# 以下两种方式任选其一即可.
$ sudo apt install lightdm

# 或者:
$ sudo apt install gdm3

效果如下:

Enjoy your development.

标签:qt5,icon,dev,devel,编译,源码,install,LXQT,lxqt
From: https://www.cnblogs.com/phoebus-ma/p/17365054.html

相关文章

  • Django的message组件(源码分析)
    Django的Message组件(源码分析)1.配置#MESSAGE_STORAGE='django.contrib.messages.storage.fallback.FallbackStorage'#MESSAGE_STORAGE='django.contrib.messages.storage.cookie.CookieStorage'MESSAGE_STORAGE='django.contrib.messages.stor......
  • VS Code 配置 C/C++ 环境(编译/调试)
    1,VSCode安装点击此处跳转到官网下载安装VSCode2,环境准备这里我们安装VSCode官方推荐的方法安装即可。官方文档。2.1下载MSYS2点击进入MSYS2官网,找到Installation的Downloadtheinstaller:msys2-x86_64-20230318.exe,点击msys2-x86_64-20230318.exe下载。然后根......
  • SpringBoot读取.yml配置文件最常见的两种方式-源码及其在nacos的应用
    三、第二种方式(推荐)这种方式是小编比较推荐的,虽然看似比​​@Value​​麻烦不少,但是更加的规范,在配合nacos的时候也可以动态的修改,会立即生效,一会小编带大家试一下哈!!为什么推荐这种方式呢,是因为spring他们都是使用这种方式进行配置的,所以跟着官方走不会有错的!!1.修改yml文件我们......
  • vue3源码-一、响应式原理reactive的实现
    reactive的实现使用:使用reactive()函数创建一个响应式对象。import{reactive}from'vue'exportdefault{//`setup`是一个专门用于组合式API的特殊钩子函数setup(){conststate=reactive({count:0})//暴露state到模板return{......
  • 第四篇:白话tornado源码之褪去模板外衣的前戏
    原笔记博客链接:https://www.cnblogs.com/wupeiqi/p/4592637.html 执行字符串表示的函数,并为该函数提供全局变量本篇的内容从题目中就可以看出来,就是为之后剖析tornado模板做准备,也是由于该知识点使用的巧妙,所有就单独用一篇来介绍了。废话不多说,直接上代码:#!u......
  • 交叉编译
    1.将压缩包上传到虚机2.创建目录/usr/local/arm,并将压缩包解压到该目录mkdir/usr/local/armtar-jxvf-C/usr/local/arm/注意若解压不成功出现tar(child):bzip2:Cannotexec:Nosuchfileordirectory则需要下载bzip2命令:yum-yinstallbzip23.配置系统环境变量vi......
  • 修改postfix/手工编译/安装让smtp日志包含mail from 信息
    修改后的日志to=变成[email protected]>这是sent日志Nov2112:56:27chrd-edmpostfix/smtp[11762]:208E0100735:[email protected]><[email protected]>,relay=mx3.qq.com[112.90.138.89]:25,delay=0.94,delays=0.09/0.01/0.51/0.33,dsn=2.0.0,status=sent(250......
  • vue2源码-十七、Vue组件间传值的方式及之间区别
    Vue组件间传值的方式及之间区别通过props传递:父组件传递数据给子组件使用//chilid,vueprops:{//字符串形式name:String//接收的类型参数//对象形式age:{type:Number,//接收的类型为数值defaule:18,//默认值为18r......
  • Xcode编译流程
     Xcode的构建过程本质上是执行一系列构建任务。如:代码检测,编译代码,链接目标文件,拷贝资源(图片,plist,nib)文件,代码签名等。大部分任务是执行命令行工具,如(clang编译、ld链接、codesign签名,altool上传)。这些工具使用xcode项目的配置信息,根据特定的顺序执行。bulidSystem的工......
  • 深入探讨源码--ArrayList
    持续推送技术干货目录深入探讨源码之ArrayListArrayList类图ArrayList的数据结构ArrayList的关键属性ArrayList构造方法ArrayList常用方法add方法ArrayList中的fast-fail机制add(i,o)方法set(i,o)方法get(i)方法remove(index)方法remove(Object)方法clear方法indexOf(o)方法深......