Como uma função bash para tornar a chamada mais fácil, e assim você pode adicionar o que for necessário para reiniciar o X facilmente.
O bit principal é a edição do arquivo Perl in place ( perl -i
) e o regex para localizar PowerMizerLevelAC=".*"
e substituí-lo pelo mesmo texto ( $1
) e seu novo valor ( $value
).
Esteja ciente de que o regex precisará ser mais exato se você tiver vários locais em que o PowerMizerLevelAC=""
possa ocorrer, pois isso substituirá todos eles.
Execute com set_nvidia_clock 0x1
function set_nvidia_clock() {
local file="/etc/X11/xorg.conf.d/20-nvidia.conf"
local level="$1"
[ -z "$level" ] && echo "Error: specify new level as argument: set_nvidia_clock foo" && return 1
perl -pi -e '
BEGIN{ $value=shift;}
s/"(PowerMizerLevelAC)=.*"/"${1}=${value}"/;
' "$level" "$file"
if ! grep "PowerMizerLevelAC" "$file"; then
echo "Error: problem with replace"
return 1
fi
# restart X
##
}