Compare commits

...

2 commits

Author SHA1 Message Date
Jakobus Schürz
5615e09b56 add systemd service-unit-files 2022-09-28 15:35:23 +02:00
Jakobus Schürz
79ae6b5bf9 add description to README 2022-09-28 15:34:56 +02:00
3 changed files with 55 additions and 1 deletions

View file

@ -1,3 +1,26 @@
# tmux-system-service
Startet tmux für einen User als system-Service, damit es von logind nicht beim ausloggen gekillt wird, wenn KillUserProcesses=yes gesetzt ist
Startet tmux für einen User als system-Service, damit es von logind nicht beim ausloggen gekillt wird, wenn KillUserProcesses=yes gesetzt ist
## Installation
Die Files src/etc/systemd/system/*.service nach /etc/systemd/system/ kopieren
`sudo cp src/etc/systemd/system/*.service /etc/systemd/system/.`
Das Service tmux@.service wir nur von multiplexter.target aufgerufen. Dieses muss extra enabled werden, damit es mit dem default.target gestartet wird.
`
systemctl daemon-reload
systemctl enable --now multiplexer.target
`
Danach noch für alle user das Service tmux@.service enablen, die tmux auch nach dem Ausloggen weiternutzen können sollen
`systemctl enable --now tmux@<user.name>.service`
<user.name> für den eigenen User bekommt man mit `whoami`.
Mit dieser zuvor gestarteten tmux-Session kann man sich dann mit `tmux a` verbinden.
`tmux` alleine startet eine neue Usersession.
Nach dem beenden der letzten Shell in dieser User-Session wird dieser tmux-Prozess beendet und automatisch neu gestartet.

View file

@ -0,0 +1,5 @@
[Unit]
Description=Multiplexer target for screen and tmux-server
[Install]
WantedBy=multi-user.target

View file

@ -0,0 +1,26 @@
[Unit]
Description=tmux default session (detached) for user %i
Documentation=man:tmux(1)
BindsTo=multiplexer.target
After=sssd.service
[Service]
#Type=simple
Type=forking
User=%i
WorkingDirectory=/home/%i
ExecStartPre=-/usr/bin/xdg-user-dirs-update
#RemainAfterExit=yes
# On older tmux-versions session-names with dot in name are not allwed, so replace "-s %I" with "-s User"
ExecStart=/usr/bin/tmux new-session -d -s User
#ExecStart=/usr/bin/tmux new-session
ExecStop=-/usr/bin/tmux kill-server
KillMode=mixed
#Restart=on-success
Restart=always
RestartSec=3s
GuessMainPID=true
[Install]
WantedBy=multiplexer.target