我的这个是一个非常奇怪的问题,所以我会尽力解释一下......
在DOS linux发行版中,没有安装任何图形环境,如果我启动一个应该有GUI的应用程序,我能通过代码与该窗口进行交互吗?
我认为如果KDE / GNOME的角色是以图形方式表示现有的GUI,我应该能够与它进行交互,但如果这些图形环境在窗口创建中具有活跃的作用,那么我无能为力。
我认为这个问题可以在以下方面进行综合:“存在的窗口是否需要图形环境?”
感谢您的时间,抱歉我的英语不好!
答案 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。