Ооооо.... Теперь я понимаю. #3 я всегда играл. Как вы говорите, золотое правило, и это просто делает игру более увлекательной. @PeterShor; @PatriciaShanahan; @Фрэнк данные Спасибо за ваши обсуждения. Просто чтобы дать больше контекста, я в школе и администрации сообщила мне, что не кандидатский экзамен является конфиденциальной информацией. Кроме того, письменные квалификационный экзамен, чтобы получать хорошие оценки в 4 предметных областях компьютерных наук, она не имеет ничего общего с научными исследованиями. Это одна из главных причин я не хочу упоминать в СОП, я хотел выделить свой научный потенциал сказав, что я представил 10 исследование страницу, в верхнем ярусе-конференции в один год.

Обычно systemd в службах иметь только ограниченный набор переменных окружения и вещей, в файле/etc/профиля, /и т. д./профиль.д и bashrc и связанные файлы не устанавливаются.

Для добавления переменных окружения на systemd в сервис у вас есть различные возможности.

Примеры следующим образом предположим, что roscore на /опт/рос/кинетическая/ОГРН/roscore с помощью systemd услуги должны иметь двоичный или скрипт настроен полный путь.


Одна возможность заключается в использовании окружающей среды в systemd в обслуживании и простой systemd в службы будет выглядеть следующим образом.

[корень@имя localhost ~]# кошка файле /etc/systemd в/системы/рос.услуги
[Блок]
Описание=кинетическая рос 
После=демон.услуги

[Услуги]
Тип=простой
Среды="Один=1" "Три=3"
Среды="Два=2"
Среды="Четыре=4"
ExecStart=/опт/рос/кинетическая/ОГРН/roscore

[Установите]
WantedBy=Multi-потребителя.цель

Вы также можете положить все переменные окружения в файле, который можно прочесть с EnvironmentFile вариант в systemd в сервис.

[корень@имя localhost ~]# кошка файле /etc/systemd в/системы/рос.ОКР
Один=1
Три=3
Два=2
Четыре=4


[корень@имя localhost ~]# кошка файле /etc/systemd в/системы/рос.услуги
[Блок]
Описание=кинетическая рос 
После=демон.услуги

[Услуги]
Тип=простой
EnvironmentFile=в/etc/systemd в/systemd в/Рос.ОКР
ExecStart=/опт/рос/кинетическая/ОГРН/roscore

[Установите]
WantedBy=Multi-потребителя.цель

Другим вариантом было бы сделать надстройку сценарий для рос двоичном и звонок, что универсального сценария от systemd в сервис. Скрипт должен быть исполняемым, чтобы выполнить команду chmod +755 /опт/рос/кинетическая/ОГРН/roscore.запуск после создания этого файла.

[корень@имя localhost ~]# кот /опт/рос/кинетическая/ОГРН/roscore.запуск
#!/бин/Баш

источник /опт/рос/кинетическая/установки.Баш
roscore


[корень@имя localhost ~]# кошка файле /etc/systemd в/системы/рос.услуги
[Блок]
Описание=кинетическая рос 
После=демон.услуги

[Услуги]
Тип=простой
ExecStart=/опт/рос/кинетическая/ОГРН/roscore.запуск

[Установите]
WantedBy=Multi-потребителя.цель

Обратите внимание, что вам нужно выполнить systemctl демон-перезагрузить после того, как вы отредактировали файл, чтобы изменения вступили в силу. Чтобы включить службу на systemboot, вы должны ввести systemctl включить рос.

Я не знаком с roscore бинарных и, возможно, потребуется изменить тип= от простого (который стоит по умолчанию и обычно не нужны), чтобы разветвление в первых двух примерах.


Обновление, как я забыл упомянуть переменные среды для нормального входа.

Для нормального входа можно копировать или симлинк /opt/на рос/кинетическая/установки.баш на /etc/profile.d/ros.sh которые должны быть получены на нормальные логины.