コマンドラインからgnomeシステム設定にアクセスして設定する方法はありますか?
私は特にそれを設定する1つの方法に興味があります。
settings -> energy -> screen off = never
settings -> energy -> screen off = (N) minue(s)
bashスクリプトからこの設定にアクセスして、スクリプトのnever
起動時に画面をオフにし、スクリプトが終了(N) minue(s)
する前に戻るように設定できます。
私はドイツ語GUIのメニュー階層を翻訳したので、私の質問が明確になることを願っています。
設定を見つけようとしましたが、gsettings
実際に完了できませんでした。
ベストアンサー1
さて、見つけました。設定されていてかなり良いです。seconds
1分未満の値を設定することもできます。
# 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"