2019年10月25日金曜日

Ubuntu 18.04 で無理やりNemo RabbitVCS #2

6月に書いたこの記事にしたがってRabbitVCSをインストールした場合、一部の機能が動かない。バージョンが微妙に違うものを無理やりインストールしたためだろう。

記事を書いた後で気がついて、自分では別の方法を使って、再度インストールし直した。
とはいえ、UbuntuでNemoを使う人はマイナーだろうし、バージョン管理にRabbitVCSを使う人も多くないだろう(多くはコマンドラインだろう)から、アクセスは少ないだろうと思っていたので、放置していた。
しかし、最近になってじわじわアクセス数が伸びてきた。
一部の機能が動かない方法のまま放置するのもどうかと思って、新しい方法をここに書く。

新しい方法と言っても、Ubuntuのオフィシャルではない。
様々な事情があるようだが、Ubuntuには Nemo用RabbitVCSパッケージ は無いので、Ubuntuパッケージ管理から離れてなんとかする必要がある。
そのため結局、「無理やり」手法になる。

手動でインストールするために、まず、最新のRabbitVCSを得よう。
RabbitVCSを検索エンジンで検索すると、最初に出てくるのは http://rabbitvcs.orgだろう。(あえてハイパーリンクにしません)
しかし、このページを見ると、2017年あたりから更新が止まっているように見える。

実は、新しいページがgithubに作られている。The new home of rabbitvcs

このページで紹介されている方法に従って(いくつか変更が必要)、インストールするとNemoでRabbitVCSが使えるようになる。

まず最初に現在インストールされているRabbitVCS関連全てを削除する。
sudo apt purge 'rabbitvcs*'
インストールされていないものは削除できないとか色々表示されるけど、入っているものが削除されれはいいので、'Y'を答えて削除してしまおう。
前回の無理やりインストールで書き込んだ /usr/share/nemo-python/extensions/RabbitVCS.py は、後から上書きするので、放置しておいて良い。

次に必要なものにリストされているものをインストールする。
Debian系のコマンドライン例も書かれているが、python-gtkspell, tkinter, python-gtk3 が無いと言ってくる。
それぞれについて調べると、python-gtkspell は python-gtkspellcheck で、kinter は python3-tk でいいようだ。
python-gtk3 は、その情報も見つからなかったが、なんとなく python3-tk がカバーしているように思うので無視する(名前も似ているし)。
ということで、以下のようなコマンドで必要なものを入れることになる。
sudo apt-get install python-configobj python-gobject python-gtkspellcheck python-svn subversion python-dulwich python-pygments git meld python3-tk

続いて、ダウンロードおよびインストールをおこなう。
ダウンロードはgit cloneで行っておけば、git pullで更新できる(RabbitVCSで更新してもいいか)。
任意のディレクトリに移動して、以下を実行する。
git clone https://github.com/rabbitvcs/rabbitvcs.git
rabbitvcsというディレクトリ(ローカルリポジトリ)ができるので、その中に移動して、手動インストールコマンドを実行する。
sudo python setup.py install --install-layout=deb
ここまで来たら、以降の作業はクライアント(ファイルマネージャ)毎に異なる。
Nemoの場合は、https://github.com/rabbitvcs/rabbitvcs/tree/master/clients/nemoの説明に従う。
Nemoの場合に必要となるものがいくつかある。おそらくすでにインストールされていると思うが、それらをインストールしておく。
sudo apt install nemo-python python-dbus

ダウンロードしたrabbitvcsの中の、clients/nemo/RabbitVCS.py をコピーする(全ユーザで使う場合)。
sudo cp clients/nemo/RabbitVCS.py /usr/share/nemo-python/extensions

どちらの場合でも、python/python-extensionsフォルダを作る必要があるかもしれない的なことが書いてあるが、意味がわからないし、「かもしれない」ので無視する。
(コピーの前にコピー先のディレクトリを作っておけって言っているのかな?)

最後に、nemoを再起動する。
nemo -q
pgrep -f service.py | xargs kill
nohup nemo > /dev/null &
うまくいったら、RabbitVCSが動くようになる。
今の所、問題は無い。

無理やりインストールなので、やっぱり自己責任で。
すなわち、更新のチェックや、RabbitVCS.pyの入れ替えは、自分でやらなければならない。
aptはやってくれないし、私も責任をとらない。

2020.02.22 追記
VirtualBoxが動かないときがある。
/usr/share/nemo-python/extensions/RabbitVCS.py をコピーした時、そのディレクトリやそのファイルの所有者がrootになっていないと、VirtualBoxが動かないようだ。前の記事を書いた後で、VirtualBoxが動かなくなることに気がついて、すぐに直していた。
今日になって、母艦でVirtualBoxを使おとしたら動かなかったので、思い出した。
重要な事をなるべく記事に書こうと思うが、うっかり忘れてしまう。
記事にする前に、ある程度時間をかけて(1カ月ぐらいかな)確認していると、最初にやっていた事を忘れてしまう。特に直接関係ない事は「なんかあったような気がするけど、何だったっけ?」のようになってしまう。
所有者を書き換えるなら、たとえば以下のようにすればいい。
find /usr/share/nemo-python | xargs sudo chown root:root 
実行しようとすると、sudoがパスワードを求めてくるので、パスワードを入力する。
上記は、1つの例だ。自分のやり方でやればいい。
2020.03.01 追記
gitで「ログ表示」をした時、Revision Tableの欄の左端にグラフが出ていないことに気がついた。
Python の Cairo関連のパッケージが足りないようで、以下のようにしてインストールする。
sudo apt install python-cairocffi python-gi-cairo python3-cairocffi python3-gi-cairo
少し入れ過ぎなんだけど、足りないよりは良い。

2020.11.26 追記
最近になってこの記事のアクセスが増えてきた。
他にも足りないパッケージがあったように思うんだけど、時間経過とともにどんどん忘れてしまった。
'nemo -q'で実行中のnemoを全部止めた状態で、あらためてコマンドラインから'nemo'で起動すると、色々エラーが出る。問題のないものも多いが、python系で何か足りないようなら、それらをインストールしていこう。

2023.03.31 追記
先日、git pullして、setup.pyでインストールし直しを試みたら、setuptoolsが無いみたいなエラーになった。
aptで、python-setuptools(python3系ならpython3-setuptools)をインストールしたら動くようになった。

0 件のコメント:

コメントを投稿