

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# Linux イメージの日本語サポートを有効にする
<a name="enable-japanese-support-linux"></a>

このチュートリアルでは、Linux イメージの日本語サポートを有効にする方法について説明します。これにより、イメージ上のアプリケーションは日本語の文字を表示でき、ストリーミングユーザーはイメージからのストリーミングセッションで日本語入力方法を使用できるようになります。

**Topics**
+ [ステップ 1: 日本語フォントと入力方法をインストールする](#tutorial-japanese-font)
+ [ステップ 2: システムタイムゾーンを設定する](#tutorial-japanese-zone)
+ [ステップ 3: システムロケールと表示言語を設定する](#tutorial-japanese-locale)
+ [ステップ 4: 入力方法を設定する](#tutorial-japanese-input)
+ [ステップ 5: キーボードレイアウトを設定する](#tutorial-japense-keyboard)
+ [ステップ 6: Image Builder で検証を行う](#tutorial-japense-verify)
+ [ステップ 7: イメージを作成する](#tutorial-japanese-create)

## ステップ 1: 日本語フォントと入力方法をインストールする
<a name="tutorial-japanese-font"></a>

このステップでは、Linux Image Builder に接続し、任意のフォントパッケージと入力方法パッケージをインストールします。

**日本語フォントと入力方法をインストールするには**

1. 以下のいずれかを実行して、Image Builder に接続します。
   + [WorkSpaces アプリケーションコンソールを使用する](managing-image-builders-connect-console.md) (ウェブ接続のみ)
   + [ストリーミング URL を作成する](managing-image-builders-connect-streaming-URL.md) (ウェブまたは WorkSpaces アプリケーションクライアント接続用)
**注記**  
Amazon Linux GNOME デスクトップには ImageBuilderAdmin ユーザーとしてログインされ、ルート管理者権限が付与されます。

1. 必要なフォントと入力方法をインストールします。これを行うには、ターミナルアプリケーションを開き、次のコマンドを実行します。

   **sudo yum install vlgothic-p-fonts.noarch**

   **sudo yum install ibus-kkc.x86\$164**

1. 上記のコマンドに加えて、Rocky Linux および Red Hat Enterprise Linux では、次のコマンドを実行します。

   **sudo yum install glibc-langpack-ja**

## ステップ 2: システムタイムゾーンを設定する
<a name="tutorial-japanese-zone"></a>

システムタイムゾーンを設定するには、次のコマンドを実行します。

**sudo timedatectl set-timezone "Asia/Tokyo"**

## ステップ 3: システムロケールと表示言語を設定する
<a name="tutorial-japanese-locale"></a>

システムロケールと表示言語を設定するには、次のコマンドを実行します。

**システムロケールと表示言語を設定するには**

1. **sudo vim /etc/cloud/cloud.cfg** コマンドを実行して `cloud-init config` ファイルを更新し、[**ロケール**] を [**locale: ja\$1jp.utf8**] に変更し、ファイルを保存して閉じます。

1. **sudo localectl set-locale LANG=ja\$1JP.utf8** を実行してシステム設定を更新します。

1. **sudo gsettings set org.gnome.system.locale region "ja\$1JP.utf8"** を実行して Gnome シェル設定を更新します。

## ステップ 4: 入力方法を設定する
<a name="tutorial-japanese-input"></a>

イメージに追加するアプリケーションの入力方法を設定します。アプリケーションのインストール方法、マニフェストファイルの生成方法、およびデフォルト設定の作成方法の詳細については、「[チュートリアル: Linux ベースのカスタム WorkSpaces アプリケーションイメージを作成する](tutorial-create-linux-image.md)」を参照してください。このステップでは、`/usr/local/firefox/firefox` にある Firefox アプリケーションが既にインストールされていることを前提としています。

**入力方法を設定するには**

1. **sudo vim /usr/local/bin/update-input-method.sh** コマンドを実行してスクリプトを作成します。スクリプトに次のコンテンツを追加します。

   ```
   #!/bin/bash
   
   function start_process()
   {
       command=$1
       process_name=$2
   
       process_count=$(pgrep $process_name -c)
       echo "$(date) current $process_name count: $process_count"
       while [ $process_count -lt 1 ]
       do
           echo "$(date) starting $process_name"
           eval $command
           sleep 1
           process_count=$(pgrep $process_name -c)
       done
       echo "$(date) $process_name started"
   }
   
   start_process "ibus-daemon --xim &" "ibus-daemon"
   start_process "/usr/libexec/ibus-engine-kkc --ibus &" "ibus-engine-kkc"
   
   gsettings set org.gnome.desktop.input-sources sources "[('ibus','kkc'), ('xkb', 'us')]"
   gsettings set org.gnome.desktop.wm.keybindings switch-input-source "['<Control>space']"
   gsettings set org.gnome.desktop.wm.keybindings switch-input-source-backward "['<Shift><Control>space']"
   
   echo "$(date) updated input source and switch shortcut"
   ```

   上記のスクリプトでは、最初の入力ソース ('ibus', 'kkc') がデフォルトの入力方法です。デフォルトの入力方法を変更するには、入力ソースの順序を変更します。また、入力方法を切り替えるためのショートカットキーの組み合わせとして、Control \$1 Space と Shift \$1 Control \$1 Space が指定されています。ユーザーがストリーミングセッション中に入力方法を切り替えるために使用できる、独自のキーの組み合わせを指定できます。

1. イメージに追加するアプリケーション (Firefox) を起動するためのスクリプトを作成します。これを行うには、コマンド を実行し**sudo vim /usr/local/bin/firefox-jp.sh**、スクリプトに次のコンテンツを追加します。

   ```
   #!/bin/bash
   
   # Gather required environment variables from the GNOME shell session
   while IFS= read -r -d $'\0' env_var; do
       case "$env_var" in
           DBUS_SESSION_BUS_ADDRESS=*|\
           GTK_IM_MODULE=*|\
           QT_IM_MODULE=*|\
           XMODIFIERS=*|\
           XAUTHORITY=*)
               echo "$env_var"
               export "$env_var"
               ;;
       esac
   done < "/proc/$(pgrep -u as2-streaming-user gnome-shell | head -n1)/environ"
   
   /usr/local/bin/update-input-method.sh > /var/tmp/update-input-method.log 2>&1 &
   
   /usr/local/firefox/firefox &
   ```

1. 次のコマンドを実行して、両方のスクリプトに実行許可を追加します。

   **sudo chmod \$1x /usr/local/bin/update-input-method.sh**

   **sudo chmod \$1x /usr/local/bin/firefox-jp.sh**

1. アプリケーションの最適化マニフェストファイルを既に作成している場合は、次のコマンドを実行して、アプリケーション起動スクリプトをアプリケーションカタログに追加します。

   ```
   sudo AppStreamImageAssistant add-application \
   --name firefox \
   --absolute-app-path /usr/local/bin/firefox-jp.sh \
   --display-name firefox \
   --absolute-icon-path /usr/local/firefox/browser/chrome/icons/default/default128.png \
   --absolute-manifest-path /tmp/firefox-manifest.txt
   ```

または、update-input-method.sh スクリプトをイメージのアプリケーションカタログに別のアプリケーションとして追加して、入力方法を設定することもできます。ストリーミングセッション中、ユーザーはこのアプリケーションを起動して日本語入力を有効にし、同じセッション内で指定したショートカットキーを使用して入力方法を切り替えることができます。

## ステップ 5: キーボードレイアウトを設定する
<a name="tutorial-japense-keyboard"></a>

ストリーミングセッション中にユーザーが使用するキーボードに合わせてキーボードレイアウトを設定します。**localectl list-keymaps** コマンドを使用して、使用可能なすべてのキーマップを一覧表示し、**sudo localectl set-keymap jp106** コマンドを使用して、106 キーなどの日本語キーボードにキーマップを設定できます。

## ステップ 6: Image Builder で検証を行う
<a name="tutorial-japense-verify"></a>

Image Builder で検証を行うには、最初に **sudo shutdown -r now** コマンドを実行して Image Builder を再起動します。再起動後、Image Builder に再度接続し、タイムゾーン、ロケール、言語、入力方法などのすべてが想定どおりに機能することを確認します。

## ステップ 7: イメージを作成する
<a name="tutorial-japanese-create"></a>

Image Builder にイメージを作成します。詳細については、「[チュートリアル: Linux ベースのカスタム WorkSpaces アプリケーションイメージを作成する](tutorial-create-linux-image.md)」を参照してください。必ず、先ほど指定したリージョン設定を含む、デフォルトのアプリケーション設定を作成します。詳細については、[Linux ベースのイメージを作成する](create-linux-based-images.md)の「ユーザー用のデフォルトアプリケーション設定の作成」を参照してください。

このイメージから作成されたすべての Linux フリートインスタンスは、イメージに対して設定したデフォルトのタイムゾーン、ロケール、言語、および入力方法の設定と同じになります。