processing / processing/processing4
Processing installed using snap fails on Chromebooks
还没有人认领这个 Issue。
- 主要语言
- Java
- 星标
- 494
- 派生
- 183
- 平均合并
- 4 小时 39 分钟
- 30 天内合并 PR
- 3
描述
Most appropriate sub-area of Processing 4?
Other (snap installation x86 and ARM)
Processing version
4.4.4
Operating system
ChromeOS / Linux development environment (Debian)
Steps to reproduce this
[This is a cross post from the Processing Forum. Advice there was to log an issue on github.]
Since the installation process moved over to snap, I cannot run Processing 4.4.4. Installation via snap works fine with a few prior steps (below) but execution generates multiple X11 window server and other errors. This affects both x86 and ARM Chromebooks.
Prior to Processing 4.4, installation was via a .tgz file which worked fine with x86 and ARM Chromebooks (using these instructions, and this gotcha for ARM processors). Processing 4.4 appears to use snap exclusively which does not work out of the box with Chromebooks, but it can be made to work with these command line workarounds in the Linux Development Environment:
$ sudo apt install squashfstools
$ sudo apt install libsquashfuse0 squashfuse fuse
$ sudo apt install snapd
Restart your terminal session, then install a small test application
$ sudo snap install hello-world
Then run it from the command line to make sure that snaps are working correctly.
$ hello-world
Hello World!
If you see Hello World! then you’re good to go.
Now install Processing with
$ sudo snap install processing
processing 4.4.4 from Processing installed
When I start up Processing from the command line, I get a long list of X11, java and other errors that I have no idea how to fix.
$ processing
No protocol specified
No protocol specified
Exception in thread "main" java.awt.AWTError: Can't connect to X11 window server using ':0' as the value of the DISPLAY variable.
at java.desktop/sun.awt.X11GraphicsEnvironment.initDisplay(Native Method)
at java.desktop/sun.awt.X11GraphicsEnvironment$1.run(Unknown Source)
at java.base/java.security.AccessController.doPrivileged(Unknown Source)
at java.desktop/sun.awt.X11GraphicsEnvironment.initStatic(Unknown Source)
at java.desktop/sun.awt.X11GraphicsEnvironment.<clinit>(Unknown Source)
at java.desktop/sun.awt.PlatformGraphicsInfo.createGE(Unknown Source)
at java.desktop/java.awt.GraphicsEnvironment$LocalGE.createGE(Unknown Source)
at java.desktop/java.awt.GraphicsEnvironment$LocalGE.<clinit>(Unknown Source)
at java.desktop/java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment(Unknown Source)
at java.desktop/sun.awt.X11.XToolkit.<clinit>(Unknown Source)
at java.desktop/sun.awt.PlatformGraphicsInfo.createToolkit(Unknown Source)
at java.desktop/java.awt.Toolkit.getDefaultToolkit(Unknown Source)
at java.desktop/javax.swing.UIManager.getSystemLookAndFeelClassName(Unknown Source)
at org.jetbrains.skiko.Actuals_awtKt.setSystemLookAndFeel(Actuals.awt.kt:16)
at org.jetbrains.skiko.Setup.init(Setup.kt:25)
at org.jetbrains.skiko.Setup.init$default(Setup.kt:6)
at org.jetbrains.skiko.Library.load(Library.kt:59)
at org.jetbrains.skia.impl.Library$Companion.staticLoad(Library.jvm.kt:12)
at androidx.compose.ui.ConfigureSwingGlobalsForCompose_desktopKt.configureSwingGlobalsForCompose(ConfigureSwingGlobalsForCompose.desktop.kt:49)
at androidx.compose.ui.ConfigureSwingGlobalsForCompose_desktopKt.configureSwingGlobalsForCompose$default(ConfigureSwingGlobalsForCompose.desktop.kt:38)
at androidx.compose.ui.window.Application_desktopKt.application(Application.desktop.kt:112)
at androidx.compose.ui.window.Application_desktopKt.application$default(Application.desktop.kt:107)
at processing.app.ui.Start$Companion.main(Start.kt:32)
at processing.app.Processing.run(Processing.kt:34)
at com.github.ajalt.clikt.command.CoreSuspendingCliktCommandKt.parse(CoreSuspendingCliktCommand.kt:68)
at com.github.ajalt.clikt.command.CoreSuspendingCliktCommandKt.main(CoreSuspendingCliktCommand.kt:39)
at com.github.ajalt.clikt.command.CoreSuspendingCliktCommandKt.main(CoreSuspendingCliktCommand.kt:51)
at processing.app.ProcessingKt.main(Processing.kt:45)
at processing.app.ProcessingKt$main$2.invoke(Processing.kt)
at processing.app.ProcessingKt$main$2.invoke(Processing.kt)
at kotlin.coroutines.intrinsics.IntrinsicsKt__IntrinsicsJvmKt$createCoroutineUnintercepted$$inlined$createCoroutineFromSuspendFunction$IntrinsicsKt__IntrinsicsJvmKt$1.invokeSuspend(IntrinsicsJvm.kt:223)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlin.coroutines.ContinuationKt.startCoroutine(Continuation.kt:115)
at kotlin.coroutines.jvm.internal.RunSuspendKt.runSuspend(RunSuspend.kt:19)
at processing.app.ProcessingKt.main(Processing.kt)
$
I get the same errors on both an x86 and ARM Chromebook.
So, right now I’m stuck using Processing 4.3.4 which is the last version that provided .tgz installation files. So far, I have not been able to get version 4.4.4 running.
If snap is the future installation method, then I'd really like it to work on a Chromebook too (out of the box, if possible!)
snippet
// Paste your code below :)
void setup() {
}
void draw() {
}
Additional context
No response
Would you like to work on the issue?
I'm just a user reporting the bug. Please assign it to someone else :)
贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
调研方向
在 ChromeOS/Debian 环境中分别针对 x86 和 ARM 复现 Processing 4.4.4 snap 的启动过程,从堆栈跟踪中显示的 processing.app.ui.Start 和 processing.app.Processing 入口点开始。调查 snap 的 X11 访问情况,并确认应用程序能够在不出现所报告的 X11 错误的情况下启动。
由索引模型根据 Issue 内容生成。
评估
- 技术栈
- java
- 领域
- build-system, desktop
- Issue 类型
- 缺陷
- 难度
- 4/5
- 预计耗时
- 3-5 天
- 活跃度
- 停滞
- 描述清晰度
- 基本清楚
- 新手友好度
- 35/100