Gnome3 - defina as configurações de energia da tela a partir da linha de comando (script)

0

Existe uma maneira de acessar, definir configurações do sistema gnome a partir da linha de comando?

Estou especificamente interessado em uma maneira de definir:

settings -> energy -> screen off = never
settings -> energy -> screen off = (N) minue(s)

Gostaria de acessar essas configurações a partir de um script básico, para que eu pudesse definir a desativação para never quando o script fosse iniciado e voltasse para (N) minue(s) antes da saída do script.

Espero que minha pergunta esteja clara, pois acabei de traduzir a hierarquia de menus de uma GUI em alemão.

Eu tentei encontrar uma configuração com gsettings , mas não pude realmente seguir adiante.

    
por nath 21.12.2017 / 00:59

1 resposta

2

ok, eu achei, isso é muito legal já que ele está definido em seconds você também pode definir um valor menor que um minuto:

# Set "turn screen off" to (N)seconds:
  gsettings set org.gnome.desktop.session idle-delay N

# Set "turn screen off" to never:
  gsettings set org.gnome.desktop.session idle-delay 0

# Set "turn screen off" to 1 minute (60)seconds:
  gsettings set org.gnome.desktop.session idle-delay 60

No script, uso-o da seguinte forma:

# getting the time of current setting and store to variable 'screenoff'
  screenoff=$(gsettings get org.gnome.desktop.session idle-delay \
               | awk '{print $2}')

# set "turn screen off" to never
  gsettings set org.gnome.desktop.session idle-delay 0

  echo "lots of important information being printed..."

# set back to the former setting:
  gsettings set org.gnome.desktop.session idle-delay "$screenoff"

o valor armazenado em $screenoff naturalmente se perderia se o script fosse cancelado antes da conclusão.

Uma solução alternativa poderia ser armazenar o valor em temporary file , que obtém removed no final do script:

#!/bin/bash

# check if there is a temporary file from an aborted session
# read from this file or get value from gsettings & write temporay file:

  if [ -f "./.screenoff.tmp" ]; then
      screenoff=$(cat "./.screenoff.tmp")
  else
      screenoff=$(gsettings get org.gnome.desktop.session idle-delay \
                   | awk '{print $2}')
      echo "$screenoff" > "./.screenoff.tmp"
  fi

# switch power saving off:
  gsettings set org.gnome.desktop.session idle-delay 0

  echo "lots of important information being printed..."

# Set "turn screen off" back to original value:
  gsettings set org.gnome.desktop.session idle-delay "$screenoff"

# remove temporary file
  rm "./.screenoff.tmp"
    
por 21.12.2017 / 02:13