Это не полагается на настольную среду. На что это действительно полагается (по крайней мере, в случае браузеров графического режима как Chrome, Opera или Firefox) сервер Xorg, вместе с его libraries1.
После того как у Вас есть базовые зависимости установленного браузера (включая X-сервер), можно выполнить его под минимальной средой любой:
evilwm
, twm
и т.д..xinitrc
или .Xsession
файл.Для большего количества примеров взгляните на вопрос о создании минимального, распределения только для браузера, и пример циклично выполнил вызов браузера, который я предложил (это не "никакой WM" опция).
Существует один протест, все же. Мой ограниченный опыт с Ubuntu показывает, что это очень... Хм, скажем, "щедрый" - когда дело доходит до вычисления зависимостей, особенно потому что автоустановки конфигурации APT по умолчанию рекомендуют в дополнение к абсолютным зависимостям. То есть стандартные инструменты управления пакета принимают требование богатой функциональности и интеграции настольных систем - который приводит ко многим зависимостям. Так, нижняя строка может быть то, что они, вероятно, вынудили бы Вас к установке значительных частей некоторого DE как зависимость для, скажем, Chrome. Для движения об этом Вы, возможно, должны были бы вырыть глубоко в некоторую связанную с управлением пакета конфигурацию или даже быть вынуждены установить браузер независимо (не через инструменты управления пакета) - который может в свою очередь создать путаницу... Вы были бы определенно более обеспеченным использованием другого распределения для этого, такого как Arch или хинду, которые более консервативны и настраиваемы с точки зрения Вашей ожидаемой функциональности.
1 дюймочень ограниченный путь, это может работать даже без X, с помощью замены графические библиотеки, такие как DirectFB.
Если программа читает из стандартного входа (в противоположность непосредственно от терминала), Вы могли бы сделать что-то как
echo -e "answer1\nanswer2\nanswer3\n" | your_program
Здесь документ может быть более читаемым:
your_program <<'EOF'
answer1
answer2
answer3
EOF
do_more_stuff
(Можно выбрать любую строку вместо EOF
, просто удостоверьтесь, что использовали то же в <<'somestring'
и отметить конец входа. Строка не должна появляться как входная строка. Метка конца входа не должна быть расположена с отступом.)
Если Вам нужно более сложное взаимодействие затем expect
сценарий - то, что Вы хотите.
Если у Вас есть много исходных данных, можно также поместить эти исходные данные в файл
in.txt:
input1
input2
...
intputn
И назовите двоичный файл как это:
binary < in.txt