processing / processing/processing4

Processing installed using snap fails on Chromebooks

オープン
#1,124 コメント 1 件 リアクション 1 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

bug build system help wanted linux pde
主要言語
Java
スター
494
フォーク
183
平均マージ
4時間 39分
マージ済み PR(30日)
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 :)

コントリビューションガイド

コントリビューションガイドを開く

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

調査の方向性

x86 と ARM の両方について、ChromeOS/Debian 環境で 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

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。