http://forum.puppyrus.org/index.php/topic,13900.msg76616.html#msg76616
Спасибо. Посмотрел. Строка 181:
fp=(FILE*)popen("grep '^PUPMODE' /etc/rc.d/PUPSTATE | cut -f 2 -d '='","r");
получает значение PUPMODE из файла /etc/rc.d/PUPSTATE посредством обращения к утилитам grep и cut через командную оболочку bash. Это значение нужно для того, чтобы выбрать что измерять
switch(pupmode){
case 2: fp = (FILE *)popen("df -m | grep ' /$' | tr -s ' ' | cut -f 2,4 -d ' '","r"); break;/*v2.3 01micko*/
case 3: fp = (FILE *)popen("df -m | grep ' /initrd/pup_ro1$' | tr -s ' ' | cut -f 2,4 -d ' '","r"); break;
case 7: fp = (FILE *)popen("df -m | grep ' /initrd/pup_ro1$' | tr -s ' ' | cut -f 2,4 -d ' '","r"); break;
case 13:fp = (FILE *)popen("df -m | grep ' /initrd/pup_ro1$' | tr -s ' ' | cut -f 2,4 -d ' '","r"); break;
default:fp = (FILE *)popen("freememapplet_tray.sh","r"); break;
}
-PUPMODE=2 - full. Показывает свободное место на разделе.
-PUPMODE=[3,7,13] - frugal + save_tmpfs. Показывает свободное место в сохранёнке.
-по умолчанию значение берётся из freememapplet_tray.sh и тоже свободное место в сохранёнке.
Как то костыльно на мой взгляд. Последнее время мне не даёт покоя нездоровая мысль - отказаться от *_save.[234]fs как от пережитка. Ваше мнение?
По поводу /etc/rc.d/PUPSTATE, обращение к нему оказывается есть в xwin и ~/.xinitrc, но самое смешное, что никакие переменные из него не используются. Идиотизм какой-то. Пришлось править оба файла.