Приложение Mono WinFroms не запускается при загрузке - PullRequest
0 голосов
/ 04 июля 2018

Я новичок в Распбиане. У меня есть моно приложение WinForms на Raspbian на RPi + официальный 7 "дисплей. Оно прекрасно работает, когда я выполняю скрипт start-app.sh через пользовательский интерфейс (двойной щелчок по файлу) и через терминал (/home/pi/scannerapp/start-app.sh).

Сценарий (start-app.sh):

#!/bin/bash
/usr/bin/mono '/home/pi/scannerapp/Re-Express Scanner WinForms.exe'

Я отредактировал файл rc.local с помощью:

exec 2> /tmp/rc.local.log  # send stderr from rc.local to a log file
exec 1>&2                      # send stdout to the same log file
set -x                         # tell sh to display commands before execution

/home/pi/scannerapp/start-app.sh &
exit 0

И при загрузке приложение не запускается. Я нахожу в журнале следующее:

   Unhandled Exception:
System.TypeInitializationException: The type initializer for 'System.Windows.Forms.XplatUI' threw an exception. ---> System.ArgumentNullException: Could not open display (X-Server required. Check your DISPLAY environment variable)
Parameter name: Display
  at System.Windows.Forms.XplatUIX11.SetDisplay (System.IntPtr display_handle) [0x00435] in <d5b72d15d4f7424c8a1538e3f19ec2e3>:0 
  at System.Windows.Forms.XplatUIX11..ctor () [0x00077] in <d5b72d15d4f7424c8a1538e3f19ec2e3>:0 
  at System.Windows.Forms.XplatUIX11.GetInstance () [0x0001c] in <d5b72d15d4f7424c8a1538e3f19ec2e3>:0 
  at System.Windows.Forms.XplatUI..cctor () [0x0007d] in <d5b72d15d4f7424c8a1538e3f19ec2e3>:0 
   --- End of inner exception stack trace ---
  at System.Windows.Forms.Application.EnableVisualStyles () [0x00006] in <d5b72d15d4f7424c8a1538e3f19ec2e3>:0 
  at Re_Express_Scanner_WinForms.Program.Main () [0x00001] in <52b5a9f59ae647c0a7c47e5736c3742e>:0 
[ERROR] FATAL UNHANDLED EXCEPTION: System.TypeInitializationException: The type initializer for 'System.Windows.Forms.XplatUI' threw an exception. ---> System.ArgumentNullException: Could not open display (X-Server required. Check your DISPLAY environment variable)
Parameter name: Display
  at System.Windows.Forms.XplatUIX11.SetDisplay (System.IntPtr display_handle) [0x00435] in <d5b72d15d4f7424c8a1538e3f19ec2e3>:0 
  at System.Windows.Forms.XplatUIX11..ctor () [0x00077] in <d5b72d15d4f7424c8a1538e3f19ec2e3>:0 
  at System.Windows.Forms.XplatUIX11.GetInstance () [0x0001c] in <d5b72d15d4f7424c8a1538e3f19ec2e3>:0 
  at System.Windows.Forms.XplatUI..cctor () [0x0007d] in <d5b72d15d4f7424c8a1538e3f19ec2e3>:0 
   --- End of inner exception stack trace ---
  at System.Windows.Forms.Application.EnableVisualStyles () [0x00006] in <d5b72d15d4f7424c8a1538e3f19ec2e3>:0 
  at Re_Express_Scanner_WinForms.Program.Main () [0x00001] in <52b5a9f59ae647c0a7c47e5736c3742e>:0 

Я получаю то же исключение, если пытаюсь запустить скрипт start-app.sh через SSH.

Любая помощь приветствуется. Спасибо!

1 Ответ

0 голосов
/ 16 июля 2018

В итоге я удалил свои правки из rc.local и вызвал скрипт start-app.sh в / etc / xdg / lxsession / LXDE-pi / autostart, отредактировав его с помощью sudo nano. Это сейчас работает над загрузкой. Насколько я понимаю, вызов сценария из файла rc.local происходил вне среды отображения X, поэтому возникла ошибка отображения X и почему его нужно вызывать из среды отображения (/ lxde-pi / autostart).

См. Это для получения дополнительной информации об автозапускаемых приложениях с графическим интерфейсом: http://www.raspberry -projects.com / пи / пи-операционная система / raspbian / автоматический запуск программы-гуй-

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...