« EeePCのSSDにArch Linuxを入れました(GPT+Grub2で) | トップページ | packerを使ったAURパッケージの管理 »

2011/11/08

EeePCのArch用conkyrcを作りました(天気予報付きで)

しばらく前に、WEB Upd8HTC-Like Clock Weather Conky Configurationという記事が載ってました。
EeePCをArchにしてconkyrcをArch用に見直すついでに、幾つかアイディアを使わせてもらうことにしました。
ロゴ以外の所はArchでなくてもUbuntuだろうとBodhiだろうと使えるはずです。
やり方は元記事を極力踏襲していますが、ja_JPロケールでも正しく動作するように一部変えています。

とりあえず出来上がりはこんな感じです。

Desktop


  1. Archのロゴを用意します。
  2. sudo pacman -S archlinux-artwork
    /usr/share/archlinux/logos/archlinux-grad2-dark.svg 等をGIMPで開き、png形式で保存します。
    保存先は、今回の例では ~/.images/archlinux-grad2-dark.png です。

  3. Conky Forecastをインストールします。
  4. ArchのAURにパッケージがあったので使いました。作業はいつものようにRAM DISK上で。
    cd /dev/shm/
    mkdir temp && cd temp
    wget https://aur.archlinux.org/packages/co/conkyforecast/conkyforecast.tar.gz
    tar xzf conkyforecast.tar.gz 
    cd conkyforecast/
    makepkg -s
    sudo pacman -U conkyforecast-2.20-1-i686.pkg.tar.xz 
    mv conkyforecast-2.20-1-i686.pkg.tar.xz ~/Packages/
    cd ../
    rm -rf *
    

  5. とりあえず現状の.conkyrcがある人はバックアップしておきます。
  6. cd && mv .conkyrc org_.conkyrc

  7. Conky HTCのソースをリンク先からダウンロードします。ダウンロードしたら/dev/shm/以下にでも展開します。
  8. 展開先から、.images、.conkyForecast.config、 .conkyrc、 .conky_start 及び .vreme.template をホームフォルダ直下にコピーします。.fontは使わないので要りません。日本語フォントは入っていないようで、ja_JPロケールだと文字化けするので。また、PT-brフォルダも不要です。

  9. Conky HTCのコンフィグを行います。
    1. .conkyForecast.config を編集します。
    2. leafpad .conkyForecast.config
      変更箇所のdiffは以下。ちなみにEXPIRY_MINUTESが天気予報のアップデート間隔になります。自分はデフォルトの30分のまま使っています。1時間でもいいかな〜?
      @@ -2,8 +2,8 @@
       CONNECTION_TIMEOUT = 5
       EXPIRY_MINUTES = 30
       TIME_FORMAT = %H:%M
      -DATE_FORMAT = %d/%m/%Y
      -LOCALE =pt_BR
      +DATE_FORMAT = %Y/%m/%d
      +LOCALE =en
       XOAP_PARTNER_ID =
       XOAP_LICENCE_KEY =
       MAXIMUM_DAYS_FORECAST = 7

    3. .vreme.template を編集します。デフォルトだと自分のフォーマットに比べて少し小さかったので。
    4. leafpad .vreme.template
      変更点のdiffは以下。細かい位置変更です。
      @@ -1,6 +1,6 @@
      -${image [--datatype=WI] -p 80,70 -s 113x113} 
      +${image [--datatype=WI] -p 85,70 -s 113x113} 
       ${image [--datatype=WI --startday=1] -p 20,175 -s 43x43}
      -${image [--datatype=WI --startday=2] -p 65,175 -s 43x43}
      -${image [--datatype=WI --startday=3] -p 113,175 -s 43x43}
      -${image [--datatype=WI --startday=4] -p 158,175 -s 43x43}  
      -${image [--datatype=WI --startday=5] -p 200,175 -s 43x43}  
      +${image [--datatype=WI --startday=2] -p 70,175 -s 43x43}
      +${image [--datatype=WI --startday=3] -p 120,175 -s 43x43}
      +${image [--datatype=WI --startday=4] -p 170,175 -s 43x43}  
      +${image [--datatype=WI --startday=5] -p 220,175 -s 43x43}  
      

    5. www.weather.comのトップページから自分の住んでいる地域の天気予報を表示します。
    6. 県庁所在地とかならだいたいある感じでした。成田みたく空港がある場所もいけるみたいです。でも厚木はなかったですね。表示させたらアドレスバーに表示される末尾のコードをコピーします。例えばNaritaを例に取ると、アドレスはhttp://www.weather.com/weather/today/Narita+Japan+JAXX0118 で、コピーすべき地域コードは JAXX0118です。

    7. conkyrcを作ります。
    8. leafpad .conkyrc
      先ほどコピーしておいた地域コードを以下のコードのJAXX0118と全て置換します。また、usernameも各自のユーザ名にして保存します。
      ##################################
      ## sneeze_k | rev.11-11-07                          ##
      ##################################
      ######################
      # - Conky settings -              #
      ######################
      background no
      update_interval 2
      cpu_avg_samples 2
      net_avg_samples 2
      override_utf8_locale yes
      double_buffer yes
      no_buffers yes
      imlib_cache_size 0
      #############################
      # - Window specifications -                  #
      #############################
      own_window_class Conky
      own_window yes
      own_window_type normal
      own_window_argb_visual yes
      own_window_argb_value 255
      own_window_transparent yes
      own_window_hints undecorate,sticky,skip_taskbar,skip_pager,below
      own_window_colour brown
      border_inner_margin 0
      border_outer_margin 0
      minimum_size 290 310
      maximum_width 290
      alignment top_right
      #alignment top_left
      #alignment bottom_left
      #alignment bottom_right
      gap_x 5
      gap_y 10
      #########################
      # - Graphics settings -                 #
      #########################
      draw_shades no
      draw_outline no
      draw_borders no
      draw_graph_borders yes
      uppercase no
      #####################
      # - Text settings -              #
      #####################
      use_xft yes
      xftfont Takao Pゴシック:size=8
      xftalpha 0.4
      text_buffer_size 2048
      default_color white
      color0 white
      color1 orange
      color2 green
      color3 lightblue
      #####################
      TEXT
      #####################
      ${image /home/username/.images/archlinux-grad2-dark.png -s 150x50}
      ${color2}${font Takao Pゴシック:size=9}${voffset 36}${time %Y年/%B/%d日}${voffset -10}${alignc 46}${color2}${font Arial Black:size=16} ${time %H:%M}${font}${color}
      $nodename $sysname $kernel on $machine
      Uptime: ${uptime}
      ${voffset 25}${goto 22}${font Takao Pゴシック :size=8}${color 909090}${execi 600 conkyForecast --location=JAXX0117 --datatype=CN --refetch}
      ${font Takao Pゴシック :size=8}${color whitesmoke}${goto 24}${execi 1800 conkyForecast --location=JAXX0117 --datatype=CT}${voffset -15}${goto 200}${font Takao Pゴシック :size=25}${color d4d4d4}${execi 1800 conkyForecast --location=JAXX0117 -u
      --datatype=HT}
      ${voffset 55}${font Takao Pゴシック :size=8}${color1}${goto 25}${execi 600 conkyForecast --location=JAXX0117 --datatype=HT -u --startday=1}${color0}/${color3}${execi 600 conkyForecast --location=JAXX0117 --datatype=LT -u --startday=1}${font Takao Pゴシック :size=8}${color1}${goto 70}${execi 600 conkyForecast --location=JAXX0117 --datatype=HT -u --startday=2}${color0}/${color3}${execi 600 conkyForecast --location=JAXX0117 --datatype=LT -u --startday=2}${font Takao Pゴシック :size=8}${color1}${goto 120}${execi 600 conkyForecast --location=JAXX0117 --datatype=HT -u --startday=3}${color0}/${color3}${execi 600 conkyForecast --location=JAXX0117 --datatype=LT -u --startday=3}${font Takao Pゴシック :size=8}${color1}${goto 170}${execi 600 conkyForecast --location=JAXX0117 --datatype=HT -u --startday=4}${color0}/${color3}${execi 600 conkyForecast --location=JAXX0117 --datatype=LT -u --startday=4}
      ${font Takao Pゴシック :size=8}${color0}${goto 25}${execi 600 conkyForecast --location=JAXX0117 --datatype=DW --shortweekday --startday=1}${font Takao Pゴシック :size=8}${color0}${goto 70}${execi 600 conkyForecast --location=JAXX0117 --datatype=DW --shortweekday --startday=2}${font Takao Pゴシック :size=8}${color0}${goto 120}${execi 600 conkyForecast --location=JAXX0117 --datatype=DW --shortweekday --startday=3}${font Takao Pゴシック :size=8}${color0}${goto 170}${execi 600 conkyForecast --location=JAXX0117 --datatype=DW --shortweekday --startday=4}
      ${voffset -10}${font Takao Pゴシック :size=8}${color0}${goto 220}${execi 600 conkyForecast --location=JAXX0117 --datatype=DW --shortweekday --startday=5}
      ${voffset -23}${font Takao Pゴシック :size=8}${color1}${goto 220}${execi 600 conkyForecast --location=JAXX0117 --datatype=HT -u --startday=5}${color0}/${color3}${execi 600 conkyForecast --location=JAXX0117 --datatype=LT -u --startday=5}
      ${image ~/.images/base.png -p 10,95 -s 260x80}
      ${image ~/.images/base.png -p 10,175 -s 260x60}
      ${execpi 600 conkyForecast --location=JAXX0117 --template=~/.vreme.template}
      # CPU Usage
      ${voffset -80}${color 97979C}CPU ${hr 2}$color
      #${execi 1000 cat /proc/cpuinfo | grep 'model name' | sed -e 's/model name.*: //'}
      Core1 ${freq cpu1}MHz Load: ${cpu cpu1} %
      ${cpugraph cpu1 20,290 0000ff 00ff00}
      Core2 ${freq cpu2}MHz Load: ${cpu cpu2} %
      ${cpugraph cpu2 20,290 0000ff 00ff00}
      NAME ${goto 145}PID ${goto 185}CPU% ${goto 235}MEM%
      ${top name 1 } ${goto 140}${top pid 1}${goto 180}${top cpu 1}${goto 230}${top mem 1}
      ${top name 2 } ${goto 140}${top pid 2}${goto 180}${top cpu 2}${goto 230}${top mem 2}
      ${top name 3 } ${goto 140}${top pid 3}${goto 180}${top cpu 3}${goto 230}${top mem 3}
      ${top name 4 } ${goto 140}${top pid 4}${goto 180}${top cpu 4}${goto 230}${top mem 4}
      # Memory and Swap Usage
      ${color 97979C}MEMORY ${hr 2}$color
      Used:    $mem of $memmax
      RAM:  $memperc% ${membar 6,80}$color ${alignr} Swap: $swapperc% ${swapbar 6,80}$color
      # HDD Usage
      ${color 97979C}DISKS ${hr 2}$color
      /: Used ${fs_used /} of ${fs_size /} ${alignr}${fs_used_perc /}%
      /home: Used ${fs_used /home/} of ${fs_size /home/} ${alignr}${fs_used_perc /home/}%
      ${fs_bar 6,140 /} ${alignr}${fs_bar 6,140 /home/username/}
      ${color 97979C}NETWORK ${hr 2}$color
      LAN IP: (${addr eth0}):(${addr wlan0})
      eth Down: $color${downspeed eth0} /s ${alignr}Up: ${upspeed eth0} /s
      ${downspeedgraph eth0 25,140 0000ff 00ff00} ${alignr}${upspeedgraph eth0
      25,140 0000ff 00ff00}$color
      wlan Down: $color${downspeed wlan0} /s ${alignr}Up: ${upspeed wlan0} /s
      ${downspeedgraph wlan0 25,140 0000ff 00ff00} ${alignr}${upspeedgraph wlan0
      25,140 0000ff 00ff00}$color
      

  10. 自動起動したい場合
  11. leafpad ~/.local/share/applications/conky_start.desktop
    以下のコードを記述して保存します。アイコンは好みでいいですし、ja_JPな設定はあっても無くても構いませんが。
    [Desktop Entry]
    Encoding=UTF-8
    Name=Conky autostart
    Name[ja_JP]=Conky autostart
    GenericName=conky_start
    GenericName[ja_JP]=conky_start
    Comment=Conky  with weather forecast
    Comment[ja_JP]=天気予報付きConky
    Exec=$HOME/.conky_start.sh
    Icon=/usr/share/icons/gnome/48x48/apps/utilities-system-monitor.png
    Type=Application
    Terminal=false
    Categories=Utility;
    StartupNotify=false
    保存したらEnlightenmentの設定 - すべて - アプリケーション - スタートアップアプリケーション に登録します。登録しなくても・・・という人は、Run Everything からconky起動すれば普通に起動できます。
    終了したい時には、xkill使ってもいいですし、ターミナルから
    killall conky
    でも。あ、Run Everythingからでもコマンド送れるのかぁ。Run Everything最強杉です。

« EeePCのSSDにArch Linuxを入れました(GPT+Grub2で) | トップページ | packerを使ったAURパッケージの管理 »

Arch Linux」カテゴリの記事

コメント

コメントを書く

(ウェブ上には掲載しません)

トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/28800/53186557

この記事へのトラックバック一覧です: EeePCのArch用conkyrcを作りました(天気予報付きで):

« EeePCのSSDにArch Linuxを入れました(GPT+Grub2で) | トップページ | packerを使ったAURパッケージの管理 »