日本語入力(PRJ-330)に対応したJetbrains ProjectorのDockerイメージの作成方法
はじめに
JetbrainsのProjectorが2021年5月20日に日本語入力に対応したようです。
この記事では、最新のprojector-client
を含んだProjectorのDockerイメージの作成方法を示します。
追記2
- 7月6日に入力方式のデフォルトがLEGACYからIMEに戻った
- Macの入力も修正されているようなので・・・日本語入力は改善されているかもしれません。(未検証
追記
projector-server
のgradle.properties
のprojectorClientVersion=d70818f7
を0620d90
に変更することでprojector-client
の用意は必要ありません。
この0620d90
はprojector-client
のコミットIDです。
なので、試すだけであれば以下の流れで簡単にできます。
$ git clone https://github.com/JetBrains/projector-docker.git
$ git clone https://github.com/JetBrains/projector-server.git
$ vim projector-server/gradle.properties # projectorClientVersion=d70818f7 → projectorClientVersion=0620d90
# 必要であればprojector-serverを修正してフォントを追加したり・・・
$ cd projector-docker
$ ./build-container.sh projector-webstorm:2021.1.1 https://download.jetbrains.com/webstorm/WebStorm-2021.1.1.tar.gz
$ docker run -it --rm -p 8887:8887 projector-webstorm:2021.1.1
# ブラウザから http://{起動させたホストIP}:8887/ にアクセス ※ FireFoxだとキー入力が出来ない・・・?
使用した環境
OS: ubuntu 20.04
手順
概要
- ProjectorのDockerイメージを作成するために必要なGitをクローン
-
projector-docker
を使用してビルドするための修正 -
Projector-server
を必要に応じて改造 -
projector-docker
でビルド
ProjectorのDockerイメージを作成するために必要なGitをクローン
projector-docker
を使用して任意のprojector-server
とprojector-client
を含んでDockerイメージを作成するためには、それぞれを同じディレクトリにクローンしておく必要があります。
$ git clone https://github.com/JetBrains/projector-server.git
$ git clone https://github.com/JetBrains/projector-client.git
$ git clone https://github.com/JetBrains/projector-docker.git
projector-dockerを使用してビルドするための修正
projector-docker
を使用してDockerイメージを作成する際にはprojector-server
の設定の変更と、projector-docker
がビルド時に任意のprojector-client
を使えるようにDockerfile
の修正が必要です。
projector-serverの設定変更
projector-server
のREADMEにこう書いてあります。
By default, a proper revision of projector-client:projector-common at GitHub will be used as a dependency. If you want to use local projector-client, please specify a special local property. You can find an example in local.properties.example file.
とりあえず、local.properties.example
にはローカルのprojector-client
を使用するための設定であるuseLocalProjectorClient=true
が宣言されているので、local.properties.example
をそのままコピーして使います。
$ cp projector-server/local.properties.example projector-server/local.properties
projector-dockerのDockerfileの修正
projector-docker
のDockerfile
にはprojector-client
が含まれていないため、このままだとビルドできません。
なので、projector-client
が含まれるようにDockerfile
を修正します。
$ git diff Dockerfile
diff --git a/Dockerfile b/Dockerfile
index 3569637..0cdaade 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -31,6 +31,7 @@ ENV PROJECTOR_DIR /projector
# projector-server:
ADD projector-server $PROJECTOR_DIR/projector-server
+ADD projector-client $PROJECTOR_DIR/projector-client
WORKDIR $PROJECTOR_DIR/projector-server
ARG buildGradle
RUN if [ "$buildGradle" = "true" ]; then ./gradlew clean; else echo "Skipping gradle build"; fi
projector-serverを必要に応じて改造
ProjectorのデフォルトフォントはNotoフォントになったので日本語の表示は問題ありません。
もし任意のフォントを入れたい場合は以下の記事を参考にして修正してみてください。
projector-dockerでビルド
projector-docker
のbuild-container.sh
を使用してDockerイメージをビルドします。
build-container.sh [containerName [ideDownloadUrl]]
Compiles Projector inside Docker and builds a Docker container locally.
build-container.sh
は引数なしだとIntelliJ IDEA Community
で作成されます。
今回は自分がよく使うWebStorm
の2021.1.1
にしておきます。
それぞれのIDEのバージョンおよびファイルのURLは公式のダウンロードページ等を参照してください。
$ cd projector-docker
$ ./build-container.sh projector-webstorm:2021.1.1 https://download.jetbrains.com/webstorm/WebStorm-2021.1.1.tar.gz
動作確認
出来上がったDockerイメージを起動してみます。
docker run -it --rm -p 8887:8887 projector-webstorm:2021.1.1
ブラウザからアクセスします。
※ FireFoxだと入力が伝わらなかったのでChromium版Edgeで試しています
http://{起動させたホストIP}:8887/
日本語を打ち込めることが確認できました。
最後に
あとはIMEサポートが組み込まれたバージョンの正式リリースを待ちましょう。
ついでにサーバー上で運用する方法を考えればどこからでも使える自分だけの開発環境の完成です。
Dockerイメージをベースにいろいろパッケージを追加したDockerイメージを作って・・・Kubernetes上で・・・IngressにSSLを適用して・・・Ingressに認証を付け加えて・・・いける気がする!
↓ やりました
- SSLはすでに使っていたので省略
- 以下を参考にIngressにOAUTH2を導入し、アクセス範囲を所持するドメインの範囲のメアドに限定
- ホストの特定のディレクトリをhomeディレクトリとして使用するように設定
-
projector-docker
のDockerfile
を編集してvim, wget, curl, jq
をインストールするようにした - GoはIDEで入れればいい ->
~/go
に入る- GoLandの
Add SDK
ではなんかエラーして入らなかった- Go言語の公式からtar.gzをダウンロードしてきて
~/go/go{version}
に配置して利用
- Go言語の公式からtar.gzをダウンロードしてきて
- GoLandの
- Nodeはnodebrewで入れればいい ->
~/.nodebrew
に入る
以上です。
Author And Source
この問題について(日本語入力(PRJ-330)に対応したJetbrains ProjectorのDockerイメージの作成方法), 我々は、より多くの情報をここで見つけました https://qiita.com/0141KoppePan/items/81ba156648ccdbf32e75著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .