Компьютер не выходит из спящего режима после приостановки [xfce, тестирование Debian]

Ассоциативный массив в bash похож на хэши / словари в типичных языках, и, как и они, он неупорядочен (фактически упорядочен в соответствии с внутренним значением хеш-функции). Таким образом, вы не можете ожидать, что вывод будет (обычно) отсортирован при итерации по (ассоциативным) ключам массива.

Вам нужно отсортировать его самостоятельно, например, отправив STDOUT в STDIN sort :

for key in ${!current_file[@]}; do
    echo $key      
done | sort 

или что-то подобное.


Если вы хотите сохранить порядок, чтобы вы могли выполнять любую операцию, основанную на порядке над ключами / значениями ассоциативного массива, вы можете сохранить другой индексированный массив в качестве ссылки для вставки. Следующее должно дать вам основную идею:

## Associative array `foo`
$ declare -A foo=([spam]=egg [baz]=cool)

## Reference indexed array `bar` containing the keys of `foo` sequentially indexed
$ bar=(spam baz)

## Retrieving in forward order
$ for i in "${bar[@]}"; do echo "$i :: ${foo[$i]}"; done
spam :: egg
baz :: cool

## Retrieving in reverse order
$ for ((i=${#bar[@]}-1; i>=0; i--)); do idx="${bar[$i]}"; echo "$idx :: ${foo[$idx]}"; done
baz :: cool
spam :: egg
2
13.01.2018, 21:02
2 ответа

Удаление светового -шкафчика и использование lightdm решило проблему для меня в Debian 10.

$ sudo apt install lightdm
$ sudo apt remove light-locker

На Thinkpad T410.

2
27.01.2020, 22:34

Если перезапуск LightDM после переключения+лог -в текстовой консоли помогает, то вы можете попробовать это решение, первоначально найденное здесь:В консоли VT1 ​​вы можете написать этот 1 -строчный скрипт:

while true; do DISPLAY=:0 xrandr --auto && break || sleep 1s; done

Начнется цикл. Затем вы переключаетесь на GUI-консоль (Ctl -Alt -F7 ), и через 1 секунду она должна стать активной с запросом на вход. Если это сработает, мы сможем создать полностью автоматическое решение.

1
16.01.2021, 23:00

Теги

Похожие вопросы