2016年2月29日月曜日

virt-managerを使ってQEMU/KVM仮想マシンにWindowsをインストール

QEMU/KVM仮想マシンにWindowsをインストール
仮想マシンインストール関連記事
仮想環境の関連記事は、「Linuxマシン上でWindowsを使う」のページにまとてあります。

はじめに
virt-managerを使って新規に仮想マシンを作ったので、その方法を記事にしておく。ここでは、「QEMU/KVM, libvirtのインストールと設定」に従って作成したQEMU/KVM仮想環境に、Windowsをインストールした。一般ユーザーのホームディレクトリにイメージディスクを作成し、ネットワーク接続はデフォルトのNAT/DHCPを使ってインストールした。

環境
  • 仮想環境: QEMU/KVM
  • GUIツール: virt-manager
  • ゲストOS: Windows XP Home Edition
  • ホストOS: Arch Linux x86_64
virt-managerを使っていれば、ホストOSのディストリビューションに関係なく手順は同じになる。

2016年2月28日日曜日

QEMU/KVM, libvirtのインストールと設定

QEMU/KVMとlibvirtのインストール
仮想マシンインストール関連記事
仮想環境の関連記事は、「Linuxマシン上でWindowsを使う」のページにまとてあります。

はじめに
Linux環境にQEMU/KVMをインストールして仮想マシンを使えるようにしたので、方法をまとめておく。QEMU/KVMのGUIフロントエンドとしては、virt-managerを使用する。QEMU/KVM環境は「Guest Support Status - KVM」のページに書いてあるように、非常に多くのOSをサポートしている。

インストールと設定に移る前に、仮想マシンを実行する上で必要となる機能ついてまとめておく。
  • KVM: Kernel-based Virtual Machineの略。Linuxカーネルに搭載されている、仮想化を支援する機能(モジュール)。このモジュールは、バージョン2.6.20以降のLinuxカーネルに実装されている。KVMはモジュールでしかないので、KVM単体では機能しない。KVMの機能を実際使うためには、QEMUのようなエミュレータが必要になる。
  • QEMU: プロセッサー、及びネットワークデバイスやビデオデバイスなどのサブシステムをエミュレートするエミュレータ。
  • libvirt: 仮想化されたストレージや、ネットワークデバイスなどの管理、制御を担うライブラリ(API)。Xen, VirtualBox, VMwareなどをサポートしている。
  • virt-manager: 仮想マシンを管理するためのGUIフロントエンド。Xen、KVM、QEMUなどの仮想化システムに対応している。Windowsなどの、GUIモードでしかインストールできないOSで仮想マシンを作るには、必須となる。

2016年2月17日水曜日

Arch Linuxでプリンタ印刷

Arch Linuxでプリンタ印刷
以前プリンタの印刷は記事にしたが、改めてまとめておく。ドライバとしてメーカー製ドライバを使う方法と、OSSのGutenprintドライバを使う設定、及びその違いについての内容も加えて、詳しく書いておく。環境は、GNOME 3.18.2, プリンタ: Canon Pixus MG5130(USB接続)。

2020年12月6日 修正
CUPSのサービス(デーモン)の名前を、「org.cups.cupsd」から「cups」へ変更。CUPSのアップデート(2.3.3-3 -> 1:2.3.3op1-1)による変更。

パッケージのインストールとCUPSデーモンの起動
印刷関連で必要となりそうなパッケージを、インストールする。cups-pdfは印刷をPDFファイル出力する際に、必要となる。a2psはOpenOfficeの印刷で必要となるとのこと。
# pacman -S cups ghostscript gsfonts cups-pdf poppler a2ps

パッケージがインストールできたら、CUPSのデーモンを起動する。
# systemctl enable --now cups.service

2016年2月14日日曜日

IBus MozcからFcitx Mozcへの切り替え

IBus MozcとFcitx Mozcの開発状況
インプットメソッドをIBusからFcitxに切り替えることにした。GNOMEと相性がいいことからIBusを使い続けてきたが、MozcのFcitx版(fcitx-mozc)がArch Linuxの公式リポジトリに登録されて久しいことや、以前の記事にも書いたが、ibus-mozcがそのうち廃止になるっぽいこと [1] 、Ubuntu 15.10でもデフォルトのIMがFcitxに切り替わったこと [2] 、とかを考えると、そろそろFcitxに切り替えようという気になった。こんな状況になっては、IBusを使っているのが悪あがきに思えてきた。

以前、Fcitxを使ってみたことはあるが、結局IBusにもどしてしまった。今回は、もうIBusに戻さないことに決めて、IBusとibus-mozcのアンインストール、及びFcitxとfcitx-mozcのインストールと初期設定を行ったので、その方法を記事にしておく。環境は、GNOME 3.18.2, jp 106(日本語キーボード)。

記事の最後に、ディスプレイサーバーとしてWaylandを使った環境下でFcitx Mozcを使う際の注意点を書いた。Waylandを使っている人は最後まで確認してほしい。

IBusの削除
IBusと関連パッケージのアンインストール
pacmanからIBusとIBusの関連パッケージをすべてアンインストールする。libibusはgnome-control-centerによって必要とされているため、削除できない。GNOME環境でなければ、libibusもアンインストールしていいと思う。
# pacman -Rsn ibus ninja zinnia ibus-mozc mozc

checking dependencies...
:: avahi optionally requires python2-dbus: avahi-discover

Packages (6) python2-dbus-1.2.0-5  ibus-1.5.12-1  ibus-mozc-2.17.2313.102-1  mozc-2.17.2313.102-1
             ninja-1.6.0-2  zinnia-0.06-4

Total Removed Size:  37.56 MiB

:: Do you want to remove these packages? [Y/n] y
:: Processing package changes...
(1/6) removing ibus-mozc                                            [#####################################] 100%
(2/6) removing mozc                                                 [#####################################] 100%
(3/6) removing zinnia                                               [#####################################] 100%
(4/6) removing ninja                                                [#####################################] 100%
(5/6) removing ibus                                                 [#####################################] 100%
(6/6) removing python2-dbus                    


2016年2月13日土曜日

LibreOfficeの印刷とPDFの印刷ができない

いつからかLibreOfficeとPDFの印刷ができなくなっていた。年賀状を作るときに印刷ができなくなっていることに気づいたが、どうすれば元のように印刷できるようになるか、結構時間をかけて調べても分からず、ずっと原因を探していた。cupsやcnijfilterの再インストールなど試してみたが、改善しなかった。

色々と試した結果、CUPSのpdftops-renderer-defaultを設定することで、印刷ができるようになった。その時の症状と、対策を記事にしておく。環境は、GNOME 3.18.2, cups 2.1.3-1, cups-filters 1.8.1-1, Printer: Canon Pixus MG5130(USB接続), Priter Driver: cnijfilter-mg5200 3.40-11(mg5100としてインストール)。また、ユーザーはsysグループに入っている。

あらかじめインストールされている、関係しそうなパッケージを挙げておく。
cups, cups-filters, libcups, cups-pdf, cups-pk-helper, ghostscript, gsfonts, cnijfilter-mg5200, a2ps, poppler, poppler-data, poppler-glib, system-config-printer, libreoffice-still

印刷の症状
印刷したときの現象
すべての印刷ができなくなったというわけではなく、アプリケーションによって印刷できるものとできないものがあった。印刷できないアプリケーションで印刷を実行すると、印刷のジョブはプリンタまで送信され、プリンタの液晶に「処理中です。しばらくお待ちください...」と表示されるものの、何も印刷せずにプリンタはスタンバイの状態に戻ってしまう。パソコン側にも、印刷ジョブが正常に送信されたポップアップと完了したポップアップが表示される。



CUPSのエラーログを見ても、印刷できていた時と同じエラーが出ているのみ。LogLevelをdebugにしても変わらず。
$ less /var/log/cups/error_log

...
W [11/Feb/2016:23:20:03 +0900] CreateProfile failed: org.freedesktop.ColorManager.AlreadyExists:profile id \'MG5100-Gray..\' already exists
W [11/Feb/2016:23:20:03 +0900] CreateProfile failed: org.freedesktop.ColorManager.AlreadyExists:profile id \'MG5100-RGB..\' already exists

また、Capturing print job dataに従って、エンキューされたファイルをキャプチャしてみたが、問題なくPDFファイルが/var/spool/cups/に格納されており、不具合の原因は分からず。