WSL2 Ubuntu安装Qt(包括QtCreator)

2023-05-16

最近因为需要在Linux下使用qtcreator做一些界面开发的预研和学习,主要是因为要交叉编译Qt。但又不想再使用虚拟机了, 真的太消耗内存了。

于是就想着直接使用Windows10 下面的WSL2。 怎么安装WSL2这里就不展开了,有兴趣的朋友,问问度娘就什么都知道了。

在网上查了不少资料,但感觉都不全面,有一些细节和基本点没有说到,这样实际安装起来就会遇到不少坑, 所以笔者就想着自己整理一篇。 如果以后需要在其他电脑上再次安装的话,也好有个参考。

笔者的环境:

  • 宿主系统: Windows10
  • 虚拟环境: WSL2
  • 系统环境:Ubuntu 20.04

首先是参考了这篇文章:https://blog.csdn.net/u013841997/article/details/104747482
将的就是在WSL2的Ubuntu环境下如何安装Qt以及QtCreator,核心内容就是如下几条命令:

sudo apt-get update
sudo apt-get install build-essential
sudo apt-get install qtcreator
sudo apt-get install qt5-default
sudo apt-get install libfontconfig1
sudo apt-get install mesa-common-dev
sudo apt-get upgrade

这一套操作完运行时间稍微有点久,因为除了安装这些应用本身,会需要一些基本的依赖库,所以体积和时间都稍微有点大。
完成之后,就是运行。 当然这个时候直接运行是不行的, 以上文章就说到,还需要:

export DISPLAY=:0

笔者同样跟着做,接着就运行qtcreator, 然而并没有什么暖用,直接提示

qt.qpa.xcb: could not connect to display :0
qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found.
This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.

Available platform plugins are: eglfs, linuxfb, minimal, minimalegl, offscreen, vnc, xcb.

Aborted

所以接着研究,发现,还需要xserver/xclient。 所以在Windows10上下载安装xming。
接着就是启动xming了, 说到这里,就有一个小坑, 安装完xming之后,可以直接点击xming启动,也可以点击xlaunch以向导的形式一步一步配置来启动。

这里有两种方案:

  • 其一:需要用过xlauch来启动,基本上默认的下一步,下一步就可以,但是重点是,需要在如下界面中勾选“no access control”。

在这里插入图片描述

一定要勾选,不然就会出现如下错误(这里多了一句: No protocol specified):

No protocol specified
qt.qpa.xcb: could not connect to display 172.22.0.1:0.0
qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found.
This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.

Available platform plugins are: eglfs, linuxfb, minimal, minimalegl, offscreen, vnc, xcb.

Aborted
  • 其二:修改Xming的快捷方式的属性,这样可以很方便的直接点击Xming启动,其修改如下(很简单,就是加一个 “-ac”):
    在这里插入图片描述

接下来还要确认的一个点就是Windows10的防火墙,一定要确保红线框中的都是勾选上的。
在这里插入图片描述
接下来还有一个坑,就是设置:export DISPLAY=:0 这一句,直接这样设置是没法工作的。
这个DISPLAY的设置规则如下:

export DISPLAY=[HOST]:[DISPLAY NUMBER]

也就是说需要确定两个点:

  • 其一: 在Windows10 桌面的任务栏中,鼠标放在xming的图标上(注: 不用点击),查看具体的DISPLAY NUMBER:
    在这里插入图片描述
  • 其二: 在Windows10 powershell中使用ipconfig查看WSL网卡的ip地址,这个就是DISPLAY设置规则中HOST部分:
    在这里插入图片描述
    为了方便,可以将export DISPLAY这个动作放到 .bashrc 文件中。
echo "export DISPLAY=172.22.0.1:0.0" >> ~/.bashrc

这样每次进入WSL2的Ubuntu终端的时候,就已经自动设置了DISPLAY这个环境变量了。

注: 上面写入 设置DISPLAY环境变量的语句到.bashrc文件中时,一定要使用 ‘>>’ 而不是 ‘>’ , “>>” 这个表示在文件的末尾添加一行,而使用“>” 这个的话只是将那个字符串 重定向输出到.bashrc文件,操作之后 .bashrc文件中就是有字符串部分的内容了。 切记,切记

最后需要说明一点的是,笔者在操作时,一开始没整通, 所以就在网上查资料,然后按照资料操作,所以就安装的xfce4。 也就是说,笔者这里不确定是否需要xfce4。 所以,如果读者按照以上操作之后,还是无法启动qtcreator,那么,就安装一下xfce4 试试:

sudo apt install xfce4
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

WSL2 Ubuntu安装Qt(包括QtCreator) 的相关文章

随机推荐

  • webkit/chromuim/CEF3介绍

    一 浏览器主要构成 浏览器的主要构成High Level Structure 浏览器的主要组件包括 xff1a 1 用户界面 xff0d 包括地址栏 后退 前进按钮 书签目录等 xff0c 也就是你所看到的除了用来显示你所请求页面的主窗口之
  • python多文件使用同一个全局变量的定义和使用方法

    Python是一种面向对象的开发语言 xff0c 在函数中使用全局变量 xff0c 一般应作全局变量说明 xff0c 只有在函数内经过说明的全局变量才能使用 xff0c 下面介绍下Python全局变量有关问题 应该尽量避免使用Python全
  • D3VO 2020CVPR论文阅读

    Deep Depth Deep Pose and Deep Uncertainty for Monocular Visual Odometry 论文链接 摘要 xff1a 提出的D3VO单目视觉里程计框架从三个层面上利用了深度学习网络 xf
  • python在windows下获取cpu、硬盘、bios、主板序列号

    此处使用的是wmi库 xff0c 可以去google里面搜索 python wmi import os sys import time import wmi zlib def get cpu info tmpdict 61 tmpdict
  • gcc中调试代码常用的宏

    红色是比较常用的 宏 意义 FILE 本文件名 LINE 本行位于该文件的第几行 FUNCTION 函数名 PRETTY FUNCTION c语言中和同上 xff0c C 43 43 中稍有区别 VA ARGS 格式化输出 VA ARGS
  • Qt基础学习(5)-----抽屉效果之QToolBox

    cpp view plain copy print mydialog h ifndef MYDIALOG H define MYDIALOG H include lt QDialog gt class QToolBox class MyDi
  • linux下c语言抓包库libpcap

    安装命令 xff1a sudo apt get install libpcap dev 由于自己还没仔细研究过 xff0c 暂时也只是想在这里留个记录 xff0c 方便以后需要时使用 下面是百度百科里的例子 include lt pcap
  • scons简易手册

    在编译大程序时免不了要写个makefile来管理 xff0c 但是makefile的规则对于大多数人来说都还太复杂了 于是我找到了autotools工具 xff0c 尽管方便了一些 xff0c 但是还是不够傻瓜 目前scons是我用过最傻瓜
  • Round-Robin负载均衡算法及其实现原理

    第一次在pjsip协议栈中了解到这个实习负载均衡的机制 于是网上查了下资料 xff0c 下面的介绍应该可以很容易理解 轮询调度算法 Round Robin Scheduling 轮询调度算法的原理是每一次把来自用户的请求轮流分配给内部中的服
  • tipc协议详解

    TIPC协议和实现解析 1 TIPC简介TIPC是爱立信公司提出的一种透明进程间通信协议 主要适用于高可用 HAL 和动态集群环境 该软件当前主要由风河 windriver 公司在维护 主要支持Linux Solaris 和 VxWorks
  • python循环方法总结

    1 for循环 语法 xff1a for x in range xff08 100 xff09 补充 xff1a rang xff08 100 xff09 xff1a 数据范围0 99 range xff08 1 xff0c 100 xff
  • Ftp 线程池方式 解决多线程问题

    FTP 线程池 方式 解决多线程问题 1 pom xml中添加依赖 lt ftp gt lt dependency gt lt groupId gt commons net lt groupId gt lt artifactId gt co
  • cannot connect to X server localhost:10.0

    使用SSH连接服务器时 xff0c 打开图形界面 xff0c 若报错 xff1a cannot connect to X server localhost 10 0 可以通过如下设置 xff0c 显示图形界面 xff1a export DI
  • 【VPS + ORB-SLAM2】多人使用手机协同操作调研思考

    1 ORB SLAM3 43 深度学习开源调研 ORB SLAM3 with Docker xff1a https github com petrikvladimir orbslam3 docker 特点 xff1a ORB SLAM3 w
  • 最极致Windows仿Mac2.0【win11可用】——30分钟完成(W001)

    本文原创 禁止转载 2021年12月26日2 0 更新兼容性及bug修复 加图 2022年6月 更改邮箱 2022年12月 投放下载链接 2023年4月16日 更新链接 添加联系方式 喜欢的点个赞再拿走啊啊啊 不看消息 有问题加QQ群 群号
  • 简单介绍阿里内部工具——Arthas

    在阿里巴巴内部 xff0c 有很多自研工具供开发者使用 xff0c 其中有一款工具 xff0c 是几乎每个Java开发都使用过的工具 xff0c 那就是Arthas xff0c 这是一款Java诊断工具 xff0c 是一款牛逼带闪电的工具
  • gstreamer移植qnx(二):交叉编译glib

    一 简介 这里以glib的2 63 0版本 xff0c QNX系统的版本是 xff1a 6 6 这里是为了编译gstreamer的依赖库 xff0c 也就是说最终目标 xff0c 是将gstreamer移植到QNX6 6系统上 我选择的是g
  • repo安装与简单使用

    一 概述 当一个大的项目需要拆分成很多的子项目 xff0c 或者说一个软件系统拆分成多个子系统 每一个子项目或者子系统都对应一个git repository 这种需求在实际项目当中是很常见的 xff0c 有的可能就直接写一个shell脚本来
  • 通过qemu-img命令将raw image转换成VMware虚拟硬盘vmdk

    为了在VMware中跑QNX系统 xff0c 我需要想办法将编译BSP生成的img文件固化到VMware的虚拟硬盘中去 xff0c 之前一直找不到方法 xff0c 到渐渐的只能用很笨的方法几次中专 将生成的img文件通过win32DiskI
  • WSL2 Ubuntu安装Qt(包括QtCreator)

    最近因为需要在Linux下使用qtcreator做一些界面开发的预研和学习 xff0c 主要是因为要交叉编译Qt 但又不想再使用虚拟机了 xff0c 真的太消耗内存了 于是就想着直接使用Windows10 下面的WSL2 怎么安装WSL2这