Compare commits
2 commits
3e47a00d0e
...
5615e09b56
Author | SHA1 | Date | |
---|---|---|---|
|
5615e09b56 | ||
|
79ae6b5bf9 |
3 changed files with 55 additions and 1 deletions
25
README.md
25
README.md
|
@ -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.
|
||||
|
|
5
src/etc/systemd/system/multiplexer.target
Normal file
5
src/etc/systemd/system/multiplexer.target
Normal file
|
@ -0,0 +1,5 @@
|
|||
[Unit]
|
||||
Description=Multiplexer target for screen and tmux-server
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
26
src/etc/systemd/system/tmux@.service
Normal file
26
src/etc/systemd/system/tmux@.service
Normal 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
|
||||
|
Loading…
Reference in a new issue