2017年3月25日土曜日

5: UNO拡張機能(LibreOffice拡張機能またはApache OpenOffice拡張機能)を開発するための環境を構築する、Linux編、パート2

<このシリーズの、前の記事 | このシリーズの目次 | このシリーズの、次の記事>

Main body START

UNO拡張機能を開発するための環境を構築する、Linux編、パート2

-Hypothesizer

第3に、Oracle JDKをインストールする。Oracle JDKは、OSの公式なパッケージリポジトリに含まれていないので、ここでは、PPA(Private Package Archive、つまり、非公式なパッケージリポジトリ)を使う。add-apt-repositoryコマンドとapt-getコマンドを使って、以下のようにインストールできる。

sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java8-installer
-Rebutter

別の方法では、どのようにOracle JDKをインストールできるのか?他のLinuxディストリビューションではどうか?

-Hypothesizer

PPAsを使うことが選択肢にないのであれば、tar.gzファイルをOracleのWebサイトからダウンロードして、そのファイルを使ってインストールできる。. . . 他のディストリビューションの場合、Oracle JDKがOSの公式または非公式なパッケージリポジトリに含まれていれば、それを使うことができる。または、OracleのWebサイトからrpmまたはtar.gzファイルをダウンロードしてそのファイルを使ってインストールできる。

-Rebutter

ほほう。

-Hypothesizer

次に、JDKのバイナリーディレクトリをOSのコマンドパスに追加し、必要な環境変数を1つ設定する。実際には、このプラットフォームでは、必要なJDKコマンドへのシンボリックリンクが/usr/binに自動的に作られるため、JDKのバイナリーディレクトリはOSコマンドパスに追加する必要がない。そうでない場合は、それを任意の方法で追加する。環境変数については、ここでは、bash(Unixシェルの1つ)が使われており、環境変数を、システム全体で有効な.bashrcファイル(/etc/bash.bashrc)に設定する。または、それを他の任意の方法で設定する。. . . . ここでは、以下を、.bashrcの先頭に設定する。

export JAVA_HOME=$(readlink -f $(which javac) | sed "s/\/bin\/javac$//")
-Rebutter

. . . それは、何をやっているのか?

-Hypothesizer

javacシンボリックリンクの元パスを取得して、必要な部分を抽出している。

-Rebutter

ふむ、 . . . 分かった。

-Hypothesizer

新しくターミナルを開くと、そのターミナルの環境に設定が反映されているはずだ。

-Rebutter

オーケー。

-Hypothesizer

第4に、Antをインストールする。Antを使わない場合、これは不要だ。Lubuntu 16.04の場合、Antは、OSのパッケージリポジトリに含まれている。したがって、apt-getコマンドを使って以下のようにしてインストールできる。

sudo apt-get install ant
-Rebutter

オーケー。

-Hypothesizer

次に、AntのバイナリーディレクトリをOSのコマンドパスに追加し、必要な環境変数を1つ設定する。実際には、このプラットフォームでは、必要なAntコマンドへのシンボリックリンクが/usr/binに自動的に作られるため、AntのバイナリーディレクトリはOSコマンドパスに追加する必要がない。そうでない場合は、それを任意の方法で追加する。環境変数については、ここでは、ユーザー別の.bashrcファイル(~/.bashrc)に設定する。または、それを他の任意の方法で設定する。. ここでは、以下を、.bashrcの先頭に設定する。

export ANT_HOME=$(readlink -f $(which ant) | sed "s/\/bin\/ant$//")

新しくターミナルを開くと、そのターミナルの環境に設定が反映されているはずだ。

-Rebutter

オーケー。

-Hypothesizer

第5に、Gradleをインストールする。Gradleを使わない場合、これは不要だ。. . . Gradleは、Gradleのダウンロード用Webページからダウンロードできる。ここでは、バイナリーのみ版zipファイルをダウンロードする。任意のディレクトリ(ここでは、~/my-applications/binとする)を作成し、ダウンロードしたzipファイルをそこに展開する。

-Rebutter

分かった。

-Hypothesizer

次に、GradleのバイナリーディレクトリをOSのコマンドパスに追加し、必要な環境変数を1つ設定する。ここでは、OSコマンドパスと環境変数を、ユーザー別の.bashrcファイル(~/.bashrc)に設定する。または、それらを他の任意の方法で設定する。. ここでは、以下を、.bashrcの先頭に設定する。

export GRADLE_HOME=~/my-applications/bin/gradle-3.1
export PATH=$GRADLE_HOME/bin:$PATH

新しくターミナルを開くと、そのターミナルの環境に設定が反映されているはずだ。

-Rebutter

なるほど。

-Hypothesizer

第6に、LibreOfficeが使用するJavaランタイムを設定する。. . . これは以下のように設定できる(LibreOfficeのユーザーインターフェースはその言語設定によって変わる。ここでは「英語の場合(日本語の場合)」の形で表記)。LibreOffice Calcを起動する−>メニューの「Tools(ツール)」をクリックする−>「Options(オプション)」をクリックする−>「Advanced(詳細)」をクリックする−>「Use a Java runtime environment(Java実行環境を使用)」にチェックを入れる−>先ほどインストールしたOracle JREを選択する−>「OK」をクリックする。

-Rebutter

オーケー。

-Hypothesizer

第7に、これは必須ではないが、wmctrl(EWMHおよびNetWM互換のX Windowウィンドウマネージャーでウィンドウを制御するために使われるコマンド)をインストールする。このシリーズで使われているAntのビルドファイルおよびGradleのビルドスクリプトでは、UNO拡張機能をLibreOfficeにインストールする前にLibreOfficeをきれいに終了させる(LibreOfficeが終了する前に、開いているファイルをユーザーが閉じられるようにするという意味)ためにwmctrlが使われている。wmctrlがインストールされていない場合は、ビルドは、LibreOfficeが終了するまでただ待つので、ユーザーは、手動でLibreOfficeを終了させればよい。

-Rebutter

ふーむ、UNO拡張機能をLibreOfficeにインストールする前には、LibreOfficeを終了させなければならないのか?

-Hypothesizer

実際には、LibreOfficeの動作中にLibreOfficeのメニュー項目を使ってUNO拡張機能をLibreOfficeにインストールできるのだが、 どのみち、UNO拡張機能を使用可能にするには、インストール後にLibreOfficeを再起動しなければならない。

-Rebutter

なるほど。

-Hypothesizer

これで、Linux上でUNO拡張機能を開発する環境ができた。

Main body END

References

  • Oracle. (n/a). Java SE Downloads. Retrieved from http://www.oracle.com/technetwork/java/javase/downloads/index.html
  • The Apache Software Foundation. (n/a). Binary Distributions. Retrieved from http://ant.apache.org/bindownload.cgi
  • Gradle Inc. (n/a). Download Gradle 3.1. Retrieved from https://gradle.org/gradle-download/
  • Wikipedia. (2016/07/21). wmctrl. Retrieved from https://en.wikipedia.org/wiki/Wmctrl

<このシリーズの、前の記事 | このシリーズの目次 | このシリーズの、次の記事>