CrunchBang++ logoutでtmuxがkillされてしまう件
一瞬Xubuntu Bionic Beaverで行こうかと思ったんだけど、
やっぱりやめてCrunchBang++を使い続けることに。
で、掲題の件。
CrunchBang++でxfce4-terminal+tmuxを常用しているんですが、
Logoutするとtmuxがkillされてしまう件で色々調べたので覚書
systemd犯人説
まず色々探してたらsystemdがkillしちゃうって話があって、その場合ユーザのサービスとしてsystemdで走らせれば良いとある。
ただ、今回のケースではX環境だし多分無関係かなぁと。
~/.config/openbox/rc.xml
でTerminal起動を以下のように変更
<command>xfce4-terminal -e "/usr/bin/systemd-run --scope --user -q /usr/local/bin/tmux"</command>
今回のケースでは関係なさそう。と思いながら試してみたけどやっぱりだめでした。
LXDM犯人説
LXDMがPostLogoutで殺してるという話
/etc/lxdm/PostLogout
にある以下を確認
#!/bin/sh
#
# PostLogout is run as the logged-in user right after he has logged out.
# Kills all your processes when you log out.
# (Stolen von Arch-Linux)
#ps --user $USER | awk 'NR > 1 {print $1}' | xargs -t kill
CrunchBang++ではコメントアウトされてましたので無実。
と思ったのですが、このスクリプトに到達したときに そもそもtmuxが生きてるか確認したら既に死んでる。
やっぱりLXDM説有望。
LightDMに変更したところ、無事tmuxはLogoutしても殺されなくなりました。
ただ、Login画面がCrunchBang++っぽくなくてちょっと嫌ですが、tmuxが死ぬよりは良いかな。
おまけ
これだと⌘+tで必ずtmuxがついたWindowがあがってきちゃうので、これだと実はSessionにattachするのに不都合があるので
こんな感じにしてShift押しながらで普通のTerminalがあがるようにしておいた。
<keybind key="W-S-t">
<action name="Execute">
<startupnotify>
<enabled>true</enabled>
<name>Raw Terminal</name>
</startupnotify>
<command>xfce4-terminal</command>
</action>
</keybind>
<keybind key="W-t">
<action name="Execute">
<startupnotify>
<enabled>true</enabled>
<name>Terminal</name>
</startupnotify>
<command>xfce4-terminal -e /usr/local/bin/tmux</command>
</action>
</keybind>