Я пытаюсь запустить приложение WinForm mono из командной строки без полноценной среды рабочего стола. Он открывается корректно через SSH (с использованием SmarTTY и X forwarding). Однако когда я пытаюсь запустить его непосредственно на PI, я получаю это.

Суть этого: «Не удалось открыть дисплей (требуется X-сервер. Проверьте вашу переменную DISPLAY)

Необработанное исключение: система.InvalidOperationException: WinForms_SeeInnerException ---> Система.TypeInitializationException: исключение было выдано инициализатором типа для System.Окна.Формы.WindowsFormsSynchronizationContext ---> Система.TypeInitializationException: исключение было выдано инициализатором типа для System.Окна.Формы.XplatUI ---> Система.ArgumentNullException: не удалось открыть отображение (требуется X-сервер. Проверьте вашу переменную окружения DISPLAY) Имя параметра: Отображать в системе.Окна.Формы.XplatUIX11.SetDisplay (IntPtr display_handle) [0x00000] в: 0 в системе.Окна.Формы.XplatUIX11..ctor () [0x00000] in: 0 at System.Окна.Формы.XplatUIX11.GetInstance () [0x00000] в: 0 в системе.Окна.Формы.XplatUI..cctor () [0x00000] in: 0 --- Конец внутренней трассировки стека исключений --- в System.Окна.Формы.Theme.get_MenuAccessKeysUnderlined () [0x00000] в: 0 в системе.Окна.Формы.SystemInformation.get_MenuAccessKeysUnderlined () [0x00000] в: 0 в системе.Окна.Формы.Control..ctor () [0x00000] in: 0 at (система удаленного взаимодействия-проверки-проверки).Окна.Формы.Управление: .ctor () в системе.Окна.Формы.WindowsFormsSynchronizationContext..cctor () [0x00000] in: 0 --- конец трассировки стека внутренних исключений --- в системе.Окна.Формы.Control..ctor () [0x00000] in: 0 at System.Окна.Формы.ScrollableControl..ctor () [0x00000] in: 0 at System.Окна.Формы.ContainerControl..ctor () [0x00000] в: 0 в системе.Окна.Формы.Form..ctor () [0x00000] в: 0
в MfgControl.AdvancedHMI.MainForm..ctor () [0x00000] в: 0 в системе (управляемой оболочкой).Отражение.MonoCMethod: InternalInvoke (Система.Отражение.MonoCMethod, объект, объект [], система.Исключение а) в Системе.Отражение.MonoCMethod.InternalInvoke (Система.Объект объект, Система.Параметры объекта []) [0x00000] в: 0 --- Конец внутренней трассировки стека исключений --- в MfgControl.AdvancedHMI.My.MyProject+MyForms.Create__Instance __ [MainForm] (MfgControl.AdvancedHMI.MainForm Instance) [0x00000] в: 0 в MfgControl.AdvancedHMI.My.MyProject+MyForms.get_MainForm () [0x00000] в: 0 в MfgControl.AdvancedHMI.My.Мое заявление.OnCreateMainForm () [0x00000] в: 0 в Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.OnRun () [0x00000] в: 0 в Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.Запустить (Система.String [] commandLine) [0x00000] в: 0 в MfgControl.AdvancedHMI.My.Мое заявление.Главная (Система.String [] Args) [0x00000] in: 0 [ERROR] FATAL UNHANDLED EXCEPTION: System.InvalidOperationException: WinForms_SeeInnerException ---> Система.TypeInitializationException: исключение было выдано инициализатором типа для System.Окна.Формы.WindowsFormsSynchronizationContext ---> Система.TypeInitializationException: исключение было выдано инициализатором типа для System.Окна.Формы.XplatUI ---> Система.ArgumentNullException: не удалось открыть отображение (требуется X-сервер. Проверьте вашу переменную окружения DISPLAY) Имя параметра: Отображать в системе.Окна.Формы.XplatUIX11.SetDisplay (IntPtr display_handle) [0x00000] в: 0 в системе.Окна.Формы.XplatUIX11..ctor () [0x00000] in: 0 at System.Окна.Формы.XplatUIX11.GetInstance () [0x00000] в: 0 в системе.Окна.Формы.XplatUI..cctor () [0x00000] in: 0 --- Конец внутренней трассировки стека исключений --- в System.Окна.Формы.Theme.get_MenuAccessKeysUnderlined () [0x00000] в: 0 в системе.Окна.Формы.SystemInformation.get_MenuAccessKeysUnderlined () [0x00000] в: 0 в системе.Окна.Формы.Control..ctor () [0x00000] in: 0 at (система удаленного взаимодействия-проверки-проверки).Окна.Формы.Управление: .ctor () в системе.Окна.Формы.WindowsFormsSynchronizationContext..cctor () [0x00000] in: 0 --- конец трассировки стека внутренних исключений --- в системе.Окна.Формы.Control..ctor () [0x00000] in: 0 at System.Окна.Формы.ScrollableControl..ctor () [0x00000] in: 0 at System.Окна.Формы.ContainerControl..ctor () [0x00000] в: 0 в системе.Окна.Формы.Form..ctor () [0x00000] в: 0
в MfgControl.AdvancedHMI.MainForm..ctor () [0x00000] в: 0 в системе (управляемой оболочкой).Отражение.MonoCMethod: InternalInvoke (Система.Отражение.MonoCMethod, объект, объект [], система.Исключение а) в Системе.Отражение.MonoCMethod.InternalInvoke (Система.Объект объект, Система.Параметры объекта []) [0x00000] в: 0 --- Конец внутренней трассировки стека исключений --- в MfgControl.AdvancedHMI.My.MyProject+MyForms.Create__Instance __ [MainForm] (MfgControl.AdvancedHMI.MainForm Instance) [0x00000] в: 0 в MfgControl.AdvancedHMI.My.MyProject+MyForms.get_MainForm () [0x00000] в: 0 в MfgControl.AdvancedHMI.My.Мое заявление.OnCreateMainForm () [0x00000] в: 0 в Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.OnRun () [0x00000] в: 0 в Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.Запустить (Система.String [] commandLine) [0x00000] в: 0 в MfgControl.AdvancedHMI.My.Мое заявление.Главная (Система.Строка [] Args) [0x00000] в: 0

1 ответ1

1

У вас не работает X-сервер. Без X-сервера нет дисплея для привязки приложения.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .