Summary: | bad pause_audio scriptlet (at least for amarok) | ||
---|---|---|---|
Product: | Sisyphus | Reporter: | Nick S. Grechukh <gns> |
Component: | hibernate | Assignee: | viy <viy> |
Status: | CLOSED FIXED | QA Contact: | qa-sisyphus |
Severity: | normal | ||
Priority: | P2 | ||
Version: | unstable | ||
Hardware: | all | ||
OS: | Linux |
Description
Nick S. Grechukh
2006-12-17 16:34:18 MSK
--- 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 тоже добавил отлично. (ну кажется так аккуратнее, или нет? смотри сам :) |