У меня есть аналогичная система дома, используемая как многоцелевой медиацентр, сервер, облако, что угодно.
Ubuntu 12.04 LTS, процессор Core i7, оперативная память 8 ГБ, жесткий диск 1 ТБ. Всякий раз, когда я не нахожусь в своем офисе, компьютер блокируется с помощью ctrl + alt + L, используя тот же черный экран, который вы описываете.
Жесткий диск разбился, обновился до 120 ГБ SSD и получил 4 ТБ HDD в обмен на с гарантией 1 ТБ, и заказал еще 8 ГБ оперативной памяти с SSD, ожидая замены накопителя. Установленный Ubuntu 14.04 свежий, такая же сделка: заблокирована, когда нет, никаких проблем.
Я использую Gnome 3 в качестве моего диспетчера дисплеев, не уверен, что вы используете. Единственное заметное различие между нами - ваше приложение «Уолли». Я бы порекомендовал вам полностью отключить его, перезагрузить машину и дать ей примерно неделю или, по крайней мере, пару дней, а затем сообщить нам, все еще продолжается.
Традиционный grep ориентирован на линию. Чтобы выполнять многострочные совпадения, вам нужно либо обмануть его, чтобы вырезать весь файл, указав, что ваш вход завершен нулем, например
grep -zPo '(?s)\nif.*\nendif' file
, либо используйте более гибкий инструмент, такой как pcregrep [!d1 ]
pcregrep -M '(?s)\nif.*?\nendif' file
или perl self
perl -00 -ne 'print if m/^if.*?endif/s' file
В качестве альтернативы для сопоставления структурированного ввода по grep-подобному способу существует sgrep
sgrep '"if" .. ("endif") containing "SOME CODE"' file
Решение awk может выглядеть так: awk '/if/,/endif/' file
Конечно, это похоже на решение с sed.