'кого - передают'->, которые обмениваются сообщениями?

[Это непосредственно не решает проблему systemd-tmpfiles, но я думаю, что Вы уже распознали, что в данном случае Вы более обеспечены просто эхо использования.]

Сначала "multi-user.target" может или не может быть тем, что Вы хотите использовать. Если Вы знакомы с понятием runlevels от материала init стиля SysV, многопользовательский systemd эквивалент runlevel 3, который является многопользовательской системой, которая загружается к консоли, не GUI. Эквивалент runlevel 5, который загружается к X, является graphical.target. Значение по умолчанию определяется символьной ссылкой в /etc/systemd/system (и/или /lib/systemd/system; тот в /etc отвергнет тот в /lib) названный default.target, используйте ls для нахождения, где он указывает:

»ls -l /etc/systemd/system/default.target
default.target -> /usr/lib/systemd/system/multi-user.target

Для нормальных рабочих столов Linux это будет graphical.target. Это на самом деле не важно, если Вы хотите сервис начальной загрузки, Вы создаете для запуска независимо от того, что значение по умолчанию runlevel/target - в этом случае, мы можем просто использовать default.target и не взволновать то, для чего это является псевдоним. Если Вы будете использовать многопользовательский, однако, и Ваше значение по умолчанию является графическим, то Вашего сервиса не произойдет.

В зависимости от сервиса могут быть более соответствующие и определенные цели или сервисы, относительно которых Вы хотите запустить этого. На основе Вашего другого вопроса default.target прекрасен, вероятно. Как примечание, различие между "целью" и "сервисом" то, что сервис содержит a [Service] раздел, который на самом деле выполняет процесс; цель является просто способом собрать в группу сервисы через различное, "зависит" и "требует" директив; это не делает ничего собственного вне инициирования других целей или сервисов.

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

[Unit]
After=default.target

[Install]
WantedBy=default.target

Раздел "Install" используется, когда сервис установлен; "WantedBy" указывает цель, с которой мы хотим, чтобы этот сервис был включен (значение, что это будет работать, если та цель сделает, но nb., который это не определяет, когда это будет работать относительно других). Так как мы на самом деле хотим, чтобы этот сервис работал позже, а не раньше, мы затем указываем "После" пункта. Это не должно на самом деле совпадать с целью WantedBy (это обычно не), и может быть полностью опущен, если Вы не заботитесь, когда это происходит; я просто использую его на догадке, что большая часть другого материала будет выполнена относительно материала, который где-нибудь объединяется в цепочку к чему-то, что указало Before=default.target (который мы, возможно, также использовали; цель хочет, оцениваются, прежде чем цель выполняется).

Для примера я просто повторю "привет мир" к консоли. Сам сервис описан в [Service] раздел:

[Service]
Type=forking
ExecStart=/usr/local/bin/helloworld

Для команды нужен полный путь. Причина я не просто использовал /usr/bin/echo "hello world" это, это не будет работать (вывод переходит к/dev/null, я думаю), и в то время как сервис, который делает echo "hello world" > /dev/console будет, экспериментирование продемонстрировать, что использование перенаправления оболочки в директиве ExecStart не будет. Таким образом,/usr/local/bin/helloworld является сценарием оболочки с той одной строкой, echo "hello world" > /dev/console.

Отметьте Type=forking, который необходим для сценария оболочки.

Наш полный, минимальный сервисный файл является просто теми тремя разделами ([Unit], [Service], и [Install]). Для установки поместите файл или символьную ссылку на него или в/etc/systemd/system или в/usr/lib/systemd/system, и:

systemctl --system enable helloworld

Это должно распечатать ln -s .... Это не выполняет сервис, он просто настраивает его для выполнения при начальной загрузке, как обсуждено выше.

Вот именно вкратце. man systemd.unit и man systemd.service имейте больше деталей.

4
06.11.2013, 01:32
1 ответ

-T и --message переключитесь означают это who отобразит a +, -, или ? обозначение, позволяет ли пользователь сообщениям быть записанными в свой терминал.

`--writable'
     After each login name print a character indicating the user's
     message status:

          `+' allowing `write' messages
          `-' disallowing `write' messages
          `?' cannot find terminal device

Пример

$ who --message
saml     - tty1         2013-11-03 16:09 (:0)
saml     + pts/0        2013-11-03 16:10 (:0.0)
saml     + pts/1        2013-11-03 16:49 (:0.0)
saml     + pts/6        2013-11-04 12:28 (:0.0)
saml     + pts/20       2013-11-05 13:16 (:0.0)
saml     + pts/43       2013-11-05 16:58 (:0.0)

-T переключатель делает то же самое.

Что такое сообщения?

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

Пример

$ write 
usage: write user [tty]

saml на tty1 имеет его сообщение, получают отключенную возможность (-).

$ write saml tty1
write: saml has messages disabled on tty1

Однако пользователь saml позволяет сообщения на pts/0:

$ write saml pts/0
hola

Если я переключаюсь на вкладку, которая соответствует pts/0:

[saml@grinchy ~]$ 
Message from saml@grinchy on pts/43 at 17:06 ...
hola

Включение/Отключение состояния

Можно использовать команду mesg включить и отключить эту опцию в данном терминале.

Сообщения включены.

$ who --message | grep "pts/0"
saml     + pts/0        2013-11-03 16:10 (:0.0)

Выключите его.

$ mesg n

Теперь это отключено.

$ who --message | grep "pts/0"
saml     - pts/0        2013-11-03 16:10 (:0.0)
5
27.01.2020, 20:54
  • 1
    mesg и write поместите пчелу в шляпу здесь :) потрясающий ответ с неожиданным … –  erch 07.11.2013, 02:19
  • 2
    @chirp результатов - ха! Я считал бы это законным вопросом. Никакие пчелы здесь IMO. Всегда хорошо продвинуть Ваше собственное и поэтому всех понимание else мира вокруг себя. –  slm♦ 07.11.2013, 03:12
  • 3
    , это было предназначено как комплимент –  erch 08.11.2013, 16:43
  • 4
    @chirp - хорошо, извините я не был полностью groking, что Вы имели в виду. Да существует одна вещь, на которую можно последовательно рассчитывать с Linux/Unix/Открытым исходным кодом, безграничное предоставление вещей потратить впустую время, хорошим способом! Я прочитал Ваш другой комментарий о заводе поверхности и этом и думал это, другой путь 8-) –  slm♦ 08.11.2013, 16:49

Теги

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