명령줄에서 gnome 시스템 설정에 액세스하고 설정할 수 있는 방법이 있습니까?
나는 특히 그것을 설정하는 한 가지 방법에 관심이 있습니다.
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"