Другими словами, упомянутые проекты занимаются отображением разного рода информации прямо на рабочем столе. Это можнет быть текстовый файл, картинка и результат выполнения команды. Последнее волнует меня больше всего :).
Ниже хочу привести маленькие shell скриптики, которыми пользуюсь я:
- Время (мировое):
echo " \033[01;30m--------- Time ---------\033[00m " date +"Moscow: %l:%M %p on %d %B" TZ=England/GMT date +"London: %l:%M %p on %d %B" TZ=Boston/GMT+5 date +"Boston: %l:%M %p on %d %B"
- Процессы (прожорливые приложения):
echo " \033[01;30m---------- Top ---------\033[00m " top -l2 -F -n 10 -u -R -S -stats pid,ppid,command,cpu,time,th,pstate|tail -23| \ sed -e '/^MemRegions:/d' -e '/^SharedLibs:/d' \ -e '/^VM:/d' -e '/^Networks:/d' -e '/^Purgeable:/d'
- Состояние дискового пространства:
echo " \033[01;30m---------- DU ----------\033[00m " df -H -l
- Сетевые интерфейсы (IP адреса):
echo " \033[01;30m-------- Network -------\033[00m " ifconfig en0 | grep inet|grep -v inet6|sed -e 's/.*inet/Ethernet IP:/g' ifconfig en1 | grep inet|grep -v inet6|sed -e 's/.*inet/ Airport IP:/g' echo External IP: `curl -s http://checkip.dyndns.org/ | sed 's/[a-zA-Z<>/ :]//g'`
- Календарь:
echo " \033[01;30m------- Calendar -------\033[00m " RVR=`tput smso` # reverse END_RVR=`tput rmso` # end reverse BLNK=`tput blink` # blink UNDER=`tput smul` # underline END_UNDER=`tput rmul` # underline CLEAR=`tput clear` # clear screen BELL=`tput bel` # bell sound BOLD=`tput bold` # bold DIM=`tput dim` # dim INVIS=`tput invis` # invisible END=`tput sgr0` # turn off dim, blink, bold, dim, invisible DATE=`date +%d | sed "s/^0/ /g"` cal | head -1 cal | tail -7 |\ sed "s/ ${DATE}/ ${UNDER}${BOLD}${DATE}${END}/g" | \ sed "s/${DATE} /${UNDER}${BOLD}${DATE}${END} /g"
- Дела/Задачи (icalBuddy должен быть установлен):
echo " \033[01;30m-------- Events --------\033[00m " /usr/local/bin/icalBuddy -eep notes -sc eventsToday | \ sed -e "s/------------------------/^^^^^^^^^^^^^^^^^^^^^^/g" echo " \033[01;30m--------- ToDo ---------\033[00m " /usr/local/bin/icalBuddy -stda -nc uncompletedTasks | \ perl -ne ' my $flag=0; m/^\S+/ and chomp and print and $flag=1; m/^\s{4}due:\s+(.+)$/ and print " ($1)" and $flag=1; print "\n" if ( $flag ); '
- Погода (код города надо заменить на свой, здесь RSXX0063 = Москва):
echo " \033[01;30m------- Weather -------\033[00m " curl --silent "http://xml.weather.yahoo.com/forecastrss?p=RSXX0063&u=c">tmp.xml grep "<title>Conditions" tmp.xml | sed -e 's/<\/*title>//g' grep -A 4 "Current Conditions" tmp.xml | sed -e's/<\/*[bB][rR]* *\/*>//g' rm tmp.xml
- Курсы валют (по данным с finance.rambler.ru):
#!/bin/sh print_currency_info() { perl -ne ' print "$1 " if (m#<from>(\S+)</from>#); print "--> $1\n" if (m#<rate>(\d+\.\d*)</rate>#); ' } # USD curl --silent "http://finance.rambler.ru/ajax/currency_converter.xml?count=1&from=2210&to=2211&date=`date +%d.%m.%Y`&rand=52908"| \ print_currency_info; # EUR curl --silent "http://finance.rambler.ru/ajax/currency_converter.xml?count=1&from=2209&to=2211&date=`date +%d.%m.%Y`&rand=87715"| \ print_currency_info; # GBP curl --silent "http://finance.rambler.ru/ajax/currency_converter.xml?count=1&from=2303&to=2211&date=`date +%d.%m.%Y`&rand=91799"| \ print_currency_info; echo "(finance.rambler.ru)"Надеюсь кому нибудь пригодится.
No comments:
Post a Comment