Blue Leaf

作成日:

Parallels Desktop 12にArch Linuxをインストールしてみた

Parallels Desktop 12 for MacにArch Linuxをインストールした際に、Parallels Toolsのインストールエラーでつまづいたいので、エラーを解決する方法を記載します。それとせっかくなので、ArchLinuxの一通りのインストール作業、シンプルなGUI環境を構築するところまでを記載します。

「記載している内容」

「環境」

ParallelsDesktoのバージョン表示画面

インストールで参考にしたサイト

Parallels DesktoにArchLinuxをインストールするには、この2つのサイトを参考にしてインストールを進めていけばとりあえず問題はないと思いますが、Parallels Toolsのインストールでエラーになりました。

Parallels Toolsのインストールエラーの解決方法

この文章を書いている2017年3月19日時点で「pacman -Syu」でアップデートされるカーネルのバージョンが「4.10.3-1」

カーネルのバージョンが新しすぎるので、LTS版のカーネルをインストールしたらエラーにならずにParallels Toolsがインストールできました。LTS版のカーネルバージョン「4.9.15-1」

・・・ローリングアップデートでKISSのArch LinuxにもLTSという概念があったんだと初めて知りました・・・。

Arch Linuxのインストールの流れ

Arch Linuxのインストールは色々なサイトで詳しく書かれているので、自分用のメモに簡単にコマンドだけ記載します。何はともあれ、ArchWikiのインストールガイドが一番詳しく丁寧に記載されています。

インストールディスクは、公式サイトの右上にある「ダウンロード」の項目へ。

パーティションの作成

Parallelsを起動し、ArchLinuxのディスクイメージでブートしたらどんどん作業を進めます。

# loadkeys jp106 キーボードレイアウトをjp106に変更(一時的な変更なので、再起動するとUSレイアウトに戻る)

# fdisk -l HDDの場所を確認

# fdisk /dev/sda 今回はfdiskでパーティション作成

Command (m for help): n create a new partition

Select (default p): エンター or p primary

Partision number (1-4, default 1): エンター or 1

First sector (2048-134217727, default 2048): エンター or 2048

Last sector,~~default~): エンター or 134217727

Command (m for help): w write table to disk and exit

上記でfdisk終了、次はフォーマット。

# mkfs.ext4 /dev/sda1 作成したパーティションの「sda1」を、ext4でフォーマット

# mount /dev/sda1 /mnt マウントして完了

パーティションをswapやhome、bootなどで分ける分けないなどの論争もありますが、システム構成や規模・Linuxで何をしたいかにもよって考え方が変わってくると思うので、とりあえずシンプルに1パーティションで。

ベースシステムのインストールとchroot

# vim /etc/pacman.d/mirrorlist pacmanするミラーサーバーの順序設定、Japanの2つのミラーを一番上に移動。vimにしていますが、もちろんviでも可

# pacstrap /mnt base base-devel vim ベースシステムのインストール、「viエディタ」が苦手なので「vimエディタ」も真っ先にインストール。baseパッケージでviとnanoがインストールされるが、最初に好みのエディタを入れておく方が便利

# genfstab -U /mnt >> /mnt/etc/fstab fstabの設定

# arch-chroot /mnt インストールしたシステムにchroot

真っさらなシステムにchroot後、諸々の設定

後で設定してもいい項目もあるけど、忘れてしまいがちなのでArchwikiに記載の通りに順次設定。

タイムゾーン

# ln -sf /usr/share/zoneinfo/Asia/Tokyo /etc/localtime タイムゾーンの設定

# hwclock --systohc --utc 実行( –utcを、–localtimeでも可)

ロケール

# vim /etc/locale.genen_US.UTF-8 UTF-8ja_JP.UTF-8 UTF-8をコメントアウト。ロケールの設定

# locale-gen を実行

# echo LANG=en_US.UTF-8 > /etc/locale.conf システム全体のロケール設定なので、en_USが無難。

# vim /etc/locale.confLANG=en_US.UTF-8LANG="ja_JP.UTF-8" と記載もOK。ja_JPはシステム構築後に試してみると違いが分かるかも・・・。

キーマップ

# echo KEYMAP=jp106 > /etc/vconsole.conf コンソールのキーマップの設定、コンソールです。

# vim /etc/vconsole.confKEYMAP=jp106 と記載してもOK

# localectl status 新しいシステムを起動したら、このコマンドでロケールとキーマップの設定を確認可能(今はサービスが起動してない)

ホストネーム

# echo 任意のホストネーム > /etc/hostname ホストネームの設定

# vim /etc/hosts に、127.0.1.1 任意のホストネーム.localdomain 任意のホストネームを、既に記載されている内容を真似しながら一行追記

# systemctl enable dhcpcd.serviceネットワークは「dhcpcd.service」に処理を任せる、これで仮想化のゲストOSなら何も気にしなくてもネットワークに繋がるはず

rootパスワード

# passwd rootパスワードの設定

このサイトでは、Parallels Toolsのインストールまで「root」で作業するものとしてコマンドを記載をしていきます

一般ユーザを登録

# useradd -m -G wheel -s /bin/bash 登録するユーザー名 後でもいいと思うけど、忘れてしまいそうなので一般ユーザーの登録

# passwd 登録したユーザー名

sudoの設定も一緒に済ませてしまう。

# pacman -S sudo sudoをインストール

# visudo visudoで設定を編集することが推奨されているので、ここはviで頑張るところ。今回は下の2つをコメントアウト

# %wheel ALL=(ALL) ALL のコメントを外す。wheelグループにsudoを許可

# Defaults env_keep += "HOME" のコメントを外す。sudoでX11を実行許可

ブートローダの設定

# pacman -S grub ブートローダのインストール。GRUBをセレクト

# pacman -Syy レポジトリとの同期を実行。コレを書いている時にgrubをインストールしようとしたら、404が返ってきたので最新の情報と同期を実行して、上のコマンドでインストール

今回は仮想環境で1パーティション、EFIブートでもないので難しく考えずに下記のコマンドを実行。

# grub-install --recheck /dev/sda を実行

# grub-mkconfig -o /boot/grub/grub.cfg を実行してブートローダの設定完了

新システムで起動

ここまで完了したら、chrootから脱出しReboot(再起動)して新しくインストールしたArchlinuxでXorgやParallels Toolsをインストール・設定していきます。

# exit chrootから抜ける(脱出)

# umount -R /mnt マウントしていた新システムをアンマウント

# reboot いざ新システムでブート

余談ですが、再起動とシャットダウンのコマンドは下記です。

一般ユーザーでは、sudo してください。

systemctlを利用したコマンドの方が、「Systemd」を採用したOSにマッチしているしモダンな感じがします。

他の基本的なコマンドについては下記を参考に。

新システムにParallels Toolsのインストール

新しいシステムでブートが完了したら、とりあえずrootでログイン。一般ユーザでwheelグループにsudoの設定もしたので、一般ユーザでsudoで作業も可。

ここからは、Parallels Toolsをインスールするための環境を構築していきます。

# pacman -Syy 何はともあれpacmanの情報を最新に

エラーが大量に出るときはネットワークに繋がっているか確認。# systemctl status dhcpcd.service でステータスがactiveになっているか?なっていないなら、# systemctl start dhcpcd.serviceでサービススタート。# systemctl enable dhcpcd.serviceで再起動後も自動起動するように設定。

ipアドレスの取得確認は、 # ip a コマンドで。

固定ipを設定したいときは、下記のArchWikiの「固定IPアドレス」を参考にしてください。

# pacman -Syu パッケージも最新に

pacmanて何?という時は、下記のArchWikiを参考にしてください。

ここで、opensshをインストール・設定して、ホストOSのMacのターミナルやiTermからsshで接続すると作業性がグンと上がりますが、今回は省略します。もしインストールされる方は、ArchLinuxのポートはIN側は全て閉じられているのでポート開放の必要があることにも気をつけてください。

Xorg関係のインストール

Parallels Toolsのインストールに必要なパッケージを順次インストールしていきます。

# pacman -S xorg-server xorg-xinit xorg-server-utils mesa-libgl xterm Xorg関係をインストール。xtermは・・・好き嫌いあるでしょうが、入れていないとテストでstartxしてもエラーになるので伝統あるおまじない、保険として

# pacman -S xf86-video-vesa ビデオドライバーをインストール。intel関連を入れてしまいそうになりますが、Parallelsはvesaドライバーみたいです

とりあえずXのテストをしてみるなら下記、しないならToolsのインストールをするための作業を続行。

# startx 上記のパッケージをインストールすれば、startxでXの画面が出るはずです

# xrandr startxしたxtermでこのコマンドを打つと、選択できる解像度が一覧で出ます

この段階で使用しているiMacでは、最大解像度が1920x1200になっています。

ParallelsToolsインストール前のxrandr実行画面

Parallels Toolsをインストールすると、Macのネイティブ解像度も選択できるようになります。マウスが動くかなども確認。

# exit xtermでコマンドを打ち、Xを終了してコンソールに戻る

LTS版のカーネルインストール

ArchLinuxで提供されているカーネルなどのバージョンと、Parallels Toosのバージョンの提供されている時期によってはすんなりToolsのインストールが完了するかもしれませんが、2017年3月19日の段階では、カーネルのバージョンが新しすぎるのでToolsのインストールがエラーになります。

なので、一番最初にも書きましたがLTS版のカーネルをインストールして作業・通常使用をしていくことになります。

この段階はとても綺麗な状態のシステムなので、今の仮想環境のシステム(.pvmファイル)をコピーして保存しておくことをお勧めします。エラーを吐いたり、システムがグチャグチャになってもココからやり直せます。

では、続きの作業を。

# uname -a カーネルのバージョンを確認(2017年3月19日時点:4.10.3-1-ARCH)

# pacman -S linux-lts linux-lts-headers LTSカーネルのインストール、headersはToolsのインストールに必要

# grub-mkconfig -o /boot/grub/grub.cfg grubを再設定、自動でLTSカーネルに書き換えてくれます

# reboot

# unama -a 再起動したらカーネルのバージョンを確認(2017年3月19日時点:4.9.15-1-lts)

他に諸々の作業

ここからの作業は慎重に

ここからの作業は文字を打ち間違えるとToolsのインストールでエラーを吐きます。シンボリックリンクなどは打ち間違えないように慎重に。

下の5つの作業で、必要なシンボリックリンク作成やパッケージをインストールします。ArchWikiに書かれていますが、ArchLinuxのパッケージが先進的なので、過去のシステムを再現するかのようなシンボリックリンクを作成していきます。

# ln -sf /usr/lib/systemd/scripts/ /etc/init.d

# export def_sysconfdir=/etc/init.d

# touch /etc/X11/xorg.conf

# pacman -S python2

# ln -sf /usr/bin/python2 /usr/local/bin/python

Parallels Toolsのインストール後でもいいけど、下記でサービスを作成・内容を記載していく。

# touch /usr/lib/systemd/system/parallels-tools.service

# vim /usr/lib/systemd/system/parallels-tools.service 下記の内容をそのまま記載する

[Unit]
Description=Parallels Tools
[Service]
Type=oneshot
ExecStart=/usr/lib/systemd/scripts/prltoolsd start
ExecStop=/usr/lib/systemd/scripts/prltoolsd stop
RemainAfterExit=yes
[Install]
WantedBy=multi-user.target

ようやくParallels Toolsのインストール

次は、Toolsのマウントとインストール。Parallelsのメニューで「Parallels Toolsのインストール」を選択して、CDイメージを接続する。ArchLinuxのisoは切断する。

# mkdir /mnt/cdrom マウントポジションを作成

# mount /dev/cdrom /mnt/cdrom マウント実行

# cd /mnt/cdrom

# ./install

ParallelsToolsのインストール成功画面

「Congratulations!」と表示されたらインストール完了。そのまま「Reboot」してから作業を続けてもいいけど、「Exit」で抜けて作業続行。

# cd ホームディレクトリに戻る

# umout /mnt/cdrom 必要ないけど、とりあえず明示的にアンマウント

# systemctl enable parallels-tools.service 先に作成したサービスを自動起動するようにenableにする。エラーになる場合、サービスファイルを保存したディレクトリや記載した内容を確認。(私は場所を間違えていたり、誤字脱字がありenableにするまで数回エラーを吐かれました・・・)

# rm /usr/local/bin/python システムがゴチャゴチャにならないように、インストールに必要だった先に作成したシンボリックリンクを削除。Toolsを再インストールするときは、再度リンクをはる。

ここまででParallels Toolsのインストールは完了です。が、ここで再起動してstartxでテストをするとXの起動でエラーになります。なので最後の作業。

カーネルパラメータを設定

Xの起動でエラーにならないようにするには、ブート時にカーネルパラメータで iomem=relaxed と指定する必要があります(このパラメータの意味は不明・・・)。なので、GRUBを編集します。

# vim /etc/default/grub 編集開始

4行目の、 GRUB_CMDLINE_LINUX_DEFAULT="guiet"GRUB_CMDLINE_LINUX_DEFAULT="iomem=relaxed guiet" にする。

# grub-mkconfig -o /boot/grub/grub.cfg 編集したら、GRUBを再設定

# reboot 再起動。パラメータがきちんと設定できているかは、ブート時のGRUBでキーボードの’e’で表示可能。

Parallels Toolsの動作チェック

# startx Xを起動してテスト。Toolsがきちんと動いているかわかりやすいのは、マウス操作でMacとLinuxをスムーズに行き来できるか。LinuxからMacへマウスが抜けられなけらば失敗・・・。

解像度について

ArchWikiの一番最後に書いてあるのですが、prlcc というツールが自動で起動すると解像度がParallelsのウインドウサイズに合わせて追従されるようになるのですが、私の環境では自動起動しなかったので次のようにしました。

今、テストでXを起動しているならxtermで下記を実行。

# prlcc & これで解像度が追従するはずです

# xrandr 解像度を確認

ParallelsToolsインストール後のxrandr実行画面

使用しているiMacでは、最大で4096x2304まで選べます。

# xrandr -s 800x600# xrandr -s 1920x1080 など、コマンドで切り替えもできます。

あとは、prlcc ツールが自動で起動するようにArchWikiに記載の方法などを実行。私は、自分のホームディレクトリの.xinitrcprlcc &と記載をし、Xの起動時に自動起動するようにしました。

お疲れさまです、これでArchLinuxのインストールとParallels Toolsのインストールは完了です。ここからが、ArchLinuxの一番の楽しみ、「自分好みの環境を構築する」です。

ArchLinuxでGUI環境を構築

たぶん、何はともあれGUI環境を構築したい方が多いと思うので、参考サイトをいくつか記載しておきます。好きなパッケージをセレクトして、使用方法を確認しpacman -Sでどんどんインストールを。

ここまでの、仮想環境のシステム(.pvmファイル)をコピーしておくと後々になってすぐに今の状態に戻せるので便利です。また、いくつもコピーを作れば色々な環境が作れて面白いです。

数年前、友人が自宅サーバーを構築している時にディスプレイマネージャだけを複数インストール・コレクションしてましたが、ログインはGUIでコンソールに落ちるシステムにちょっと引きました・・・。ログイン画面で家族の写真が表示されるのが現実を忘れないように大切だと言ってました・・・。

アプリケーションを探すには

アプリーケションのパッケージを探すなら、一通り網羅されている下記のサイトがオススメ。

ウィンドウマネージャ「i3」とディスプレイマネージャ「sLim」でシンプルなGUI環境を構築

ここからは、周りに理解者がいないくて寂しいので、タイル型のウィンドウマネージャ「i3」と、シンプルなディスプレイマネージャ「sLim」の設定を簡単に紹介しつつ、シンプルなGUI環境を構築して終わりにしたいと思います。ディスプレイマネージャはいらない、タイル型WMに馴染めないという知人が多いですが・・・。

「i3」も「SliM」もArchWikiに設定が詳しく書かれていますので、詳細はArchWikiを確認してください。

インストールと初期設定

ここからは、作成した一般ユーザーで作業するものとしてコマンドを記載をしていきます。

$ sudo pacman -S i3 slim dmenu アプリケーションランチャーは「dmenu」をインストール

$ sudo systemctl enable slim.service ディスプレイマネージャ「sLim」を有効化

$ vim ~/.xinitrc 下記を記載

prlcc &    #Parallels
exec i3   #i3session

$ startx i3を起動

初めて起動すると、

i3の初回起動画面1

ホームディレクトリ配下にConfigファイルを作成するか質問されるので「YES」で「Enter」。

i3の初回起動画面2

Modキーをどうするか聞かれるので「Win」か「Alt」のどちらかを選択。Macでは「Win」は「Command」に割り当てられています

Modキーを「Win」にしてしまうと、Macのショートカットとぶつかってしまうので「Alt」にするのがオススメです

「Modキーの変更方法」

$ vim ~/.config/i3/config configファイルを編集

最初の方に記載のある、set $mod Mod4 を変更。

編集したら、Mod+Shift+rでi3のリロードで反映されます。

i3の操作方法

i3の画面

i3が起動すると、下のほうにステータスバーが表示されるだけの画面になります。

「操作方法を簡単に紹介」

Modは、最初に設定したキー(Win or Alt)です。

「i3の操作方法の参考サイト」

今はxtermぐらいしか起動するものがないですが、ブラウザ(firfox)やファイラー、高機能エディタをインストールして、dmenuで複数ソフトを起動し始めると、キーボードで操作完結できるタイル型の本領発揮です。仮想環境でやる必要もないかもしれませんが・・・。

firefoxや日本語フォントをインストール、xtermをsakuraに変更した状態の画面です。

sakuraとfirefoxの画面

xterm を sakura へ変更する方法

ターミナルのxtermをsakuraに変更すれば、Macとのクリップボード共有も機能するし、マウスの右クリックでオプションからフォントサイズ変更などもでき凄く便利になります。xtermは設定が面倒です・・・。

「Mod+Enter」で、xtermでなくsakuraを起動する方法。

$ sudo pacman -S sakura sakuraのインストール

$ vim ~/.config/i3/config configファイルを編集

# start a terminal
#bindsym $mo+Return exec i3-sensible-terminal
bindsym $mo+Return exec /bin/sakura

2行目をコメントアウトし、3行目を追記します。sakuraのバイナリを呼ぶだけのシンプルな書き方・・・。

日本語フォント

firefoxなどで日本語フォントが必要な時は、

サイトの日本語フォントの項目を参考にパッケージをインストールしてみてください。

sLimについて

後はお好みで、i3とsLimの環境を設定・編集していきます。ここまででの設定でシステムを再起動すると、ディスプレイマネージャ「sLim」が有効になっているはずです。

sLimの画面

ログインすればi3が起動すると思います。

やっぱり「sLim」は必要ない!という時は、$ sudo systemctl disable slim.service で無効化してください。ログイン後に、startxすれば「i3」が起動します。

急ぎ足ですが、シンプルなGUI環境の構築の紹介は以上です。

Xwindowでのキーボード配列設定(JP106)

最後の最後ですが、重要なXwindowでのキーボード配列について書きます。

今のままだと、i3(Xwindow上)でのキー配列はUSキーになっています。「JP106」にするには色々な設定方法がありますが、~/.xinitrcsetxkbmap -model jp106と記載してしまうのが一番シンプルです。これで、Xが起動する時にjp106配列になります。

prlcc &    #Parallels
setxkbmap -model jp106 -layout jp  #Keymap jp106
exec i3   #i3session

私は ~/.xinitrc をこんな風に記載しています。

まとめ

長くなりましたが、

を終わります。

今まで、MacのVirtualBoxでLinuxの仮想環境を構築していましたが、GUIの描画が遅いことが気になり、Windowsを仮想化するのに使用していたParallelsを試してみました。Parallels Toolsのエラーでつまづきましたが、きちんとインストールできればParallelsの方がVirtualBoxよりもGUIの描画は早いです。

ゲストOSのLinux上に豪華なGUIが必要かどうかというのは悩ましいですが、GUIのテスト環境などを構築される時はParallelsを試してみてもいいかもしれません。

それにしても、ArchWikiの情報量にはいつも驚かされます。