--- pause_audio 2006-10-09 18:08:04 +0300 +++ /etc/hibernate/scriptlets.d/pause_audio 2006-12-15 23:49:16 +0200 @@ -28,12 +28,13 @@ # Pause amaroK for auuser in $(ps aux | grep -w '[a]marok' | awk '{print $1}' | sort | uniq); do FindXServer - if [ "`su $auuser -c 'dcop amarok player status'`" = "2" ]; then - su $auuser -c 'dcop amarok player pause' + if [ "`su - $auuser -c 'dcop amarok player status'`" = "2" ]; then + su - $auuser -c 'dcop amarok player pause' fi done # Add your favourite media player here. # And then perhaps think up a less horrific way of doing this. + return 0 }
исправлено в alt4
спасибо. подозреваю, что остальные тоже надо проверить на предмет использования окружения. (и еще у меня там дозревает поддержка для cmus)
su там больше нет
(In reply to comment #4) > su там больше нет как это, а вот: # Pause xmms for auuser in $(ps aux | grep -w '[x]mms' | awk '{print $1}' | sort | uniq); do su $auuser -c 'xmms -u' done # Pause beep media player for auuser in $(ps aux | grep -w '[b]eep-media-player' | awk '{print $1}' | sort | uni q); do FindXServer su $auuser -c 'beep-media-player -u' done предлагаю заодно добавить поддержку cmus: # Pause cmus for auuser in $(ps aux | grep -w '[c]mus' | awk '{print $1}' | sort | uniq); do su - $auuser -c 'cmus-remote -s' done -s, а не -u потому что cmus плохо себя ведет на паузе, если саундкарту выхватывают из под носа
да, недоглядел $ grep su\ \\$ /etc/hibernate/scriptlets.d/* -l lock pause_audio xstatus
собственно, наск. я понимаю '[a]marok' вместо amarok только во избежание race'а? можно вот так: find_running(){ ps -o uid=,pid= -C $1 } find_running cmus | while read uid pid; do ...... done find_running xmms | while read uid pid; do ...... done
а нужно? вызов su исправлен в alt6. cmus тоже добавил
отлично. (ну кажется так аккуратнее, или нет? смотри сам :)