grub2-theme-preview


Namegrub2-theme-preview JSON
Version 2.8.0 PyPI version JSON
download
home_pagehttps://github.com/hartwork/grub2-theme-preview
SummaryPreview a GRUB 2.x theme using KVM/QEMU
upload_time2023-05-10 11:37:13
maintainer
docs_urlNone
authorSebastian Pipping
requires_python>=3.7
licenseGPL v2 or later
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            [![pre-commit](https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit)](https://github.com/pre-commit/pre-commit)
[![Run Python test suite](https://github.com/hartwork/grub2-theme-preview/actions/workflows/python_test_suite.yml/badge.svg)](https://github.com/hartwork/grub2-theme-preview/actions/workflows/python_test_suite.yml)


# About

**grub2-theme-preview** came into life when I was looking around for
available GRUB 2.x themes and wanted a way to quickly see a theme
in action without rebooting real hardware.

It takes a theme folder (or just a single picture),
creates a temporary bootable image using `grub2-mkrescue` and launches
that image in a virtual machine using KVM/QEMU, all without root privileges.

![grub2-theme-preview showing theme "gutsblack-archlinux"](https://raw.githubusercontent.com/hartwork/grub2-theme-preview/master/screenshots/grub2-theme-preview__gutsblack-archlinux.png)

(Showing theme [gutsblack-archlinux](https://forums.archlinux.fr/viewtopic.php?t=11361))


## Installation

To install the latest release from [PyPI](https://pypi.org/):

```console
# pip install --user grub2-theme-preview
```

To install from a Git clone _for development_:

```console
# pip install --user --editable .
```

Please make sure to install these _non-PyPI dependencies_ as well:
 - `grub-mkrescue` of [GRUB 2](https://www.gnu.org/software/grub/) (package `grub-common` on Debian and Ubuntu)
 - [QEMU](https://wiki.qemu.org/Main_Page) — _hypervisor that performs hardware virtualization_
 - [OVMF](https://github.com/tianocore/tianocore.github.io/wiki/OVMF) — EFI bios image for use with QEMU
 - [mtools](https://www.gnu.org/software/mtools/) — _collection of utilities to access MS-DOS_
 - `xorriso` of [libisoburn](https://dev.lovelyhq.com/libburnia/libisoburn) — _frontend which enables creation and expansion of the ISO format_


## Usage

```console
# grub2-theme-preview --help
usage: grub2-theme-preview [-h] [--grub-cfg PATH] [--verbose]
                           [--resolution WxH] [--timeout SECONDS]
                           [--add TARGET=/SOURCE] [--version]
                           [--grub2-mkrescue COMMAND] [--qemu COMMAND]
                           [--xorriso COMMAND] [--no-kvm] [--debug]
                           [--plain-rescue-image]
                           PATH

positional arguments:
  PATH                  path of theme directory (or PNG/TGA image file) to
                        preview

optional arguments:
  -h, --help            show this help message and exit
  --grub-cfg PATH       path of custom grub.cfg file to use (default:
                        /boot/grub{2,}/grub.cfg)
  --verbose             increase verbosity
  --resolution WxH      set a custom resolution, e.g. 800x600
  --timeout SECONDS     set GRUB timeout in whole seconds or -1 to disable
                        (default: 30 seconds)
  --add TARGET=/SOURCE  make grub2-mkrescue add file(s) from /SOURCE to
                        /TARGET in the rescue image (can be passed multiple
                        times)
  --version             show program's version number and exit

command location arguments:
  --grub2-mkrescue COMMAND
                        grub2-mkrescue command (default: auto-detect)
  --qemu COMMAND        KVM/QEMU command (default: qemu-system-<machine>)
  --xorriso COMMAND     xorriso command (default: xorriso)

arguments related to invokation of QEMU/KVM:
  --display DISPLAY     pass "-display DISPLAY" to QEMU, see "man qemu" for
                        details (default: use QEMU's default display)
  --full-screen         pass "-full-screen" to QEMU
  --no-kvm              do not pass -enable-kvm to QEMU (and hence fall back
                        to acceleration "tcg" which is significantly slower
                        than KVM)
  --vga CARD            pass "-vga CARD" to QEMU, see "man qemu" for details
                        (default: use QEMU's default VGA card)

debugging arguments:
  --debug               enable debugging output
  --plain-rescue-image  use unprocessed GRUB rescue image with no theme
                        patched in; useful for checking if a plain GRUB rescue
                        image shows up a GRUB shell, successfully.
```

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/hartwork/grub2-theme-preview",
    "name": "grub2-theme-preview",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.7",
    "maintainer_email": "",
    "keywords": "",
    "author": "Sebastian Pipping",
    "author_email": "sebastian@pipping.org",
    "download_url": "https://files.pythonhosted.org/packages/42/8c/8c6cf7e847173ad2788c4ca28e1d76af55a25000634b9d8dc79c2735d44e/grub2-theme-preview-2.8.0.tar.gz",
    "platform": null,
    "description": "[![pre-commit](https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit)](https://github.com/pre-commit/pre-commit)\n[![Run Python test suite](https://github.com/hartwork/grub2-theme-preview/actions/workflows/python_test_suite.yml/badge.svg)](https://github.com/hartwork/grub2-theme-preview/actions/workflows/python_test_suite.yml)\n\n\n# About\n\n**grub2-theme-preview** came into life when I was looking around for\navailable GRUB 2.x themes and wanted a way to quickly see a theme\nin action without rebooting real hardware.\n\nIt takes a theme folder (or just a single picture),\ncreates a temporary bootable image using `grub2-mkrescue` and launches\nthat image in a virtual machine using KVM/QEMU, all without root privileges.\n\n![grub2-theme-preview showing theme \"gutsblack-archlinux\"](https://raw.githubusercontent.com/hartwork/grub2-theme-preview/master/screenshots/grub2-theme-preview__gutsblack-archlinux.png)\n\n(Showing theme [gutsblack-archlinux](https://forums.archlinux.fr/viewtopic.php?t=11361))\n\n\n## Installation\n\nTo install the latest release from [PyPI](https://pypi.org/):\n\n```console\n# pip install --user grub2-theme-preview\n```\n\nTo install from a Git clone _for development_:\n\n```console\n# pip install --user --editable .\n```\n\nPlease make sure to install these _non-PyPI dependencies_ as well:\n - `grub-mkrescue` of [GRUB 2](https://www.gnu.org/software/grub/) (package `grub-common` on Debian and Ubuntu)\n - [QEMU](https://wiki.qemu.org/Main_Page) \u2014 _hypervisor that performs hardware virtualization_\n - [OVMF](https://github.com/tianocore/tianocore.github.io/wiki/OVMF) \u2014 EFI bios image for use with QEMU\n - [mtools](https://www.gnu.org/software/mtools/) \u2014 _collection of utilities to access MS-DOS_\n - `xorriso` of [libisoburn](https://dev.lovelyhq.com/libburnia/libisoburn) \u2014 _frontend which enables creation and expansion of the ISO format_\n\n\n## Usage\n\n```console\n# grub2-theme-preview --help\nusage: grub2-theme-preview [-h] [--grub-cfg PATH] [--verbose]\n                           [--resolution WxH] [--timeout SECONDS]\n                           [--add TARGET=/SOURCE] [--version]\n                           [--grub2-mkrescue COMMAND] [--qemu COMMAND]\n                           [--xorriso COMMAND] [--no-kvm] [--debug]\n                           [--plain-rescue-image]\n                           PATH\n\npositional arguments:\n  PATH                  path of theme directory (or PNG/TGA image file) to\n                        preview\n\noptional arguments:\n  -h, --help            show this help message and exit\n  --grub-cfg PATH       path of custom grub.cfg file to use (default:\n                        /boot/grub{2,}/grub.cfg)\n  --verbose             increase verbosity\n  --resolution WxH      set a custom resolution, e.g. 800x600\n  --timeout SECONDS     set GRUB timeout in whole seconds or -1 to disable\n                        (default: 30 seconds)\n  --add TARGET=/SOURCE  make grub2-mkrescue add file(s) from /SOURCE to\n                        /TARGET in the rescue image (can be passed multiple\n                        times)\n  --version             show program's version number and exit\n\ncommand location arguments:\n  --grub2-mkrescue COMMAND\n                        grub2-mkrescue command (default: auto-detect)\n  --qemu COMMAND        KVM/QEMU command (default: qemu-system-<machine>)\n  --xorriso COMMAND     xorriso command (default: xorriso)\n\narguments related to invokation of QEMU/KVM:\n  --display DISPLAY     pass \"-display DISPLAY\" to QEMU, see \"man qemu\" for\n                        details (default: use QEMU's default display)\n  --full-screen         pass \"-full-screen\" to QEMU\n  --no-kvm              do not pass -enable-kvm to QEMU (and hence fall back\n                        to acceleration \"tcg\" which is significantly slower\n                        than KVM)\n  --vga CARD            pass \"-vga CARD\" to QEMU, see \"man qemu\" for details\n                        (default: use QEMU's default VGA card)\n\ndebugging arguments:\n  --debug               enable debugging output\n  --plain-rescue-image  use unprocessed GRUB rescue image with no theme\n                        patched in; useful for checking if a plain GRUB rescue\n                        image shows up a GRUB shell, successfully.\n```\n",
    "bugtrack_url": null,
    "license": "GPL v2 or later",
    "summary": "Preview a GRUB 2.x theme using KVM/QEMU",
    "version": "2.8.0",
    "project_urls": {
        "Download": "https://github.com/hartwork/grub2-theme-preview/archive/2.8.0.tar.gz",
        "Homepage": "https://github.com/hartwork/grub2-theme-preview"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "05e4dd00114e0675178c0aded7a64f83312f70353a09b1cfc61b71bf464bd50d",
                "md5": "69610d338c32b1fd4886377543ea92d6",
                "sha256": "6557f6e73c35266767848b35a552773b47bbb0b953081334b7bf3f2408617f66"
            },
            "downloads": -1,
            "filename": "grub2_theme_preview-2.8.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "69610d338c32b1fd4886377543ea92d6",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.7",
            "size": 12105,
            "upload_time": "2023-05-10T11:37:10",
            "upload_time_iso_8601": "2023-05-10T11:37:10.930804Z",
            "url": "https://files.pythonhosted.org/packages/05/e4/dd00114e0675178c0aded7a64f83312f70353a09b1cfc61b71bf464bd50d/grub2_theme_preview-2.8.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "428c8c6cf7e847173ad2788c4ca28e1d76af55a25000634b9d8dc79c2735d44e",
                "md5": "8f4e1625275027f891fa77f53225a5f0",
                "sha256": "cdf8b164ced79d9ae5efb096e720e52e236d486745fbcb5dc1aa7ad341284b5a"
            },
            "downloads": -1,
            "filename": "grub2-theme-preview-2.8.0.tar.gz",
            "has_sig": false,
            "md5_digest": "8f4e1625275027f891fa77f53225a5f0",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.7",
            "size": 207671,
            "upload_time": "2023-05-10T11:37:13",
            "upload_time_iso_8601": "2023-05-10T11:37:13.595569Z",
            "url": "https://files.pythonhosted.org/packages/42/8c/8c6cf7e847173ad2788c4ca28e1d76af55a25000634b9d8dc79c2735d44e/grub2-theme-preview-2.8.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-05-10 11:37:13",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "hartwork",
    "github_project": "grub2-theme-preview",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "requirements": [],
    "lcname": "grub2-theme-preview"
}
        
Elapsed time: 0.12770s