docs: added linux systemd setup configuration
parent
fc2f31d795
commit
b8358c79ef
|
@ -10,4 +10,73 @@ To control the tmux service you can use all the standard `systemctl` commands us
|
|||
|
||||
systemctl --user status tmux.service
|
||||
|
||||
## Setup Example
|
||||
|
||||
To be able to configure systemd user services, make sure the following directories exist: `$HOME/.config/systemd/user`. If not, just create them:
|
||||
|
||||
```shell
|
||||
mkdir ~/.config/systemd
|
||||
mkdir ~/.config/systemd/user
|
||||
```
|
||||
|
||||
Create the systemd user service file:
|
||||
|
||||
```shell
|
||||
touch ~/.config/systemd/user/tmux.service
|
||||
```
|
||||
|
||||
The service file can be created from this template:
|
||||
|
||||
```shell
|
||||
[Unit]
|
||||
Description=tmux default session (detached)
|
||||
Documentation=man:tmux(1)
|
||||
After=graphical.target
|
||||
|
||||
[Service]
|
||||
Type=forking
|
||||
Environment=DISPLAY=:1
|
||||
ExecStart=/usr/bin/tmux new-session -d
|
||||
|
||||
ExecStop=/home/user/.tmux/plugins/tmux-resurrect/scripts/save.sh
|
||||
ExecStop=/usr/bin/tmux kill-server
|
||||
KillMode=mixed
|
||||
|
||||
RestartSec=2
|
||||
|
||||
[Install]
|
||||
WantedBy=default.target
|
||||
```
|
||||
|
||||
Now make sure you adapt the service file to your needs:
|
||||
|
||||
- `Environment`: Set the value of your $DISPLAY environment variable (i.e. `:1`, to find out run `echo $DISPLAY`)
|
||||
- `ExecStart`: If you want to configure the tmux start command, you can do it here
|
||||
- `ExecStop`: Enter the full path to the `save.sh` script of `tmux-resurrect`, usually in `$HOME/.tmux/plugins/tmux-resurrect/scripts/save.sh`
|
||||
- `After`: Adapt to your needs, waiting for `graphical.target` helps if you want to open gui applications such as `code` directly from your resurrected terminals
|
||||
|
||||
Now you are ready to enable and start your system service:
|
||||
|
||||
```shell
|
||||
systemctl --user enable tmux.service
|
||||
systemctl --user start tmux.service
|
||||
```
|
||||
|
||||
- Reboot your machine.
|
||||
- To check the current status of your tmux service, run this command:
|
||||
|
||||
```shell
|
||||
systemctl --user status tmux.service
|
||||
```
|
||||
|
||||
You should see something along the lines of:
|
||||
|
||||
```shell
|
||||
Active: active (running) since Fri 2022-05-27 15:28:36 CEST; 23h ago
|
||||
Docs: man:tmux(1)
|
||||
Process: 6300 ExecStart=/usr/bin/tmux new-session -d (code=exited, status=0/SUCCESS)
|
||||
CGroup: /user.slice/user-1000.slice/user@1000.service/app.slice/tmux.service
|
||||
├─ 6306 /usr/bin/tmux new-session -d
|
||||
├─ 7735 zsh
|
||||
...
|
||||
```
|
||||
|
|
Loading…
Reference in New Issue