tmux의 시스템 및 rtorrent

tmux의 시스템 및 rtorrent

systemd 서비스 파일을 사용하여 tmux 및 rtorrent를 실행할 수 없습니다. 내 거 rtorrent.service:

[Unit]
Description=rTorrent
Documentation=https://github.com/rakshasa/rtorrent
After=network.target local-fs.target

[Service]
Type=forking
KillMode=none
User=rtorrent
ExecStart=/usr/bin/tmux -S /tmp/rtorrent.sock new-session -d -s rtorrent \'rtorrent -n -O import=/etc/rtorrent.rc\'
ExecStop=/usr/bin/tmux -S /tmp/rtorrent.sock send-keys -t rtorrent C-q
WorkingDirectory=/home/rtorrent

[Install]
WantedBy=default.target

( Type=oneshotwith 를 사용하면 RemainAfterExit=yes효과가 없고 이것이 해결책이라고 생각하지 않습니다. tmux이렇게 해야 한다고 생각합니다 Type=forking. 제가 틀렸다면 정정해 주세요!)

출력 systemctl status rtorrent:

● rtorrent.service - rTorrent
   Loaded: loaded (/etc/systemd/system/rtorrent.service; disabled)
   Active: failed (Result: exit-code) since Mon 2015-04-27 10:48:37 AEST; 22s ago
     Docs: https://github.com/rakshasa/rtorrent
  Process: 4433 ExecStart=/usr/bin/tmux -S /tmp/rtorrent.sock new-session -d -s rtorrent 'rtorrent -n -O import=/etc/rtorrent/rtorrent.rc' (code=exited, status=1/FAILURE)

Apr 27 10:48:37 vagrant tmux[4433]: usage: new-session [-AdDP] [-c start-directory] [-F format] [-n window-name] [-s session-name] [-t target-session] [-x width] [-y height] [command]
Apr 27 10:48:37 vagrant systemd[1]: rtorrent.service: control process exited, code=exited status=1
Apr 27 10:48:37 vagrant systemd[1]: Failed to start rTorrent.
Apr 27 10:48:37 vagrant systemd[1]: Unit rtorrent.service entered failed state.

rtorrent사용자 로 전환하면 명령을 수동으로 su시도할 수 있어 ExecStart매우 효과적이었습니다. 더 이상 디버깅할 수 없습니다.

아이디어? 감사해요!

답변1

Execsystemd에는 다른 키 값에 대한 자체 해석이 있습니다. 그러므로 이것이 전달될 sh -c것 같은 글을 쓰면 안 됩니다. 특히, 단어 그룹을 단일 인수로 처리하려면 평소대로 인용하고 인용문을 이스케이프 처리하지 마세요. 이 예를 고려하십시오시스템 문서:

예:

ExecStart=/bin/echo one ; /bin/echo "two two"

/bin/echo이는 각각 하나의 인수 one및 를 사용하여 두 번 실행됩니다 two two. 두 개의 명령이 지정되어 있으므로 이를 Type=oneshot사용해야 합니다.

그래서 그 ExecStart줄은 다음과 같아야 합니다:

ExecStart=/usr/bin/tmux -S /tmp/rtorrent.sock new-session -d -s rtorrent 'rtorrent -n -O import=/etc/rtorrent.rc'

관련 정보