Evite que o Mint seja suspenso durante a reprodução de música no Spotify

2

No Linux Mint 17, tenho Suspend when inactive for sob Power Management definido para 10 minutos.

O problema é que o sistema é suspenso mesmo quando estou ouvindo música usando Spotify .

Existe alguma maneira de evitar isso?

    
por LondonRob 04.10.2014 / 19:25

2 respostas

4

Eu encontrei este artigo que sugere algumas maneiras de parar o protetor de tela de ativar. Eu não testei isso, mas como eles presumivelmente emitem eventos para interromper a ativação (o segundo pelo menos), isso também deve contar como atividade para o monitor de inatividade. Você terá que testar isso, não sei se vai funcionar.

  1. Instale caffeine . Isso pode ser feito adicionando um ppa ao seu sistema e, em seguida, instalando-o como qualquer outro pacote. Contanto que você esteja usando o Mint normal, isso também deve funcionar para você.

    sudo add-apt-repository ppa:caffeine-developers/ppa
    sudo apt-get update
    sudo apt-get install caffeine
    

    Em seguida, inicie caffeine e seu ícone deverá aparecer na bandeja do sistema. Você pode escolher quais programas devem cancelar a suspensão.

    Nota: A partir da 2.7 liberação de cafeína , o programa não tem mais uma GUI e funciona apenas como um daemon. Quando em execução, ele impedirá que o protetor de tela seja ativado, desde que a janela ativa esteja em tela cheia.

  2. O script LightsOn . Ele não irá verificar spotify por padrão, mas é fácil o suficiente para modificá-lo para fazê-lo. Basta adicionar spotify à matriz delay_progs no início do script:

    delay_progs=("spotify")
    

    Em seguida, adicione o script aos seus programas de inicialização para que ele seja executado em segundo plano. e deve impedi-lo de suspender se o Spotify estiver em execução. Observe que isso não verifica se alguma música está sendo reproduzida, apenas se o programa está sendo executado.

Deixe-me saber se eles não funcionam para a suspensão e vou tentar hackear algo juntos usando xdotool ou programas similares.

    
por 04.10.2014 / 22:24
0

Acabei de postar uma resposta para uma pergunta semelhante: Linux Mint: como evitar a suspensão enquanto a música é Jogando

Eu escrevi um script para definir o tempo limite de suspensão para "Nunca" enquanto o pactl detecta uma fonte de áudio em execução e, em seguida, reverte a configuração quando nenhuma fonte de áudio é detectada.

Aqui está uma cópia da última resposta e script:

Eu fiz um pouco mais de trabalho no script acima e agora ele deve funcionar no Cinnamon, Mate e Ubuntu executando o Gnome. Eu experimentei as versões Live USB do Linux Mint 19 Cinnamon e Mate, assim como o Ubuntu 18.04 - Gnome.

#!/bin/sh

# Audiocaffeine

# Works in Linux Mint 19 - Cinnamon, Linux Mint 19 - Mate, Ubuntu 18.04 - Gnome

# Script to temporarily set suspend timout for AC and battery to "Never"
# while audio is playing.  It then reverts the settings when audio is no longer detected.

# Determine if a valid desktop environment is running and exit if it doesn't.
echo "Reported desktop environment: ""$XDG_CURRENT_DESKTOP"
if [ "$XDG_CURRENT_DESKTOP" = "X-Cinnamon" ]; then
    actimeoutid="org.cinnamon.settings-daemon.plugins.power sleep-inactive-ac-timeout"
    batttimeoutid="org.cinnamon.settings-daemon.plugins.power sleep-inactive-battery-timeout"
    disablevalue=0
elif [ "$XDG_CURRENT_DESKTOP" = "MATE" ]; then
    actimeoutid="org.mate.power-manager sleep-computer-ac"
    batttimeoutid="org.mate.power-manager sleep-computer-battery"
    disablevalue=0
elif [ "$XDG_CURRENT_DESKTOP" = "ubuntu:GNOME" ]; then
    actimeoutid="org.gnome.settings-daemon.plugins.power sleep-inactive-ac-type"
    batttimeoutid="org.gnome.settings-daemon.plugins.power sleep-inactive-battery-type"
    disablevalue="nothing"
else
    echo "No valid desktop environment is running"
    exit 1
fi

# Create .config directory to store settings if it doesn't exist.
if [ ! -d ~/.config ]; then
    echo ".config directory not found!"
    echo "Creating ~/.config"
    mkdir ~/.config
fi

# Create audiocaffeine directory to store settings if it doesn't exist.
if [ ! -d ~/.config/audiocaffeine ]; then
    echo "Configuration directory not found!"
    echo "Creating ~/.config/audiocaffeine"
    mkdir ~/.config/audiocaffeine
fi

# Restore previous value for AC suspend timeout if script
# was interrupted.
if [ -f ~/.config/audiocaffeine/acsuspend ]; then
    echo "Restoring previous AC suspend timeout."
    read acsuspendtime < ~/.config/audiocaffeine/acsuspend
    gsettings set $actimeoutid $acsuspendtime
    echo "Removing temporary file ~/.config/audiocaffeine/acsuspend"
    rm ~/.config/audiocaffeine/acsuspend
fi

# Restore previous value for battery suspend timeout if script
# was interrupted.
if [ -f ~/.config/audiocaffeine/battsuspend ]; then
    echo "Restoring previous battery suspend timeout."
    read battsuspendtime < ~/.config/audiocaffeine/battsuspend
    gsettings set $batttimeoutid $battsuspendtime
    echo "Removing temporary file ~/.config/audiocaffeine/battsuspend"
    rm ~/.config/audiocaffeine/battsuspend
fi

# Start main loop to check if audio is playing

while true; do

    # Use pactl to detect if there are any running audio sources.
    if pactl list | grep -q "State: RUNNING"; then

        echo "Audio detected."

        # If AC timeout was not previously saved, then save it.
        if [ ! -f ~/.config/audiocaffeine/acsuspend ]; then
            echo "Saving current AC suspend timeout."
            gsettings get $actimeoutid > ~/.config/audiocaffeine/acsuspend
        fi

        # If battery timeout was not previously saved, then save it.
        if [ ! -f ~/.config/audiocaffeine/battsuspend ]; then
            echo "Saving current battery suspend timeout."
            gsettings get $batttimeoutid > ~/.config/audiocaffeine/battsuspend
        fi

        # Set the suspend timouts to Never using gsettings.
        echo "Changing suspend timeouts."
        gsettings set $actimeoutid $disablevalue
        gsettings set $batttimeoutid $disablevalue

    else
        echo "No audio detected."

        # Restore previous value for AC suspend timeout and delete the
        # temporary file storing it.
        if [ -f ~/.config/audiocaffeine/acsuspend ]; then
            echo "Restoring previous AC suspend timeout."
            read acsuspendtime < ~/.config/audiocaffeine/acsuspend
            gsettings set $actimeoutid $acsuspendtime
            echo "Removing temporary file ~/.config/audiocaffeine/acsuspend"
            rm ~/.config/audiocaffeine/acsuspend
        fi

        # Restore previous value for battery suspend timeout and delete the
        # temporary file storing it.
        if [ -f ~/.config/audiocaffeine/battsuspend ]; then
            echo "Restoring previous battery suspend timeout."
            read battsuspendtime < ~/.config/audiocaffeine/battsuspend
            gsettings set $batttimeoutid $battsuspendtime
            echo "Removing temporary file ~/.config/audiocaffeine/battsuspend"
            rm ~/.config/audiocaffeine/battsuspend
        fi

    fi

    # Pause the script for 60 seconds before doing the loop again.
    sleep 60s

done
    
por 08.08.2018 / 04:52