ターミナルソフト PuTTY が exit しても終了しない場合

スポンサーリンク
スポンサーリンク

ターミナルソフト PuTTY が exit しても、ウィンドウが閉じられずに終了しない場合があります。
日本語入力に関するプロセス dbus-launch や ibus-daemon が起動している場合に、終了できないようです。
dbus-launch は Firefox起動時に同時に起動されます。
また、ibus-daemon は下記で紹介したように、日本語入力の為に実行する必要があります。
ターミナルエミュレーター PuTTY(日本語版) パソコン鳥のブログ

dbus-launch や ibus-daemon を終了するようにすれば、PuTTY のウィンドウが閉じられて終了出来ます。
そこで exit 時に、これらを自動的に終了させるようにします。

exit 時に実行されるスクリプトに .bash_logout があります。
この .bash_logout の末尾に下記を追加します。(ファイル名の先頭の ドットを忘れない様にして下さい)
.bash_logout が無い場合は、新規に作成して下さい。

.bash_logout

if [ -n "$SSH_CONNECTION" ] ; then
    if test `who | grep $USER  2> /dev/null | wc -l` -eq 1;
    then
        while [ 1 ]
        do
            exec=""
            for pid in $( ps auxw | grep $USER | grep "dbus\|ibus" | grep -v grep|awk '{print $2}' )
; do
                kill $pid 2> /dev/null
                exec="1"
            done
            if [ -z "$exec" ] ; then
                exit;
            fi
        done
    fi
fi

これで PuTTY で exit した時は、ウィンドウが閉じられて、きちんと終了できます。

コメント

タイトルとURLをコピーしました