Назад | Перейти на главную страницу

Зачем нужна опция «--nodetach» для xsel, когда он запускается из systemd unit?

Я пытаюсь усыновить Подход Алексея Самошкина для копирования текста из удаленного сеанса tmux в локальный буфер обмена. я использую xsel вместо того xclip, и пользовательский сервис systemd вместо системного. Вот моя рабочая конфигурация:

/etc/systemd/user/xsel.socket:

[Unit]
Description=xsel network listener socket

[Socket]
ListenStream=54793
Accept=yes

[Install]
WantedBy=sockets.target

/etc/systemd/user/xsel@.service:

[Unit]
Description=xsel network listener service

[Service]
Type=simple
ExecStart=/usr/bin/xsel --input --clipboard --nodetach

StandardInput=socket
StandardOutput=socket

xsel версия 1.2.0
systemd 245 (245.6-8-арка)

Все работает как положено, но только с --nodetach вариант. Без этой опции буфер обмена вообще не меняется. Не могли бы вы объяснить почему?

Если служба отключается, она не может писать в stdout больше нет. Так что --nodetach необходим для хранения stdout (и возможность перенаправить его).