Return to the main mkusb page

mkusb version 9

This version of the mkusb tool, version 9, is still only a bash script. Previous versions have been running at least partially in text mode, but people want eye candy, so now the menus and dialogue windows are purely graphical using zenity. There is also a text console for output from the engine behind the zenity curtain.

Improvements and new features

File selection dialogue only via zenity (so only for graphical environment) ../artwork/mkusb24.png

  • mkusb 9.0.1
    • Cosmetic improvements: I try to make the colour scheme as consistent as possible given the limitations of zenity. The menu lists have no colour, only shades of grey. I use the icon colour in the final confirmation windows. The blue colour which is standard in dialog is abandoned. The red warning colour is still there, it is important.
    • Extended help with a separate help menu. There is even a quick link to this wiki page. The default web browser is called from the normal user id to avoid browsing with superuser id (a security issue).
  • mkusb 9.0.2:
    • livedrive recognition debugged: grep -m 1 ...
    • skip if iso diskname matches on livedrive
    • check environment variables needed for zenity
    • fix for buggy(?) zenity --list in trusty
    • added gnome-www-browser for debian
    • added png icon for systems that cannot use svg icons
  • mkusb 9.0.3:
    • adding to zenity window width and height, automatic for Knoppix 7.4
    • function tweak_zws: manual tweak of zenity window for distros with special interpretation of zenity window size and or fonts
    • function file_from_parameter for cleaner exit, so clean_mtab_n_colors_n_zerrlog is called 'only' at the end
  • mkusb 9.0.4
    • improved identification of (the linux distro in) iso files
    • functions (find_distr final_warning_legacy mkz_html mkz_legacy zenitylegacy) for identification of distros and adjusting the graphics: html if available, otherwise 'legacy' black & white windows - for example in Fedora and openSUSE where zenity is compiled without WebKit, so there is no --html option.

    • legacy desktop files available at, useful in linux distros, where the standard desktop file does not work

    • several minor bug-fixes
    • mkusb-installer: script available at, useful in linux distros, where the PPAs do not work. (The PPAs are made for Ubuntu and Ubuntu based community flavours and re-spins, they can work in Debian, but not at all in non-debian distros.)

  • mkusb 9.0.5
    • improved management of mounting an unmounting when identifying drives for iso-testing, functions same_iso and sed_mtab
    • minor bug-fixes of the output text and new-lines
    • improvements ported to mkusb-nox when relevant
  • mkusb 9.0.6
    • minor bug-fixes and preparation for transfer to the stable PPA ppa:mkusb/ppa

  • mkusb 9.0.7
    • livedrive recognition for installed fedora
  • mkusb 9.0.8
    • improved text in "Select device - warning and overview" - two windows merged to one
  • mkusb 9.1
    • zenity --list "Action for ${imagefile##*/}" fix for Trusty because the slashes of a full path not accepted after return from another function
    • function work_flow describes the sequence of zenity windows and the corresponding manual file is updated
    • Warning and overview - "Select drive in the next window" written on the OK-button
  • mkusb 9.1.1
    • zenity --window-icon="/usr/share/icons/mkusb.png" used in --list windows (available in zenity 3.12.1)
  • mkusb 9.1.2
    • "Please wait for sync until 'Done' is written ..." is written to the mkusb console to make people wait ... (written also by mkusb-nox and mkusb-bas)
    • separate packages for mkusb and mkusb-nox
  • mkusb 9.1.3
    • cd to source file's directory to keep the partition mounted. Otherwise, if it is not a system partition, it would be unmounted in the process to check if 'iso-testing', and the source file would not be available.
    • bug-fix: after trying to unmount, the test is changed to [ "$?" != "0" ] to work in all situations to set busy=1
  • mkusb 9.1.4
    • final text for wipe-whole-device improved: "Done, but you should also check for the line 'dd: writing '$target': No space left on device', which means that the whole device is wiped. (Look in the terminal window)"
  • mkusb 9.1.5
    • bug-fix: source=${source##*/} ... to manage path in parameter (broken by cd to source file's directory in 9.1.3)
    • new feature: Clone a device (typically a CD drive or USB drive), sudo mkusb /dev/sr0 # example of CD drive

    • new version of the manual man mkusb

  • mkusb 9.1.6
  • mkusb 9.2
    • tries to unmount only usb drives when usbonly and does not try to unmount drives in fstab
    • new version of the manual man mkusb

  • mkusb 9.2.1 and mkusb-nox 7.5.9
    • removed 2 lines (<img class ...) from arrow= for a new html renderer in zenity 3.16.2

    • changed the identification of livedrive=$(df |grep /$|cut -c 5-8)
  • mkusb 9.2.2 and mkusb-nox version
    • licence text in About
    • Improved look and feel:
      • language
        • gentler warning texts, for example: FINAL WARNING --> Final checkpoint

      • text style and colour scheme
        • gentler high-lightning of text
        • inline editing of background colours of the final checkpoints (separate for standard installations and iso-testing)
  • mkusb 9.2.3
    • background colours saved in /root/.mkusb


This information is moved to ../gui#Installation

from the normal PPA

This information is moved to ../gui#from_the_normal_PPA

from the unstable PPA

This information is moved to ../gui#from_the_unstable_PPA


This information is copied to ../

Another method is to download mkusb from It will bring the same bleeding edge version as you get via the unstable PPA, or even a newer experimental version. You can install mkusb version 10 this way.

Download the shell-script file mkusb-installer with the browser or do it directly from a terminal window with


and run it from a terminal window with

bash mkusb-installer
[sudo] password:
Install via ppa or wget, uninstall or quit? (p/w/u/Q) w
  • Enter your password (installed systems typically require password, but not live systems)
  • Enter w (for wget) and the shell-script will download, check and install mkusb plus some small iso files for testing.

  • Repeat the command bash mkusb-installer if some file was not downloaded correctly.

Then start mkusb from the menu Menu -- System -- mkusb or from Dash in Ubuntu or a similar finder for application programs, for example Show Applications in Mageia Gnome.

In some locales (the standard English and some more), and in some linux distros, an icon will also appear on the desktop.

Simple to test mkusb 9 in linux distros, which do not manage an Ubuntu PPA

This information is moved to ../gui#Simple_to_test_mkusb_in_linux_distros.2C_which_do_not_manage_an_Ubuntu_PPA

Remote login via ssh -X

This information is moved to ../gui#Remote_login_via_ssh

Change background for the final checkpoint windows

This information is moved to ../gui#Change_background_for_the_final_checkpoint_windows

Screenshots of mkusb version 9

This information is moved to ../gui#Screenshots

Return to the main mkusb page

mkusb/v9 (last edited 2015-08-20 09:00:19 by nio-wiklund)