注意: この記事の内容はRStudio 1.0.143までが対象です。RStudio 1.0.153以降の記事はこちらです。
RStudio 1.0リリースおめでとうございます!
Ubuntu 14.04 + Fcitx + RStudio 0.99で日本語を入力する方法は本当にUbuntu 14.04でしか使えなかったので、今回あらためて調査してみました。
相変わらずQtのバージョンが5.4.0と低すぎるので、Ubuntu 16.04にインストールしてFcitxを使用しようとすると、RStudioをUbuntu 16.04のQtでビルドし直すか、fcitx-qt5をQt 5.4.0でビルドするかの方法しかなく、正直前者のほうが簡単のような気がしますが、リリース頻度を考えると現実的ではありません。というわけで後者のアプローチで挑戦してみました。
御託はいいという方のために、まずはインストール方法の紹介からです。プラットフォームはUbuntu 16.04の64bit版で、Rstudioのバージョンは1.0.44です。バージョンが異なる場合は適宜読み替えてください。
1. RStudioをダウンロード
ダウンロードページからダウンロードしてください。
2. インストール
Ubuntu 16.04ではaptコマンドを使えばローカルにあるパッケージのインストールができるので、この機能を使用します。
$ cd (ダウンロードフォルダー)
$ sudo apt install ./rstudio-1.0.44-amd64.deb
前に試したときと比べて大量の追加パッケージが必要になっているのが興味深いです。それだけ機能が増えているということでしょうか。
3. fcitx-qt5をダウンロード&展開&インストール
めんどいのでwgetで取得します。
$ wget
http://ikuya.info/tmp/fcitx-qt5-rstudio.tar.gz
$ tar xf fcitx-qt5-rstudio.tar.gz
$ cd fcitx-qt5-rstudio
$ sudo apt install ./fcitx-frontend-qt5-rstudio_1.0.5-1_amd64.deb ./libfcitx-qt5-1-rstudio_1.0.5-1_amd64.deb
ちなみにfcitx-qt5-rstudio.tar.gzのsha256は84375fba843257d2f91af646e5196bba9f6dcfb79170c543646d7c9840c9a94fです。
4. RStudioを起動する
Fcitxが起動することを確認してください。
なお、fcitx-qt5-rstudio.tar.gzにはソースコードも含まれています。ここからビルドする方法を紹介します。
ビルドする場合は、別途仮想マシンなりコンテナなりに環境を作ることを強く強くオススメします。
1. Qtを取得する
Qtをダウンロードするシェルスクリプトを読めば取得方法はすぐにわかりますが、今回は64bit版を例にします。
$ wget https://s3.amazonaws.com/rstudio-buildtools/QtSDK-5.4.0-x86_64.tar.gz
2. 展開する
別にどこでもいいんですけど、今回は/opt以下にしました。
$ sudo tar xf QtSDK-5.4.0-x86_64.tar.gz -C /opt
3. fcitx-qt5をダウンロード&展開
めんどいのでwgetで取得します。
$ wget
http://ikuya.info/tmp/fcitx-qt5-rstudio.tar.gz
$ tar xf fcitx-qt5-rstudio.tar.gz
$ cd fcitx-qt5-rstudio
ちなみにfcitx-qt5-rstudio.tar.gzのsha256は84375fba843257d2f91af646e5196bba9f6dcfb79170c543646d7c9840c9a94fです。
4. ビルドに必要なパッケージをインストールする
これでいいはずですが検証していません。
$ sudo apt install build-essential
$ sudo apt build-dep fcitx-qt5
5. ビルドする
$ dpkg-buildpackage -r -uc -b
6. 必要なパッケージをコピーする
インストールするパッケージはfcitx-frontend-qt5-rstudio_1.0.5-1_amd64.debとlibfcitx-qt5-1-rstudio_1.0.5-1_amd64.debだけです。これ以外は
絶対にインストールしないでください。
想定される質問とその答え:
Q. RStudioをアンインストールしたいんですが
A. 事前にfcitx-frontend-qt5-rstudioとlibfcitx-qt5-1-rstudioをアンインストールするのが望ましいですが、別に忘れていても大丈夫なはずです。自動的に削除対象になるはずですがならなかったらごめんなさい。
Q. Ubuntu XX.XX版のパッケージは公開しないのですか?
A. しません。必要であればご自分でビルドしてください。ビルドするQtのバージョンが上がったら再検証を行いますので教えてくれると嬉しいです。
Q. Ubuntu 16.10でインストールできますか?
A. 確認していませんがたぶんできないと思います。
Q. XXで挙動がおかしいのですが
A. わかりませんごめんなさい。
Q. ビルドできないのですが?
A. 記述ミスであればご連絡いただければ修正します。私にやってほしいという場合はメールにてご相談ください。Amazonギフト券1000円分くらいでお引き受けできるのではないかと思います。
ちなみに変更点は以下のとおりです。
diff -urN fcitx-qt5-1.0.5/debian/control fcitx-qt5-1.0.5-rstudio/debian/control
--- fcitx-qt5-1.0.5/debian/control 2015-10-30 18:38:17.000000000 +0900
+++ fcitx-qt5-1.0.5-rstudio/debian/control 2016-11-02 18:58:13.248813895 +0900
@@ -8,19 +8,17 @@
extra-cmake-modules (>= 1.4.0),
fcitx-libs-dev (>= 1:4.2.8),
intltool,
- pkg-config,
- qtbase5-dev,
- qtbase5-private-dev
+ pkg-config
Standards-Version: 3.9.6
Homepage: http://www.fcitx-im.org
Vcs-Git: git://anonscm.debian.org/pkg-ime/fcitx-qt5.git
Vcs-Browser: http://anonscm.debian.org/gitweb/?p=pkg-ime/fcitx-qt5.git
-Package: fcitx-frontend-qt5
+Package: fcitx-frontend-qt5-rstudio
Architecture: any
Multi-Arch: same
Pre-Depends: ${misc:Pre-Depends}
-Depends: fcitx-module-dbus, ${misc:Depends}, ${shlibs:Depends}
+Depends: fcitx-module-dbus, ${misc:Depends}, ${shlibs:Depends}, rstudio, libfcitx-qt5-1-rstudio
Description: Free Chinese Input Toy of X - Qt5 IM Module frontend
Fcitx is the Free Chinese Input Toy of X, which was initially designed
for Chinese users, and used XIM protocol. Now it has already evolved
@@ -45,7 +43,7 @@
Description: transitional dummy package
This is a transitional dummy package. It can safely be removed.
-Package: libfcitx-qt5-1
+Package: libfcitx-qt5-1-rstudio
Architecture: any
Multi-Arch: same
Pre-Depends: ${misc:Pre-Depends}
diff -urN fcitx-qt5-1.0.5/debian/fcitx-frontend-qt5-rstudio.install fcitx-qt5-1.0.5-rstudio/debian/fcitx-frontend-qt5-rstudio.install
--- fcitx-qt5-1.0.5/debian/fcitx-frontend-qt5-rstudio.install 1970-01-01 09:00:00.000000000 +0900
+++ fcitx-qt5-1.0.5-rstudio/debian/fcitx-frontend-qt5-rstudio.install 2016-11-02 18:28:49.644966838 +0900
@@ -0,0 +1 @@
+opt/Qt5.4.0/5.4/gcc_64/plugins/platforminputcontexts/libfcitxplatforminputcontextplugin.so usr/lib/rstudio/bin/plugins/platforminputcontexts/
diff -urN fcitx-qt5-1.0.5/debian/fcitx-frontend-qt5.install fcitx-qt5-1.0.5-rstudio/debian/fcitx-frontend-qt5.install
--- fcitx-qt5-1.0.5/debian/fcitx-frontend-qt5.install 2015-10-30 18:38:17.000000000 +0900
+++ fcitx-qt5-1.0.5-rstudio/debian/fcitx-frontend-qt5.install 1970-01-01 09:00:00.000000000 +0900
@@ -1 +0,0 @@
-usr/lib/*/qt5
diff -urN fcitx-qt5-1.0.5/debian/libfcitx-qt5-1-rstudio.install fcitx-qt5-1.0.5-rstudio/debian/libfcitx-qt5-1-rstudio.install
--- fcitx-qt5-1.0.5/debian/libfcitx-qt5-1-rstudio.install 1970-01-01 09:00:00.000000000 +0900
+++ fcitx-qt5-1.0.5-rstudio/debian/libfcitx-qt5-1-rstudio.install 2016-11-02 18:50:49.061389459 +0900
@@ -0,0 +1 @@
+usr/lib/*/libFcitxQt5*.so.* usr/lib/rstudio/bin/
diff -urN fcitx-qt5-1.0.5/debian/libfcitx-qt5-1.install fcitx-qt5-1.0.5-rstudio/debian/libfcitx-qt5-1.install
--- fcitx-qt5-1.0.5/debian/libfcitx-qt5-1.install 2015-10-30 18:38:17.000000000 +0900
+++ fcitx-qt5-1.0.5-rstudio/debian/libfcitx-qt5-1.install 1970-01-01 09:00:00.000000000 +0900
@@ -1 +0,0 @@
-usr/lib/*/libFcitxQt5*.so.*
diff -urN fcitx-qt5-1.0.5/debian/rules fcitx-qt5-1.0.5-rstudio/debian/rules
--- fcitx-qt5-1.0.5/debian/rules 2015-10-30 18:38:17.000000000 +0900
+++ fcitx-qt5-1.0.5-rstudio/debian/rules 2016-11-02 18:14:55.890254321 +0900
@@ -9,5 +9,9 @@
%:
dh $@ --parallel --fail-missing
+override_dh_auto_configure:
+ dh_auto_configure -- \
+ -DCMAKE_PREFIX_PATH=/opt/Qt5.4.0/5.4/gcc_64/
+
override_dh_strip:
dh_strip --dbg-package=libfcitx-qt5-dbg
ポイントはdebian/rulesに追加した4行で、それ以外は正直どうでもいいです。パッケージにしたほうが管理しやすいかなと思うので体裁を整えているだけです。
ここから下は読まなくてもいいですが、私は統計のことは全く知りませんし、買った本もどっか行ってしまって発掘せねばと思っていますし、RStudioも自分では全く使わないのですが、このように入れ込む理由としては、この手のものは最近いろいろ登場しているらしいですが、やはりオープンソースであるものが望ましいと思うのです。正確さを期すためにソースまでたどって検証できるものに普及してほしいのです。
そして、そういうものはできればオープンソースなOSで使ってほしいとも思います。立場的にもその筆頭はUbuntuになるわけですが、Qtのバージョンが低すぎてFcitxが使えないというのであれば、それは私がなんとかするのが一番手っ取り早いのではなかろうかということなのです。前からこの方法で行けるのではないかという目星はつけていたのですが、実際にやってみるとやはり想定していなかったことはありまして、cmakeの知識がなさすぎて困りました。
RStudio Serverを使えばQtのことを気にしなくてもいいらしいので、そちらでもいいですし、やはりデスクトップでも使いたい場合はこの方法を試してもらい、存分にオープンソースなOS、特にUbuntu上でRStudioを使ってほしいです。