Many of my blog posts come from questions that I receive in the classroom as I travel around the world teaching Solaris, Linux, AIX and HP-UX. I tell my students that I learn something in every class that I teach- even when I teach the Fundamentals UNIX course. It’s because there are so many different ways to accomplish the same task in Solaris. Furthermore, those new to Solaris system administration tend to ask questions that I may have never thought of. Whenever students ask a question, I don’t usually just answer it off the cuff. I create slides and write up a procedure on how to perform the task. I guess it’s because I love to write, but also, I want to make myself perfectly clear. I try to share some of those procedures in my blog postings. How many times have you read documentation and that one important step is left out? I’ll try not to do that to you in my blog entries and if I do, make sure you call me out on it.
This question comes up quite often from new system admins:
How do I access the GUI desktop environment on a Solaris 11 SPARC server from my Windows, MAC, Solaris or Linux desktop computer?
Because SPARC based servers are installed using the Oracle Solaris 11 Text Installer (installing the solaris-large-server group of software packages), the desktop environment is not installed. Therefore, the only option for connecting remotely to the server is with an SSH client and getting a command line prompt. I typically use putty for this. Another great tool, and there’s a free version, is MobaXterm. Setting up desktop access using MobaXterm is the topic I’ll cover here.
Students using SPARC servers, especially those new administrators, frequently ask how to setup their Windows, MAC, Solaris or Linux desktop to display the Gnome GUI desktop environment when connecting to their SPARC server. In otherwords, they want this this screen:
Not this screen:
Here’s how to setup your Windows, MAC or Linux desktop to display the Solaris Gnome GUI environment.
Overview of the Setup
To accomplish this, you’ll need to follow these three steps:
- Install the Gnome desktop environment on your SPARC server.
Note – If you use the text installation method, the Oracle Solaris Desktop package (solaris-desktop) is not installed on your system by default.
- Enable XDMCP connections on the SPARC server.
XDMCP is a remote desktop protocol used by several UNIX systems, including Solaris. With XDMCP, your desktop computer running X11 can connect to the SPARC server (also running X11) and interact with the SPARC server as if you were physically at the SPARC server.
- Install an X Server program on your desktop. I’ll use the free version of MobaXterm. Download and install MobaXterm (free) on your Windows, MAC, Solaris or Linux desktop from http://mobaxterm.mobatek.net/
Step 1 – Install the Gnome desktop environment on your SPARC server
Log into the SPARC server as root. The server needs to have access to a software repository so that you can install the solaris-desktop package as follows:
# pkg install solaris-desktop
Note: If your system does not have access to a repository, that’s a topic for another time, but it is covered in my book. Add a comment below this post if you would like me to post this procedure. Another source of information is Oracle explains how in their documentation.
The installation of the solaris-desktop will take several minutes. Here’s a sample installation:
# pkg install solaris-desktop
Packages to install: 337
Create boot environment: No
Create backup boot environment: Yes
Services to change: 14
DOWNLOAD PKGS FILES XFER (MB) SPEED
Completed 337/337 50991/50991 528.9/528.9 0B/s
PHASE ITEMS
Installing new actions 82278/82278
Updating package state database Done
Updating image state Done
Creating fast lookup database working
Creating fast lookup database Done
You have new mail in /var/mail/root
Step 2 – Enable XDMCP connections on the SPARC server
When the installation is complete, enable XDMCP connections by editing the /etc/gdm/custom.conf file. Add this line to the end of the file:
[xdmcp] Enable=true
Enable xvnc-inetd as follows:
# inetadm -e xvnc-inetd
Restart the graphical login service (gdm) as follows:
# svcadm restart svc:/application/graphical-login/gdm:default
Check the state of the gdm service by typing:
# svcs -vx
The service might be in a maintenance state like this:
svc:/system/consolekit:default (ConsoleKit) State: maintenance since September 5, 2014 09:11:20 PM UTC Reason: Restarting too quickly. See: http://support.oracle.com/msg/SMF-8000-L5 See: man -M /usr/share/man -s 1m console-kit-daemon See: /var/svc/log/system-consolekit:default.log Impact: 1 dependent service is not running: svc:/application/graphical-login/gdm:default
Reboot the server
Verify that all of the services are running normal by typing:
# svcs -vx
The following output shows that the svc:/application/texinfo-update:default service is offline* This indicates that the service is still starting. Eventually, the svcs –vx command should return only a shell prompt when everything is running:
svc:/application/texinfo-update:default (texinfo documentation directory update) State: offline* transitioning to online since September 5, 2014 09:26:33 PM UTC Reason: Start method is running. See: http://support.oracle.com/msg/SMF-8000-C4 See: man -M /usr/share/man -s 1 install-info See: /var/svc/log/application-texinfo-update:default.log Impact: This service is not running.
When the service is running, the svcs -vx command will return only a prompt as follows:
# svcs -vx #
Step 3 – Install an X Server program on your desktop
I’ll use the free version of MobaXterm to connect my PC to the Gnome desktop on the SPARC server. Download and install MobaXterm (free) on your Windows, MAC, Solaris or Linux desktop from http://mobaxterm.mobatek.net/
Another popular free program is Xming.
After installing MobaXterm, click on the MobaXterm icon to open the program.
Click on the Sessions Icon:
Click on the Xdmcp icon:
Select the “Specify server to connect to:” radio button and enter the IP address of the SPARC server:
Note: You can also select the radio button to “Connect to any server” and the login prompt should appear.
Once connected, the following login should appear:
This same procedure could be setup for providing GUI access to your non-global zones.
If you have any questions, please add them in the comments section below and I’ll try my best to address them.
Thanks for documenting this procedure for solaris 11. Worked great for me.
Initially I did get a “permission denied” when trying to login as root via Xdmcp,
this was resolved by commenting out the CONSOLE line in /etc/default/login
which controls the device that root can log into on.
For cygwin users, I used the following command to bring up the Xdmcp login screen on my laptop:
Xwin -query 172.xxx.xxx.xxx
Pingback: Add Desktop Environment Gdm – Dolove.info
You should not enable root access in that way, in fact it is both insecure and unnecessary. If you install from an ISO, the named account will have both the root role and access to sudo. So login as that user and then assume the role and/or use sudo
Thank you, it helped me to get the service from maintenance mode to online ( I had Restarting too quickly. error ) and to handle MobaXTerm.
Unfortunately I still cannot login, I get black screen in Moba and non-movable mouse in VMWare terminal. Service is online, svcs -vx clean. Do you have any tip for me where to look for the fix ?
Thank you,
Peter