z411 / trackma

Open multi-site list manager for Unix-like systems. (ex-wMAL)
https://z411.github.io/trackma
GNU General Public License v3.0
761 stars 82 forks source link

Run trackma as systemd service #676

Open toomyzoom opened 1 year ago

toomyzoom commented 1 year ago

Hi z411,

Do you know how can I run trackma as systemd service without it exiting?

Thank you

z411 commented 1 year ago

It was an early idea to have a Trackma daemon and the GUIs to connect as clients but that probably would've added unnecessary complexity. For now you can just run trackma and it should stay open as a service.

txtsd commented 1 year ago

I can look into writing a .service file.

toomyzoom commented 1 year ago

I can look into writing a .service file.

I have a user service file for it but the problem is systemd service have problem running interactive console program. Trackma will quit as soon as it starts up.

Feb 24 00:19:30 mpv systemd[181508]: Starting trackma... Feb 24 00:19:30 mpv python[3858783]: Trackma v0.8.5 Copyright (C) 2012-2020 z411 Feb 24 00:19:30 mpv python[3858783]: This program comes with ABSOLUTELY NO WARRANTY; for details type `about' Feb 24 00:19:30 mpv python[3858783]: This is free software, and you are welcome to redistribute it Feb 24 00:19:30 mpv python[3858783]: under certain conditions; see the COPYING file for details. Feb 24 00:19:30 mpv python[3858783]: Initializing engine... Feb 24 00:19:30 mpv python[3858783]: Engine: Trackma v0.8.5 - using account ***(mal). Feb 24 00:19:30 mpv python[3858783]: Engine: Reading config files... Feb 24 00:19:30 mpv python[3858783]: [D] Engine: Fixing string searchdir to list. Feb 24 00:19:30 mpv python[3858783]: Data: Initializing... Feb 24 00:19:30 mpv python[3858783]: [D] Data: Reading userconfig... Feb 24 00:19:30 mpv python[3858783]: libmal: Initializing... Feb 24 00:19:30 mpv python[3858783]: Data: Using libmal (anime) Feb 24 00:19:30 mpv python[3858783]: [D] Data: Locking database... Feb 24 00:19:30 mpv python[3858783]: [D] Data: Reading metadata... Feb 24 00:19:30 mpv python[3858783]: [D] Data: Reading queue... Feb 24 00:19:30 mpv python[3858783]: [D] Data: Reading info DB... Feb 24 00:19:30 mpv python[3858783]: [D] Data: No items in queue. Feb 24 00:19:30 mpv python[3858783]: [D] Data: No items in queue. Feb 24 00:19:30 mpv python[3858783]: libmal: Downloading list (page 1)... Feb 24 00:19:30 mpv python[3858783]: [D] libmal: GET URL: https://api.myanimelist.net/v2/users/@me/animelist?fields=id%2Calternative_titles%2Ctitle%2Cstart_date%2Cmain_picture%2Cstatus%2Cnum_episodes%2Clis> Feb 24 00:19:31 mpv python[3858783]: [D] libmal: Invalid date 2023-04 Feb 24 00:19:31 mpv python[3858783]: [D] libmal: Invalid date 2023 Feb 24 00:19:31 mpv python[3858783]: [D] libmal: Invalid date 2023 Feb 24 00:19:31 mpv python[3858783]: [D] libmal: Invalid date 2023-04 Feb 24 00:19:31 mpv python[3858783]: [D] libmal: Invalid date 2023-04 Feb 24 00:19:31 mpv python[3858783]: [D] libmal: Invalid date 2023 Feb 24 00:19:31 mpv python[3858783]: [D] libmal: Invalid date 2023 Feb 24 00:19:31 mpv python[3858783]: [D] libmal: Invalid date 2023-07 Feb 24 00:19:31 mpv python[3858783]: [D] libmal: Invalid date 2023-04 Feb 24 00:19:31 mpv python[3858783]: [D] libmal: Invalid date 2023-07 Feb 24 00:19:31 mpv python[3858783]: [D] libmal: Invalid date 2023 Feb 24 00:19:31 mpv python[3858783]: [D] libmal: Invalid date 2023 Feb 24 00:19:31 mpv python[3858783]: [D] libmal: Invalid date 2023-04 Feb 24 00:19:31 mpv python[3858783]: [D] libmal: Invalid date 2023 Feb 24 00:19:31 mpv python[3858783]: [D] libmal: Invalid date 2023 Feb 24 00:19:31 mpv python[3858783]: [D] libmal: Invalid date 2023-07 Feb 24 00:19:31 mpv python[3858783]: libmal: Downloading list (page 2)... Feb 24 00:19:31 mpv python[3858783]: [D] libmal: GET URL: https://api.myanimelist.net/v2/users/@me/animelist?offset=1000&fields=id%2Calternative_titles%2Ctitle%2Cstart_date%2Cmain_picture%2Cstatus%2Cnum_ep> Feb 24 00:19:32 mpv python[3858783]: [D] libmal: Invalid date 2023-07 Feb 24 00:19:32 mpv python[3858783]: [D] libmal: Invalid date 2023 Feb 24 00:19:32 mpv python[3858783]: [D] libmal: Invalid date 2023 Feb 24 00:19:32 mpv python[3858783]: [D] libmal: Invalid date 2023 Feb 24 00:19:32 mpv python[3858783]: [D] libmal: Invalid date 2023-07 Feb 24 00:19:32 mpv python[3858783]: [D] libmal: Invalid date 2023-07 Feb 24 00:19:32 mpv python[3858783]: [D] libmal: Invalid date 2023 Feb 24 00:19:32 mpv python[3858783]: [D] libmal: Invalid date 2023 Feb 24 00:19:32 mpv python[3858783]: [D] libmal: Invalid date 2023-04 Feb 24 00:19:32 mpv python[3858783]: [D] libmal: Invalid date 2023-07 Feb 24 00:19:32 mpv python[3858783]: [D] libmal: Invalid date 2024 Feb 24 00:19:32 mpv python[3858783]: [D] libmal: Invalid date 2023-04 Feb 24 00:19:32 mpv python[3858783]: [D] libmal: Invalid date 2023-07 Feb 24 00:19:32 mpv python[3858783]: [D] libmal: Invalid date 2023-04 Feb 24 00:19:32 mpv python[3858783]: [D] libmal: Invalid date 2023-04 Feb 24 00:19:32 mpv python[3858783]: [D] libmal: Invalid date 2024-01 Feb 24 00:19:32 mpv python[3858783]: [D] libmal: Invalid date 2023 Feb 24 00:19:32 mpv python[3858783]: [D] libmal: Invalid date 2023 Feb 24 00:19:32 mpv python[3858783]: [D] libmal: Invalid date 2023-04 Feb 24 00:19:32 mpv python[3858783]: libmal: Downloading list (page 3)... Feb 24 00:19:32 mpv python[3858783]: [D] libmal: GET URL: https://api.myanimelist.net/v2/users/@me/animelist?offset=2000&fields=id%2Calternative_titles%2Ctitle%2Cstart_date%2Cmain_picture%2Cstatus%2Cnum_ep> Feb 24 00:19:33 mpv python[3858783]: [D] libmal: Invalid date 2023-04 Feb 24 00:19:33 mpv python[3858783]: [D] libmal: Invalid date 2023 Feb 24 00:19:33 mpv python[3858783]: [D] libmal: Invalid date 2023-07 Feb 24 00:19:33 mpv python[3858783]: [D] libmal: Invalid date 2023-07 Feb 24 00:19:33 mpv python[3858783]: [D] libmal: Invalid date 2023 Feb 24 00:19:33 mpv python[3858783]: [D] libmal: Invalid date 2023-04 Feb 24 00:19:33 mpv python[3858783]: [D] libmal: Invalid date 2023 Feb 24 00:19:33 mpv python[3858783]: [D] libmal: Invalid date 2023-07 Feb 24 00:19:33 mpv python[3858783]: [D] libmal: Invalid date 2023-04 Feb 24 00:19:33 mpv python[3858783]: [D] libmal: Invalid date 2023 Feb 24 00:19:33 mpv python[3858783]: [D] libmal: Invalid date 2023-04 Feb 24 00:19:33 mpv python[3858783]: [D] libmal: Invalid date 2023-10 Feb 24 00:19:33 mpv python[3858783]: [D] libmal: Invalid date 2023 Feb 24 00:19:33 mpv python[3858783]: [D] libmal: Invalid date 2023 Feb 24 00:19:33 mpv python[3858783]: [D] libmal: Invalid date 2023-04 Feb 24 00:19:33 mpv python[3858783]: [D] libmal: Invalid date 2023-04 Feb 24 00:19:33 mpv python[3858783]: [D] libmal: Invalid date 2023 Feb 24 00:19:33 mpv python[3858783]: [D] libmal: Invalid date 2023-07 Feb 24 00:19:33 mpv python[3858783]: [D] libmal: Invalid date 2023 Feb 24 00:19:33 mpv python[3858783]: [D] libmal: Invalid date 2011-02 Feb 24 00:19:33 mpv python[3858783]: [D] libmal: Invalid date 2023 Feb 24 00:19:33 mpv python[3858783]: [D] libmal: Invalid date 2023 Feb 24 00:19:33 mpv python[3858783]: [D] libmal: Invalid date 2023 Feb 24 00:19:33 mpv python[3858783]: [D] libmal: Invalid date 2023-04 Feb 24 00:19:33 mpv python[3858783]: [D] libmal: Invalid date 2023 Feb 24 00:19:33 mpv python[3858783]: libmal: Downloading list (page 4)... Feb 24 00:19:33 mpv python[3858783]: [D] libmal: GET URL: https://api.myanimelist.net/v2/users/@me/animelist?offset=3000&fields=id%2Calternative_titles%2Ctitle%2Cstart_date%2Cmain_picture%2Cstatus%2Cnum_ep> Feb 24 00:19:34 mpv python[3858783]: [D] libmal: Invalid date 2023-07 Feb 24 00:19:34 mpv python[3858783]: [D] libmal: Invalid date 2023 Feb 24 00:19:34 mpv python[3858783]: [D] libmal: Invalid date 2023 Feb 24 00:19:34 mpv python[3858783]: [D] libmal: Invalid date 2023 Feb 24 00:19:34 mpv python[3858783]: [D] libmal: Invalid date 2023 Feb 24 00:19:34 mpv python[3858783]: [D] libmal: Invalid date 2023-07 Feb 24 00:19:34 mpv python[3858783]: [D] libmal: Invalid date 2023-07 Feb 24 00:19:34 mpv python[3858783]: [D] libmal: Invalid date 2023-04 Feb 24 00:19:34 mpv python[3858783]: [D] libmal: Invalid date 2023 Feb 24 00:19:34 mpv python[3858783]: [D] libmal: Invalid date 2003 Feb 24 00:19:34 mpv python[3858783]: [D] libmal: Invalid date 2023 Feb 24 00:19:34 mpv python[3858783]: [D] libmal: Invalid date 1997 Feb 24 00:19:34 mpv python[3858783]: [D] libmal: Invalid date 2023 Feb 24 00:19:34 mpv python[3858783]: [D] libmal: Invalid date 2023 Feb 24 00:19:34 mpv python[3858783]: [D] libmal: Invalid date 2023 Feb 24 00:19:34 mpv python[3858783]: [D] libmal: Invalid date 2023-04 Feb 24 00:19:34 mpv python[3858783]: [D] libmal: Invalid date 2003 Feb 24 00:19:34 mpv python[3858783]: [D] libmal: Invalid date 2024-04 Feb 24 00:19:34 mpv python[3858783]: [D] libmal: Invalid date 2023 Feb 24 00:19:34 mpv python[3858783]: [D] libmal: Invalid date 2023-07 Feb 24 00:19:34 mpv python[3858783]: [D] libmal: Invalid date 2023 Feb 24 00:19:34 mpv python[3858783]: [D] libmal: Invalid date 2023 Feb 24 00:19:34 mpv python[3858783]: [D] libmal: Invalid date 2023 Feb 24 00:19:34 mpv python[3858783]: [D] libmal: Invalid date 2023-10 Feb 24 00:19:34 mpv python[3858783]: [D] libmal: Invalid date 2023 Feb 24 00:19:34 mpv python[3858783]: [D] libmal: Invalid date 2015-08 Feb 24 00:19:34 mpv python[3858783]: [D] libmal: Invalid date 2023 Feb 24 00:19:34 mpv python[3858783]: [D] libmal: Invalid date 2023 Feb 24 00:19:34 mpv python[3858783]: [D] libmal: Invalid date 2023-07 Feb 24 00:19:34 mpv python[3858783]: [D] libmal: Invalid date 2023-04 Feb 24 00:19:34 mpv python[3858783]: [D] libmal: Invalid date 2023-04 Feb 24 00:19:34 mpv python[3858783]: [D] libmal: Invalid date 2023 Feb 24 00:19:34 mpv python[3858783]: [D] libmal: Invalid date 2023 Feb 24 00:19:34 mpv python[3858783]: [D] libmal: Invalid date 2023-04 Feb 24 00:19:34 mpv python[3858783]: [D] libmal: Invalid date 2023-07 Feb 24 00:19:34 mpv python[3858783]: [D] Data: Saving cache... Feb 24 00:19:34 mpv python[3858783]: [D] Data: Saving metadata... Feb 24 00:19:34 mpv python[3858783]: Engine: Parsing redirection file... Feb 24 00:19:34 mpv python[3858783]: [D] Engine: Initializing tracker... Feb 24 00:19:34 mpv python[3858783]: Tracker (pyinotify): Initializing... Feb 24 00:19:34 mpv python[3858783]: [D] Tracker (pyinotify): Enabling tracker... Feb 24 00:19:34 mpv python[3858783]: Tracker (pyinotify): Using pyinotify. Feb 24 00:19:34 mpv python[3858783]: Ready. Type 'help' for a list of commands. Feb 24 00:19:34 mpv python[3858783]: Press tab for autocompletion and up/down for command history. Feb 24 00:19:34 mpv python[3858783]: Available statuses: watching, completed, onhold, dropped, plantowatch Feb 24 00:19:34 mpv python[3858783]: [40B blob data] Feb 24 00:19:34 mpv python[3858783]: Engine: Unloading... Feb 24 00:19:34 mpv python[3858783]: [D] Data: Unloading... Feb 24 00:19:34 mpv python[3858783]: [D] Data: No items in queue. Feb 24 00:19:34 mpv python[3858783]: [D] Tracker (pyinotify): Checking if there are open players... Feb 24 00:19:34 mpv python[3858783]: [D] Data: Saving metadata... Feb 24 00:19:34 mpv python[3858783]: Tracker (pyinotify): Unloading... Feb 24 00:19:34 mpv python[3858783]: Engine: Unloading user hooks... Feb 24 00:19:34 mpv python[3858783]: Bye! Feb 24 00:19:34 mpv systemd[181508]: Finished trackma.

Systemd service:

[Unit] Description=trackma After=network.target

[Service] Type=simple ExecStart=/usr/bin/python -u /usr/bin/trackma -d

[Install] WantedBy=default.target

FichteFoll commented 1 year ago

You need to start one of the GUIs, i.e. trackma-gtk or trackma-qt.