Традиционный стек создается на 3 основных компонентах:
X архитектуры была сделана сетью, следовательно разрешающей клиентам быть на отдельном хосте затем сервер.
Пока все хорошо. Однако это было изображением от пути назад. В наше время это не ЦП, который обрабатывает графику, но GPU. Были различные попытки включить его в модель - и место, когда ядро въезжает в место к большему, расширяются.
Во-первых там были сделаны некоторыми предположениями относительно использования видеокарты. Например, только экранный рендеринг был принят. Я не могу найти эту информацию о Википедии прямо сейчас, но DRI 1 также предположил, что только одно приложение будет использовать OpenGL одновременно (я не могу заключить в кавычки сразу же, но я могу вскопать ошибку, где это было близко как WONTFIX с примечанием для ожидания к DRI 2).
Некоторые временное решение были предложены для косвенного рендеринга (необходимый для составного WM):
Работы над более новой архитектурой (DRI 2) были запущены. Это включало:
Так или иначе ортогональный для перемещения в ядро работы над драйверами Галлия были запущены. Библиотека Mesa запустилась как реализация OpenGL на ЦП, и затем она начала использовать ускорение GPU. Это всегда было, напрягаются к OpenGL. В OpenGL 3.0 модель значительно изменилась, и переписывание библиотеки было неизбежно. Однако они пользуются возможностью для разделения кода на несколько слоев, извлекающих общий код и обеспечивающих API низкого уровня, позволяющий реализовать различный 3D API сверху его - позволяющий, например, Вино обеспечить DirectX, говорящий непосредственно с Галлием вместо того, чтобы пройти уровень OpenGL API (который не может иметь прямого 1-1 вызова).
Уэйленд является проектами, который считает вышеупомянутое немного сложным и с также "историей". Дизайн с 1984 (хотя высоко изменено и адаптированный) не делает соответствует началу 21 c. по словам сторонников.
Это, предполагают для предложения большей гибкости и лучшей производительности, хотя это все еще пропускает некоторые важные функции как полная поддержка OpenGL (и важное для некоторых - сетевая поддержка).
Немного больше о настольных средах и менеджерах окон. Менеджер окон является приложением, ответственным за то, как окно будет вести себя - например, это ответственно за управление рабочими областями, таща строку заголовка (вещь сверху экрана с windo заголовком, и минимизируйте/максимизируйте/закройте кнопки), и т.д.
Во-первых только минимальный WM использовался, но впоследствии пользователь начал желать настольные среды - т.е. более известная версия, которая включала меню, запускаются, настольный фон и т.д. Однако большинство частей настольной среды не является менеджером окон, хотя они часто интегрируются.
Через какое-то время составные WM были представлены, который использует OpenGL и косвенный рендеринг, чтобы сделать их работу. Они обеспечивают не только графические эффекты, но также и позвольте упрощенное внедрение некоторых функций доступности (как усилитель).
Принятие Вас не имеет имен устройств, содержащих пробелы (которые являются болью когда дело доходит до парсинга вывода df
):
df -P | awk '0+$5 >= 80 {print}'
Адаптируйте полевое число, если Вы хотите использовать свою реализацию df
выходной формат, а не формат POSIX.
Без 0+
, сравнение было бы лексическим (9%
затем было бы больше, чем 80
). При помощи +
оператор двоичной арифметики, мы вызываем $5
быть преобразованным в число (так 9%
становится 9
) и сравнение, чтобы быть числовым. Используя +
унарный оператор (как в awk '+$5 >= 80'
) работы в некоторых awk
реализации, но не в традиционных (те записанные A, W и K), где тот оператор просто проигнорирован.
df
вывод отличается.... Ага! Я просто проверил: мое значение по умолчанию произвело только шоу Filesystem 1K-blocks Used Available Use% Mounted on
... таким образом, это просто зависит от того, что Ваш вывод (как упомянуто в ответе Gilles).. Если существует секунда %
столбец (как в вопросе), запаздывание .*%
должен работать: df | egrep "([89][0-9]|100)%.*%"
... Теперь я понимаю, почему кто-то отметил...
– Peter.O
16.06.2011, 17:51
Я согласен с ddeimeke, но это решение работает только для 80-89%, например, не показывает 93%.
Для этого (например,> 70%):
df -k | egrep "([70,80,90][0-9]|100)%"
Не так элегантно, но работает. Пожалуйста, замените ext4 на свою собственную fs (или на grep, если их много). Также замените 10 своим пороговым значением.
for fs in `cat /proc/mounts | grep ext4 | awk ' { print $2 }' | tr '\n' ' '` ; do SPC=$( df $fs | awk 'END{ print $(NF-1) }' | sed 's/[^0-9]*//g' ) ; if [ $SPC -gt 10 ]; then echo "$fs used more than 10"; fi done
Прошу прощения, не пытаюсь украсть чей-то вклад, но комментировать пока не могу.
Я заметил, что команда df
на самом деле пропускает что-то между 90 -99. Это исправило это изменение:
df -P | egrep "([80][0-9]|[90][0-9]|100)%"
df -P | awk '$5 >= 80 {print}'
работы для меня: можно ли включать примечание о преимуществе использованияsubstr
?Спасибо. – jasonwryan 16.06.2011, 12:41%
явно. – Gilles 'SO- stop being evil' 16.06.2011, 12:56'$5 >= 80
работы, т.е. это игнорирует запаздывание%
, но<
>
==
не работайте таким же образом..., тогда как (предыдущее редактирование) версия под-Тринга, кажется, работает на большинство ситуаций со сравнением, но это также перестало работать когда по сравнению с< 100
... Я предполагаю, что это вызвано тем, что это сравнивает подстроку.. – Peter.O 16.06.2011, 16:16+
оператор). – Gilles 'SO- stop being evil' 16.06.2011, 17:05