Search code examples
shelltmuxsystemd

tmux open terminal failed: not a terminal


I have a shell script that is enabled as service to start multiple shell scripts e.g.

service started script -> script1, script2 ,script3 

script1 should open a program in a tmux window, and it does work just fine if I manually start the script via ./script1.sh, however when started at boot via the service started script it does not with the above error:

open terminal failed: not a terminal

Why is this happening?


Solution

  • I think the issue is that the service does not have an associated tty. A workaround I've found is to change your tmux call in your script to

    tmux new-session -s username -d
    

    (username a user for whom the service was started)