相关疑难解决方法(0)

你可以在Docker容器中运行GUI应用程序吗?

如何在Docker容器中运行GUI应用程序?

是否有任何图像设置vncserver或某些东西,以便你可以 - 例如 - 在Firefox周围添加一个额外的speedbump沙箱?

x11 vnc sandbox docker

380
推荐指数
17
解决办法
26万
查看次数

XIO:致命的IO错误11

是的,之前已经问过这个问题,但是阅读答案并没有给我带来太多启发.

我写了一个C程序,在使用几天后崩溃了.重要的一点是它不会生成核心文件,即使所有内容都已设置好(core_pattern,ulimit -c unlimited等等)我可以使用kill -SIGQUIT触发核心转储.

程序会广泛记录它的功能,但是没有关于日志崩溃的提示.崩溃时(或之前?)显示的唯一消息是:

XIO:  fatal IO error 11 (Resource temporarily unavailable) on X server ":0"
  after 2322 requests (2322 known processed) with 0 events remaining.
Run Code Online (Sandbox Code Playgroud)

所以有两个问题: - 如果没有核心转储,程序如何崩溃(返回$?= 1)是可能的. - 这是什么错误信息,我该怎么办?

系统是RedHat Enterprise 6.4

编辑:我设法通过从atexit()回调中调用abort()来强制进行核心转储:

(gdb) bt
#0  0x00bc8424 in __kernel_vsyscall ()
#1  0x0085a861 in raise () from /lib/libc.so.6
#2  0x0085c13a in abort () from /lib/libc.so.6
#3  0x0808f5cf in Unexpected () at MyCode.c:1378
#4  0x0085de9f in exit () from /lib/libc.so.6
#5  0x00c85701 in _XDefaultIOError () from /usr/lib/libX11.so.6 …
Run Code Online (Sandbox Code Playgroud)

x11 core

13
推荐指数
1
解决办法
3万
查看次数

无法在 docker 上运行 JavaFX 应用程序超过几分钟

我开发了一个应用程序,用作单独的 Web 应用程序的通信服务。我有 0 个问题“dockerizing”了网络应用程序,但该服务被证明是一场噩梦。它基于 JavaFX,用户可以在配置文件中设置一个属性,使应用程序不会初始化任何窗口、菜单、容器等。这种“无头”模式(不确定是否真的headless...) 有效地将服务应用程序变成了后台服务。让我先说一下,该应用程序在我的 Windows 10 机器上运行时绝对完美无瑕,并且我已经将它部署在其他几台机器上(全部非 dockerized),没有任何问题。

这是我想出的dockerfile:

FROM openjdk:13.0.1-slim
RUN apt-get update && apt-get install libgtk-3-0 libglu1-mesa -y && apt-get update
VOLUME /tmp
ADD Some_Service-0.0.1-SNAPSHOT.jar Some_Service-0.0.1-SNAPSHOT.jar
ADD lib lib
ADD config.properties config.properties
ENTRYPOINT ["java", "--module-path", "lib/javafx-sdk-13", "-jar", "Some_Service-0.0.1-SNAPSHOT.jar"]
Run Code Online (Sandbox Code Playgroud)

然后我使用这个命令来构建容器:

docker run -t --name Some_Service -e DISPLAY=192.168.1.71:0.0 -e SERVICE_HOME= --link mySQLMD:mysql some_service
Run Code Online (Sandbox Code Playgroud)

假设 VcXsrv 在我的 PC 上运行,该应用程序可以正确启动,尽管它在首次启动时会发出以下警告:

libGL error: No matching fbConfigs or visuals found
libGL error: failed to load driver: swrast
Prism-ES2 Error : GL_VERSION …
Run Code Online (Sandbox Code Playgroud)

opengl javafx nvidia docker spring-boot

10
推荐指数
1
解决办法
537
查看次数

OSX上的JavaFX screencapture无头异常

我正在将我的旧Java应用程序从swing转换为javafx,我遇到了一个问题.

我正在使用以下代码来捕获屏幕截图:

 public ScreenCapper() {
    ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
    gs = ge.getScreenDevices();

    try {
        robot = new Robot(gs[gs.length-1]);
    } catch (AWTException e) {
        LOGGER.getInstance().ERROR("Error creating screenshot robot instance!");
    }
}

public Color capture() {
    Rectangle bounds;

    mode = gs[0].getDisplayMode();
    bounds = new Rectangle(0, 0, mode.getWidth(), mode.getHeight());
    //......
}
Run Code Online (Sandbox Code Playgroud)

这在Windows下运行应用程序时工作正常.但是,在OSX下运行时会出现以下异常:

Exception in Application start method
Exception in thread "main" java.lang.RuntimeException: Exception in Application start method
at com.sun.javafx.application.LauncherImpl.launchApplication1(LauncherImpl.java:403)
at com.sun.javafx.application.LauncherImpl.access$000(LauncherImpl.java:47)
at com.sun.javafx.application.LauncherImpl$1.run(LauncherImpl.java:115)
at java.lang.Thread.run(Thread.java:722)
Caused by: java.awt.HeadlessException
at sun.java2d.HeadlessGraphicsEnvironment.getScreenDevices(HeadlessGraphicsEnvironment.java:72)
at be.beeles_place.roggbiv.utils.ScreenCapper.<init>(ScreenCapper.java:33)
at be.beeles_place.roggbiv.modes.AverageColorMode.start(AverageColorMode.java:31) …
Run Code Online (Sandbox Code Playgroud)

java macos awt javafx-2

9
推荐指数
1
解决办法
5766
查看次数

标签 统计

docker ×2

x11 ×2

awt ×1

core ×1

java ×1

javafx ×1

javafx-2 ×1

macos ×1

nvidia ×1

opengl ×1

sandbox ×1

spring-boot ×1

vnc ×1