Ubuntuで突然日本語入力ができなくなった

10月の終わり頃から僕の使っているUbuntu 10.04でパッケージマネージャが

http://download.opensuse.org/repositories/home:/sawaa/xUbuntu_10.04/./Packages.gz の取得に失敗しました
404 Not Foundいくつかのインデックスファイルのダウンロードに失敗しました。これらは無視されるか、古いものが代わりに使われます。

と言いだした。
最初のうちは、「リポジトリが落ちてるのかな?そのうち復旧するだろ」程度に斜に構えていたのだけど、なかなか直らないからおかしいなぁと思い始めた矢先に、日本語入力を受け付けなくなってしまった。
調べてみると、このリポジトリを公開しているsawaさんが10月24日にリポジトリを引越ししていた。
Ubuntu 10.10用のリポジトリができました(PPAに引越し)
早速上記の記事のリンク先からUbuntu 10.04用のパッケージをダウンロードして実行してみたけれど反応がない。困った。
そんな訳でadd-apt-repositoryを使って手作業でリポジトリを有効化した。その時の手順がややこしかったので、以下に作業ログを残すことにする。

古くなったリポジトリ情報を更新する

/etc/apt/source.list.d/ikoinoba.listの中身を以下のように変更

deb http://ppa.launchpad.net/ikoinoba/ppa/ubuntu lucid main 
deb-src http://ppa.launchpad.net/ikoinoba/ppa/ubuntu lucid main 

リポジトリの公開鍵を登録する

このままapt-get updateしても

GPG error: http://ppa.launchpad.net lucid Release: 公開鍵を利用できないため、以下の署名は検証できませんでした: NO_PUBKEY A411B38755F2E867

と言われてしまうので以下のコマンドを実行する。

$ sudo add-apt-repository ppa:ikoinoba/ppa

この時もしも

Traceback (most recent call last):
  File "/usr/bin/add-apt-repository", line 8, in <module>
    from softwareproperties.SoftwareProperties import SoftwareProperties
ImportError: No module named softwareproperties.SoftwareProperties

と言われる場合、pythonコマンドがどこを指しているか調べる。プリインストールされてるPython 2.6じゃないといけないらしい。なので例えば以下のようにPython3を指していた場合は変更する

$ python -V # pythonのバージョンを調べる
Python 3.1.2
$ which python
/usr/bin/python
$ which python2.6
/usr/bin/python2.6
$ sudo rm /usr/bin/python
$ sudo ln -s /usr/bin/python2.6 /usr/bin/python
$ python -V # こうなればOK
Python 2.6.5

これで改めてadd-apt-repositoryを実行してみる。万が一これでも何か言われたら

$ sudo pycentral -v pkginstall software-properties-gtk

を実行してみると効果あるかも。

アップデート

$ sudo apt-get update

これで無事にリポジトリを変更することができた。