Azure Virtual Machines 上にデプロイした OpenLogic CentOS 7.1 を日本語化、RDP 経由でアクセスする

スポンサーリンク

Microsoft Azure の Virtual Machines 上での動作がサポートされている Linux イメージは、Red Hat Enterprise Linux (RHEL) 含め、複数存在します。

ギャラリー (クラシック ポータル) や Marketplace (新ポータル) を用いてデプロイした場合、既定では英語表示となります。

また、接続には SSH 経由でコンソール上からの操作となりますが、色々と検証する上で Azure Virtual Machines 上にデプロイした Linux OS を日本語表示、および RDP 経由で GUI 操作を行う必要が出てくると思います。

本記事では、CentOS ベースの OpenLogic 7.1 を対象に日本語化、RDP 経由でアクセスする手順を備忘録として纏めてみました。

注意しておく点としては、管理者ユーザー (root) は無効となっているため、root の特権レベルで実行するためにはデプロイ時に作成したユーザー上で sudo コマンドを多用する必要があります。

設定手順

  1. 現在の OS バージョンの確認
    1. 以下のコマンドを入力、実行し、現在の OS のバージョンを確認します。
       cat /etc/redhat-release 


      ※バージョン番号は、「7.1.1503」と表示されます。

  2. ログインしているユーザーの言語を日本語に設定
    1. 以下のコマンドを入力、実行し、編集します。
       vi ~/.bash_profile 

      ※最終行に以下を追記します。

      LANG=ja_JP.UTF-8
      export LANG
      

    2. 以下のコマンドを入力、実行します。
       source ~/.bash_profile 
    3. 以下のコマンドを入力、実行し、現在読み込まれている言語を確認します。
       echo $LANG 

  3. システム ロケールおよびキーマップを日本語に設定
    1. 以下のコマンドを入力、実行します。
      sudo localectl set-locale LANG=ja_JP.utf8
      source /etc/locale.conf
      sudo localectl set-keymap --no-convert jp106
      sudo localectl set-x11-keymap --no-convert jp106
      
    2. 以下のコマンドを入力、実行し、システム ロケールおよびキーマップ設定を確認します。
       localectl status 

  4. タイムゾーンを 日本時間 (JST、”Tokyo”) に設定
    1. 以下のコマンドを入力、実行します。
       sudo timedatectl set-timezone Asia/Tokyo 
    2. 以下のコマンドを入力、実行し、タイムゾーン設定を確認します。
       timedatectl 

  5. 最新版のソフトウェアにアップデートする
    1. 以下のコマンドを入力、実行し、ソフトウェアのアップデートを行います。
      sudo yum check-update
      sudo yum update -y
      
    2. 以下のコマンドを入力、実行し、システムを再起動します。
       sudo reboot 
    3. システム再起動後、以下のコマンドを入力、実行し、アップデート後の OS バージョンの確認を行います。
       cat /etc/redhat-release 


      ※現時点 (2016/02/24) におけるバージョン 7 の最新版は「7.2.1511」であるため、アップデート後は「7.2.1511」と表示されます。

  6. GUI 関連パッケージのインストール
    1. 以下のコマンドを入力、実行し、GUI 関連パッケージのインストールを行います。
       sudo yum groupinstall -y "Server with GUI" 
    2. 以下のコマンドを入力、実行し、システムを再起動します。
       sudo reboot 
  7. xrdp のインストールおよび設定
    1. 以下のコマンドを入力、実行し、外部レポジトリとして EPEL (エンタープライズ Linux 用の拡張パッケージ) パッケージをダウンロード、インストールします。
      mkdir EPEL
      cd EPEL
      sudo wget http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-5.noarch.rpm
      sudo wget http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-5.el7.nux.noarch.rpm
      sudo rpm -ivh epel-release-7-5.noarch.rpm
      sudo rpm -ivh nux-dextop-release-0-5.el7.nux.noarch.rpm
      
    2. 以下のコマンドを入力、実行し、xrdp と関連する tigervnc-server をインストールします。
       sudo yum install -y xrdp tigervnc-server 
    3. 以下のコマンドを入力、実行し、SELinux の設定を変更します。
      sudo chcon --type=bin_t /usr/sbin/xrdp
      sudo chcon --type=bin_t /usr/sbin/xrdp-sesman
      
    4. 以下のコマンドを入力、実行し、SELinux の設定を確認します。
       ls -lZd /usr/sbin/xrdp* 

    5. 以下のコマンドを入力、実行し、xrdp (xrdp.service) を実行、および自動起動を有効にします。
      sudo systemctl start xrdp.service
      sudo systemctl enable xrdp.service
      
    6. 以下のコマンドを入力、実行し、xrdp (xrdp.service) がサービスとして起動していることを確認します。
       systemctl status xrdp.service 

    7. 以下のコマンドを入力、実行し、ファイアウォール (firewalld) を実行、および自動起動を有効にします。
      sudo systemctl start firewalld
      sudo systemctl enable firewalld
      
    8. 以下のコマンドを入力、実行し、ファイアウォール (firewalld) がサービスとして起動していることを確認します。
       systemctl status firewalld 

    9. 以下のコマンドを入力、実行し、xrdp で使用する待受ポート (3389) を開放、設定を反映します。
      sudo firewall-cmd --permanent --zone=public --add-port=3389/tcp
      sudo firewall-cmd --reload
      
    10. 以下のコマンドを入力、実行し、設定状況を確認します。
       firewall-cmd --list-all-zones 

  8. Azure 上で xrdp で使用する待受ポート (3389) の開放を実施
    1. Azure ポータル上から xrdp で使用する待受ポート (3389) の開放を実施します。
      ※作成した Virtual Machines (Azure Service Management、もしくは Azure Resource Manager) で設定方法は異なるので省略。
  9. リモート デスクトップ接続経由でログイン
    1. リモート デスクトップ接続 (mstsc.exe) を起動し、接続します。
    2. ユーザー名とパスワードを入力、ログインします。

      ※ここで、リモート デスクトップ接続設定で、[画面の色] が [最高品質 (32ビット)] となっている場合は以下のようにエラーとなり、接続できません。[画面の色] を 24ビット以下にする必要があります。
    3. 管理者ユーザー (root) は無効となっているため、[キャンセル] をクリックします。
    4. 管理者ユーザー (root) は無効となっているため、[キャンセル] をクリックします。
    5. [日本語] を選択、[次へ] をクリックします。
    6. [日本語 (かな漢字)] を選択、[次へ] をクリックします。
    7. [スキップ] をクリックします。
    8. [CentOS Linux を使い始める] をクリックし、初期設定を完了します。
  10. WALinuxAgent のアップデート
    1. [アプリケーション] – [端末] を選択、クリックし、端末コンソールを起動します。
    2. 以下のコマンドを入力、実行し、ソフトウェアのアップデートを行います。
      sudo yum check-update
      sudo yum update -y
      
    3. 以下のコマンドを入力、実行し、システムを再起動します。
       sudo reboot 

おまけ

ログイン時に表示される認証を Administrator (root) から ログインするユーザーに変更したい

ログイン時に表示される認証については、GUI でソフトウェア アップデートを実行する場合などで必要となりますが、root ユーザーは無効となっているため、認証することはできません。

Administrator (root) から ログインするユーザーに変更する場合は、セキュリティが低下する恐れがありますが、以下の手順で wheel グループにログイン ユーザーを追加することで、ログイン時に表示される認証をログイン ユーザーのパスワードで実施することが可能です。

  1. [アプリケーション] – [端末] を選択、クリックし、端末コンソールを起動します。
  2. 以下のコマンドを入力、実行し、編集 (wheel グループにログイン ユーザーを追加) します。
     sudo vi /etc/group 
  3. ログオフ、再度ログイン後、ログイン ユーザーのパスワードで認証できることを確認します。

  4. 認証した後、SELinux 通知ブラウザーから /usr/libexec/colord に関する警告が表示されますが、[詳細] ボタンをクリック、一時的な対応方法となりますが、回避することが可能です。

root ユーザーでログインできるようにしたい

root ユーザーでログインできるようにするには、セキュリティが低下する恐れがありますが、以下の手順で root ユーザーを有効化、パスワードを設定することができます。

  1. [アプリケーション] – [端末] を選択、クリックし、端末コンソールを起動します。
  2. 以下のコマンドを入力、実行します。
    sudo pwunconv
    sudo pwconv
    
  3. 以下のコマンドを入力、実行し、root のパスワードを設定します。
     sudo passwd root 

参考