# ターミナル機能

Monaca クラウド IDE にはターミナル機能が備わっています。ターミナル機能は、プレビュー用アプリケーションを表示するための HTTP サーバーを実行するために使用されます。また、Linux コンテナを通じてプロジェクトを操作することもできます。

この章では、Monaca クラウド IDE の持つターミナル機能について説明します。

{% hint style="info" %}
ターミナル機能は、有料プランから利用することができます。
{% endhint %}

## ターミナル機能とは

ターミナル機能は、下記の 2 つのコンソール画面から構成されます。

1. `プレビューログ` タブ: プレビュー画面を表示するための HTTP サーバーが出力されます
2. `ターミナル` タブ: 任意のコマンド（ git、npm、cordova、monaca や多くの UNIX コマンド ）を実行するためのターミナル画面です。

クラウド IDE が開始されると、Linux コンテナが自動的に作成されます。コンテナは複数のユーザーで共有されるため、一部のコマンドや操作に制限が加わっています。

クラウド IDE を閉じると、コンテナも削除されます。コンテナ内のデータが削除されることを防ぐため、次の章をお読みください。

### ストレージとディレクトリ

コンテナ内で作成されるファイルは、下記のディレクトリを除きコンテナが削除された際に失われます。

* `/home/terminaluser`: ユーザーのホームディレクトリ。すべてのプロジェクトで共有されます
* `/project`: プロジェクトのルートディレクトリ

## ターミナル機能を使う

### ターミナルの起動

はじめて Monaca クラウド IDE でプロジェクトを開いた際に、下記の設定が自動的に適用されます。

* `package.json` が含まれる場合は `npm install` が実行され、必要な NPM モジュールが組み込まれます。

### プレビューログとプレビューサーバー

プレビューログのタブには、プレビューサーバーの出力が表示されます。デフォルトでは `monaca preview` コマンドが使用されますが、歯車アイコンをクリックすることでプレビューサーバーの設定を変更することができます。

![](https://3046938759-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MfWrOnV1iKerkfShm9O%2F-Mh-3IDTRu2DKoVfgiX-%2F-Mh-4AS6kolARGJkIDQi%2Fimage.png?alt=media\&token=8349f272-775f-4e9b-a710-fcb1177e09fc)

プレビューサーバーが HTTP リクエストを受け付けると、プレビューアプリが読み込まれます。デフォルトのポート番号は `8080` となりますが、 `8081` から`8084` までの範囲で変更できます。

![](https://3046938759-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MfWrOnV1iKerkfShm9O%2F-Mh-3IDTRu2DKoVfgiX-%2F-Mh-4DcoRMeCh6R1ppBv%2Fimage.png?alt=media\&token=703abae0-5d18-432d-bc55-c5f8448ff4cb)

### 新しいターミナルを開く

新しいターミナル画面を開くには、プラスボタンをクリックし、 `新規ターミナル`を選択します。

![](https://3046938759-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MfWrOnV1iKerkfShm9O%2F-Mh-3IDTRu2DKoVfgiX-%2F-Mh-4JDrPr_1rGGpdqTL%2Fimage.png?alt=media\&token=ada5e4cb-41ee-43cc-bb8c-b57b7fd55e17)

### ターミナルのカスタマイズ

ターミナル機能は [Tmux](https://github.com/tmux/tmux/wiki) と呼ばれるターミナルマルチプレクサーを用いています。デフォルトの Tmux 設定を変更するには、 `~/.tmuxrc` ファイルを編集してください。

ターミナル機能の設定の変更は、**`設定 → ワークスペース設定`**&#x304B;ら行えます。

![](https://3046938759-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MfWrOnV1iKerkfShm9O%2F-Mh-3IDTRu2DKoVfgiX-%2F-Mh-4Ql6L98JJmP4pP6I%2Fimage.png?alt=media\&token=24ab9a02-fa33-49c6-af7c-8d1258f1c6d6)

### スクロールモード

ターミナル画面をスクロールした際に、右上に行番号が表示されます。これは `スクロールモード` であることを表しています。スクロールモードから戻るには、 `Ctrl-C` や `ESC` キーをタイプしてください。

![](https://3046938759-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MfWrOnV1iKerkfShm9O%2F-Mh-3IDTRu2DKoVfgiX-%2F-Mh-4T_3p_zmi6NQE8AA%2Fimage.png?alt=media\&token=9c2607ee-3db1-4a86-9e18-2d49591f1492)

## よくある質問 / トラブルシューティング

いくつか既知の不具合や制限があります。

### Ad ブロッカーを設定したブラウザー

ターミナル機能は、サードパーティ Cookie を使用しています。そのため、一部のブラウザー拡張（ Ad ブロッカー等 ）やブラウザーの設定が有効になっていると、ターミナル機能を利用することができません。その場合は、Ad ブロッカーの設定を無効にし、サードーパーティ Cookie を有効にしてください。

### Safari での接続不具合

Safari で Cookie やクロスサイトトラッキングに関するエラーメッセージが表示される場合は、次のように設定を無効化してください。

1. Safariを開き、**`環境設定 → プライバシー`** .
2. Cookie のブロックが無効化され、トラッキングが許可されていることを確認してください。 プライバシータブは、Safari バージョンによって異なって見える場合があります。

![Safari v. 11.1.X](https://3046938759-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MfWrOnV1iKerkfShm9O%2F-Mh-3IDTRu2DKoVfgiX-%2F-Mh-4_ZI7SP0U-vnXbEJ%2Fimage.png?alt=media\&token=b8791643-1763-427e-b7e6-88441ce630a9)

![Safari v. 11.0.X](https://3046938759-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MfWrOnV1iKerkfShm9O%2F-Mh-3IDTRu2DKoVfgiX-%2F-Mh-4eTigB1jdj-D5PtM%2Fimage.png?alt=media\&token=0560559d-96a4-45a0-9016-2a4ba136a4f9)

### 機能の制限

いくつかのコマンドや操作やセキュリティの理由から制限されています。問題が見つかった場合は、Monaca チームにお問い合わせください。
