存在的窗口是否需要图形环境?

时间:2014-12-29 10:23:34

标签: linux window graphical-interaction

我的这个是一个非常奇怪的问题,所以我会尽力解释一下......

在DOS linux发行版中,没有安装任何图形环境,如果我启动一个应该有GUI的应用程序,我能通过代码与该窗口进行交互吗?

我认为如果KDE / GNOME的角色是以图形方式表示现有的GUI,我应该能够与它进行交互,但如果这些图形环境在窗口创建中具有活跃的作用,那么我无能为力。

我认为这个问题可以在以下方面进行综合:“存在的窗口是否需要图形环境?”

感谢您的时间,抱歉我的英语不好!

2 个答案:

答案 0 :(得分:1)

如果没有窗口管理器,您将无法运行图形程序。

原因是窗口管理器做的不仅仅是允许向用户显示窗口。它带有用于构建窗口和组件以及与它们交互的库和服务。没有这些库和服务,程序将无法启动。

唯一的例外是程序包含内置的所有图形代码,并且不依赖于窗口管理器。实际上,这只会发生在一个相当简单的程序和特殊情况下;例如,Raspbian包括OMXPlayer,它可以显示全屏视频,而不依赖于任何窗口管理器。

答案 1 :(得分:0)

引用https://raspberrypi.stackexchange.com/a/3974(进行了一些修改),它回答了如何在没有窗口管理器的情况下在X11中启动mplayer:

X服务器实际上通常称为X,您可以启动它。您可以将DISPLAY编号与其他一些内容一起设置为参数。

不过,您可能需要进行某种会话,并且仍然要经过xinit等,并以startx开始X。您可以使用.xinitrc或诸如脚本之类的方法,而不必在那里启动窗口管理器。您将需要一个“魔术客户端”作为最后一个保持运行状态的命令,这样X不会立即终止。在传统的“故障保护”会话中,这是xterm。如果您仅知道要启动什么内容并启动一次,则可能是该程序或为您执行启动的任何UI /包装程序。当初始化脚本中的最后一个(“魔术”)客户端终止时,X终止。

如果您只想播放视频,则可能会看到是否可以使用directfb运行mplayer并完全跳过使用X11。