mirror of
https://github.com/aclist/dztui.git
synced 2024-12-28 05:12:36 +01:00
Merge pull request #174 from jiriks74/testing
fix(checks): Check `vm.max_map_count` using `cat`
This commit is contained in:
commit
471cfec94b
1 changed files with 15 additions and 10 deletions
25
dzgui.sh
25
dzgui.sh
|
@ -406,13 +406,20 @@ check_architecture(){
|
||||||
}
|
}
|
||||||
check_map_count(){
|
check_map_count(){
|
||||||
[[ $is_steam_deck -gt 0 ]] && return 0
|
[[ $is_steam_deck -gt 0 ]] && return 0
|
||||||
local count=1048576
|
local map_count_file="/proc/sys/vm/max_map_count"
|
||||||
|
local min_count=1048576
|
||||||
local conf_file="/etc/sysctl.d/dayz.conf"
|
local conf_file="/etc/sysctl.d/dayz.conf"
|
||||||
if [[ -f $conf_file ]]; then
|
local current_count
|
||||||
logger DEBUG "System map count is already $count or higher"
|
if [[ ! -f ${map_count_file} ]]; then
|
||||||
|
logger WARN "File '${map_count_file}' doesn't exist!"
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
current_count=$(cat ${map_count_file})
|
||||||
|
if [[ $current_count -ge $min_count ]]; then
|
||||||
|
logger DEBUG "System map count is set to ${current_count}"
|
||||||
return 0
|
return 0
|
||||||
fi
|
fi
|
||||||
qdialog "sudo password required to check system vm map count." "OK" "Cancel"
|
qdialog "sudo password required to set system vm map count." "OK" "Cancel"
|
||||||
if [[ $? -eq 0 ]]; then
|
if [[ $? -eq 0 ]]; then
|
||||||
local pass
|
local pass
|
||||||
logger INFO "Prompting user for sudo escalation"
|
logger INFO "Prompting user for sudo escalation"
|
||||||
|
@ -421,13 +428,11 @@ check_map_count(){
|
||||||
logger WARN "User aborted password prompt"
|
logger WARN "User aborted password prompt"
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
local ct=$(sudo -S <<< "$pass" sh -c "sysctl -q vm.max_map_count | awk -F'= ' '{print \$2}'")
|
logger DEBUG "Old map count is $current_count"
|
||||||
logger DEBUG "Old map count is $ct"
|
[[ $current_count -lt $min_count ]] && current_count=$min_count
|
||||||
local new_ct
|
sudo -S <<< "$pass" sh -c "echo 'vm.max_map_count=${current_count}' > $conf_file"
|
||||||
[[ $ct -lt $count ]] && ct=$count
|
|
||||||
sudo -S <<< "$pass" sh -c "echo 'vm.max_map_count=$ct' > $conf_file"
|
|
||||||
sudo sysctl -p "$conf_file"
|
sudo sysctl -p "$conf_file"
|
||||||
logger DEBUG "Updated map count to $count"
|
logger DEBUG "Updated map count to $min_count"
|
||||||
else
|
else
|
||||||
logger WARN "User aborted map count prompt"
|
logger WARN "User aborted map count prompt"
|
||||||
return 1
|
return 1
|
||||||
|
|
Loading…
Reference in a new issue