Почему выход из спящего режима занимает 10 минут и как этого избежать?

feh не сможет различать несколько изображений, отправленных на его стандартный ввод, если не будет реализован какой-либо «протокол».

Если вы не хотите использовать временные файлы, вы можете использовать цикл:

for url in 'url1' 'url2'; do
    curl -skb token "$url" | feh -
done

Это будет загружать и отображать каждое изображение одно за другим. Если вы предпочитаете, чтобы несколько программ просмотра были открыты одновременно , добавьте к нему немного амперсанда:

for url in 'url1' 'url2'; do
    (curl -skb token "$url" | feh - &)
done

Обратите внимание, что вы можете поместить все в одну строку или, возможно, определить функцию:

$ for url in 'url1' 'url2'; do curl -skb token "$url" | feh -; done
$ for url in 'url1' 'url2'; do (curl -skb token "$url" | feh - &); done

function feh_urls
{
    for url; do
        curl -skb token "$url" | feh -
    done
}

$ feh_urls 'url1' 'url2'

Будьте осторожны со своими цитатами, так как в ваших URL-адресах или путях могут быть некоторые раздражающие пробелы (... и я надеюсь, что я не делал такой ошибки в приведенных выше примерах ...) . Если вы выберете функцию, возможно, добавьте ее в свой .bashrc , чтобы вы могли использовать ее в своей оболочке, не переопределяя ее каждый раз вручную.

Для полноты картины, вот небольшой сценарий (который, конечно, можно было бы сделать функцией), включающий некоторые временные файлы, сохраняющий несколько процессов curl и feh на способ. Я использую wget вместо curl , потому что в зависимости от вашей версии вы не сможете правильно захватывать удаленные имена файлов (вы можете дать своим изображениям разные имена курс).

#!/bin/bash

img_dir=$(mktemp -d)
cd $img_dir
wget -q --no-check-certificate --load-cookie token "$@"
feh $img_dir/*
rm -r $img_dir

Использование:

$ ./feh_urls.sh 'url1' 'url2'

Обратите внимание, что преимущество здесь в том, что feh не создается несколько раз и может загружать все изображения сразу (используйте клавиши со стрелками для их просмотра).

Вас также может заинтересовать эта страница , если вам нужна дополнительная информация об управлении файлами cookie с помощью wget , или эта страница для получения подробной информации о SSL / TLS параметры.

2
13.03.2018, 10:21
2 ответа

Я думаю, что ваши переживания очень характерны для гибернации ака. подвесить -на -диск , особенно при использовании вращающегося диска.

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

Q: After resuming, system is paging heavily, leading to very bad interactivity.

A: Try running

cat /proc/[0-9]/maps | grep / | sed 's:. /:/:' | sort -u | while read file do test -f "$file" && cat "$file" > /dev/null done

after resume. swapoff -a; swapon -a may also be useful.

Возможно, вы захотите протестировать приостановку -до -оперативной памяти или приостановку -до -оба , что довольно хорошо объяснено в . ] Arch Wiki . В основном:

  • приостановка -- -оперативная память не выключает компьютер, а переводит его в режим энергосбережения. Если батарея разряжена, состояние теряется, что может привести к проблемам
  • .
  • приостановка -до -оба аналогичны приостановка -до -оперативная память , но также сохраняет состояние в swap, что позволяет возобновить работу после разрядки батареи. истощен

В зависимости от вашей среды, как инициируется метод приостановки/гибернации, вы можете настроить это, например. в XFCE с графическим интерфейсом xfce4 -power -manager .

2
27.01.2020, 22:18

Прочитав полезные ссылки в этой теме и попробовав несколько способов, ниже показано, что мне помогло.

По умолчанию /sys/power/image_sizeустановлено на 2/5 ОЗУ. Оперативная память моей системы составляет 12 ГБ, а размер файла подкачки — 8 ГБ. В данном случае /sys/power/image_sizeбыло около 5 Гб.

При переходе в спящий режим, если использование памяти превышало этот предел, системе требовалось много времени для возобновления работы. При увеличении /sys/power/image_sizeдо 8 Гб (размера памяти подкачки )время возобновления работы значительно улучшилось!

В документации ядра говорится, что безопасно увеличивать /sys/power/image_size. Ограничение по умолчанию в 2/5 системной оперативной памяти кажется слишком низким.

0
27.01.2020, 22:18

Теги

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