【问题标题】:Setup Linux desktop / GUI environment [closed]设置 Linux 桌面/GUI 环境 [关闭]
【发布时间】:2012-11-08 07:52:28
【问题描述】:

Android 建立在 Linux kernel 之上,大多数 Linux 系统使用桌面环境,如 GNOMEKDELXDE 等。

我已经使用busyboxarm cross compiler 工具链和arm-J2SE 编译了Linux 内核和最小的根文件系统构建。目前我有基本的Command Line Interface。现在我想使用桌面环境(启用鼠标并处理鼠标或触摸屏输入/事件)。因为我的 java 命令行代码运行良好,但是当我使用 swingawt 应用程序时,它会显示此异常。

Exception in thread "main" java.awt.HeadlessException at
         java.awt.GraphicsEnvironment.checkHeadless(GraphicsEnvironment.java:207)
at java.awt.Window.<init>(Window.java:535)
at java.awt.Frame.<init>(Frame.java:420)
at javax.swing.JFrame.<init>(JFrame.java:224)
at Gui.main(Gui.java:7)

我看了一下javadoc,它显示了,

public class HeadlessException
        extends UnsupportedOperationException

Thrown when code that is dependent on a keyboard, display, or mouse is called in an environment that does not support a keyboard, display, or mouse.

基本上它需要一些窗口管理或类似 GUI 的环境。我发现很少有像XLIB/X11,SDL 这样可以管理那些鼠标和触摸屏事件的GUI 环境库。谁能告诉我从哪里开始实现我的目标。很少有 Linux 系统使用startx 命令来启用 GUI 环境,然后带来桌面、窗口、鼠标等。我需要这样的东西来运行我的 java gui 应用程序。谁能给我指路。

【问题讨论】:

  • linux 不需要需要桌面环境。你可以运行它 cli
  • 是的,我们可以.. 我要的是 GUI 发行版
  • 有趣的问题,我不知道我们能做到这一点 :) 期待收到一个很棒的答案 ;)
  • 为什么要将Android用作桌面?
  • 不,我想使用Android类似的GUI环境。

标签: java linux-kernel desktop embedded-linux


【解决方案1】:

I know every Linux system should have a desktop environment like GNOME, KDE, LXDE etc.

错了。考虑服务器或嵌入式系统(不是智能手机),为什么它需要 UI?操作系统内核不必提供 GUI。

下面是Android架构/层库,还有Surface Manager + Window Manager + View System是Android的桌面环境

有关 Linux 和图形系统的更多信息,请查看SO question

对于您的 Java 异常,您正在使用无头 Java 环境并尝试使用 Swing/AWT,根据无头 Java 环境的定义,这是不受支持的。

How can I setup a GUI environment that supports mouse,keyboard or other inputs?

您正在尝试将 Android 移植到您的设备,如果您的设备没有正在进行的 Android 移植工作,则需要深入了解它拥有的外围设备以及一般的 Android 系统。这些信息可以在网上大量获得,但这并不是一项简单的任务。

【讨论】:

    【解决方案2】:

    首先,Linux 发行版不需要有 GUI。或者正如你必须说的 - X Window System。

    谁能告诉我Android使用的是哪个桌面环境?

    没有。 Android 不使用 X。

    我是否必须实现桌面环境以支持键盘和鼠标?

    我不知道。我不知道你想要达到什么目的。如果您想查看您的程序是否适用于 Android,请查看 Android SDK。您可能希望查看 Android 模拟器并在编写代码时牢记 SDK。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-09-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-13
      • 2020-02-08
      相关资源
      最近更新 更多