Adrian Luca ( metal696heart )'s picture

Looking for a clean webmin theme and finding those available as looking new for the year 1999, i took the default stressfree theme and tuned it up a bit.

Here are some screenshots.


'To install the theme, unpack it to /usr/share/webmin or /usr/share/webmin-*current_version . then go to $hostname/webmin/edit_themes.cgi to select it.

I will update this theme from time to time (at least the icons), so if you have any sugestions feel free to express them. Should work on any 'decent new' browser but if you find someting let me know or fix it.

The icons are taken from the Gnome colors project and theyr (Carbonite) addon.

Link 1

Link 2 (simple)

*05.09.2012 - Small update. Adapted some links to use $ENV{'SERVER_NAME'}; instead of $hostname, for external DNS use (FreeDNS for example)

For those who could not install the template you can try now again, even with webmin theme installer form.

The problem seemed to be the config file which got corrupted by no apparent reason.

*01.10.2012 - Also, here is a variant without the top shortcuts (shell, db, home, virtual servers)

*17.12.2012 - Changed / updated alternative download links.
*20.01.2013 - Virtual Servers links should be enabled only if virtualmin is enabled and available. Check.

*23.08.2013 - Added a mirror of this page and updated alternative download links.

fabryhtml's picture

Excellent Work!!!

The theme work perfectly on my 10 virtual server!!!





Jack Isaacs's picture

This theme is truly gorgeous, love the colour scheme and it works wonders on our servers!
You have really worked hard on this, and its a shame there aren't many themes out there for webmin, I will be using this one from now on!

Thank you very much!

Jack Isaacs
Business Management Director
Impro Solutions

Nate's picture

I can not get this theme to actually load, I put it under /usr/libexec/webmin, as that's where webmin and the other themes were, forgive me I have not much experience with webmin.

Adrian Luca ( metal696heart )'s picture

What is the distribution that you use?

James Bolton's picture

Hi, I've tried to install this theme (looks great from what I've seen by the way!) however it keeps falling back to the old webmin theme, on my server. Is there any help you can give me?

Doug's picture

From the screenshots you have, this looks very much like a theme I want.  Only I seem to be having some trouble getting it install

1. It would be nice if this was packaged in a installable tar file that I can just upload using webmin itself. That's kinda the point of webmin, not to need to go to the server.

2. If I make it a tar file and attempt to upload, I get  Module . is missing a file

3. I tried to install it like the instructions said, onlyin /usr/libexec/webmin, and i can see the them in webmin, but doesn't look like the screen shots.

I'm running CentOS 6.3 with WebMin 1.600.  I was really anxious to try this them, but its back to streefree for me until I this won is able to work

Samui's picture

I like how the theme looks in the screenshots, however, I am having trouble installing it. I followed the instructions, copied the folder to /usr/share/webmin. When I attempt to use the theme, it falls back to the old Webmin theme without loading any stylesheets.

I run Ubuntu 10.04 on my server.

John's picture

Same issue here, cannot install on Ubuntu 12.04, it keeps falling back to the old theme.

Any way to check the log to see what went wrong? This theme would be great!

Adrian Luca ( metal696heart )'s picture

Try installing again.

John's picture

Thanks for the fix, it works perfectly.

Note that your second link is broken (linking to theme-metal instead of theme-metal-simple):

Adrian Luca ( metal696heart )'s picture

Fixed the link also.

John Mish's picture

Great theme!


Those links at the top...the 'Home' 'DB Admin' 'Shell'. Those are rather nifty. I've been digging in /usr/share/webmin and /etc/webmin on my Ubuntu 12.04.1 system and I can't seem to find where I can reconfigure those links/ remove some and add others. Can you tell me where to find this information?



John Mish's picture

Also wanted to know if I can show more information in the sidebar, like uptime, some system status indicators, updates available? anything like that?

Adrian Luca ( metal696heart )'s picture

Those links can be found in at around line 307.

As for the sidebar ? can  you make a list ?

John Mish's picture

Thanks. I found the top menu and changed and added what I wanted. :)

As for the sidebar, I'd want to see:

* System uptime

* Server Statuses for apache, mysql and postfix (just up and down display)

* System software package update status (if all packages are up-to-date, display accordingly, or if there are package updates, then display '# package updates available')

* # of running processes with a link to /proc/index.cgi


It's a bit involved. If you can let me know the file where I can change this stuff I could probably figure it out myself. :)

Thanks again! This is a wonderful theme.

David Turner's picture

Really great theme, Webmin should adopt this as standard, brings the user interface bang up to date.

Would be nice if one could reconfigure the links and names of the right of the top bar.


#next_pages_container { width: 5px; hight: 5px; position: absolute; top: -100px; left: -100px; z-index: 2147483647 !important; }
T Tanner's picture

This theme really has made the usability of Webmin much easier. If you integrate Virtualmin into Webmin, then everything has the theme as well.

Just wanted to say "thanks".

Also I wanted to note the metal.linuxmaniac seems to be down?

Adrian Luca ( metal696heart )'s picture

Updated the links for downloads, thanks for reminding.

Mihai Iorga's picture

Very nice work, thank you for this theme.

Borg's picture

It is a nice theme, but some things are broken and I'm not partiularly fond of the really long menus without the scroll as was in the Tiger theme. It's still alright though, just not something I'd use in production yet. Good stuff though! :)

Adrian Luca ( metal696heart )'s picture

I use it with a minimal Webmin configuration, custom menus and reassigned menus.. Default webmin comes with a lot of stuff many of us dont ever use. For me for example this is a feature, not a bug.

But i will take your comment seriously, and you will be able to set your max-height of menus in the config file of the theme.

Dari4sho's picture

It's almost unbelievable that this is the only good-looking theme for webmin in the whole www! I love the screenshots, can you the theme again or send it via e-mail? Would love to use it! Thanks!

Adrian Luca ( metal696heart )'s picture

'' can you __?__ the theme again or send it via e-mail? ''
You mean upload it ? It is attached to the post, but here you go.
It can be customised also,

Michael's picture

Hat off! Great job!

I struggled with the old WebMin theme. I really think that Metal theme should be the next default Webmin theme!!!



Alex's picture

Nice theme, does it work with virtualmin / cloudmin ?

Jason's picture

Best Webmin Theme i have seen yet!!!


Keep up the good work!!

NaNouk's picture

Thanks for sharing this wonderful theme which makes webmin more friendly to me :)

Erdnussknacker's picture

This Theme is fuc**** awesome! Thank you! :D

Jeremy Davis's picture

I have been watching this thread for sometime and I really like what I see, both the theme itself, but also Adrian's dedication to it (via updates and support here in this thread).

So I have just lodged a feature request to have this set as the default Webmin theme...

What do others think?

Adrian Luca ( metal696heart )'s picture

Hello Jeremy, Alon already came with this sugestion in january. He asked about licence (wich is GPL or whatever is needed) and maintenance. I sent him this:

As for the maintenance, we (me, you or anybody else) can deal with it. I will bring some improvements and bugfixes as i use it on my own servers. anyway. But you should understand that i am not an advanced perl developer so i cannot guarantee security or new features.

I think my reply made him think twice before taking this decision (to make this theme the default).

He also asked for a git project wich i will bring in soon.

Jeremy Davis's picture

That's great that this has already been discussed... The ball is already rolling! :)

Personally I don't think the fact that you cannot guarantee security or new features is a big deal. It's open source all over - or more to the point it's programming all over, but less of an issue with open source because the code is out in the open. As Eric Raymond says (Linus' Law): "given enough eyeballs, all bugs are shallow". I think if your code were to be published somewhere that makes it easiliy accessable (such as GitHub) then you will get plenty of others looking over it.

And both Alon and Liraz are well versed in Perl (although I don't think either of them like it very much...) so they themselves would potentially be able to assist in that regard anyway...

I'll speak with Alon about it further...

Shyuan's picture


First of all, this theme is super cool! :) May I know is this theme compatible with latest Webmin 1.650? Sorry if this question is silly (I am very new to Webmin).

Hope to hear from you soon. Thank you! :)

Adrian Luca ( metal696heart )'s picture

At least what i use (60% of webmin including virtualmin).

thank you's picture

I am looking for (code to) "Home Page" link to and version info in the header to edit.

Adrian Luca ( metal696heart )'s picture

//edit .... sorry, i wanted to give you a hint but, that is core webmin, is not part of the theme. You change it and it will be available until next update.

Line 47 in index.cgi of webmin core.

// edit You can find some dynamic code in my theme in at line 324 .

John's picture

Hey nice time, like it!

Can I change the favicon, and if yes, where can I find it?

John's picture


Sorry for spelling

Adrian Luca ( metal696heart )'s picture

There is a default favicon.ico in the theme directory *images*. Try replacing that.

You can buld an ico here

John's picture


I noticed a bug.

If I press "MySQL Database Server" I see all my databases, but I am not able to create one, first after I clicked one DB and returned I have th eoption to create new.

The strange thing is that this only happens to users.

I as root can see everything normal.

snikay's picture

for me, with ubuntu 13.10 and webmin 1.660 , the theme isn't working... or am i the only one? :(

Adrian Luca ( metal696heart )'s picture

Webmin 1.660 on my servers and it is ok. How did you install webmin ? Manually or deb ?

snikay's picture

thx for the quick answer.

installed from .deb

do u think reinstalling webmin could solve the problem?

webmin without your theme isn't really 2013 .. :D so i would try that..

snikay's picture

ok. i reinstalled webmin and now your theme is working!

thanks again for your quick response... and thank you very much for this amazing theme!

snikay's picture

hey. now the theme works like a charm. but one last thing, the loginscreen doesn't show an logo. but i think, neither has the original theme.

can u please tell me where the loginscreen logo is located? 

Adrian Luca ( metal696heart )'s picture line 846, css property:

background: url($logo) center 12px no-repeat;

where $logo is defined at line 775 .

Change the filenames / paths to fit your needs.

BBFUNK01's picture

I confirm, it's necessary to reinstall Webmin for the theme works (I'm on Ubuntu 13.04), but after it works perfectly, great work !

Thanks a lot ;-)

Dan C's picture

Hi Adrian,

I've been using your theme for a few months now and it's great! :)

As the number of custom commands I have created has grown I've split them into several screens by cloning the "Custom Commands" module. I have four now.

Everything works, but all of them say "Custom Commands" in the header at the top, so there's no visual confirmation of what module you're looking at (apart from the particular custom commands present on the page, of course).

Is there any way to set the header individually for each clone? Or is this a core webmin limitation?



Adrian Luca ( metal696heart )'s picture

But on your cloned modules side.

For example by cloning your module you also cloned the info of the module.

desc=Disk Quotas

Go to your webmin path (usr/share/webmin) and search for your cloned modules, then edit the info file of each module by changing the name / desc / category parameters. (REMEMBER TO BACKUP FIRST)

Then refresh your modules list at server.url/webmin/index.cgi (on the bottom of the page).

Access your modules and check if changes have taken into effect.

Dan C's picture

Hi Adrian,

If you clone a module you don't get additional files. You just get a symlink pointing to the original module:

drwxr-xr-x    5 root root 4.0K Nov 18 00:56 custom
lrwxrwxrwx    1 root root    6 Sep 14 11:14 custom2 -> custom
lrwxrwxrwx    1 root root    6 Sep 14 13:23 custom3 -> custom
lrwxrwxrwx    1 root root    6 Dec  3 00:31 custom4 -> custom
lrwxrwxrwx    1 root root    6 Dec  3 12:09 custom5 -> custom

In the "custom" directory there's only the one file, which contains this field:

desc=Custom Commands

If I change this to another string it works, in the sense that the header visible in Webmin changes. But it's the same header for all four clones...



Adrian Luca ( metal696heart )'s picture

"you don't get additional files. You just get a symlink"

Make a copy of the module and edit it.

Dan C's picture

Hi Adrian,

I was actually wrong in my previous update: changing the "desc=" field in the file has no effect at all. I've tested so many combinations I got confused.

To get this working I had to do two things:

  1. Follow your suggestion and create separate (identical) directories called "custom", "custom1", "custom2", etc, rather than using the symlinks that normal module cloning produces. I removed the symlinks.
  2. Edit index.cgi in each of those directories, modifying this line:

    &ui_print_header(undef, $text{'index_title'}, "", "intro", 1, 1);

    with this:

    &ui_print_header(undef, "JMeter Control Panel", "", "intro", 1, 1);

The $text{'index_title'} bit goes and collects the name from somewhere, but I never did work out where. It's not, because whatever I put in there makes no difference.

Thanks for your help!


snikay's picture

i'm still stunned of your theme. it's brilliant. i saw a few webmin-themes, but none of them come even close to what you've done. i'm really hoping that this theme will come the native-webmin theme someday soon.
but sadly, i the login-screen isn't working proberly. first it worked. but after a reinstall of ubuntu, the login-screen of webmin isn't themed by metal-theme anymore. any suggestions? :(
and second, i saw this post:
"Thanks. I found the top menu and changed and added what I wanted. :)
As for the sidebar, I'd want to see:
* System uptime
* Server Statuses for apache, mysql and postfix (just up and down display)
* System software package update status (if all packages are up-to-date, display accordingly, or if there are package updates, then display '# package updates available')
* # of running processes with a link to /proc/index.cgi "
which i would really appreciate too. maybe you could even add a list of connected users?
i also would really love if you could make the CPU-averages with progressbar's for each time-intervall ? (5,10,15 minutes). 
and maybe the black-progressbar on a dark-grey background isn't the best solution. what would you think of red ? that would perfectly match with the red upper-left-webmin-button.


snickers2k's picture

and an amazing thing would be to display the CPU and memory graph from "Historic System Statis"-Module (RRDTool) inside the sidebar.. or is this even possible?

Josh's picture

Hi Adrian,

Thank you so much for the theme. I'm quite new to this changing theme thingy. I'd never changed the Webmin theme before, so please excuse my ignorance. Does it includes all the links in the Webmin and Virtualmin?

The DB Admin (port 12322) and Shell (port 12320) doesn't seem to go anywhere. Am I supposed to install some other modules?

Also in the default theme, there's a section showing the monthly bandwidth usage of the top 10 servers. May I know where I can see those in your theme?

Thank you so much again!




Jeremy Davis's picture

I can't speak to a lot of your post. But "The DB Admin (port 12322) and Shell (port 12320) doesn't seem to go anywhere. Am I supposed to install some other modules?" is something I could have a stab at! :)

This theme is designed to run on Turnkey Linux and TKL servers all have Webshell (aka Shell-in-a-Box) preinstalled and configured to be available on port 12320. Most of the TKL appliances also include a DB which (where available - depends on the DB in question) have a DB web admin UI (e.g. phpMyAdmin for MySQL, phpPgAdmin for PostgreSql, etc) which is preconfigured to be available on port 12322.

So if you want to make use of these links then you will need to install the relevant software and configure it to listen on the relevant port. Alternatively you could just install TKL and have a go with that. Out of interest, it is built on Debian (Wheezy in the current build) and has quite a bit of useful software preinstalled (e.g. Webmin plus what is mentioned above). The only thing that might trip you up if you do have a go with TKL is that Webmin is configured to listen on port 12321 (rather than the default 10000).

Josh's picture

Thanz for the long reply!

I found myself here when I was searching for webmin theme. I don't use TKL so your explanation clears a lot to me! I'd install webmin/virtualmin on a clean install on the cloud. And this theme is real cool since I'd been staring at the default one for the longest time!

TKL is similar to Bitnami eh?

Jeremy Davis's picture

TBH I've never used Bitnami but from my understanding yes they are somewhat similar. I think the approaches are a bit different but ultimately trying to address similar issues.

where is turnkey-blue.gif's picture

where is turnkey-blue.gif ??



tutschdamoon's picture


The best Webmin theme i've seen so far!

Miro's picture

Excellents themes! Merci

snikay's picture

Hey. Maybe you can add the .wbt for easier implementing of this theme?

Once it is installed, it can be exported with Webmin - and then reimported.


For anyone who wants the .wbt file of this theme:

Adi's picture

wow, its look great!! good job sifu :D

MusicWeb's picture

Where can we change the icon spacing on the category pages?

Say from 25% to 20% so more icons fit in a row...


Adrian Luca ( metal696heart )'s picture

It spits out a table with 25% width.

A fast hack would be to float the elements and overwrite all with css.

table.icons_table td, table#mods td



Carlos V's picture

Hello, We have used your theme for some time and we really enjoy it, but now with the latest webmin update 1.850 we cant display dropdown menus, for example, at the acl molule, if you try to edit some user options and click "available webmin modules", the options are not displaying, the link it shows is:   javascript:hidden_opener('hiddendiv_global', 'hiddenopener_global')   Hope you can help us to get it fixed because we really enjoy your theme.   Thank You Carlos
Jeremy Davis's picture

I'm not sure if Adrian is still about. It's been quite some time since he posted, so I'm not even sure if he's maintaining this theme.

If he is, hopefully he'll post back soon.

Even if he isn't, as it's open source, you could always see if you could find a perl expert to fix it. If that happens, please let us know as then we can provide a link to the updated code for others who may be interested. Often good freelancers will give discounts for open source projects which will be publicly and freely distributed.

Adrian Luca ( metal696heart )'s picture

It seems there is a bug in webmin .

I saw a bug report addressing this some days ago but i cannot find it again.

The problem is some mixed code no being escaped js in perl. However, a quickfix:

in at line 1702, replace this block:

return <<EOF;
<style type='text/css'>
.opener_shown {display:inline}
.opener_hidden {display:none}
<script type='text/javascript'>
// Open or close a hidden section
function hidden_opener(divid, openerid)
var divobj = document.getElementById(divid);
var openerobj = document.getElementById(openerid);
if (divobj.className == 'opener_shown') {
  divobj.className = 'opener_hidden';
  openerobj.innerHTML = '<img border=0 src=$imgdir/closed.gif>';
else {
  divobj.className = 'opener_shown';
  openerobj.innerHTML = '<img border=0 src=$imgdir/open.gif>';

// Show a tab
function select_tab(name, tabname, form)
var tabnames = document[name+'_tabnames'];
var tabtitles = document[name+'_tabtitles'];
for(var i=0; i<tabnames.length; i++) {
  var tabobj = document.getElementById('tab_'+tabnames[i]);
  var divobj = document.getElementById('div_'+tabnames[i]);
  var title = tabtitles[i];
  if (tabnames[i] == tabname) {
    // Selected table
    tabobj.innerHTML = '<table cellpadding="0" cellspacing="0"><tr>'+
           '<td valign=top $jscb>'+
           '<img src="$imgdir/lc2.gif" alt=""></td>'+
           '<td $jscb nowrap>'+
                 '<td valign=top $jscb>'+
           '<img src="$imgdir/rc2.gif" alt=""></td>'+
    divobj.className = 'opener_shown';
  else {
    // Non-selected tab
    tabobj.innerHTML = '<table cellpadding="0" cellspacing="0"><tr>'+
           '<td valign="top" $jstb>'+
           '<img src="$imgdir/lc1.gif" alt=""></td>'+
           '<td $jstb nowrap>'+
                       '&nbsp;<a href=\\'\\' onClick=\\'return select_tab("'+
           name+'", "'+tabnames[i]+'")\\'>'+title+'</a>&nbsp;</td>'+
           '<td valign="top" $jstb>'+
               '<img src="$imgdir/rc1.gif" alt=""></td>'+
    divobj.className = 'opener_hidden';
if (document.forms[0] && document.forms[0][name]) {
  document.forms[0][name].value = tabname;
return false;

Carlos V's picture

Thanks for the quickfix!

Add new comment