CrunchBang++ logoutでtmuxがkillされてしまう件

一瞬Xubuntu Bionic Beaverで行こうかと思ったんだけど、

やっぱりやめてCrunchBang++を使い続けることに。

で、掲題の件。

CrunchBang++でxfce4-terminal+tmuxを常用しているんですが、

Logoutするとtmuxがkillされてしまう件で色々調べたので覚書

systemd犯人説

まず色々探してたらsystemdがkillしちゃうって話があって、その場合ユーザのサービスとしてsystemdで走らせれば良いとある。

ただ、今回のケースではX環境だし多分無関係かなぁと。

reddit

~/.config/openbox/rc.xmlでTerminal起動を以下のように変更

<command>xfce4-terminal -e "/usr/bin/systemd-run --scope --user -q /usr/local/bin/tmux"</command>

今回のケースでは関係なさそう。と思いながら試してみたけどやっぱりだめでした。

LXDM犯人説

LXDMがPostLogoutで殺してるという話

bugs.debian.org

/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説有望。

Arch Linux BBS

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>