Ubuntu Weekly Recipe

第527回 UbuntuにRStudioをインストールする方法

この記事を読むのに必要な時間:およそ 7 分

RStudioのインストール

FLOSS版のRStudioには2種類のリリースが存在します。ひとつはデスクトップアプリケーションとして動作するRStudio Desktop,もうひとつがサーバーアプリケーションとして動作するRStudio Serverです。デスクトップ版とサーバー版の主な違いは,GUIアプリケーションとして動作するかウェブブラウザーから操作するかの違いだけで,オープンソース版を個人で使う限りできることはほぼ変わらないと考えても良いでしょう。RStudioのサイトには商用版も含めた機能比較表が存在します※4)⁠

※4
FLOSS版のライセンスはどちらもAGPLv3です。また本記事では商用版については考慮していません。サポートが必要な場合や多人数が関わるプロジェクトで利用する場合,もしくは金銭的な形でプロジェクトに貢献をしたい場合は,商用版の利用を検討すると良いでしょう。

2018年7月上旬現在,RStudioには安定版である1.1.xプレビュー版である1.2.xの2系統が存在します。またプレビュー版のデイリービルドもあります。特に理由がなければ1.1.xを使うことになると思いますが,今から学習を始めるのであれば最初から1.2.xを使う選択肢でもいいかもしれません。本記事では1.1.xをベースに解説するものの,インストール手順としては1.2.xとの違いはないものと考えてください。

RStudio Desktopのインストール

デスクトップ版を使う利点はインストールのかんたんさと,起動していている間だけリソースを使用するという電力的なやさしさです。

しかしながらUbuntuの公式リポジトリにあるGUIアプリケーションと異なり,GUIツールキットであるQtやその他のライブラリーをパッケージの中に内包しているためインストールサイズは大きくなっています。またホストシステムとのバージョン不整合による問題,特に日本語入力関連の問題が発生しがちです。

インストール方法は最新のDebianパッケージをダウンロードしてインストールする,これだけです。

$ wget https://download1.rstudio.org/rstudio-xenial-1.1.453-amd64.deb
$ sudo apt install ./rstudio-xenial-1.1.453-amd64.deb

aptコマンドを使ってDebianパッケージをインストールすると依存関係まで含めてインストールしてくれます。またデスクトップ環境であればファイルブラウザーからDebianパッケージファイルをダブルクリックすることでUbuntuソフトウェアが起動しますので,そこからインストールしてもかまいません。

インストールしたらアクティビティから「rstudio」を検索することでデスクトップアイコンが表示されます。クリックすればRStudioが起動するはずです。よく起動するならアイコンを右クリックして「お気に入りに追加」を選んでおくと良いでしょう。

図1 公式版のRStudioのUIは英語のみだが,内部で日本語を表示することは可能

画像

Ubuntu 18.04 LTSとIBusの組み合わせであれば,1.1.xでも1.2.xでも特に問題なく日本語入力も可能です。古いUbuntuを使っていたりFcitxを使いたい場合は,本連載でもおなじみあわしろいくやさんのブログ記事やそこからたどれる過去記事を参照してください。

RStudio Serverのインストール

サーバー版の利点はローカルにRやRStudioをインストールする必要がなく,ネットワークとウェブブラウザーさえあればどの場所・システムからでも使えるという利便性です。またアカウント管理機能もあるので,複数人で同じRStudioを共用できます。サーバー側の潤沢なリソースを使ってRを動かしたい場合に便利です。

その反面,管理方法がデスクトップに比べると若干複雑です。常時起動するのか必要なときのみ起動するのか,ホスト名やTLS対応,アカウント管理はどうするのかなど考えるべきことはけっこうあります。けっこうあるものの,ただインストールして使うだけであればデスクトップ版とほぼ違いはありません。

ちなみにデスクトップ版での懸念点となる日本語入力もウェブブラウザーが対応していれば問題とはなりません,と言いたいところなのですが,日本語文字列を受け取るJavaScript側で問題となるケースもあるようです。

サーバー版の場合は,公式リポジトリにパッケージが存在しないため,RStudioのサイトのDebianパッケージをダウンロードしインストールします。なお,サーバー版であれば,たとえばRocker Projectが提供しているRStudioイメージなど,Docker用のイメージを使う方法もあります。これに関してはまた別の機会に。

$ wget https://download2.rstudio.org/rstudio-server-1.1.453-amd64.deb
$ sudo apt install ./rstudio-server-1.1.453-amd64.deb
(中略)
Created symlink /etc/systemd/system/multi-user.target.wants/rstudio-server.service → /etc/systemd/system/rstudio-server.service.
● rstudio-server.service - RStudio Server
   Loaded: loaded (/etc/systemd/system/rstudio-server.service; enabled; vendor preset: enabled)
   Active: active (running) since Sat 2018-07-07 18:21:52 JST; 1s ago
  Process: 13911 ExecStart=/usr/lib/rstudio-server/bin/rserver (code=exited, status=0/SUCCESS)
 Main PID: 13921 (rserver)
    Tasks: 3 (limit: 4483)
   CGroup: /system.slice/rstudio-server.service
           └─13921 /usr/lib/rstudio-server/bin/rserver

 7月 07 18:21:52 ubuntu-ax2 systemd[1]: Starting RStudio Server...
 7月 07 18:21:52 ubuntu-ax2 systemd[1]: Started RStudio Server.

インストールしたのちに,上記のようにサーバーが起動するところまで確認できれば,localhost:8787にアクセスします。もし別ホストにインストールしているのであれば「localhost」はそのホストのアドレスに置き換えてください。

図2 サーバー版はログイン画面が表示される

画像

ログインアカウントはそのマシンのアカウントが使われます。つまり普段マシンにログインする時と同じアカウント名・パスワードでログインしてください。

図3 ログイン後のUIはデスクトップ版とほぼ同じ

画像

図4 スマートフォンからもアクセスできる

画像

たとえばChromiumからアクセスすれば,Chromecast経由でTVにRStudioの様子を表示できるのです。

RStudio Serverはsystemdのユニットファイルが用意されています。よってsystemdの流儀でサービスを管理できます。

サービスを停止する
$ sudo systemctl stop rstudio-server.service

サービスを起動する
$ sudo systemctl start rstudio-server.service

自動起動を停止する
$ sudo systemctl disable rstudio-server.service

システム起動時に自動的に起動する
$ sudo systemctl enable rstudio-server.service

サービスのログを表示する
$ journalctl -u rstudio-server.service

サーバーそのものに関する設定は主に/etc/rstudio/rserver.confに記述します。たとえば待受ポートはwww-port=8080番ポートに変更できますし,auth-stay-signed-in-days=に任意の日数を指定することであるブラウザーからアクセスした際のログイン画面スキップ期間を30日間から変更できます

詳細はRStudio ServerのAdministration Guideを参照してください。商用版向けのドキュメントなのでFLOSS版では使えない機能にも言及していますが,ある程度は参考になるはずです。

著者プロフィール

柴田充也(しばたみつや)

Ubuntu Japanese Team Member株式会社 創夢所属。数年前にLaunchpad上でStellariumの翻訳をしたことがきっかけで,Ubuntuの翻訳にも関わるようになりました。

コメント

コメントの記入