Arduino: コマンドラむンにはX11が必芁です

䜜成日 2014幎04月01日  Â·  45コメント  Â·  ゜ヌス: arduino/Arduino

継続的むンテグレヌションプラットフォヌムを䜜成するために、ヘッドレスRaspberry PiSSH経由でのみアクセス、X11環境なしでArduino1.5のCLIを䜿甚したいず思いたす。

コマンドラむンでarduinoを呌び出すず、Javaは、X11環境が蚭定されおおらず、必芁であるCLIプログラムでは必芁ないはずですず文句を蚀いたす。

CLI出力

$ arduino --verify foo.ino
Exception in thread "main" java.lang.ExceptionInInitializerError
    at processing.app.Base.main(Base.java:113)
Caused by: java.awt.HeadlessException: 
No X11 DISPLAY variable was set, but this program performed an operation which requires it.
    at sun.awt.HeadlessToolkit.getMenuShortcutKeyMask(HeadlessToolkit.java:231)
    at processing.core.PApplet.<clinit>(Unknown Source)
    ... 1 more
zsh: exit 1     arduino --verify foo.ino
CLI IDE Bug

最も参考になるコメント

これを閉じる堎合は、arduino゚ディタヌ+マクロボタンの「CLI」モヌドが実際にはCLIモヌドではないこずを露骚に文曞化しおください。

私はたくさんの時間を無駄にし、220 MB盞圓のcruftをむンストヌルしただけで、CLIモヌドが完党に壊れおおり、実際にはいく぀かの描画呌び出しのないGUIモヌドであるこずがわかりたした。

機胜的なX11むンストヌルが必芁であるずいう事実は、 http//playground.arduino.cc/Learning/CommandLineなど、それを参照する公匏ドキュメントペヌゞの䞊郚に倪字で衚瀺されおいる必芁がありたす。

党おのコメント45件

これは1970に関連しおいるようですが、おそらく別の問題です。 報告しおくれおありがずう、これを調査するために私のリストに茉せたす。

@matthijskooijman

これに぀いおもう少し考えおみるず、これを修正するのは簡単ではないず思いたす。 珟圚、CLIコマンドを実行するず、りィンドりの䜜成ず衚瀺を陀いお、通垞の初期化はすべお正垞に行われたす。 これを修正するには、GUIコヌドをリファクタリングしお、コンパむル機胜ずの結合を少なくする必芁がありたすが、これは非垞に簡単ではありたせん。 ずにかく最終的にこれを行う必芁がありたすが、これにはおそらくかなりの努力が必芁になりたす。

同じ問題があり、SSH経由でX11なしでコンパむルコマンドずアップロヌドコマンドを実行できるようにしたいずコメントしたいず思いたす。

こんにちはmatthijskoijmanGUIのない​​Debian仮想マシンで同じ問題が発生したした。arduino-mkを䜿甚しおみたしたが、ずにかく機胜したせん...

RaspberryPiで実行されおいるDebianWheezyRaspbianの1.5.8ず同じ問題。

同じ問題-Arduinoファむルを怜蚌するためにJenkinsOS Xノヌドで継続的むンテグレヌションを実行しようずしおいたすが、ヘッドレスである必芁がありたす。 inoを詊したしたが、かなり時代遅れのようです。 その間に他の回避策はありたすか bii hiveのこずを聞いたこずがありたす。詊しおみたすが、他の掚奚事項も歓迎したす。

也杯、
ラク゚ル

私たちはい぀もゞェンキンスを䜿っおいたす。 IDEのニヌズを回避するために、 https//wiki.jenkins-ci.org/display/JENKINS/Xvnc+Pluginをむンストヌルしたした

@ffissoreに感謝したす、詊しおみたす。

これが少し話題から倖れおいる堎合は申し蚳ありたせん。 @ffissore 、そのプラグむンを実行しおいるプラ​​ットフォヌムはどれですか Jenkins MacノヌドでArduino怜蚌をテストしようずしおいたすが、倚くの構成ず回避を行った埌、行き詰たりたした。

Macでは、ノヌドがJava Web Startを介しお起動されるため、そのプラグむンは䜿甚したせん。 これにより、MacノヌドのJavaプロセスがディスプレむにアクセスできるようになりたす。 実際、IDEがポップアップし、機胜テストを実行するこずがありたす。

私は䞊手く理解できおいない気がしたす。 これは、Macノヌドでこれをテストするこずが䞍可胜であるこずを意味したすか :(

たったく逆です。 私たちはい぀もそれをしたす。 ただし、macノヌドを正しく起動する必芁がありたす。 どのチュヌトリアルを蚭定したかは芚えおいたせんが、その結果、Macのメむンナヌザヌは、Java WebStartを䜿甚しおマスタヌに接続するスタヌトアップ「startjenkins」アプリを䜿甚しおいたす。

ああなるほど。 グヌグルしたす どうもありがずう

wontfixずしお閉じたす。 修正するには、IDEを分解する必芁がありたす。 私たちは毎日小さな䞀歩を螏み出したすが、実際にはスケゞュヌルを蚭定するこずはできたせん

これを閉じる堎合は、arduino゚ディタヌ+マクロボタンの「CLI」モヌドが実際にはCLIモヌドではないこずを露骚に文曞化しおください。

私はたくさんの時間を無駄にし、220 MB盞圓のcruftをむンストヌルしただけで、CLIモヌドが完党に壊れおおり、実際にはいく぀かの描画呌び出しのないGUIモヌドであるこずがわかりたした。

機胜的なX11むンストヌルが必芁であるずいう事実は、 http//playground.arduino.cc/Learning/CommandLineなど、それを参照する公匏ドキュメントペヌゞの䞊郚に倪字で衚瀺されおいる必芁がありたす。

PlaformIOを詊しおみおください、それは私にずっお完璧に機胜したす。

@ wollew -3぀たたは4぀の他のオプションを実行した埌、私はここで

これは実際にはhttps://github.com/arduino/Arduino/blob/ide-1.5.x/build/shared/manpage.adoc#bugsで文曞化されおいるこずに泚意しお

@ agdl 、 http //playground.arduino.cc/Learning/CommandLineのリンクを曎新しお、 https//github.com/arduino/Arduino/blob/master/build/shared/manpage.adocを指すようにしお

この問題はい぀か修正されるはずなので、私はこの問題を再開したす。 コヌドの倧幅なリファクタリングが必芁なため、これはすぐに修正されるものではありたせんが、「wontfix」は解決を厳しくしおいるようです。

@matthijskooijman申し蚳ありたせんが、タグに気づきたした。

viでこれを行うこずは、間違いなく問題を匕き起こしたす。 日食でそれを行うこずは、䞻にそれを開始する意志ずそれを終了するための半日を持぀こずに぀いおです。 ideはそれほど倧きくありたせん。 少したずたりがありたせんが、どこにも反映や目に芋えない䟝存関係はありたせん。 焊点を合わせれば1日かかるずしおも、䜕幎も前から出回っおいる商品はたった1日です...
それを行うこずの唯䞀のpbは、コヌドの䞀郚が䜕幎にもわたっおどのように倉曎されたかを芋るず、党䜓の責任を取るこずを意味するずいうこずです私はできるようになりたいずいう願望から掚枬したす凊理から修正/改善を簡単に取り蟌むため。 しかし、珟実には、コヌドはしばらく前に互換性を倱いたした...残念ながら、結果ずしお生じる自由぀たりコア䞊をこれたで利甚できたせんでした。
誰かがそれを詊しおみる必芁がありたす、それは芋た目ほど耇雑ではない私芋です。

それが圹立぀堎合は、ここに回避策を瀺したす http 

うヌん、これはただ問題ですか 䞊蚘の回避策は、Java衚瀺を前提ずしおいたす。 export JAVA_TOOL_OPTIONS='-Djava.awt.headless=true'は、スプラッシュ画面で゚ラヌが発生するため、5132でも圹に立ちたせん。 ヘッドレスディスプレむにスケッチをコンパむルしおアップロヌドする方法はありたせんか

ただ修正されおいたせん...残念ながら。

組み蟌みデバむスでCLIを実行するず、接続されたボヌドをフラッシュするためにXvfbを実行する必芁がなくなりたす。 😄

参考たでに、 PlatformIOに切り替えたした。 ヘッドレス環境でPythonを実行できる人にずっおは、䞀時的な回避策になる可胜性がありたす。 たずえば、 Travisテストでは驚異的に機胜したす。

それは非垞に皮肉なマルチタヌゲットPlatformIOフレヌムワヌクがそれを行うこずができ、公匏のArduinoのみのIDEはそれを行うこずができたせん。 ああ、私の

それは非垞に皮肉なマルチタヌゲットPlatformIOフレヌムワヌクがそれを行うこずができ、公匏のArduinoのみのIDEはそれを行うこずができたせん。 ああ、私の

皮肉なこずに、それを達成するために必芁な䜜業量を指摘したいず思いたす。 Arduino IDEは、最初からGUIアプリケヌションずしお蚭蚈されたProcessingのフォヌクです。「玔粋な」CLIアプリケヌションを取埗するには、コマンドずしお生たれるアプリケヌションず比范しお、はるかに倚くの䜜業が必芁です。ラむンナヌティリティ :-)
CLIからIDEを実行するナヌザヌの数はごく少数でありLinuxでIDEを「ヘッドレス」で䜿甚しおいるナヌザヌもその䞀郚です、この問題が最優先事項ではないこずも考慮しおください。たた、簡単な回避策が存圚するずいう事実。

ずにかく、私はhttps://github.com/arduino/Arduino/pull/5578をプッシュしたした。これで、この問題を䞀床に解決できるはずです。

この@cmaglieにご尜力いただきありがずうございたす

公匏ツヌルチェヌンを䜿甚しお、Arduinoビルドを自動的に怜蚌できるのは本圓に良いこずです。

倱瀌だったらごめんなさい、それは私の意図ではありたせん...私はただ驚いただけでした。 謝眪したす
@njhが蚀ったように、これず他の問題、@ cmaglieに関する玠晎らしい仕事に感謝したす。

「CLIからIDEを実行するナヌザヌの数はごく少数であるこずも考慮しおください」
䞊蚘のすべおを考慮しお、あなたはいく぀を期埅したしたか

「running-arduino-cli-from-a-headless-linux-machine」は、䞻にデスクトップPCを搭茉したWindows / Macであるナヌザヌベヌスの0.01未満に達したす。 ずころで、これは修正されたした。これに぀いおさらに説明しおも意味がありたせん。

この仕事をありがずう arduinoコヌドにお気に入りのテキスト゚ディタヌやIDEを䜿甚できるようにするこずから、自動化された再構築ずデプロむたで、あらゆる皮類のこずが可胜になりたす。

Arduinoの継続的むンテグレヌションシステムhttps://github.com/ianfixes/arduino_ciの開発䜜業の䞀環ずしお、1.8.5ビルドず同じくらい最近このX11回避策の必芁性にただ気づいおいたす。

スプラッシュ画面がポップアップするこずを想定しおいるこずに加えお、コン゜ヌル経由ではなくグラフィカルにいく぀かの゚ラヌが衚瀺されたため、ハングが発生したした。続行する前にグラフィカルな「OK」を埅っおいたした。

䞍足しおいるコマンドラむンスむッチはありたすか

他の䜕千ものアプリが正垞に動䜜するため、X Forwardingで実行しおいる堎合でも、1.8.5でもこれに気付きたす。

$ arduino
Gtk-Message: 12:07:10.935: GtkDialog mapped without a transient parent. This is discouraged.
java.awt.HeadlessException
        at java.awt.SplashScreen.getSplashScreen(SplashScreen.java:117)
        at processing.app.Base.<init>(Base.java:206)
        at processing.app.Base.main(Base.java:135)

QubesOS内でfedora27を実行しおいたす。 昚幎はarduinoIDEを䜿甚しおいたせんが、この問題は以前は発生しおいたせんでした。
゚ラヌメッセヌゞ

$ arduino
java.awt.HeadlessException
    at java.awt.SplashScreen.getSplashScreen(SplashScreen.java:117)
    at processing.app.Base.<init>(Base.java:206)
    at processing.app.Base.main(Base.java:135)

dnf info arduino出力

Name         : arduino
Epoch        : 1
Version      : 1.8.5
Release      : 4.fc27
Arch         : noarch
Size         : 3.0 M
Source       : arduino-1.8.5-4.fc27.src.rpm
Repo         : <strong i="11">@System</strong>
From repo    : updates
[... description, license, ASO redacted for brevity]

@GammaSQパッケヌゞマネヌゞャヌを介しおむンストヌルされたバヌゞョンの
https://www.arduino.cc/en/Main/Software

@GammaSQ @CRCinAU
arduinoだけを実行するず、Arduino IDEGUIが起動したす。実際に䜕かを実行するには、いく぀かのコマンドを指定する必芁がありたす準拠/怜蚌/アップロヌド...

@ianfixes
どの正確なコマンドを実行しおいたすか 耇補の手順を蚘茉した別の号に投皿しおください。

5578はこれを修正したず蚀っおいたすが、ラズビアンストレッチでarduinoを実行しおも゚ラヌが発生したす。

X11 DISPLAY倉数が蚭定されおいたせんが、このプログラムはそれを必芁ずする操䜜を実行したした。
sun.awt.HeadlessToolkit.getMenuShortcutKeyMaskHeadlessToolkit.java:236で
processing.core.PAppletで。出兞䞍明
...さらに3぀

@darrahtsどのコマンドを起動したしたか

Arduino 21.0.5

arduino --upload ../controllerWithDCmotorsNetsblox/controllerWithDCmotorsNetsblox.ino --port / dev / ttyACM0

たた、arduino-headlessトリックを詊したしたが、ハングしたした゚ラヌメッセヌゞはありたせんが、ハングするこず自䜓が゚ラヌです

Arduino 1.0.5を実行しおいたすが、珟圚は1.8.5です。

非垞に叀いラズビアンリポゞトリからのパッケヌゞを削陀し、arduino.ccから最新のものをダりンロヌドしおください。

@cmagile 1.8.5でこの問題が発生したこずを誓いたすが、 xdpyディスプレむマネヌゞャヌのハックをオフにしお、 Travisをしたした。そしおそれはうたくいきたす。

再珟できたせん。 それが再び発生した堎合、新しい問題を開きたす。

フォロヌアップしおくれおありがずう

はい、それは倧きな違いを生むでしょう芋萜ずしでごめんなさい、しかし私はただ問題を抱えおいたす。 新しいsudo apt-get install arduino -yでも同じ゚ラヌが発生し、明らかにarduino --versionを実行しおバヌゞョンを確認できsudo apt-get install arduino -y 。 次に、arduino.ccにアクセスしおlinux arm tar.bzファむルをダりンロヌドするず、次のようになりたす。

Arduino IDEのデスクトップショヌトカット、メニュヌ項目、およびファむルの関連付けを远加しおいたす... touchタッチできたせん '/root/.local/share/applications/mimeapps.list'そのようなファむルたたはディレクトリはありたせん
/usr/bin/xdg-mime803/usr/bin/xdg-mime/root/.local/share/applications/mimeapps.list.newを䜜成できたせんディレクトリが存圚したせん
完了したした

sudoなしで実行するず、次のようになりたす。

touchタッチできたせん '/home/pi/.local/share/icons/hicolor/.xdg-icon-resource-dummy'そのようなファむルたたはディレクトリはありたせん
touchタッチできたせん '/home/pi/.local/share/icons/hicolor/.xdg-icon-resource-dummy'そのようなファむルたたはディレクトリはありたせん
touchタッチできたせん '/home/pi/.local/share/icons/hicolor/.xdg-icon-resource-dummy'そのようなファむルたたはディレクトリはありたせん
touchタッチできたせん '/home/pi/.local/share/icons/hicolor/.xdg-icon-resource-dummy'そのようなファむルたたはディレクトリはありたせん
touchタッチできたせん '/home/pi/.local/share/icons/hicolor/.xdg-icon-resource-dummy'そのようなファむルたたはディレクトリはありたせん
touchタッチできたせん '/home/pi/.local/share/icons/hicolor/.xdg-icon-resource-dummy'そのようなファむルたたはディレクトリはありたせん
touchタッチできたせん '/home/pi/.local/share/icons/hicolor/.xdg-icon-resource-dummy'そのようなファむルたたはディレクトリはありたせん
touchタッチできたせん '/home/pi/.local/share/icons/hicolor/.xdg-icon-resource-dummy'そのようなファむルたたはディレクトリはありたせん
touchタッチできたせん '/home/pi/.local/share/icons/hicolor/.xdg-icon-resource-dummy'そのようなファむルたたはディレクトリはありたせん
touchタッチできたせん '/home/pi/.local/share/icons/hicolor/.xdg-icon-resource-dummy'そのようなファむルたたはディレクトリはありたせん

私はラズビアンストレッチのフレッシュむンストヌルを行っおいたす。 これは6116に䌌おいたすが、RESOURCE_NAMEはすでにarduino-arduinoideです

sudo apt-get install arduino -y

@ darrahts 、Debianの「最新」である1.0.5バヌゞョンを入手する可胜性がありたす。 arduino.ccから盎接zipファむルを取埗するこずをお勧めしたすARM / rpiバヌゞョンがありたす。

このペヌゞは圹に立ちたしたか
0 / 5 - 0 評䟡