WilliamLam.com

  • About
    • About
    • Privacy
  • VMware Cloud Foundation
  • VKS
  • Homelab
    • Hardware Options
    • Hardware Reviews
    • Lab Deployment Scripts
    • Nested Virtualization
    • Homelab Podcasts
  • VMware Nostalgia
  • Apple
You are here: Home / ESXi / How to add a splash of color to ESXi DCUI Welcome Screen

How to add a splash of color to ESXi DCUI Welcome Screen

09.09.2010 by William Lam // 25 Comments

Earlier this year I created a simple vSphere SDK for Perl script that allows you to update ESXi's DCUI (Direct Console User Interface) banner with multiple lines of text. I originally thought you could not customize the text color or the background color, though recently I found out that was not the case. While doing some testing on ESXi 4.1, I noticed two files (support,welcome) located under /etc/vmware and looking at the contents of support, it made realize we might be able to change the colors.

Here is the contents of /etc/vmware/support, notice the special formatting of the variables including color tags:

I decided to use one of my favorite UNIX utility, "strings" to take at the dcui binary that is located under /sbin in the Busybox Console (Tech Support Mode) and discovered you can control both the font color and background color. There are also special variables that can be used to display information about the ESXi host such as the product version or IP Address.

Here are the supported colors:

white
black
dark-grey
light-grey
yellow

Here are the special variables:

assettag
BIOSversion
BMCversion
CIM_Chassis
CPLDversion
esxproduct
esxversion
hostname
ip
license
memory
OMC_MCFirmwareIdentity
OMC_SMASHFirmwareIdentity
OtherIdentifyingInfo
PLSAversion
serial-number
servicetag
ssl-thumbprint
supportperiod
supportstart
VersionString
VMware_HHRCSoftwareIdentity

There are two ways of updating the DCUI welcome banner: using local or remote esxcfg-advcfg or manually editing /etc/vmware/welcome file.

Here is an example of using vCLI's esxcfg-advcfg:

Here is what that looks like on the DCUI:

As you can see, this is not easy if you want to update multiple lines. You would need to add a lot more spaces to force newlines, but this becomes tedious and pretty much unreadable. The second method is edit the welcome file that is located in the Busybox Console, which requires you to enable ESXi's Tech Support Mode. I wrote a quick Perl script called generateDCUIScreen.pl which accepts an input file and allows a user to customize the output and the script generates the "welcome" file which is uploaded to your ESXi host.

Here is an example of the input file:

The script will parse the input file which will contain definitions for:

  • bgcolor and color as described above
  • special variables as described above (must use braces for variables to be translated)
  • custom text
  • "=space=" string which is unique to my script which generates the newlines

The script requires that you have Perl, but you do not need to have vSphere SDK for Perl. For ease of use, I executed the script using vMA.

Here is an example execution using the input file from above:


You will need to scp the new"welcome" file to your ESXi host under /etc/vmware which is empty by default. For the changes to take effect, you will need to run the following command at the console:

kill $(ps | grep dcui | awk '{print $1}')

This will kill dcui utility and watchdog process will spawn a new instance causing the change to take effect Note: A reboot will also do the job, but be sure to run /sbin/auto-backup.sh before doing so, that way the change will be backed up.

Here is what DCUI screen looks like:

As you can see, you can control variety of pre-defined variables including hostname and IP Address and custom text for your organization. This is useful for those that do not want to expose all the information that available on the default DCUI screen, which may be a security concern for some organizations. A few things to note, I was not able to fill the entire screen like the default DCUI banner and the "welcome" file is character sensitive and you need to use tabs or white spaces to force the background to get filled. There is also a limit in the number of characters per row before it wraps to the next line.

I am sure there is someone out there that will create some interesting ASCII art, but here is my 5min free hand attempt at it 😉

This can easily be integrated into a scripted install using the new ESXi 4.1 kickstart feature.

More from my site

  • Quick Tip - Easily identify source DHCP server using ESXi DCUI
  • Customizing the ESXi DCUI to show number of VMs
  • vCenter Server 6.0 Tidbits Part 6: Customizing VCSA's DCUI
  • How to restart the ESXi management network via command-line?
  • How to get rid of "Quicks stats on hostX is not up-to-date" message

Categories // ESXi, Not Supported Tags // dcui, vSphere 4.1

Comments

  1. *protectedDominic Rivera says

    09/09/2010 at 6:24 am

    That's f'ing awesome. You can shove down some of the welcome screen data with host profiles too, I'd be interested to see if you can do some of the same customizations and blast them out with host profiles. Nice write up and sleuthing.

    Reply
  2. *protectedKendrick Coleman says

    09/09/2010 at 2:51 pm

    H4x teh ESXi... nice dude.

    Reply
  3. *protectedemail says

    09/13/2010 at 1:15 am

    mmm awesome

    Reply
  4. *protectedAnonymous says

    10/02/2010 at 8:25 pm

    Sorry for the silly questions; learning as I go... How can i execute generateDCUIScreen.pl using rCLI? Could you elaborate on this statement: "You will need to scp the new "welcome" file to your ESXi host under /etc/vmware". Am I supposed to replace the welcome file with the input file?

    Reply
  5. *protectedShmuel says

    11/23/2010 at 3:36 pm

    Hello

    I am trying to use this method but I find no dcui process .the /etc/vmware/welcome is updated ok.
    OS ESX classic 4.1

    Thanks ,
    rub1

    Reply
  6. *protectedWilliam says

    11/23/2010 at 3:50 pm

    @Shmuel

    The article is only applicable to ESXi not classic ESX

    Reply
  7. *protectedShmuel says

    11/24/2010 at 9:22 am

    thanks William , I have overlooked it.
    do you know maybe some way to pop up a message on the welcome screen of ESX classic from a perl / python Script
    running on ESX host ?
    the esxcfg-advcfg -m option changes the /etc/vmware/welcome, but I guess it is not used by the "welcome screen " here.

    Reply
  8. *protectedDee says

    01/12/2011 at 2:51 pm

    do you know what is the keyword to display the cpu model and number of cpu model on the dcui. This would be similar to what shows up on the default dcui screen.

    Reply
  9. *protectedWilliam says

    01/15/2011 at 6:42 pm

    @Dee,

    No I do not

    Reply
  10. *protectedDee says

    01/16/2011 at 10:35 pm

    Got around it by placing an init script that will generate 'welcome' everytime with cpu #s / model inserted ..

    Reply
  11. *protectedJC says

    01/25/2011 at 1:31 am

    Nice! One question though. I have it in my kcikstarts and all works fine BUT when I 'Enable Local Tech Support' and go to the logon screen (Alt-F1) the text of the /etc/vmware/welcome file is displayed before the login prompt! And I mean the actual TEXT - not the translation. Also, I get the exact same behavior if I do it manually after the build is complete.

    Reply
  12. *protectedWilliam says

    01/25/2011 at 3:07 am

    @JC,

    That's expected, DCUI isn't running in that console (tty). Also if you login and take look at /sbin/tech-support.sh you'll see that if /etc/vmware/welcome exists, it'll just cat that out. Also depending if you've enabled local TSM, you'll either get a login prompt or TSM unavailable. This display trick only works when DCUI utility is running and will display whatever you have configured. Also if you login and do a ps -Cc | grep dcui, you'll see that it's running by default in tty2

    Reply
  13. *protectedJC says

    01/25/2011 at 3:30 pm

    Thanks - I'll see if I can modify the tech-support.sh script to NOT do that 😀

    Reply
  14. *protectedAfthab says

    08/13/2011 at 5:59 am

    Anyone help me,

    i simply edited "welcome" file and successfully displayed. Then i removed the line now its showing blank screen. How can i get back default display ?

    Reply
  15. *protectedChris C. says

    09/29/2011 at 7:40 pm

    Thanks for this post! I've combined stuff from your tutorial with a script that is run by cron every 5 minutes and gets the status of my guests using vim-cmd and outputs them to the screen.

    Reply
  16. *protectedAnonymous says

    11/08/2012 at 11:02 pm

    Are there any other variables that /etc/vmware/welcome will process?

    -Zack

    Reply
  17. *protectedIvan says

    11/09/2014 at 6:59 pm

    very good job

    Reply
  18. *protectedBehnood Moradi says

    06/30/2016 at 2:17 am

    Hi,
    did you know the parameters for CPU model and quantity in welcome file?

    Thank, Excellent

    Reply
  19. *protectedStephen Moll says

    07/20/2022 at 3:05 pm

    Your list of supported colours is missing one: Red

    Other than that, very interesting. I hadn't realised the welcome message was so flexible. It's shame vCenter AUP/notice isn't as flexible, more disappointingly the message is hidden unless the user clicks a link.

    Reply

Trackbacks

  1. Making Security Easier - An ESXi Fling for US Federal Customers - VMware vSphere Blog - VMware Blogs says:
    01/26/2016 at 11:05 am

    […] One of the recurring questions is “What if I don’t want the DOD login banner?”. You can change that with some PowerCLI. The login banner file was added because formatting the string in PowerCLI is a little challenging. William Lam first introduced this on his blog. […]

    Reply
  2. How to Add a Splash of Remote Color to ESXi Shell | virtuallyGhetto says:
    05/19/2016 at 7:23 am

    […] If you are interested in other ways of customizing the DCUI, take a look at this blog post How to add a splash of color to ESXi DCUI Welcome Screen […]

    Reply
  3. Customizing the ESXi DCUI to show number of VMs | virtuallyGhetto says:
    05/24/2016 at 9:17 am

    […] the /etc/vmware/welcome configuration file which I had blogged about several years back on adding a splash of color to the ESXi DCUI. There was even a recent VMware Fling that provides a VIB that applies a variety of DoD STIG […]

    Reply
  4. Making Security Easier - An ESXi Fling for US Federal Customers - VMware vSphere Blog says:
    05/27/2016 at 12:22 pm

    […] One of the recurring questions is “What if I don’t want the DOD login banner?”. You can change that with some PowerCLI. The login banner file was added because formatting the string in PowerCLI is a little challenging. William Lam first introduced this on his blog. […]

    Reply
  5. Localizing VMware vSphere ESXi UI | Blog Linoproject.net says:
    11/27/2018 at 12:02 am

    […] the web I found some interesting posts here, here, here by William Lam, about how to change VMware vCenter and ESXi Host UI to get a different look. […]

    Reply
  6. Complete List of Variables Available for ESXi W… |VMware Communities | For servers says:
    01/17/2020 at 7:45 am

    […] https://www.williamlam.com/2010/09/how-to-add-splash-of-color-to-esxi-dcui.html […]

    Reply

Thanks for the comment!Cancel reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Search

Thank Author

Author

William is Distinguished Platform Engineering Architect in the VMware Cloud Foundation (VCF) Division at Broadcom. His primary focus is helping customers and partners build, run and operate a modern Private Cloud using the VMware Cloud Foundation (VCF) platform.

Connect

  • Bluesky
  • Email
  • GitHub
  • LinkedIn
  • Mastodon
  • Reddit
  • RSS
  • Twitter
  • Vimeo

Recent

  • VCF 9.0 Hardware Considerations 05/30/2025
  • VMware Flings is now available in Free Downloads of Broadcom Support Portal (BSP) 05/19/2025
  • VMUG Connect 2025 - Minimal VMware Cloud Foundation (VCF) 5.x in a Box  05/15/2025
  • Programmatically accessing the Broadcom Compatibility Guide (BCG) 05/06/2025
  • Quick Tip - Validating Broadcom Download Token  05/01/2025

Advertisment

Privacy & Cookies: This site uses cookies. By continuing to use this website, you agree to their use.
To find out more, including how to control cookies, see here: Cookie Policy

Copyright WilliamLam.com © 2025