Gnome3 - コマンドラインで画面エネルギー設定を指定する(スクリプト)

Gnome3 - コマンドラインで画面エネルギー設定を指定する(スクリプト)

コマンドラインからgnomeシステム設定にアクセスして設定する方法はありますか?

私は特にそれを設定する1つの方法に興味があります。

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

bashスクリプトからこの設定にアクセスして、スクリプトのnever起動時に画面をオフにし、スクリプトが終了(N) minue(s)する前に戻るように設定できます。

私はドイツ語GUIのメニュー階層を翻訳したので、私の質問が明確になることを願っています。

設定を見つけようとしましたが、gsettings実際に完了できませんでした。

ベストアンサー1

さて、見つけました。設定されていてかなり良いです。seconds1分未満の値を設定することもできます。

# 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

スクリプトは次のように使用します。

# 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"

$screenoffスクリプトが完了する前にキャンセルされると、その中に保存された値は当然失われます。


解決策おそらく、値をスクリプトの末尾temporary fileに保存します。removed

#!/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"

おすすめ記事