Как заставить/etc/init.d сценарий действовать как, он запускается под X?

Вот использование метода sed:

sed 's/.\{30\}/&\
/g'
4
13.04.2017, 15:36
2 ответа

Если Ваше приложение нужно в X-сервере по некоторой странной причине, но не делает ничего полезного с ним, дает ему виртуальный X-сервер. Это обычно делается для выполнения веб-браузеров в автоматизированных наборах тестов для веб-приложений — ничье рассмотрение экрана, но веб-браузер не будет работать без одного.

Xvfb создает X-сервер, который “отображается” только к памяти, не к чему-либо видимому. Это не требует никаких аппаратных средств или полномочий.

Самый легкий способ использовать его через Debian xvfb-run сценарий.

xvfb-run java MyWeirdApp

Если Вы не имеете xvfb-run, получите его из одной из многих копий в сети или от пакета Debian.

4
27.01.2020, 20:48
  • 1
    Спасибо, Gilles, это было решением, которое работало на мое приложение. (И намного менее страшно для предоставления конечным пользователям, чем бездельничание в ~/.xinitrc), –  Kathy 06.11.2013, 21:04

/etc/init.d сценарии являются неинтерактивными, невход в систему, и они не пытаются получить доступ к X сессиям, потому что они - сервисы 1 в масштабе всей системы Системные службы, не связаны ни с каким конкретным зарегистрированным пользователем, 2, но X сессий всегда принадлежат зарегистрированному пользователю.

Если для Вашего приложения нужен контекст GUI для работы, это не должна быть системная служба. Вы не объяснили, почему этому нужно это или что это делает, но вероятно необходимо использовать ~/.xinitrc или система запуска Вашей Настольной среды, не init.

1 X приложений и вошли в систему, пользователи могут использовать системную службу, но о чем Вы говорите, наоборот.

2 Сервиса обычно связываются со своим собственным специальным пользователем, но они не зарегистрированы как таковые (и обычно такие пользователи не могут быть зарегистрированы).

6
27.01.2020, 20:48

Теги

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