2014/09/09

CentOS 7でmozcを使う・その8・デスクトップの設定

デスクトップ右上の「ja」をクリックする。

「地域と言語の設定」を選択する。
「地域と言語」の「設定」画面が表示される。

CentOS 7でmozcを使う・その7・Emacsの設定

Emacsでmozcを利用できるよう設定する。
[alice@centos02 SPECS]$ cd
[alice@centos02 ~]$ cat >> .emacs <<'EOL'

;; for mozc
(require 'mozc)
(setq default-input-method "japanese-mozc")
[alice@centos02 ~]$ emacs -nw
EOL
[alice@centos02 ~]$ 

その0・Fedora 19レポジトリの準備
その1・mozcのビルド#1/2
その2・protobufのビルドとインストール
その3・zinniaおよびtomoeのビルドとインストール
その4・gypのビルド・インストール
その5・mozcのビルド#2/2とインストール
その6・Emacsの設定
その7・デスクトップの設定

CentOS 7でmozcを使う・その6・mozcのビルド#2/2とインストール

mozcのビルドに必要なパッケージはすべて準備出来た。

mozcのビルドを試みる。
[alice@centos02 SPECS]$ rpmbuild -ba mozc.spec
実行中(%prep): /bin/sh -e /var/tmp/rpm-tmp.hQQUlx
+ umask 022
+ cd /home/alice/rpmbuild/BUILD
+ cd /home/alice/rpmbuild/BUILD
<<略>>
  g++ '-DOS_LINUX' '-DMOZC_BUILD' '-DCHANNEL_DEV' '-DENABLE_GTK_RENDERER' '-DMOZC_ENABLE_UNITTEST' '-DNDEBUG' '-DQT_NO_DEBUG' '-DNO_LOGGING' '-DIGNORE_HELP_FLAG' '-DIGNORE_INVALID_FLAG' -I. -Iout_linux/Release/obj/gen  -Wall -Wno-char-subscripts -Wno-sign-compare -Wno-deprecated-declarations -Wwrite-strings -fPIC -fno-exceptions -fmessage-length=0 -fno-strict-aliasing -funsigned-char -include base/namespace.h -pipe -pthread -fno-omit-frame-pointer -fstack-protector --param=ssp-buffer-size=4 -O2 -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches   -m64 -mtune=generic -Wno-deprecated -std=gnu++0x -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches   -m64 -mtune=generic -MMD -MF out_linux/Release/.deps/out_linux/Release/obj.target/http_client/net/proxy_manager.o.d.raw  -c -o out_linux/Release/obj.target/http_client/net/proxy_manager.o net/proxy_manager.cc
net/http_client.cc:587:9: note: #pragma message: HTTPClient is disabled.
 MOZC_COMPILE_MESSAGE("HTTPClient is disabled.");
         ^
  LD_LIBRARY_PATH=/home/alice/rpmbuild/BUILD/mozc-1.15.1814.102/out_linux/Release/lib.host:/home/alice/rpmbuild/BUILD/mozc-1.15.1814.102/out_linux/Release/lib.target:$LD_LIBRARY_PATH; export LD_LIBRARY_PATH; cd gui; mkdir -p /home/alice/rpmbuild/BUILD/mozc-1.15.1814.102/out_linux/Release/obj/gen/gui/tool; /usr/lib64/qt-3.3/bin/rcc -o "/home/alice/rpmbuild/BUILD/mozc-1.15.1814.102/out_linux/Release/obj/gen/gui/tool/qrc_mozc_tool.cc" -name qrc_mozc_tool tool/mozc_tool.qrc
/bin/sh: /usr/lib64/qt-3.3/bin/rcc: No such file or directory
make: *** [out_linux/Release/obj/gen/gui/tool/qrc_mozc_tool.cc] Error 127
make: *** Waiting for unfinished jobs....
Traceback (most recent call last):
  File "build_mozc.py", line 1467, in 
    main()
  File "build_mozc.py", line 1463, in main
    procedure[1](cmd_opts, cmd_args, original_directory_name)
  File "build_mozc.py", line 1086, in BuildMain
    BuildOnLinux(options, targets, original_directory_name)
  File "build_mozc.py", line 1042, in BuildOnLinux
    RunOrDie([make_command] + build_args + target_names)
  File "/home/alice/rpmbuild/BUILD/mozc-1.15.1814.102/build_tools/util.py", line 97, in RunOrDie
    '==========']))
build_tools.util.RunOrDieError:
==========
 ERROR: make -j2 MAKE_JOBS=2 BUILDTYPE=Release builddir_name=out_linux V=1 ibus_mozc mozc_emacs_helper mozc_server mozc_tool mozc_renderer
==========
エラー: /var/tmp/rpm-tmp.nwszNW の不正な終了ステータス (%build)


RPM ビルドのエラー:
    /var/tmp/rpm-tmp.nwszNW の不正な終了ステータス (%build)
[alice@centos02 SPECS]$
ビルドが失敗する。
原因は、/usr/lib64/qt-3.3/bin/rccが存在しないため。

CentOS 7でmozcを使う・その5・gypのビルド・インストール

gypをビルドする。

展開する。
[alice@centos02 SPECS]$ cd
[alice@centos02 ~]$ rpm -ivh gyp-0.1-0.10.1617svn.fc19.src.rpm
警告: gyp-0.1-0.10.1617svn.fc19.src.rpm: ヘッダー V3 RSA/SHA256 Signature、鍵 ID fb4b18e6: NOKEY
更新中 / インストール中...
   1:gyp-0.1-0.10.1617svn.fc19        ################################# [100%]
警告: ユーザー mockbuild は存在しません - root を使用します
警告: グループ mockbuild は存在しません - root を使用します
警告: ユーザー mockbuild は存在しません - root を使用します
<<略>>
警告: グループ mockbuild は存在しません - root を使用します
[alice@centos02 ~]$ 

CentOS 7でmozcを使う・その4・zinniaおよびtomoeのビルドとインストール

続いて、zinniaのビルドを試みる。
[alice@centos02 SPECS]$ cd
[alice@centos02 ~]$ rpm -ivh zinnia-0.06-16.fc19.src.rpm
警告: zinnia-0.06-16.fc19.src.rpm: ヘッダー V3 RSA/SHA256 Signature、鍵 ID fb4b18e6: NOKEY
更新中 / インストール中...
   1:zinnia-0.06-16.fc19              ################################# [100%]
警告: ユーザー mockbuild は存在しません - root を使用します
警告: グループ mockbuild は存在しません - root を使用します
警告: ユーザー mockbuild は存在しません - root を使用します
<<略>>
警告: グループ mockbuild は存在しません - root を使用します
[alice@centos02 ~]$ cd rpmbuild/SPECS/
[alice@centos02 SPECS]$ rpmbuild -ba zinnia.spec
警告: %changelog に偽の日付: Fri Mar 04 2010 Liang Suilong  - 0.05-3
警告: %changelog に偽の日付: Wed Mar 02 2010 Liang Suilong  - 0.05-2
エラー: ビルド依存性の失敗:
        tomoe は zinnia-0.06-16.el7.centos.x86_64 に必要とされています
[alice@centos02 SPECS]$
パッケージtomoeが不足していることが判る。

tomoeは、CentOS 7用レポジトリに存在していない。
[alice@centos02 SPECS]$ cd
[alice@centos02 ~]$ yum info tomoe
読み込んだプラグイン:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
エラー: 表示するパッケージはありません
[alice@centos02 ~]$

CentOS 7でmozcを使う・その3・protobufのビルドとインストール

まず、protobufのビルドを試みる。
基本的な手順は、mozcと同じ。
[alice@centos02 ~]$ rpm -ivh protobuf-2.5.0-4.fc19.src.rpm
警告: protobuf-2.5.0-4.fc19.src.rpm: ヘッダー V3 RSA/SHA256 Signature、鍵 ID fb4b18e6: NOKEY
更新中 / インストール中...
   1:protobuf-2.5.0-4.fc19            ################################# [100%]
警告: ユーザー mockbuild は存在しません - root を使用します
警告: グループ mockbuild は存在しません - root を使用します
<<略>>
警告: グループ mockbuild は存在しません - root を使用します
[alice@centos02 ~]$ cd rpmbuild/SPECS/
[alice@centos02 SPECS]$ rpmbuild -ba protobuf.spec
Package emacs was not found in the pkg-config search path.
Perhaps you should add the directory containing `emacs.pc'
to the PKG_CONFIG_PATH environment variable
No package 'emacs' found
エラー: ビルド依存性の失敗:
        emacs-el >= 24.1 は protobuf-2.5.0-4.el7.centos.x86_64 に必要とされてい ます
        python-devel は protobuf-2.5.0-4.el7.centos.x86_64 に必要とされています
        java-devel >= 1.6 は protobuf-2.5.0-4.el7.centos.x86_64 に必要とされています
        maven-local は protobuf-2.5.0-4.el7.centos.x86_64 に必要とされています
        maven-compiler-plugin は protobuf-2.5.0-4.el7.centos.x86_64 に必要とされています
        maven-install-plugin は protobuf-2.5.0-4.el7.centos.x86_64 に必要とされ ています
        maven-jar-plugin は protobuf-2.5.0-4.el7.centos.x86_64 に必要とされてい ます
        maven-javadoc-plugin は protobuf-2.5.0-4.el7.centos.x86_64 に必要とされ ています
        maven-resources-plugin は protobuf-2.5.0-4.el7.centos.x86_64 に必要とさ れています
        maven-surefire-plugin は protobuf-2.5.0-4.el7.centos.x86_64 に必要とされています
        maven-antrun-plugin は protobuf-2.5.0-4.el7.centos.x86_64 に必要とされています
[alice@centos02 SPECS]$
不足しているパッケージについて、CentOS 7用レポジトリからインストールを試みる。

CentOS 7でmozcを使う・その2・mozcのビルド#1/2

mozcのSRPMをダウンロードし、ビルド(コンパイル)を試みる。
[alice@centos02 ~]$ yumdownloader --source --enablerepo=fedora,fedora-updates mozc
読み込んだプラグイン:fastestmirror, langpacks
Enabling base-source repository
Enabling updates-source repository
<<略>>
警告: /home/alice/mozc-1.15.1814.102-1.fc19.src.rpm: ヘッダー V3 RSA/SHA256 Signature、鍵 ID fb4b18e6: NOKEY
mozc-1.15.1814.102-1.fc19.src.rpm の公開鍵がインストールされていません
mozc-1.15.1814.102-1.fc19.src.rpm                          |  35 MB   02:40
[alice@centos02 ~]$

rpm -ivh」で展開する。
~/rpmbuildに展開される。
[alice@centos02 ~]$ rpm -ivh mozc-1.15.1814.102-1.fc19.src.rpm
警告: mozc-1.15.1814.102-1.fc19.src.rpm: ヘッダー V3 RSA/SHA256 Signature、鍵 ID fb4b18e6: NOKEY
更新中 / インストール中...
   1:mozc-1.15.1814.102-1.fc19        ################################# [100%]
警告: ユーザー mockbuild は存在しません - root を使用します
警告: グループ mockbuild は存在しません - root を使用します
<<略>>
警告: グループ mockbuild は存在しません - root を使用します
[alice@centos02 ~]$

CentOS 7でmozcを使う・その1・Fedora 19レポジトリの準備

Fedora 19用yumレポジトリを利用できるようにする。

RPMファイルを展開するために、rpmdevtoolsを導入する。
[root@centos02 ~]# yum install -y rpmdevtools
読み込んだプラグイン:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
依存性の解決をしています
<<略>>
インストール:
  rpmdevtools.noarch 0:8.3-5.el7

完了しました!
[root@centos02 ~]#

RPMパッケージをダウンロードする。
[alice@centos02 ~]$ wget 'http://ftp.jaist.ac.jp/pub/Linux/Fedora/releases/19/Fedora/x86_64/os/Packages/f/fedora-release-19-2.noarch.rpm'
--2014-09-08 21:54:53--  http://ftp.jaist.ac.jp/pub/Linux/Fedora/releases/19/Fedora/x86_64/os/Packages/f/fedora-release-19-2.noarch.rpm
ftp.jaist.ac.jp (ftp.jaist.ac.jp) をDNSに問いあわせています... 150.65.7.130, 2001:df0:2ed:feed::feed
ftp.jaist.ac.jp (ftp.jaist.ac.jp)|150.65.7.130|:80 に接続しています... 接続しま した。
<<略>>
2014-09-08 21:54:54 (77.5 KB/s) - `fedora-release-19-2.noarch.rpm' へ保存完了 [32472/32472]

[alice@centos02 ~]$

CentOS 7でmozcを使う・その0・概要

RHEL 7 (Red Hat Enterprise Linux 7)やCentOS 7などの互換OSでは、標準で日本語入力にkkcを利用できる。
しかし、このkkcは、非常に使いづらい。
この代替として、mozcを導入する方法を紹介する。

Mozcは、Google 日本語入力の流れを汲む、日本語IME(Input Method Editor)。
複数のUNIX系OSをはじめ、Windowsにも対応している。

2014/09/07

CentOS 7とvmware-tools

RHEL 7 (Red Hat Enterprise Linux 7)互換のCentOS 7をVMware ESXi上のゲストOSとして動かす場合、vmware-toolsを別途インストールする必要が無い。

CentOS 7には、標準パッケージにvmware-tools相等のものが入っている。
それを利用すれば、OS起動後にVMwareが提供するvmware-toolsを別途インストールする必要が無い。
パッケージグループとしては、guest-agentsおよびguest-desktop-agentsをインストールすればよい。
$ yum --disablerepo=epel groups info guest-agents guest-desktop-agents
読み込んだプラグイン:fastestmirror, langpacks
Loading mirror speeds from cached hostfile

グループ: ゲストエージェント
 グループ ID: guest-agents
 説明: ハイパーバイザー配下で稼働する場合に使用するエージェントです。
 強制的なパッケージ:
   =hyperv-daemons
   =open-vm-tools
   =qemu-guest-agent

グループ: ゲストデスクトップエージェント
 グループ ID: guest-desktop-agents
 説明: 仮想化したデスクトップとして稼働する場合に使用するエージェントです。
 強制的なパッケージ:
   =open-vm-tools-desktop
    qemu-guest-agent
   =spice-vdagent
$
なお、上の実行例では、yumコマンドで非標準レポジトリであるepelを無効化するために、disablerepoオプションを使用している。