Пользовательский модуль systemd не запускается после перезагрузки, пока пользователь не войдет в систему

My understanding is that a terminal window is created for a slave side, and a master side can have multiple slave sides.

Псевдотерминал всегда имеет только одну главную сторону и одну подчиненную сторону. Это просто двунаправленный канал с некоторыми дополнительными операциями [1].

Эмулятор терминала, который может открывать более одного окна/вкладки, также будет обрабатывать более одного мастера псевдотерминала.

Как я уже объяснял в другом ответе , эмулятор терминала может делать что-то свое, когда пользователь пытается закрыть окно или одну из его вкладок; Например, xtermне закроет главную сторону pty, а просто отправит SIGHUPв группу процессов tty и только уничтожит окно (и выйдет ), когда процесс запущен в in вышел или больше не может использовать основную часть pty (, например. потому что все дескрипторы на его подчиненной стороне были закрыты ).

[1]. В системе SystemV с STREAMS эти дополнительные операции являются модульными и должны быть «продвинуты» с помощью ioctl(I_PUSH). В Linux и *BSD они встроены. Также поведение ptys не полностью стандартизировано; попытка чтения с ведомого без ведущего или наоборот -завершится ошибкой с EIOв Linux, но возвратит 0 (EOF )во FreeBSD.

0
25.02.2021, 06:03
2 ответа

В служебном файле замените WantedBy=default.targetна WantedBy=multi-user.target.

Как очень ясно объяснил telcoM :unix.stackexchange.com/a/506374/437095

-1
18.03.2021, 22:28

Вы можете включить задержку для экземпляра пользователя systemd, запустив loginctl enable-linger $USERдля пользователя.

3
18.03.2021, 22:28

Теги

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