2010年2月10日水曜日

Ubuntuでカレンダー&時計を表示するスクリーンセーバーを設置した方法

WindowsマシンとUbuntuマシンを併用で使っていると、Windowsを弄ってる間Ubuntuマシンを放置しがちになる。
そんなとき意外と役に立つのが時刻を表示するスクリーンセーバー。
Windowsでは
[コントロールパネル]→[画面]→[スクリーンセーバー]で簡単に設定できるものの、Ubuntuではちょっとひと工夫必要。
 
スクリーンセーバー自体は[システム]→[設定]→[スクリーンセーバー]で[GLText]を使用。
 
まずGLTextの設定ファイルをバックアップ
cp /usr/share/applications/screensavers/gltext.desktop ~/gltext.backup
戻すときは
cp /usr/share/applications/screensavers/gltext.desktop~ /usr/share/applications/screensavers/gltext.desktop
でいいはず(やってないw)
 
編集は管理者権限が必要なのでsudoでエディタを使って開く。何でもいいけどたいていはgeditが無難。
sudo gedit /usr/share/applications/screensavers/gltext.desktop
 
修正はEXEC行のみ。デフォルトでは
Exec=gltext -root
となっている部分を
Exec=gltext -root -front -text "%Y/%m/%d%n %a%n%H:%M:%S %p"
と記述して保存、終了。
 
設定が終わったら[システム]→[設定]→[スクリーンセーバー]で[GLText]を選択すると実際にどのように見えるかプレビューで確認できる。
 最後にスクリーンセーバーとしての設定をしておけば準備完了。
 失敗した場合スクリーンセーバーの設定が起動しなくなるので、その時はもう一度落ち着いてgltext.desktopをバックアップから書き直す(経験的に手で書き直した方が早い)
※記述について
 -text "" の部分が""内のテキストを表示する という部分で、
 %Y:年(4桁) %m:月(2桁) %d:日(2桁) %a:曜日(3文字)
 %H:時(24時/2桁) %M:分(2桁) %S:秒(2桁) %p:AM/PM
 %n:改行 
 を表示。"/"や":"はそのまま表示。
 
 -front は文字のスピン運動において視認性を損なわないように反転を制限。数字の裏返しを防ぐ効果。
 
 詳しいことは端末でman gltext とすればマニュアルが出る。マニュアルから戻るにはqキー (実は最初わからなかったw)
 
 ※今回の記述は↓を参照しました。検索しても意外と載っていないもので、それ以前にもっと機能的になるべきだと思う箇所。GNOMEの一部なのでそちらの開発次第なんでしょうけど。
Digital Clock Screensaver
http://ubuntuforums.org/showthread.php?t=266124
このエントリーをはてなブックマークに追加

2009年12月21日月曜日

Chromeの拡張とか改造するのに必要な手順メモ② とりあえず「サーニャが見てる」

「中止ボタンがサーニャに見えて困る」を作りたいけど当然のことながらいきなり作るにはハードルが高すぎるので、とりあえずサーニャボタンを出してみんとす。

 前回のOppai Extensionの中身を調べると次のような構成でファイルが格納されていることがわかる。

フォルダ内ファイル構成
[extension_3_0]
├ manifest.json ……拡張の核となる部分(.josnファイル)
├ icon.png ……アイコン用画像ファイル
├ icon110.png ……アイコン用画像ファイル②
├ background.html ……拡張の基礎になる背景(.htmlファイル)
├ dyen.js
├ oppai.js
├ prototype.js
├ scriptaculous.js……以上4つの.jsファイル機能部分を実装するJavaScriptファイル
└ README.markdown ……READMEファイル(.markdownなんて拡張子だけどエディタで開いたらただのテキストだった)
 問題は拡張を拡張たらしめているmanifest.jsonの部分。
 ここの記述を調べると(UTF-8に対応したテキストエディタで開ける)
manifest.json
{ "update_url":http://clients2.google.com/service/update2/crx,
"name": "Oppai Extension",
"version": "3.0",
"description": "Click to wobble an oppai",
"icons":
{ "128": "icon110.png",
  "64": "icon110.png",
  "32": "icon110.png",
  "16": "icon110.png" },
"browser_action":
{ "default_icon": "icon.png",
"default_title": "Oppai" },
"background_page": "background.html" }
 ……と書いてあるはずはず。
 とりあえず、一つの項目とそれに与える値を{"項目":"値またはパス","項目":"値またはパス",……}という形で構成していくらしい。 それぞれの項目はどういうことかと言うと。
manifest.json
"update_url" アップデートするときの公開URL(今のところ不要)
"name" 拡張の名前(必須っぽい)
"version" バージョン(必須っぽい)
"description" 拡張の説明(必須ではないっぽい)
"icons" 「拡張機能」タブ内でこの拡張を示すために表示するアイコン(必須ではないっぽい)
"browser_action"
"default_icon" ブラウザ上に表示するボタンのアイコン(今回の機能には必須)
"default_title" ボタンのアイコンをマウスオーバーしたときに表示されるポップアップテキスト(今回の機能には必須)
"background_page" ブラウザの見えない部分の処理を実行させるためのHTMLファイル(jsファイルなどはここにリンクされている)
 ということらしい(?)ので、とりあえず最小限の記述で書いてみた。
書いてみた manifest.json
{ "name": "Sanya Extension",
"version": "0.1",
"description": "サーニャが見てるだけ",
"icons": { "128": "sanya128.jpg" },
"browser_action":
{ "default_icon": "sanya_icon.jpg",
  "default_title": "サーニャかわいいよサーニャ" }
}
 {},""の関係には要注意。あとUTF-8であることを忘れずに。
 肝心のアイコンファイルは……
 この3つだけ。この3つだけがフォルダにあればいい。
 あとは前回の方法を使ってまずはパッケージ化されていない拡張機能を読み込みます(Load unpacked extention)でフォルダを読み込むと……
 こんな感じに。ボタンは単にあるだけで押しても何も起きない(もちろん中止もできない)が、サーニャが見てるだけであればこのように簡単に作ることができるわけで。
 もちろんパッケージにすればインストールもできる。
 とりあえずここまでできた。この先の機能追加についてはまずは考え中……。