2012/10/22

GNOME Classic のパネル時計

Ubuntu 12.10 がリリースされたので、早速(というかちょうどインストールしなきゃならない案件があったので)インストールしました。Compaqの激安AMD機です。メモリ8GB、一応デュアルコア。UbuntuもAMD64bit対応版を入れてみました。

もともと入っている Windows7 Home Premium よりさくさく動く感じがします。まだ大したことやってないからかもしれませんが…で、例によってというか、Unityを使わず GNOME Classic でログインして使っています。

■ パネルの時計の表記がおかしい…

今回初めて気がついたんではなくて、たぶんこれまでは無視していたんだと思うんですが(よく覚えていない)…パネルに時計を載せるには「インジケーターアプレット完全版」という複合アプレットと、シンプルな時計という2つの選択肢があります。

シンプルな時計の方はきちんとメンテされているのか、ちゃんと、というかシンプルに「10/21」のように表示されるのです。ところが「完全版」の方はというと、日本語環境で使ってるとこの日付の付き方が気持ち悪い。月は「10月」と付くのに日付は「21日」とならずに「21」だけなんです。初期値では「日 10月 22」のように表示されていたと思います(正しくは覚えていない)。これは何とも凹むので、何とかしたいと思って調べ始めました。

シンプル時計の方を使えばいいかなと思ったんだけど、この「完全版」にはネットワークのアイコンとオーディオのヴォリウムのアイコンが統合されていて(うちの環境ではこれら以外は見えない)、このうちオーディオのアイコンが単独では存在しない(というか見つからない)。オーディオのアイコンを使おうと思ったら、「完全版」を使うしかないのです。

■ 時計表記のカスタマイズ

で、結論から言うと、カスタマイズは可能でした。

本当は、時計の表記だけは英語に、とかっていう設定ができるようになってれば、面倒臭いことせずに英語にしちゃえばフラストレーションはたまらないけど、仕方ないですね。

実現する方法は大きく2つ。

<1> dconf を使う


1) sudo apt-get install dconf-tools
2) open dconf
3) com.canonical.indicator.datetime
4) time-format を custom に
5) custom-time-format を好みの定義に変更(トークン一覧は最後の方に)


  • パネルの時計と同じにするなら「%m/%d (%a) %T」のように指定
  • 俺自身は「%B%d日 (%a) %T」と指定

<2>コマンドラインで設定変更

gsettings set com.canonical.indicator.datetime time-format "'custom'"
gsettings set com.canonical.indicator.datetime custom-time-format "'%m/%d (%a) %T'"


トークンは、たぶんこの定義と同じなんだと思うけど、備忘録的に残しておきます(どこから拾ってきたのか忘れてしまった)。
%%   a literal %
%a   locale's abbreviated weekday name (e.g., Sun)
%A   locale's full weekday name (e.g., Sunday)
%b   locale's abbreviated month name (e.g., Jan)
%B   locale's full month name (e.g., January)
%c   locale's date and time (e.g., Thu Mar  3 23:05:25 2005)
%C   century; like %Y, except omit last two digits (e.g., 21)
%d   day of month (e.g, 01)
%D   date; same as %m/%d/%y
%e   day of month, space padded; same as %_d
%F   full date; same as %Y-%m-%d
%g   last two digits of year of ISO week number (see %G)
%G   year of ISO week number (see %V); normally useful only with %V
%h   same as %b
%H   hour (00..23)
%I   hour (01..12)
%j   day of year (001..366)
%k   hour ( 0..23)
%l   hour ( 1..12)
%m   month (01..12)
%M   minute (00..59)
%n   a newline
%p   locale's equivalent of either AM or PM; blank if not known
%P   like %p, but lower case
%r   locale's 12-hour clock time (e.g., 11:11:04 PM)
%R   24-hour hour and minute; same as %H:%M
%s   seconds since 1970-01-01 00:00:00 UTC
%S   second (00..60)
%t   a tab
%T   time; same as %H:%M:%S
%u   day of week (1..7); 1 is Monday
%U   week number of year, with Sunday as first day of week (00..53)
%V   ISO week number, with Monday as first day of week (01..53)
%w   day of week (0..6); 0 is Sunday
%W   week number of year, with Monday as first day of week (00..53)
%x   locale's date representation (e.g., 12/31/99)
%X   locale's time representation (e.g., 23:13:48)
%y   last two digits of year (00..99)
%Y   year
%z   +hhmm numeric timezone (e.g., -0400)
%Z   alphabetic time zone abbreviation (e.g., EDT)

たぶん、この中の「まとめて日付を表示」の日本語環境用の定義が間違っているんだと思います。

でも本当は、俺はあの時計アプレットは英語表記で使いたいんだよね。言語を部分的に変えられたらいいのにね。


■ ひっそりと世界時計

今回、副産物的に発見した機能に、時計をクリックしたらドロップダウンしてくるカレンダーに、複数のタイムゾーンの時計を定義することができるということを知りました。

"How to set multiple timezones in Gnome Classic?"
http://askubuntu.com/questions/155151/how-to-set-multiple-timezones-in-gnome-classic

dconf なら「com.canonical.indicator.datetime」の「locations」を書き換えればよいです。俺の場合は台北、ベルリン、トロントの3カ所を指定しています。値を、


['Asia/Taipei Taipei', 'CET Berlin', 'America/Toronto Toronto']

のようにすれば事足りるみたいです。

さらにコマンドラインなら、

gsettings set com.canonical.indicator.datetime locations "['CET Berlin']"

のようにすればよいようです。

----
(Oct.22, 2012)

0 件のコメント:

楽天モバイルを台湾で使ってみた

GWに、久しぶりに台湾に赴きました。コロナ禍の間に延命していた台湾大哥大と中華電信の回線のうち中華電信の方を失効させてしまい(なぜ中華電信だけ失効したんだろう)、今回の滞在は台湾大哥大と楽天モバイルの2回線で賄うことにしました。テザリングでAndroidスマホ1台とiPad、Ma...