Solaris Trusted Extensions Installation and Configuration for Solaris 10 11/06 and Solaris 10 8/07 Releases

Labeled Zone Is Unable to Access the X Server

Description:

If a labeled zone cannot successfully access the X server, you might see messages such as the following:

  • Action failed. Reconnect to Solaris Zone?

  • No route available

  • Cannot reach globalzone-hostname:0

Cause:

The labeled zones might not be able to access the X server for any of the following reasons:

  • The zone is not initialized and is waiting for the sysidcfg process to complete.

  • The labeled zone's host name is not recognized by the naming service that runs in the global zone.

  • No interface is specified as all-zones.

  • The labeled zone's network interface is down.

  • LDAP name lookups fail.

  • NFS mounts do not work.

Steps toward a solution:

    Do the following:

  1. Log in to the zone.

    You can use the zlogin command or the Zone Terminal Console action.


    # zlogin -z zone-name
    

    If you cannot log in as superuser, use the zlogin -S command to bypass authentication.

  2. Verify that the zone is running.


    # zoneadm list
    

    If a zone has a status of running, the zone is running at least one process.

  3. Address any problems that prevent the labeled zones from accessing the X server.

    • Initialize the zone by completing the sysidcfg process.

      Run the sysidcfg program interactively. Answer the prompts in the Zone Terminal Console, or in the terminal window where you ran the zlogin command.

      To run the sysidcfg process noninteractively, you can do one of the following:

      • Specify the Initialize item for the /usr/sbin/txzonemgr script.

        The Initialize item enables you to supply default values to the sysidcfg questions.

      • Write your own sysidcfg script.

        For more information, see the sysidcfg(4) man page.

    • Verify that the X server is available to the zone.

      Log in to the labeled zone. Set the DISPLAY variable to point to the X server, and open a window.


      # DISPLAY=global-zone-hostname:n.n
      # export DISPLAY
      # /usr/openwin/bin/xclock

      If a labeled window does not appear, the zone networking has not been configured correctly for that labeled zone.

    • Configure the zone's host name with the naming service.

      The zone's local /etc/hosts file is not used. Instead, equivalent information must be specified in the global zone or on the LDAP server. The information must include the IP address of the host name that is assigned to the zone.

    • No interface is specified as all-zones.

      Unless all your zones have IP addresses on the same subnet as the global zone, you might need to configure an all-zones (shared) interface. This configuration enables a labeled zone to connect to the X server of the global zone. If you want to restrict remote connections to the X server of the global zone, you can use vni0 as the all-zones address.

      If you do not want an all-zones interface configured, you must provide a route to the global zone X server for each zone. These routes must be configured in the global zone.

    • The labeled zone's network interface is down.


      # ifconfig -a
      

      Use the ifconfig command to verify that the labeled zone's network interface is both UP and RUNNING.

    • LDAP name lookups fail.

      Use the ldaplist command to verify that each zone can communicate with the LDAP server or the LDAP proxy server. On the LDAP server, verify that the zone is listed in the tnrhdb database.

    • NFS mounts do not work.

      As superuser, restart automount in the zone. Or, add a crontab entry to run the automount command every five minutes.