* xdmセッションが他のセッション終了時に終了する [#bf183e18]

メッセージ

runlevelを4にしてxdmでログインしている環境に、別ホストからsshで接続して、sshの接続をlogoutすると xdmの環境も終了してログイン画面に戻ってしまう。console-kit か dbus-launch あたりの問題?


しかも、xdm経由のログインだと$SHLVLが2になるから、ssh で外部から接続すると $SHLVL=1という条件もwで1ユーザという条件も満たすから、~/.bash_logout でpulseaudioとdbus-daemonを殺すのが 正しい動作になりそうな。。-- kojima 2011-12-07 (水) 20:29:04

kojima@vm50:~$ who-- [[kojima]] &new{2011-12-07 (水) 20:48:33};
kojima   pts/1        2011-12-07 20:32 (192.168.1.5)
kojima@vm50:~$ w
 20:34:16 up 46 min,  1 user,  load average: 0.02, 0.08, 0.18
USER     TTY        LOGIN@   IDLE   JCPU   PCPU WHAT
kojima   pts/1     20:32    1:56   0.01s  0.01s -bash

この状態だと、ssh側の接続をlogoutすると~/.bash_logoutでpulseaudioとdbus-daemonを殺すのが正しい動作な 気がするが如何? -- kojima 2011-12-07 (水) 20:35:02

kojima@vm50:~$ killall dbus-daemon pulse-audio
dbus-daemon(2686): 許可されていない操作です
dbus-daemon: no process found
pulse-audio: no process found
kojima@vm50:~$ ps auxw | grep 2686
25        2686  0.0  0.0  13340  1412 ?        Ss   19:48   0:00 dbus-daemon --system

となるから、システム起動時に起動されたdbus-daemonは(root権限で動いているから)殺せないけど、 dbusをインストール後、再起動せずに非root権限で動いていたdbus-daemonはsshのlogout時に殺されちゃって、 道連れにxdmのセッションも落ちてしまう、ということっぽいな。 -- kojima 2011-12-07 (水) 20:38:26

kojima@vm50:~$ w
 22:50:45 up 1 min,  2 users,  load average: 1.06, 0.36, 0.13
USER     TTY        LOGIN@   IDLE   JCPU   PCPU WHAT
kojima   :0        22:50   ?xdm?  14.65s  0.00s ck-launch-session dbus-launch --exit-with-session startxfce4
kojima   pts/1     22:50    0.00s  0.00s  0.00s w

みたいな感じで、DM経由のログイン(TTY :0)も記録されるのだけど、xdm経由だとこのログインが出てこない(wtmpに記録されない)模様。 xdm自体にはwtmp/utmpを操作する機能はなくて、/usr/lib64/X11/xdm/Xstartup にある

#!/bin/sh
# Register a login (derived from GiveConsole as follows:)
#
exec /usr/bin/sessreg  -a -w /var/log/wtmp -u /var/run/utmp     -x /usr/lib64/X11/xdm/Xservers -l $DISPLAY -h "" $USER

というコマンドでwtmp/utmpを操作するみたいなんだけど、このsessregが正しくユーザをwtmp/utmpに登録してくれないのが原因っぽい -- kojima 2011-12-07 (水) 22:51:09



トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2021-12-17 (金) 16:35:43