Contents
Geektoolとは
知っている人はMacユーザーでも多少マニアな人でしょう。
デスクトップ上に配置していろんな情報を監視するものです。
システム情報や天気や日時とかカレンダーの予定とか…とにかくいろいろできます。
情報交換や、こんなもの作った!などの掲示板は海外を起点にとても盛んです。
実際に設置するとどうなるのか
こんなのとか作れます。
一番の魅力が、背景画像の上に文字を置いてその上に更に画像を配置するということが出来るということ。
文字を置くだけじゃないのでとてもおしゃれに見えますね。素晴らしい。
配置するまでの準備
まずはGeektoolをダウンロードします。
https://www.tynsoe.org/v2/geektool/
ダウンロードしたらインストールします。
終わりです。
コマンドを入れていきます
アプリを起動し、シェルをデスクトップへドラッグします。
例えばですが、コマンドの箇所へ
date "+%H:%M"
と入力します。これだけで時間が出ます。簡単でしょ?
では次
CPUとメモリの使用率を20個表示します。
#!/bin/sh ps -acrxo "command pid %cpu %mem time" | grep -vw "grep\|top\|ps" | head -20
なかなかGeekですよこれは。
じゃあもうちょっとGeekなやつ。
CPU・メモリ・HDDの使用率をグラフと%で表します。
#!/bin/sh
myData=`top -l 1`
typeset -i cnt=0
echo "CPU \c"
myCPU=`echo "$myData" |awk -F '[ % ]' '/CPU usage/ {print $3+$6}' |bc`
myCPU=`echo "tmp=$myCPU; tmp /= 1; tmp" |bc`
while [ $cnt -lt $myCPU ]
do
echo "\033[1;32m|\033[0m\c"
cnt=`expr $cnt + 5`
done
while [ $cnt -lt 99 ]
do
echo "|\c"
cnt=`expr $cnt + 5`
done
printf %6d $myCPU && echo "%\c"
echo "\r"
unset myCPU
cnt=0
echo "Memory \c"
# カーネル, OS系使用量
myWiredMem=`echo "$myData" |grep "PhysMem" |sed -e "s/(//g" |awk '{print $4}' |sed s/M// |sed s/\(//`
myUsedMem=`echo "$myData" |awk '/PhysMem/ {print $2}' |egrep "[0-9]M" |sed s/M//`
myFreeMem=`echo "$myData" |awk '/PhysMem/ {print $6}' |egrep "[0-9]M" |sed s/M//`
myTotalMem=`sysctl hw.memsize |awk '{print $2}'`
myTotalMem=`echo "tmp=$myTotalMem; tmp /= 1048576; tmp" |bc`
# Macが10Gと省略し始めるので頑張ってみた
if [ ! -n "$myUsedMem" -a -n "$myFreeMem" ]; then
myUsedMem=`echo |awk '{print t - f - a}' t=$myTotalMem f=$myFreeMem a=$myWiredMem`
fi
if [ ! -n "$myFreeMem" -a -n "$myUsedMem" ]; then
myFreeMem=`echo |awk '{print t - u - a}' t=$myTotalMem u=$myUsedMem a=$myWiredMem`
fi
myUsedPer=`echo "tmp=($myUsedMem * 100 / $myTotalMem); tmp" |bc`
myWiredUsedPer=`echo "tmp=($myWiredMem * 100 / $myTotalMem); tmp" |bc`
myTotalUsedPer=`echo |awk '{print a + u}' a=$myWiredUsedPer u=$myUsedPer`
while [ $cnt -lt $myTotalUsedPer ]
do
if [ $cnt -lt $myUsedPer ];
then
echo "\033[1;32m|\033[0m\c"
else
echo "\033[0;36m|\033[0m\c"
fi
cnt=`expr $cnt + 5`
done
while [ $cnt -lt 99 ]
do
echo "|\c"
cnt=`expr $cnt + 5`
done
printf %6d $myTotalUsedPer && echo "%\c"
echo "\r"
unset myData
unset myWiredMem
unset myUsedMem
unset myFreeMem
unset myTotalMem
unset myUsedPer
unset myWiredUsedPer
unset myTotalUsedPer
cnt=0
echo "Disk \c"
myDisk=`df |awk '/dev\/disk1/ && NF>1 {print $5}' |sed 's/\%//'`
while [ $cnt -lt $myDisk ]
do
echo "\033[1;32m|\033[0m\c"
cnt=`expr $cnt + 5`
done
while [ $cnt -lt 99 ]
do
echo "|\c"
cnt=`expr $cnt + 5`
done
printf %6d $myDisk && echo "%\c"
echo "\r"
unset myDisk
unset cnt
ちょっと長かったですが、これで出ます。
おしゃれーなやつが。
見た目のカスタマイズ
Geektoolにはフォントやフォントカラーの変更、テキストの開始位置、枠内の初期位置などを変更できます。
なぜこのようなカスタマイズがあるのか。
もちろん見た目のカスタムというのが有力候補でしょう。もう1つ理由があると考えています。
出力されるものによっては正常に表示されないものがあります。
フォントを変更するだけできっちりちゃんと表示されることがあるためかと。
設定項目がわかりやすくてよろしいですな。
コマンドは打つしかダメなの?
いいえ。そんなことはありません。Geekletsと調べたらいっぱい出てきます。
Geekletsとは、ダウンロードしてダブルクリックするだけでGeektoolに反映されるす優れものです。
http://www.macosxtips.co.uk/geeklets/
気に入るものがきっと見つかるはずです!
褒めてばかりだけどなんで捨てたの?
テキストばかりで目がチカチカする…邪魔…
それにデスクトップばかり眺めることないし…
これでドヤるやつって絶対スタバ行きたがる人やん(ハハハッ
と思ったのでやめました。
とは言うものの上手く使えば便利なので、興味本位で始めるとハマるかもしれませんよ。



初めまして。
”こんなのとか作れます。”のデスクトップがとてもスマートでかっこいいです!!
特に背景のところの雲と山で、時間やカレンダーの文字が切れているのが気に入ってしまいました。shellでのコマンドではどのようにされたのでしょうか?
ぜひ、ご教授ご教授していただきたいです。