Fedora 18のサーバーデスクトップ画面をVNC経由で表示して、virt-managerを使用する手順です。KVMの仮想マシンが起動しているとディスプレイ番号が奪われている場合があるので、仮想マシンはすべて停止した状態で作業してください。
まずは、Fedora 18を「Gnome Desktop」環境で導入します。導入後、firewalldの設定が辛いので、とりあえず、iptablesに変更しておきます。
# yum install iptables-services # systemctl mask firewalld.service # systemctl enable iptables.service # systemctl start iptables.service
必要なパッケージを追加します。VNC経由でGnome Shellは辛いので、Cinnamonを利用します。
# yum install cinnamon tignervnc-server virt-manager virt-viewer openssh-askpass
VNCで接続する先のユーザ「user01」を作成して、ログインパスワードとVNC接続パスワードを設定します。
# adduser user01 # passwd user01 # su - user01 $ vncpasswd
続けて、user01のまま、Xセッション起動ファイルを用意します。ここで、Cinnamonの利用を指定します。
/home/user01/.Xclients
#!/bin/bash GSESSION="$(type -p gnome-session)" if [[ ! -z "$GSESSION" ]]; then exec "$GSESSION" --session=cinnamon fi # fallback to default /etc/X11/xinit/Xclients
$ chmod u+x /home/user01/.Xclients $ exit
VNC Serverの設定は、systemdの設定ファイルとして作成します。
/etc/systemd/system/vncserver@.service
[Unit] Description=Remote desktop service (VNC) After=syslog.target network.target [Service] Type=simple ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill :$(echo %I | cut -f2 -d:) >/dev/null 2>&1 || :' ExecStart=/bin/sh -c '/sbin/runuser -l $(echo %I | cut -f1 -d:) -c "/usr/bin/vncserver -fg -geometry 1024x768 :$(echo %I | cut -f2 -d:)" || :' ExecStop=/bin/sh -c '/sbin/runuser -l $(echo %I | cut -f1 -d:) -c "/usr/bin/vncserver -kill :$(echo %I | cut -f2 -d:)" || :' [Install] WantedBy=multi-user.target
最後にVNC Serverを起動して完了です。この時、サービス名(Unit名)として、「vncserver@<接続ユーザ>:<ディスプレイ番号>.service」を指定します。
# systemctl enable vncserver@user01:1.service # systemctl start vncserver@user01:1.service
VNC Clientから接続すると、こんな感じのデスクトップが表示されます。
virt-managerの設定は、「遠隔地のKVMホストをvirt-managerで管理する方法」を参照してください。