Somehow up to GNOME 3.10.

3.8 の紹介ブログを書き終えないうちに 3.10 のビルドを始めてしまい中途半端になってしまったけど、ここは区切りをつけて次のバージョンについてブログしてみる :P
いつものとおり最新版の ubuntu (Kernel 3.11 / libc6 2.17 / gcc 4.8.1) をベースにビルドを開始したのは、3.10 が 2nd リリースされ始めた10月の初めくらい、マイペースで終わったのが11月の中くらい。しかしながら、今回はリリース物を全てインストールしても問題がいくつかあって、それが解決したのが先週の12月初め、といった具合。時間はともかくとして、結果として ubuntu Trap にハマってしまったのと、やはり今回の GNOME リリースも完成度がいまイチだなぁというが総評といったところ。個人的に仕事などで他のデスクトップ (Microsoft Windows 7 とか Apple MacOS X Mavericks) に触れる機会があって、そちらと比較しても User ExperiencesFeatures の面で物足りなさがあり、なんと言うか新鮮さがない感じ。
特に Mavericks の Safari の描画の速さには驚いた。その一方で、同じ (かな?) Webkit を使っている Epiphany の遅さと重さは半端ないんだけど ;(
いくつか遭遇した現象
パッチが足りないとか、依存関係やビルド方法が悪いとか、使っているシステムやディストリによっては発生しないかもしれないけど、とりあえず。一応公式リリース後に発生した現象:

  1. Shutdown/Reboot できない
  2. GNOME シェルでロック画面のロックを解除できない
  3. gnome-maps が起動しない
  4. gnome-documents に何も表示されない
  5. 巨大化する GtkDialog
  6. GNOME コントロール・センターのオンライン・アカウントが SIGSEGV する
  7. GNOME 3.8 の環境に gnome-settings-daemon 3.10.x をインストールしてから再ログインするとカーソルが消えてしまう

最初の gnome-session 経由で電源 OFF したり再起動できないのは非常に苦痛だった。ubuntu 13.10 からログイン関係は systemd がデフォルトになったため gnome-session の他に、gdm を –enable-systemd もしくは –with-systemd するなどして有効にすると上手く機能しなくなった。前の 3.8 から共に systemd をサポートしていたのだけれど、全て無効にしていたので問題はなかった。3.10 では無効にすると逆にログインできなかった。この現象は、ubuntu パッチとして提供さている XDG_CURRENT_DESKTOP なんていう環境変数を gnome-session と gdm 共に export しておくことで解決した。どうやら片方にしか適用していなかったのが問題っぽい。ubuntu って、こういうパッケージを超えたポリシーを多用するので困る :$。まぁ debian/changelog にそれぞれ書いてあると言われるとそれまでだけど。
2は gnome-shell のバグ。
3は原因不明。システム規模のアップグレードをしていたらいつの間にか表示されるようになった。JS のエラーだったような気がするけど。
4は Tracker 0.16 をリビルドする (かアップグレードする) 必要がある。
5は GTK+ 3.10.5 から発生している。例えば g-c-c を開くと、こんな感じ:
G310-GTK_3.10_Issu_with_line-wrap.png
どうもラベルのラッピングのパラメータを指定していないと発生する現象らしく git の log には

Author: Matthias Clasen <mclasen@redhat.com>
Date:   Sun Dec 1 14:55:02 2013 -0500
Fix problems with dialog sizing
Many dialogs contain wrapping labels, but don't set max-width-chars on them. Previously, we were capping their width at 640, but since 3.10.5, they extend all the way to the width of the screen, which is not the desired behaviour.
Go back to capping the width of dialogs at 640 in the stable series. In git master, we will set max-width-chars on the labels instead.
https://bugzilla.gnome.org/show_bug.cgi?id=719516 https://bugzilla.gnome.org/show_bug.cgi?id=719569

って 3.10.6 で直ったとあるけどまだ再現するものがある :$
6 は g-c-c のオンラインアカウントで新規にアカウントを追加しようと [+] ボタンを押下するとクラッシュする。ちょうどここで報告されている現象と全く同じ。Bugzilla には一応登録されているようだけど解決したのかどうかは不明。
7 は修正方法はわかったんだけど、まだ稀に発生する。GNOMEシェルを再起動すると直ったり直らなかったり:

$ gsettings get org.gnome.settings-daemon.plugins.cursor active
true
$ gsettings set org.gnome.settings-daemon.plugins.cursor active false

で、以下はアプリ別に気づいた点など。
GTK+ など
Cairo 1.2.16 は初めて –enable-gl=yes でリビルドした。DRI を使って Kernel の Nvidia ドライバが提供する DRM でアクセスしているのか、体感でも描画は速くなった (このあたりは以前翻訳した “The Linux Graphics Stack” を参照のこと)。
GTK+ 3.10 はというとコンテナ・クラスがいくつか追加されている。例えばアニメーションを消したり出したりする GtkRevealer クラス、いろいろなコンテナをリスト状に配置する GtkListBox クラス、スタックに格納した子ウィジェットを一度に一つだけ順番に表示する GtkStack クラスの他、Nautilus のサイドバー相当の機能を提供する GtkPlaceSidebar クラスなど。
あと GTK+ のウィジェットを HTML5 互換のブラウザ上で描画するためのバックエンドである Bloadway のデーモンもビルドできるようになている。使い方は説明にあるとおり:

①まずデーモンを起動する
$ broadwayd
Listening on /run/user/1000/broadway1.socket
②別の端末から GDK のバックエンドとして broadway を指定して、GTK+ のアプリを起動する
$ GDK_BACKEND=broadway LIBOVERLAY_SCROLLBAR=0 gtk3-demo
とか
$ GDK_BACKEND=broadway LIBOVERLAY_SCROLLBAR=0 gedit

最後に HTML5 をサポートするブラウザから http://localhost:8080/ にアクセスするだけ:
G310-GTK_3.10_Broadway_demo.png
あとは、上であげたダイアログの幅が妙に大きくなる問題をなんとかしてもらいたい。
GNOME シェルとデスクトップ全般
これが現在の GNOME シェルとデスクトップ。小物は 3.8 からあまり変更していない:
G310-GNOME_Shell_Desktop.png
ちなみに、前バージョンを紹介したブロクでも書いたけど、背景と Nautilus との関係は無くなってしまったので、この 3.10 でも同様に Nautilus と g-s-d にパッチをあてて Nautilus で背景を描画するようにしている。
リリースする度に思うのだけれど、慣れ親しんだテーマが次のリリースでは使い物にならないのは、なんとかならないものだろうか :(。GTK+ しかり、GNOME シェルしかり。毎回アップグレードするとテーマの一部または全部が「ボロボロ」になってしまい、新しいテーマを探さなくてならない。それにリリース出始めは満足できるテーマが揃っていないし。
これは GNOME シェルの拡張機能にも言える。新しくしたのは良いけど、また新たに User Experiences を構築しないといけないって言うのはダメでしょ。
次は、検索時のアクティビティ画面。外観は 3.8の頃とあまり変わらない。「全てのアプリ」の一覧がページ単位でスクロールするようになったくらいか:
G310-GNOME_Shell_Activity.png
強化されたのは検索機能。これは tracker を起動して情報を収集しておかないと、あまり期待した結果にならないけど、結構便利 (下は「gnome」を検索した結果):
G310-GNOME_Shell_Activity_and_Search.png
トップバーの右端にある音量と電源ボタンの部分をクリックすると、メイン・メニューが表示される:
G310-GNOME_Shell_MainMenuButton.png
メイン・メニューは、使用しているテーマ (や拡張機能) によって若干変わるけど、概ねつぎのような感じ:
G310-GNOME_Shell_MainMenu.png
テーマに関わらず決まって一番下にメニュー項目が並んでいて、左から設定 (g-c-c)、画面のロック、電源OFF/再起動のボタン。メイン・メニューの中には音量系の部品がデフォルトで含まれている。さらにユーザ名の横にある折りたたみのボタンを押して展開すると、ログアウトボタンとユーザの切り替えボタンが表示される:
G310-GNOME_Shell_MainMenuUserButton.png
あと、ネットワーク設定や Bluetooth のアイコンは、これらのハードウェアが実際に接続されている場合にしか表示されなくなった。この設計思想も理解できないよね。有線 LAN 使っていても何かと設定したくなるだろうに。一応 g-c-c からはできるけど:
G310-GNOME_Shell_MainMenu_WiFiButton.png
あと GNOME シェルで何か書くことあったかな。3.8 の拡張機能も未だに半分以上は利用できないし。多少メモリ・リークが少なくなった!?くらいか。
上にある画面のロックを解除できない問題があった時はホント大変だった。3.8 で、普通にディスプレイの電源が切れるとロックがかかるようにしていたので、一度ロックがかかると毎回バックグランドから gnome-shell に HUP を投げて解除していた :(
GNOME Tweaks
UI が作り直しで、3.8 の頃よりもわかりやすく、日本語に翻訳しがいがあるようになった:
G310-GNOME_Tweaks-01.png
G310-GNOME_Tweaks-02.png
とはいえ、いつも思うけど、このアプリと g-c-c の関係がわからんなぁ :/
Nautilus
変わったところは、サイドバーを GtkPlaceSidebar クラスで置き換えたくらいか。おかげで、かなり前から当てていた、サイドバーに表示するアイテムの順番を変えるパッチが無用になってしまった。なんで「ブックマークの一覧」は折りたためないんだろうか。
あとは、自分の場合は背景を描画する機能を revert するパッチを ubuntu から移植している。
ということで、スクリーンショットは割愛。
と、まぁホントはもっと他のアプリなどを紹介したかったけど、だらだらと長くなってきたので、またの機会 (TAKE 2) に持ち越すことにする (やる気があればだけど… :X)。

Up to GNOME 3.8 (TAKE 02).


【Note】
2013年12月現在、既に GNOME 3.10 にアップグレードしてしまったけど、せっかくなので、当時書きかけの投稿を出来ているところだけ公開してみる。苦心して screencast も撮ったし。



移行した GNOME 3.8 のデスクトップで (良し悪しを含め) 気になったアプリをまとめてみた。
Nautilus
前のバージョンでの使い勝手については散々な感想にしたけど、この半年間使っていて基本的な操作を行う上では (いやがおうにも) 慣れてしまったという感じが否めなくなってしまった :|:
GNOME3.8-NautilusFileBrowser-20130721.png
今回のアップグレードで印象が良かった機能が二つあって、そのうちの一つがアイコンをドラッグしてフォルダの上に移動させると、フォーカスが当たったフォルダが自動的に開くというもの:

GNOME3.8-NautilusFileAction-20130721.png
アイコンをフォルダの上にドラッグすればどんどんフォルダ間を移動できる。
もう一つは gnome-terminal に Nautilus プラグインが追加されたので、従来まで使用していた buggy な nautilus-open-terminal が不要になったこと。なんと言っても端末がちゃんと指定したフォルダの中で開くようになって、端末指向のユーザにとっては今まで無かったのが不思議なほど当たり前でお世話になる機能:
GNOME3.8-GnomeTerminalPlugins-20130722.png
これが Nautilus 用のプラグイン:

$ dpkg -S  /usr/lib/nautilus/extensions-3.0/libterminal-nautilus.so
gnome-terminal: /usr/lib/nautilus/extensions-3.0/libterminal-nautilus.so

GNOME Getting Started Docs in Japanese.

GNOME 3 を初めてさわるユーザ向けに、GNOME のドキュメンテーションの標準となった Mallard (トピックス指向の XML) を使って画像やアニメーションなんかと融合したスタイルでヘルプを提供している gnome-getting-started-docs:
GNOME_Getting_Started_Docs-01-20130729.png
Yelp ヘルプ・ブラウザから単独で参照できるけど、もともとは以前、紹介した gnome-initial-setup と連携した作りになっているようで、初期設定が済んだらこのヘルプが表示されるようになっていた。
インストールするとわかるけど、GNOME 3 を初めて利用するユーザ向けに、アプリケーションの起動方法とかタスクを切り替える方法なんかを文章 (*.xml, *.page) の他に、図 (*.svg) やアニメーション (*.webm) を使って説明している。
で、この日本語化だけれども、他のドキュメント系と同様に、基本的には ja.poitstool を使って XML に日本語を埋め込んでいくのだけれど、実は *.svg の図や *.webm なんかのアニメーションも「いくつか設定をすれば」日本語を埋め込んで表示させることが可能になっている:
GNOME_Getting_Started_Docs-02-20130729.png

(ja.po から日本語をエキスポートして SVG 画像に埋め込んだ例)

その方法は、文章や図の場合 ja.po を用意してメッセージを翻訳しておけば、あとは make するだけで自動的に xml の中に埋め込まれる。
但し、アニメーションの方は現在のバージョン (バージョン 3.8.x) だと make の対象外になっているので、少々、設定を行った後に、パッケージに同梱の render-localized.sh スクリプトを使って、コマ撮りにした *.png を生成し blender を使ってアニメーションを生成する必要がある。難しいアニメーションの生成は python スクリプトと blender を使って生成されるような仕組みがパッケージ化されていて楽ちん 8):

$ cat gnome-getting-started-docs/animation/render-localized.sh
case $1 in
osx)
export PYTHONPATH="/Users/jimmac/.blender/scripts"
blender="/Applications/blender.app/Contents/MacOS/blender";;
*)
export PYTHONPATH=$PYTHONPATH:/usr/lib/python3/dist-packages:/usr/lib/python3.3
blender="blender";;
esac
for script in *py
do blend=`basename $script py`blend
$blender -b $blend -P $script
done

上のスクリプトの中で呼び出される python スクリプトと blender ファイルが既に用意されている。これらがトピックス毎に用意されたアニメーションを生成するために blender の中で実行される:

$ ls gnome-getting-started-docs/animation/*.py
gnome-getting-started-docs/animation/gnome-change-wallpaper.py
gnome-getting-started-docs/animation/gnome-launching-applications.py
gnome-getting-started-docs/animation/gnome-responding-to-messages.py
gnome-getting-started-docs/animation/gnome-task-switching.py
gnome-getting-started-docs/animation/gnome-timezone.py
gnome-getting-started-docs/animation/gnome-windows-and-workspaces.py
gnome-getting-started-docs/animation/gnome-yelp-intro.py
gnome-getting-started-docs/animation/gnomerender.py
$ ls gnome-getting-started-docs/animation/*.blend
gnome-getting-started-docs/animation/gnome-change-wallpaper.blend
gnome-getting-started-docs/animation/gnome-launching-applications.blend
gnome-getting-started-docs/animation/gnome-responding-to-messages.blend
gnome-getting-started-docs/animation/gnome-task-switching.blend
gnome-getting-started-docs/animation/gnome-timezone.blend
gnome-getting-started-docs/animation/gnome-windows-and-workspaces.blend
gnome-getting-started-docs/animation/gnome-yelp-intro.blend
gnome-getting-started-docs/animation/part-kbd-launch-help.blend

アニメーション単体を生成するのであれば、上のスクリプトに従って、例えば「日付と時刻とタイムゾーンの変更」のアニメーションを生成する際は、次のようなコマンドラインになる:

$ cd gnome-getting-started-docs/animation/
$ export PYTHONPATH=$PYTHONPATH:/usr/lib/python3/dist-packages:/usr/lib/python3.3
$ blender -b gnome-timezone.blend -P gnome-timezone.py

また言語別に生成したアニメーションを gnome-help のディレクトリに格納したいのであれば (そのまま yelp ヘルプ・ブラウザで参照できる場所)、次のファイルに言語 (日本語なら ja) を追記しておく:

$ ls gnome-getting-started-docs/animation/language-whitelist.txt
gnome-getting-started-docs/animation/language-whitelist.txt
$ cat gnome-getting-started-docs/animation/language-whitelist.txt
C
cs
de
es
gl
hu
it
ja
pl
pt_BR

そして前述の render-localized.sh を実行すると、上記の言語毎に、その po ファイルから翻訳メッセージを展開し、アニメーションのフレームに相当する PNG 画像を616個生成して、最後にアニメーション・ファイルに統合し、言語別のディレクトリに格納するという仕組み。
さすがに、この過程は結構時間がかかるようで、全7個のアニメーションを生成するまでに自分のマシンの場合 (Intel Core i7 1.2GHz✖12コア) で4時間ほどかかった :O
で、肝心のアニメーションのメッセージの日本語化だけれど、自分の環境では次のような設定を行うと日本語フォントでちゃんとメッセージが描画された:

  1. blender >= バージョン 2.67 にする (PPA からインストールし、ここを参照に日本語対応にする)
  2. パッケージに同梱されているフォントには日本語が含まれていないので、日本語のグリフを含むフォントで置き換える

フォントに関して補足すると、gnome-getting-started-docs のパッケージに同梱されているフォントは次のとおり:

$ cd gnome-getting-started-docs/animation/fonts
$ ls -1 *.*tf
Cantarell-Bold.otf
Cantarell-Regular.otf
Overpass_Bold.ttf*
Overpass_Regular.ttf*
SourceSansPro-Black.otf
SourceSansPro-BlackIt.otf
SourceSansPro-Bold.otf
SourceSansPro-BoldIt.otf
SourceSansPro-ExtraLight.otf
SourceSansPro-ExtraLightIt.otf
SourceSansPro-It.otf
SourceSansPro-Light.otf
SourceSansPro-LightIt.otf
SourceSansPro-Regular.otf
SourceSansPro-Semibold.otf
SourceSansPro-SemiboldIt.otf

上記のどのフォントを実際に使用するのか詳細はわからないものの、いろいろ試したところ、SourceSansPro-* 系のフォントを日本語を含むフォントでシンボリックリンクするなどして置き換えると日本語フォントに展開できた。
で、実際に日本語化した gnome-getting-started-docs のアニメーションはこんな感じ:

GNOME_Getting_Started_Docs-03-20130730.png

GNOME_Getting_Started_Docs-04-20130730.png

GNOME_Getting_Started_Docs-05-20130730.png

GNOME_Getting_Started_Docs-06-20130730.png

GNOME_Getting_Started_Docs-07-20130730.png

GNOME_Getting_Started_Docs-08-20130730.png

GNOME_Getting_Started_Docs-09-20130730.png
(一応、直接 .webm をダウンロードするリンクと colorbox 経由でポップアップして再生できるリンクの両方を用意したのでお好み方法でどうぞ)
blender ってちゃんと使い方マスターすると意外と使えそう。

Up to GNOME 3.8 (TAKE 01).

正式なリリースから大分時間がたってしまったけど、なんとか GNOME 3.8 のデスクトップへの移行が完了した。今日現在で最新のマイナーリリースのバージョン 3.8.3 (2003年6月16日リリース) なので、実際には一ヶ月程度の遅れだけれど :P
この春に (GNOME 3.8 リリースにむけて) 新マシンを購入したんだけれど手をつけている時間がまったくなくて、手っ取り早く Ubuntu 13.04 の GNOME フレーバーのベータ版のインストールから始めて、週末の度にパッケージをビルド・インストールしてきたという次第。
ちなみに、Ubuntu 13.04 から (混じりけなしの) 正式な multiarch のサポートになったため、例えばそれまでのように ia32-libs なんかで (32/64bit 版との間で異なるバージョンのライブラリを) 一括インストールする訳にはいかず、主要なライブラリはその 64bit 版と同じバージョンで 32bit 版をインストールしなければならなくて、その準備やらに結構時間をくってしまった。結論としては、ちゃんと便利な (chroot を使った) ビルド・システムが用意されていて、ベースのファイルシステムを作るのに多少ディスク容量と時間を必要とするものの、それ以降は簡単なスクリプトで amd64 のパッケージをビルドした後に i386 のパッケージをビルドして同時にインストールするってな具合で進めていったのだけれど。
GNOME 3.8 の方はビルド時の依存関係なんかを調べるのが面倒なので、いつもどおり build.gnome.org の jhbuild のビルド一覧を参考にしようと思ったのだけれど、いつの間にかシステムがアップグレードされて無くなってしまったので、仕方なく jhbuild のモジュールセットを直接参照しながら順番にビルドした。
あと、Ubuntu 13.04 って未だ systemd を完全にサポートしていないんだな :(systemd-services なんてパッケージが入っていたものだから、てっきりサポートしているものとして gnome-sessiongdm–enable-systemd=yes でビルドしていたんだけど、GDM や GNOME シェルからリブートやシャットダウンできなかったり、NetworkManager 経由でネットワーク・プロパティを変更できなかったりと、あとで色々トラブってしまった。よくよく確認してみるとサポートしているのはログイン、時刻と日付、ロケールぐらいだったよ :$
で、本当は一回で紹介してしまおうと思ったのだけど、しばらくぶりのブログで書くのに時間がかかってしまったので何回かにわけることにした ;)
Login Sessions
リリースノートにあるように「GNOME クラシック」とか「GNOME 初期設定」なんかが追加されていた。前者は GNOME 2 ライクなスタイルを GNOME 3 (GNOME シェル) で表現しただけ。別に GNOME 2 になるわけではない。Ubuntu が patch で用意している「GNOME Fallback」が実は metacity や GNOME パネルを使った GNOME 2 相当のセッション。あと後者は gnome-initial-setup という未だ中途半端なパッケージが提供するセッション。ひと通り環境設定が済んだら $HOME/.config/gnome-initial-setup-done なんてファイルが touch されて次回からはこのセッションに入らないような仕組みのようだ:
GNOME3.8-NewSessions-20130715.png
これが GNOME クラシック (GNOME 2風なパネルを GNOME シェルの拡張機能を使って表現しただけ) のセッション:
GNOME3.8-GNOME_Classic_Session-20130715.png
これが GNOME 初期設定のセッションの一部で、他にもいくつかのお決まりのステップが用意されている。どこかで見たことがあるかと思ったら Mac OS X を初めて設定する時に出てくる設定ダイアログそのままで、特に目新しさも無いし出来もまだまだ:
GNOME3.8-GNOME_InitialSetup_Session-20130715.png
GNOME3.8-GNOME_InitialSetup_Session-02-20130715.png
一応 GNOME シェルで利用できるセッションは次のコマンドラインから確認できる:

$ gnome-shell --list-modes
gdm
initial-setup
user
classic

そして実際に GDM からログインすると、なんと GNOME シェルのセッションに入る際に背景がズームインしてくる:
DesktopZoomIn-AfterLogin-20130713.png
DesktopZoomIn-Completed-20130713.png
GNOME 3.8 では、このように Clutter を使った画像効果が随所に追加されている。他には GNOME コントロールセンターの各ペインを切り替える時に前のペインの残像を残しつつ次のペインに遷移するなんかがある。
My Latest Desktop
これが、いろいろ GNOME シェルの拡張機能 (gnome-shell-extensions パッケージの他にウェブサイトの Extensions) を追加した現在のデスクトップ:
GNOME3.8-MyCurrentDesktop-20130715.png
アプリのランチャは前のバージョンのデスクトップ同様に Docky だけど、これ横に長くなるまでランチャを追加してしまうと GNOME シェルの下部にあるメッセージバーを表示させるためのホットスポットを探すのが面倒 (このバージョンからマウス・ポインタを移動させるだけでよくなった) なので、ある程度だけで残りは この拡張機能を使っている。
拡張機能に含まれているアプリケーション・メニューを使うという考えもあるけど、アプリを探すならアクティビティ画面からの検索の方が便利 (各アプリに付属する .desktop ファイルの Keywords に含まれる単語を使ってそのまま検索できる)。なので、慣れると [Super]+A キーだけで十分便利だ。このあたりはリリースノートの記述が詳しい。
これが検索時のアクティビティ画面。日本語でも検索 OK:
GNOME3.8-AppSearch-20130715.png
このバージョンから背景の描画方法が Nautilus から GNOME シェルに移行された。それも ReleaseCandidate 版で急に。そのため前のバージョンのデスクトップ設定が残っていると、デスクトップアイコンを表示する際に背景が単色で表示されてしまう。これ結構ユーザをいろいろ混乱させたようだ。Ubuntu では背景の描画処理を Nautilus にバックポートしているくらいだ (こっちは Unity とか他のデスクトップのことを配慮したため):
GNOME3.8-BackgroundByGnomeShell-20130715.png
そして背景の変更は Nautilus ではなく GNOME シェルのコンテキストメニューから選択できるようになっている:
GNOME3.8-SelectBackground_From_GNOME_Shell-20130715.png
とは言っても GNOME シェルの背景と Nautilus のデスクトップ・アイコンの統合は不可能ではないようで、次の設定を有効にするだけで OK だった:

$ gsettings set org.gnome.settings-daemon.plugins.background active true
$ gsettings set org.gnome.desktop.background show-desktop-icons true

バージョン 3.8 の GNOME シェルも長く使っていると操作が遅くなってくるので再起動の操作は必須だな。メモリ使用率 (RSS) を見ても上位に入るくらいだし。バージョンが上がる度に API も変更され、今まで慣れ親しんだ拡張機能が (一時的に) 使えなくなることもしばしば。このあたりが毎回アップグレードする際の悩みどころなのだけれど、個人的にはもう少しパフォーマンスが良くなってほしい :|
My Favorit Extensions
よく使いそうな拡張機能が、このバージョンの gnome-shell-extensions に含まれているので、あとはお好みで。赤色のマークがついているのがウェブサイトから入手した拡張機能:
GNOME3.8-GNOME_Shell_Extensions-20130715.png
その中でもお気に入りの拡張機能が、実はデスクトップ右上隅に固まっていたりする:
GNOME3.8-Favorit-Extensions-20130715.png

Weather は GNOME 3.8 から仮採用されている gnome-weather っていう天気を一覧で表示するアプリなんかよりも便利で見やすい。デスクトップ上にあるので直ぐに参照できるし、日本人には不評の libgweather ライブラリを使っていないので国内でも市区県レベルで天気を確認できる。あとは Web Search Dialog なんかもウェブ検索する際には直ぐにアクションできるので嬉しい:
GNOME3.8-Favoriit-Extension-WebSearch-20130716.png
とりあえず、こんなところまで。

Emacs keybindings on Evolution3.

と言ってもメール・コンポーザ、いわゆる gtkhtml-4.0 を使った編集機能で Emacs 同様のキーバインディングを利用する方法だけれども、初めてうまく設定できた。もしかしたら自分だけかもしれないけど :o
今までのバージョンの Evoliution では gtkhtml-editor ライブラリで一応 Emacs のキーバインディングをサポートした実装がはいっており、デスクトップと統合されるようになってからは (org.gnome.desktop.interface.gtk-key-theme=”Emacs”)、別途メールコンポーザのメニュー項目にあるショートカットキーのうち、Emacs のキーバインディングで衝突するもの、例えば 「全て選択(A)」の Ctrl-A なんかを [Delete] キーを使って削除しておくだけでよいとずっと思っていた。
実際のところ、この設定だけでは全然足りなくて、それらしいキーワードを検索してたまたま見つけた情報をそのまま実施してみるとうまく使えるようになったんだけど。
一部古いところ (GConf は obsoleted) もあるので修正して紹介しておくと:

  1. デスクトップ設定の “/org/gnome/desktop/interface/can-change-accels” を ON にする:

    $ gsettings set org.gnome.desktop.interface can-change-accels true
    $ gsettings get org.gnome.desktop.interface can-change-accels
    true
    

  2. 同様に “/org/gnome/desktop/interface/gtk-key-theme” を ‘Emacs’ にする:

    $ gsettings set org.gnome.desktop.interface gtk-key-theme 'Emacs'
    $ gsettings get org.gnome.desktop.interface gtk-key-theme
    'Emacs'
    

  3. Evolutionを起動して [新規]-[メッセージ(M)] でメール・コンポーザを起動し、メニューを開いて、Emacs のキーバインディングと同じショーカットを持つメニュー項目の上にマウス・カーソルを載せてから [Delete] キーを押下するとキーバインディングが解除される。それから Evolution を一度閉じる
  4. そしてこのファイルをダウンロードして ${HOME}/.config/gtk-3.0/gtk.css として保存する
  5. それからコマンドラインから次のファイルの書き込みを禁止しておく

    $ chmod u-w ~/.gnome2/accels/evolution
    

  6. 最後に Evolution を起動し再びメール・コンポーザを開いて Emacs のキーバインディングを確認する

ということで、もうかれこれ10年くらい気になっていたのだけれど、やっとすっきりしたよ :D
See Also Emacs keybindings in GNOME Evolution 3.x: Evolution の3系で Emacs のキーバインディングを設定する方法