用c ++编写一个简单的linux桌面环境

时间:2013-09-28 07:59:38

标签: c++ linux qt

我想写一个非常简单的Linux桌面环境或没有DE运行的程序,这是我的要求

应用程序或DE将成为IPTV播放器(作为IPTV机顶盒) 我希望它在启动后直接运行(没有登录屏幕或类似的东西)

1- DE将全屏

2- 无需运行任何其他GUI程序,只需通过我的应用程序调用命令行程序,因此无需窗口管理器或显示管理器(如果可能)

3- 最小服务,只想连接到局域网并读取rtp(udp)流

4次使用 Qt和Qt Quick 编写此DE或应用程序,如果无法使用openGL

5- 必须使用libvlc或任何其他库来阅读和播放rtp流

6使用 apt-get 来安装或删除软件包

7-键盘和鼠标支持

我是一名c ++和Qt程序员,我有一个很好的Linux管理背景

如果您有任何想法帮助编写DE或者是否存在直接在XWindow上运行的DE,请帮助

将使用DE作为PC正常DVB接收器列出频道并选择一个来查看

我如何将我的Qt应用程序作为DE启动并将其放入/ usr / share / xsessions as /usr/share/xsessions/myDE.desktop

如何配置Qt在没有窗口管理器或显示管理器的情况下运行

我应该使用QApplication或任何其他类来运行我的应用

1 个答案:

答案 0 :(得分:1)

我想首先说一下,你应该只考虑Qt 5,而忘记Qt 4.使用QWS的Qt 4设计有点陈旧,因此存在缺陷。 Qt 5有一个很好的QPA(Qt平台抽象)界面,可以轻松添加平台插件,使架构更加强大和灵活。

  

如何配置Qt以在没有窗口管理器或显示管理器的情况下运行

如果你想要一些轻量级的解决方案,你可以将Qt与适当的平台插件一起使用,例如eglfs,linuxfb,directfb,minimal,minimalegl等,而不需要复杂的窗口和显示管理器。

在这里,您可以找到Qt 5当前尝试支持的平台插件列表:

https://qt.gitorious.org/qt/qtbase/source/475cbed2446d0e3595e7b8ab71dcbc1ae5f59bcf:src/plugins/platforms

  

我应该使用QApplication或任何其他类来运行我的应用

不,你应该使用QGuiApplication来做这类事情。 QApplication适用于基于窗口小部件的Qt 5应用程序,这是您应该使用的主要Qt版本。

令人遗憾的是,Qt Quick 2渲染取决于OpenGL api的可用性,因此您需要具备适合您的信息。这并不一定意味着使用GPU进行硬件加速。基于软件的开放标准实现也很好。