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>

Leave a Reply

Your email address will not be published. Required fields are marked *