

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 教學課程：啟用 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：在映像建置器上驗證](#tutorial-japense-verify)
+ [步驟 7：建立映像](#tutorial-japanese-create)

## 步驟 1：安裝日文字型和輸入法
<a name="tutorial-japanese-font"></a>

在此步驟中，您將連線 Linux 映像建置器並安裝您選擇的字型和輸入法套件。

**安裝日文字型和輸入法**

1. 執行下列兩項操作之一，以連線至映像建置器：
   + [使用 WorkSpaces 應用程式主控台](managing-image-builders-connect-console.md) （僅適用於 Web 連線）
   + [建立串流 URL](managing-image-builders-connect-streaming-URL.md) （適用於 Web 或 WorkSpaces 應用程式用戶端連線）
**注意**  
您將以 ImageBuilderAdmin 使用者身分登入 Amazon Linux GNOME 桌面，並擁有根管理員權限。

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** 變更為 **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 Shell 設定。

## 步驟 4：設定輸入法
<a name="tutorial-japanese-input"></a>

為您要新增至映像的應用程式設定輸入法。如需如何安裝應用程式、產生清單檔案以及建立預設設定的詳細資訊，請參閱 [教學課程：建立自訂 Linux 型 WorkSpaces 應用程式映像](tutorial-create-linux-image.md)。在此步驟中，我們假設您已安裝應用程式 Firefox，位於 `/usr/local/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空格鍵」和「Shift\$1Control\$1空格鍵」已指定為切換輸入法的快速鍵組合。您可以指定自己的按鍵組合，供使用者在串流工作階段期間用來切換輸入法。

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：在映像建置器上驗證
<a name="tutorial-japense-verify"></a>

若要在映像建置器上進行驗證，請先執行命令 **sudo shutdown -r now** 以重新啟動映像建置器。重新啟動後，再次連線至映像建置器，並確認所有項目 (包括時區、地區設定、語言和輸入法) 都如預期運作。

## 步驟 7：建立映像
<a name="tutorial-japanese-create"></a>

在映像建置器上建立映像。如需詳細資訊，請參閱[教學課程：建立自訂 Linux 型 WorkSpaces 應用程式映像](tutorial-create-linux-image.md)。務必建立預設應用程式設定，包括您剛才設定的區域設定。如需詳細資訊，請參閱 [建立 Linux 型映像](create-linux-based-images.md) 中的「為您的使用者建立預設應用程式設定」。

從此映像建立的所有 Linux 機群執行個體都將具有相同的預設時區、地區設定、語言和輸入法設定，並且與映像的設定相同。