コンテナ上のOS機能の設定は、SSHでログインしてコマンドラインから設定・変更できます。
しかし、GUIから「すべての設定」(gnome-control-center)や「firewallの設定」(firewall-config)などを行いたい場合があります。もちろんコマンドラインからも設定は可能なのですが、設定ファイルや設定コマンドの使い方を覚えていないとすこし面倒に感じることもあります。
ここではコンテナ内のX-Windowのプログラムの動作の2つの実行方法について説明します。コンテナごとにさまざまなGUIの設定を行うことができます。
1. sshのtrusted X11 転送機能を使用
2. VNCを使用
HOST上から、sshで-Yを付けてコンテナにログインすると、コンテナ内で起動したX-WindowのコマンドがHOST上に表示されます。
たとえば、次の例では「すべての設定」をコンテナ内で実行します。
1) analysis0001というコンテナを作成 # lxcf sysgen analysis0001 2) ssh で-Yオプションを付けてコンテナにログイン # ssh -Y analysis0001 3) 「すべての設定」(gnome-control-center)をコンテナ内で実行 [root@analysis0001 ~]# gnome-control-center
HOST画面に設定画面が表示されます。
マウスで設定したい項目をクリックしてください。
また、ログインせずにHOSTのターミナルから実行することもできます。
1) sshに-Yとgnome-control-centerコマンドを指定して実行 # ssh -Y analysis0001 gnome-control-center
もちろん設定コマンド以外のX-Windowのプログラムもコンテナ内で実行できます。
# ssh -Y analysis0001 firefox
VNC機能でHOST上に、コンテナのGUI画面を表示して設定作業を行うことができます。
VNCは、リモートデスクトップ機能です。本来はGUI画面を別のコンピュータのGUI画面上に表示するものです。
ここでは、HOST上にコンテナのGUIを表示しましょう。
LXCFのコンテナ上では、SELinuxが有効ではVNCのサーバが起動できません。
まず、/etc/selinux/configを編集して、SELinuxをdisabledにします。
# This file controls the state of SELinux on the system. # SELINUX= can take one of these three values: # enforcing - SELinux security policy is enforced. # permissive - SELinux prints warnings instead of enforcing. # disabled - No SELinux policy is loaded. SELINUX=disabled ←ここをdisabledに書き換える # SELINUXTYPE= can take one of these two values: # targeted - Targeted processes are protected, # minimum - Modification of targeted policy. Only selected processes are protected. # mls - Multi Level Security protection. SELINUXTYPE=targeted書き換えたらrebootします。 reboot後にコンテナもstartしておきます。
# lxcf start analysis0001
次に、VNCのビューア(client)とサーバをインストールします。
LXCFのupdateを使って、HOSTとコンテナすべてに一括してVNCのインストールを行いましょう。
tigervncとtigervnc-serverがビューアとサーバのパッケージです。
# lxcf update yum install tigervnc tigervnc-server -y
HOSTとコンテナの両方にインストールするため、すこし時間がかかるかもしれません。
インストールが完了したら、さっそくLXCFのコンテナでVNCのサーバを実行します。
# ssh analysis0001 vncserver