Tak a je tu konečně slíbené pokračování o skvělém programu GeekTool. Minule jsme se seznámili jak s GeekToolem pracovat. Dnes si ukážeme složitější skripty plus nějakou tu další inspiraci pro vaše monitory. Vše si názorně předvedeme nad mou GeekToolem vytvořenou plochou. Takže jdeme na to…
Od mého posledního článku uběhla již spousta dnů, které jsem strávil nad tvořením LSA a hraním si právě s tímto šikovným programem. Výsledek Můžete vidět na obrázku. Jak dlouho jsem toto tvořil vám však nedokážu zodpovědět, jelikož jsem hodně času strávil nad získáváním informací o tomto programu na internetu. Ale myslím si že výsledek za to stál. No posuďte sami.
Menší souhrn mé plochy, aneb co vše jsem měnil:
- pozadí plochy (nepamatuji si přesného autora, avšak různých pozadí je na internetu dost)
- program DateLine (spodní kalendář)
- jedna jediná složka na ploše
- hodiny
- datum
- den v týdnu
- počasí
- IP adresy v síti (WiFi / Lan)
- napájení (stav baterie / cykly)
- doba od zapnutí MACu
- stav disku
- stav paměti
- výpis správce úloh (vytížení CPU a RAM)
- vlastní texty
- podklad pod spodní částí (černý obrázek a nastavení průhlednosti)
Pozadí plochy:
Program DateLine:
Web programu: http://www.machinecodex.com/software.php
Více o tomto programu v dalším článku.
(do nastavení se dostanete pravým kliknutím na plochu a dále přes záložku Show View Options)
Hodiny, datum, den v týdnu:
date +"%H:%M"
Datum:
date +"%d / %m / %Y"
Den v týdnu:
date +"%A"
Počasí:
Na stránkách počasí Yahoo, vyhledejte své město / vesnici. Na pravé části webu je odkaz na RSS, klikněte a najede vám RSS s informacemi o vaší lokalitě.
Z RSS odkazu vás bude zajímat pouze Yahoo ID města / vesnice (vyznačeno červeně). Posledni část ID z Yahoo (=f) značí jednotku teploty v ukazkovém kódu tedy máme stupně Fahrenheita a přepsáním na (=c) máme stupně Celsia.
Přepište v ShellSriptu pod textem část EZXX0004&u=c vaší částí z odkazu z yahoo.
ShellScript příkaz:
curl --silent "http://xml.weather.yahoo.com/forecastrss?p=EZXX0004&u=c" | grep -E '(Current Conditions:|C
//' -e 's///' -e 's///' -e 's/
//' -e 's///' -e 's///'
IP adresy v síti (WiFi / Lan):
#! /bin/bash
ifconfig | grep "inet" | grep -v 127.0.0.1 | grep -v inet6 | awk '{print $2}'
echo
exit
#original below
myen0=`ifconfig en0 | grep "inet " | grep -v 127.0.0.1 | awk '{print $2}'`
if [ "$myen0" != "" ]
then
echo "Ethernet : $myen0"
else
echo "Ethernet : INACTIVE"
fi
myen1=`ifconfig en1 | grep "inet " | grep -v 127.0.0.1 | awk '{print $2}'`
if [ "myen1" != "" ]
then
echo "AirPort : $myen1"
else
echo "Airport : INACTIVE"
fi
Externí adresa:
#!/bin/bash
echo "External :" `curl --silent http://checkip.dyndns.org | awk '{print $6}' | cut -f 1 -d "
Napájení (stav baterie / cykly):
#!/usr/bin/env ruby
# Output
#
# Charge: xx.x% charged
# Cycles: xx cycles
# Status: In Use | Charging | Fully Charged
class Battery
attr_accessor :current_branch, :raw, :charge_remaining, :is_charging, :is_fully_charged, :charge_cycles, :is_in_use, :charge_capacity
def initialize
current_branch = ""
self.raw = self.class.get_raw_data
self.raw.each_line do |line|
key, value = line.split(': ').map(&:strip)
if value.nil? and ! key.nil?
current_branch = key.gsub(':','')
end
next if value.nil? or key.nil?
case key
when 'Charge remaining (mAh)'
self.charge_remaining = value.to_i
when 'Fully charged'
self.is_fully_charged = value == 'Yes'
when 'Charging'
if current_branch == 'Charge Information'
self.is_charging = value == 'Yes'
end
when 'Full charge capacity (mAh)'
self.charge_capacity = value.to_i
when 'Cycle count'
self.charge_cycles = value.to_i
when 'Current Power Source'
if current_branch == 'Battery Power'
self.is_in_use = value == 'Yes'
end
end
end
end
def status
if self.is_charging
'charging'
elsif self.is_fully_charged
'fully charged'
elsif self.is_in_use
'in use'
end
end
def percent_charged
sprintf("%.2f", ((self.charge_remaining.to_f / self.charge_capacity.to_f) * 100))
Uplynulá doba od zapnutí MACu:
ShellScript příkaz:
uptime | awk '{print $3" "$4" "$5" "$6}' | sed -e 's/ load//;s/ user[s,]*//;s/ [0-9]*$//;s/,$//;'
Stav disku:
df -h | grep disk0s2 | awk '{print "FREE:", $4, "" "\nUSED:", $3}'
Stav paměti:
ShellScript příkaz:
top -l 1 | awk '/PhysMem/ {print "FREE: " $8 "\nUSED: " $10}'
Výpis správce úloh (vytížení CPU a RAM):
ShellScript příkaz:
ps -arcwwwxo "command %cpu %mem" | grep -v grep | head -13
Vlastní texty:
Text1
echo "MacBook Pro 15\" | 2x2GB RAM | 200GB HDD | INTEL DUAL CORE 2,4GHz | nVIDIA 8600GT 256MB"
Text2
echo "Owner: Tibor 'TheSTAR*'Racko"
Podklad pod spodní částí (černý obrázek a nastavení průhlednosti):
(obrázek si stáhněte a přidejte na plochu pomocí GeekToolu, pak už jen nastavte požadovanou průhlednost)
fuha nezavidim ti hrania sa v tom ale diki za navod nieco si z toho hodim aj ja :)
fuha nezavidim ti hrania sa v tom ale diki za navod nieco si z toho hodim aj ja :)
ahoj, tento nastroj se mi moc libi, jen otazka, jak mas ten vlastni text, jak udelam kdyz tam nechci mit nastalo text, ale aby tam zobrazoval text z nejakyho textovyho souboru??
myslis ze by slo: echo (a pak cesta k souboru??)
Na plochu lze umístit i ikonu počasí z yahoo.com tady je příklad pro Prahu
curl http://weather.yahoo.com/czech-republic/hlavni-mesto-praha/prague-796597/ | grep „obs-current-weather“ | awk ‚{ print $5 }‘ | cut -d „‚“ -f2 | xargs curl –silent -o /kam/uložit/obrázek/název.png