Исключение в потоке "main" java.awt.AWTError: Can't connect to X11 window server using 'localhost:1.0' as the value of the DISPLAY variable

Я перепробовал все на этом URL-адресе

https://stackoverflow.com/questions/10165761/java-cant-connect-to-x11-window-server-using-localhost10-0-as-the-value-of-t

выходные данные сеанса:

root@whale:/home/kermit# echo $DISPLAY                                   
localhost:1.0
root@whale:/home/kermit# cd dev/sht30/
root@whale:/home/kermit/dev/sht30# arduino --upload sht30v1.ino --port /dev/ttyUSB0
Exception in thread "main" java.awt.AWTError: Can't connect to X11 window server using 'localhost:1.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(X11GraphicsEnvironment.java:102)
        at java.base/java.security.AccessController.doPrivileged(Native Method)
        at java.desktop/sun.awt.X11GraphicsEnvironment.<clinit>(X11GraphicsEnvironment.java:61)
        at java.base/java.lang.Class.forName0(Native Method)
        at java.base/java.lang.Class.forName(Class.java:315)
        at java.desktop/java.awt.GraphicsEnvironment$LocalGE.createGE(GraphicsEnvironment.java:101)
        at java.desktop/java.awt.GraphicsEnvironment$LocalGE.<clinit>(GraphicsEnvironment.java:83)
        at java.desktop/java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment(GraphicsEnvironment.java:129)
        at java.desktop/sun.awt.X11.XToolkit.<clinit>(XToolkit.java:231)
        at java.base/java.lang.Class.forName0(Native Method)
        at java.base/java.lang.Class.forName(Class.java:315)
        at java.desktop/java.awt.Toolkit$2.run(Toolkit.java:588)
        at java.desktop/java.awt.Toolkit$2.run(Toolkit.java:583)
        at java.base/java.security.AccessController.doPrivileged(Native Method)
        at java.desktop/java.awt.Toolkit.getDefaultToolkit(Toolkit.java:582)
        at processing.core.PApplet.<clinit>(Unknown Source)
        at processing.app.Preferences.save(Preferences.java:735)
        at processing.app.Preferences.init(Preferences.java:249)
        at processing.app.Base.main(Base.java:117)

Как запустить arduino в безголовом режиме на raspberry pi?

, 👍1

Обсуждение

Я знаю, что это не решает вашу проблему с Arduino IDE, но если вы хотите сделать безголовую разработку на raspberry pi, вы можете заглянуть в PlatformIO, который не нуждается в графическом интерфейсе и может быть использован из CLI. (https://platformio.org/ и https://docs.platformio.org/en/latest/core/index.html)., @Maximilian Gerhardt


1 ответ


Лучший ответ:

2

Вероятно,это несуществующий или устаревший файл cookie auth в вашем компьютере .Файл Xauthority. Такое происходит, когда вы запускаете сеанс X с одним пользователем, но пытаетесь запустить приложение X от имени другого пользователя. Выполнение sudo или su root (или действительно любого другого пользователя) - распространенный способ попасть в такую ситуацию. Запуск IDE от имени root обычно означает, что что-то еще уже пошло боком. Типичная причина этого заключается в том, что вы работаете от имени root, а не фиксируете свои разрешения в файле последовательного устройства Arduino.


Тем не менее, если вы хотите запускать безголовые сборки и загрузки проектов Arduino, то вам нужен arduino-cli.

cd /path/to/directory/containing/sht30v1.ino
arduino-cli -b arduino:avr:nano compile
arduino-cli -b arduino:avr:nano upload --port /dev/ttyUSB0
,

В какой версии находится arduino-cli? Я 1.8.13, @brad

Я не уверен навскидку, что это за последняя версия. Мой был установлен уже некоторое время назад, и я не уверен, что его версия вам что-нибудь скажет. Дело в том, что версия IDE и версии arduino-cli не обязательно должны быть связаны. А номер версии, который в значительной степени влияет на ваш проект, - это номер версии ядра (AVR), которое в настоящее время находится на уровне 1.8.3. Его номер версии также связан только с IDE или arduino-cli. Запустите новейшее ядро AVR с новейшим arduino-cli, и все будет в порядке., @timemage

Просто чтобы дать вам немного больше информации, я просто запустил их установочный скрипт (curl to shell pipe) на их странице, чтобы установить последнюю версию. arduino-cli version теперь сообщает версию 0.15.0 commit 0a034d73. Опять же, это число не имеет большого отношения к другим., @timemage

Похоже, вы пропустили командную строку для компиляции, первую из двух в ответе., @timemage

Я могу скомпилировать скетч и экспортировать шестнадцатеричные файлы ,но он не будет загружаться https://bpa.st/HYXCG, @brad

Возможно, вам нужно использовать конкретную опцию cpu для "старого" nano, который подключается со скоростью 57600 бод во время загрузки. В этом случае ваш вариант -b должен быть -b arduino:avr:nano:cpu=atmega328old, @timemage

Честно говоря, я не могу сказать, сработало это или нет. https://bpa.st/OXPQ Я думаю, что это сработало, но я вижу провал. Да, это более старый ботинок nano, @brad

Давайте [продолжим это обсуждение в чате](https://chat.stackexchange.com/rooms/119262/discussion-between-timemage-and-brad)., @timemage