f

2015-12-12

Install JabRef 3.0 from .jar file on Ubuntu 14.04

先日リリースされたJabRef 3.0のUbuntu 14.04でのインストール手順を記す。

JabRef 3.0での変更点

JavaベースのBibTeX文献管理ソフトであるJabRef version 3.0が2015-11-29にリリースされた(JabRef reference manager)。2.0が2006-01-30であることから、9年ぶりのメジャーバージョンアップとなる。

2系最後である2.11.1からの変更点を見たところ以下の変更点に大きな印象を持った(jabref/CHANGELOG.md at v3.0 · JabRef/jabref)。

  • Java7→Java8への以降。
  • Windows版の64bit対応。
  • LibreOffice5のサポート。
  • Springer、DOAJ、Open Access Jounalsへの検索エンジンに追加。
  • UIの刷新。
  • 検索バーの位置がトップに移動。
  • BibTeXキーの生成パターン設定の変更。
  • プラグイン機能の廃止。
  • タスクトレイへの常駐機能の廃止。
  • 今までファイルを開くなどで分けていたPDFとPSを単に「ファイル」という括りで統一。

外観が変わったのが大きい。2系ではアイコンなど古臭い印象があった。3になってフラットデザインを取り入れて現代的な見た目になった。参考までに以下に2.11と3.0の画面を示す。

個人的には[Rating]フィールドが5文字分の幅をとるようになってちょっと残念。2.11の1文字幅で数字で表すほうが省スペースでよかっ た。検索バーは位置的には3.0で一番上に来たのは良かったと思う。しかし、書誌情報のところはできるだけ広いスペースを確保したいので、表示/非表示を 切り替えれたらよかった。

Ubuntu 14.04でのJabRef 3.0のインストール手順

Ubuntu 14.04が標準でAPTでインストールできるJabRefは2.10beta2となっている。バージョンが古いので自分でJabRefをインストールしたほうがよい。

JabRefは3.0になってJava8を使うようになった。そのため、まず最初にJava8以降をインストールする。なお、現在Java9も公開されているようなので今後の更新も踏まえてこちらを使ってみる。

Ubuntu 14.04の標準ではJava7がAPTで提供されている。最新版がほしければ非公式のwebupd8teamのリポジトリを使う。

sudo add-apt-repository ppa:webupd8team/java
sudo apt update
sudo apt install -y oracle-java9-installer

参考: Install Oracle Java 8 In Ubuntu Or Linux Mint Via PPA Repository [JDK8] ~ Web Upd8: Ubuntu / Linux blog

2017-02-02追記開始

Java9だとJabRef(3.4あたりから)の挙動がおかしい。例えば,[Options]→[Preferences]が開けなかったりする。やはりJava8を使ったほうがいい。JabRef 3.8.2だとJava8を使えばちゃんと動いた。

sudo apt install -y oracle-java8-installer

2017-02-02追記終了

続いてJabRef 3.0をインストールする。以下のSourceForgeでJabRef 3.0のjarファイルをダウンロードして使用する。なお、Windows版はSourceForgeで配布されているインストーラーでJava8のインストールも自動で簡単に行える。

配布元:JabRef - Browse Files at SourceForge.net

mkdir -p ~/.local/opt/JabRef
cd ~/.local/opt/JabRef
wget -nc http://sourceforge.net/projects/jabref/files/v3.0/JabRef-3.0.jar
## ランチャーに登録するために一旦JabRef 3.0を起動する。
java -jar JabRef-3.0.jar

Ubuntuでは、debファイルを使わずに外部からインストールしたとき、標準ではDASHで検索したりランチャーに登録するできない。自分でDesktopファイルを用意する必要がある。しかし、今回は上記の最後で起動するとランチャーにアイコンが表示されており、ここで以下の操作でランチャーに登録できた。

[ランチャーを右クリック]→[Lock to Launcher]

上記操作で以下の場所にDesktopファイルが自動的に生成されたようだ。このおかげでDASHからも検索できる。

~/.local/share/applications/net-sf-jabref-jabrefmain.desktop

このファイルの内容は、例えば以下のようになっている。

[Desktop Entry]
Encoding=UTF-8
Version=1.0
Type=Application
Name=JabRef - /home/senooken/Copy/ref/bibfile/mybib.bib
Icon=net-sf-jabref-jabrefmain
Path=/home/senooken/.local/opt/JabRef
Exec=java -jar JabRef-3.0.jar
StartupNotify=false
StartupWMClass=net-sf-jabref-JabRefMain
OnlyShowIn=Unity;
X-UnityGenerated=true

Nameキーはランチャーを右クリックしたときやマウスホバーしたときのツールチップとして表示されるので、例えば以下のように修正する。

NAME=JabRef

JabRef本体へのPATHは通していないので、ターミナルからjabrefと入力しても起動されないので注意する。

これでUbuntu 14.04へのJabRef 3.0のインストールは完了した。メジャーバージョンアップしたばかりなので、まだバグや不具合に出くわす可能性が高いので注意して使おう。

デスクトップにショートカットを作成

2016-07-10追記

現時点での最新のJabRefのバージョンは3.4だが,画面の表示が乱れている。安定しているのは3.3なので,これを使うことを勧める。

Javaがインストールされていれば,ダウンロードした[JabRef-3.3.jar]ファイルなどで[右クリック]→[Open With Oracle Java9 Runtime]でもJabRefを起動できる。しかし,この場合はMozcなどのIMEがきかなくなり,日本語入力できない。日本語入力するには,前述の通りコマンドラインから起動してからランチャーに登録する必要がある。

java -jar JabRef-3.3.jar

JabRef-3.3を使って,ランチャーの存在しないLinux Mintなどのために,デスクトップにショートカットを貼る方法を記す。

Linux Mintのようにランチャーが存在しない場合,デスクトップにショートカットアイコンを配置しておけば,すぐにJabRefを起動できて便利だ。

この場合,desktopファイルを自作する。基本的には既に示したサンプルで,PathExecで指定するバージョンを変えるだけでよいだろう。また,JabRefのアイコンは,JabRef-3.3.jarファイルを解凍して確認できる,JabRef-3.3/images/icons/abRef-icon-mac.svgを使うとよい。SVGファイルであれば,拡大してもぼやけないので一番汎用性が高い。同じディレクトリに存在するJabRef-icon.svgは余白があるので使いにくい。

例えば,バージョン3.3を使うなら,以下のコマンドでdesktopファイルを作成できる。

mkdir -p ~/.local/opt/JabRef
cd ~/.local/opt/JabRef
VER=3.3
wget -nc http://sourceforge.net/projects/jabref/files/v$VER/JabRef-$VER.jar
unzip -o JabRef-$VER.jar -d JabRef-$VER
cp JabRef-$VER/images/icons/JabRef-icon-mac.svg ~/.local/share/icons/net-sf-jabref-jabrefmain.svg
cat <<- EOF > ~/.local/share/applications/net-sf-jabref-jabrefmain.desktop
[Desktop Entry]
Encoding=UTF-8
Version=1.0
Type=Application
Name=JabRef
Icon=net-sf-jabref-jabrefmain
Path=$HOME/.local/opt/JabRef
Exec=java -jar JabRef-$VER.jar
StartupNotify=false
StartupWMClass=net-sf-jabref-JabRefMain
OnlyShowIn=Unity;
X-UnityGenerated=true
EOF

そして,最後に以下のコマンドで,desktopファイルに実行権限を付与してから~/Desktopにdesktopファイルのシンボリックリンクを貼ればよい。なお,Ubuntuユーザーなどで,ランチャーの他にデスクトップにもショートカットを登録したければ,ここだけやればよい。

chmod +x ~/.local/share/applications/net-sf-jabref-jabrefmain.desktop
ln -sf ~/.local/share/applications/net-sf-jabref-jabrefmain.desktop ~/Desktop/

実行権限を付与していない場合,デスクトップに作成されるファイル名はnet-sf-jabref-jabrefmain.desktopとなり,ダブルクリックで実行しようとすると以下のエラーメッセージが出て起動できない。

Untrusted application launcher
The application launcher "net-sf-jabref-jabrefmain.desktop" has not been marked as trusted. If you do not know the source of this file, launching it may be unsafe.

ランチャーに登録したJabRefのバージョン更新時に注意が必要だ。ランチャーのJabRefを解除して,新しいバージョンのJabRefを起動してランチャーに登録しても,バージョンが変わらない。これは最初に作成したdesktopファイルが残っているからだ。そのため,ランチャーのJabRefを更新する場合,以下のどちらかの方法で行う。

  1. ~/.local/share/applications/net-sf-jabref-jabrefmain.desktopを直接編集。
  2. ~/.local/share/applications/net-sf-jabref-jabrefmain.desktopを削除してランチャーを再登録。

1.のdesktopファイルを直接編集する場合は,desktopファイルのExec欄のバージョン番号を変更すればよいだろう。

Exec=java -jar JabRef-3.3.jar

2.のdesktopファイルを削除するには,例えば以下のコマンドを実行すればよい。

rm ~/.local/share/applications/net-sf-jabref-jabrefmain.desktop

これでデスクトップにJabRefのショートカットを作れるので,ランチャーの存在いないデスクトップ環境でも素早くJabRefを起動できるだろう。

0 件のコメント:

コメントを投稿