A / dev/null equivilent для ДИСПЛЕЯ, когда дисплей является просто шумом

Из того, что я понял после прочтения вашего поста и комментарии ниже, у вас есть структура следующим образом в вашем parent.component.html

 <app-child1></app-child1>
 <app-child2></app-child2>
 <button type="button">Click Me!</button>

При нажатии на кнопку, вы хотите получить данные от ребенка1 и child2 в родительский компонент.

Таким образом, один из способов решения этой проблемы - использование ссылочной переменной шаблона,

<app-child1 #child1></app-child1>
<app-chidl2 #child2></app-child2>
<button type="button" (click)="getDataFromChild(child1,child2)">Click Me!</button>

Внутри вашего родительского машинописного текста

getDataFromChild(child1,child2) {
  dataFromChild1 = child1.getData();
  dataFromChild2 = child2.getData();
}

Добавьте метод getData () в child1 и ц child2 компонента и возвращает необходимые данные.

20
задан Marc 7 May 2009 в 14:00
поделиться

4 ответа

Существует безголовый X-сервер, который называется Xvfb . Это в основном то, что вам нужно, так как он принимает X клиентов, но в основном ничего не делает с данными от них. С этой связанной страницы (слегка перефразировано):

Xvfb , виртуальный кадровый буфер X, является сервером отображения, реализующим протокол сервера отображения X11.

В отличие от других серверов отображения, Xvfb выполняет все графические операции в памяти, не показывая никакого вывода на экран.

С точки зрения клиента, он действует точно так же, как любой другой сервер X display, обслуживая запросы и отправляя события и ошибки, в зависимости от ситуации. Однако выходные данные не отображаются.

Для этого виртуального сервера не требуется, чтобы на компьютере, на котором он работает, был экран или какое-либо устройство ввода. Необходим только сетевой уровень.

Если вы можете ' Не могу найти это, тогда другой возможностью было бы использовать запасной ПК с полной установкой CygWin. CygWin поставляется с полноценным X-сервером, к которому вы можете подключить свое приложение (и просто игнорировать его). Вы даже можете настроить его как корпоративный / dev / null DISPLAY.

Но я бы сначала посмотрел на Xvfb.

16
ответ дан 30 November 2019 в 01:08
поделиться

Если это Java-программа, вы можете использовать безголовый режим для запуска приложения.

Попробуйте запустить его с параметром -Djava.awt.headless = true , например, если это jar-файл:

java -Djava.awt.headless = true -jar jarfile.jar

Подробнее о режиме без головы ...

2
ответ дан 30 November 2019 в 01:08
поделиться

Вы можете использовать Xvfb, как указано выше. Таким образом, вы никогда не увидите вывод (вы можете использовать инструмент для создания снимков экрана).

http://en.wikipedia.org/wiki/Xvfb http://packages.debian.org / sid / xvfb

Или вы можете настроить VNC-сервер. В Linux сервер VNC реализован в виде специального X-сервера, доступ к которому можно получить через VNC, вместо отображения на локальном мониторе. Это дает вам безголовый X-сервер с дополнительным бонусом, который вы можете подключить к нему через VNC на тот случай, если вам действительно нужно посмотреть, что происходит.

http://www.tightvnc.com /vncserver.1.html

vncserver - это хороший скрипт-обертка для (узкого) VNC, который делает запуск VNC-сервера быстрым. Большинство дистрибутивов должны устанавливать его по умолчанию.

1
ответ дан 30 November 2019 в 01:08
поделиться

Можете ли вы запустить виртуальную машину на целевой машине? Тогда вы можете установить свой дисплей на это. Или вы можете попробовать vnc (в настоящее время на машине, которая не позволяет этого, или я бы попробовал это ...).

0
ответ дан 30 November 2019 в 01:08
поделиться
Другие вопросы по тегам:

Похожие вопросы: