A Flutter frontend for `quickget` and [quickemu]

Last update: Jun 17, 2022

Quickgui
Quickgui

A Flutter frontend for `quickget` and [quickemu](https://github.com/wimpysworld/quickemu).

Quickgui screenshot

This project is discussed mainly on Discord server

Install

quickemu

For this tool to work, you need to have quickget, from the quickemu package, in your current path. Go to the quickemu github page for more information about installing the tool.

Standard package

On Ubuntu, quickgui can be installed as a standard package.

First, add this ppa (this only needs to be done once) :

sudo add-apt-repository ppa:yannick-mauray/quickgui
sudo apt update

Then, install the pacakge :

sudo apt install quickgui

Pre-compiled binary

  • Download the binary.
  • Uncompress the tarball wherever you want.
  • From anywhere on the filesystem, run the app.
xz quickgui-a.b.c-d.tar.xz
tar xvf quickgui-a.b.c-d.tar
/path/to/quickgui

Alternativelly, use update-alternatives to install quickgui system-wide :

sudo update-alternatives --install /usr/local/bin/quickgui quickgui /path/to/quickgui 50

Build

If you don't want to run the binary, you can rebuild the application yourself :

  • Set up Flutter
  • Clone this repo,
  • Switch to the project's directory,
  • Build the project,
  • Run the app.
git clone https://github.com/ymauray/quickgui.git
cd quickgui
flutter build linux --release
./build/linux/x64/release/bundle/quickgui

You can also use update-alternatives for easier access to the app.

Usage

From the main screen, select the operating system you want to use. The list can be filtered.

Main screen
List of supported operating systems
Search a distribution

Then, select the version :

Main screen after selection of the operating system
Versions of the selected operating system

If there are some options (Windows language, Pop!_OS nvidia or Intel, etc..), they will be displayed :

Choose an option
Option is diplayed

Then click "Download". The ISO will be downloaded in the current working directory, in 99% of cases that will be the directory where quickgui was invoked from.

Waiting for download
Downloading
Download finished

GitHub

https://github.com/quickgui/quickgui
Comments
  • 1. Linux Mint 20.2 error GLibc 2.34

    Hi, after the last update quickgui won't start on Linux Mint 20.2 due to the error quickgui: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.34' not found (required by quickgui)

    Mint latest glibc version is 2.31 (Mint is based on Ubuntu focal 20.04) ldd --version ldd (Ubuntu GLIBC 2.31-0ubuntu9.2) 2.31

    Reviewed by tudo75 at 2021-12-17 17:41
  • 2. Ideas to improve localization

    German (and I am sure some other languages as well) has a sentence structure that's a little different from English. Sentences that are made up of a translatable string and some variable (e.g. a VM name) would need to include a placeholder for the variable in order to be fully localizable. For example, "Select version for VARIABLE" would be "Version für VARIABLE auswählen" in German. Currently, this is not possible.

    I am a member of the German GNOME Translation team, and I come across strings that contain %s or {} as a placeholder for these variables quite often. I think the first one is used in Python? Maybe there's a Flutter/Dart equivalent...

    Reviewed by daPhipz at 2021-11-11 17:01
  • 3. Black screen (quickemu installed)

    OS: Arch Linux Kernel: 5.15.6 DE: KDE Plasma 5.23 (X11)

    I noticed there was a closed issue about quickgui only displaying a blank screen, but the issue was that quickemu was not installed. I am using quickemu 2.3.3 and have successfully used quickget to download a disk image and quickemu to run a QEMU VM, so I believe it's working properly.

    Screenshot_20211204_160540

    I'm running the 1.1.5 quickgui binary, downloaded from Github. Anything I can do to get some kind of logging or debug info?

    Reviewed by rlad78 at 2021-12-04 21:06
  • 4. Is it possible to rezise the VM disk size?

    Hello, awesome program.

    I am wondering, can I resize the VM's partition? I am actually trying to install a program on my Ubuntu inside of Quickgui, but the zip file is over 8 GB in size. When I try to unzip it, the system says not enough space.

    I installed the program through AUR (quickgui-bin) and is default in German (can't find any menu to change it). The other version would not install.

    Is this possible?

    Reviewed by olividir at 2021-11-22 15:04
  • 5. Italian translation

    First effort at Italian translation.

    Sono estremamente grato per tutte le correzioni e i suggerimenti. Je suis extrêmement reconnaissant pour toutes les corrections et suggestions. Tha mi air leth taingeil airson gach ceartachadh agus moladh. Für alle Korrekturen und Anregungen bin ich überaus dankbar.

    Any and all corrections and suggestions gratefully received.

    Reviewed by philclifford at 2021-11-14 19:26
  • 6. Manage missing zsync

    see issue #212 in quickemu, where hopefully we can decide what to do and handle missing zsync on the host by not presenting those distros/versi ons to the user or in the lists

    Just a heads-up here to keep an eye on

    Reviewed by philclifford at 2021-11-08 04:21
  • 7. Unable to launch quickgui

    Today I updated the quickgui and after the update I was unable to launch quickgui. I tried launching from terminal by following command : /usr/bin/quickgui

    But I get following error after executing command :

    /usr/bin/quickgui: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.34' not found (required by /usr/bin/quickgui)

    My distro is Linux mint cinnamon 20.3

    Reviewed by Himanshu-kumar-gupta at 2022-02-25 07:07
  • 8. Text on "Cancel" / "Close" button in Downloader not visible with Light Theme enabled

    I'm not sure if I am just dumb or if this is the intended behaviour: When a download finishes (I tested Arch latest and NixOS minimal), it stays on this screen forever: Screenshot_2021-11-14_21:08:31

    I would expect to be able to click a button and go back to the main page, or similar :see_no_evil:

    Reviewed by daPhipz at 2021-11-14 20:36
  • 9. Add German translation

    As the title says. I also made Yannick's translation actually a French translation - or should it be fr_CH? I am half French myself and I couldn't find any Swiss specialities in his translation. That's why I used fr and not fr_CH.

    Reviewed by daPhipz at 2021-11-11 08:21
  • 10. Mixin preferences: Refactored shared preferences functions to be generic setters/getters used as a mixin

    Refactored shared preferences functions to be generic setters/getters using key/values to allow for multiple preferences to be stored. Refactored the shared preferences functions as a mixin for ease of use. Directory change is now remembered across the app pages.

    Reviewed by WillyJimmyDev at 2021-10-31 09:59
  • 11. Changing directory does not always work and sometimes breaks Quickgui

    While moving around my system looking for somewhere to drop another test VM I notice that attempting to chose /home/<user> and clock on OK left the working directory where it was.

    Also, trying to find some reason/pattern to this (in the past the presence of symlinks has had surprising impacts and of course permissions/acls were a likely candidate ) I found I could consistently break quickgui by selecting /home/<user>/snap/flutter (window goes blank/white and loses possibility to do anything if in "Manage Existing" mode, or if in "New" mode bottom half goes white but top half logo is still there and you can "Close" and on return the previous directory will be current ) .

    This may disappear with a reboot as that directory is left over from removing the flutter snap, and is actually a directory from a zfs dataset bind mounted in to try and cope with the demands of the flutter snap so probably somewhat spurious edge-case. However, the error message suggests it might be worth "handling" this "it cannot happen" event more graciously (i.e. the file picker allows selection of a directory that flutter believes does not exist )

    [ERROR:flutter/lib/ui/ui_dart_state.cc(209)] Unhandled Exception: FileSystemException: Getting current working directory failed, path = '' (OS Error: No such file or directory, errno = 2)
    #0      _Directory.current (dart:io/directory_impl.dart:42)
    #1      Directory.current (dart:io/directory.dart:136)
    #2      _ManagerState._getVms (package:quickgui/src/pages/manager.dart:133)
    #3      _ManagerState.initState.<anonymous closure> (package:quickgui/src/pages/manager.dart:67)
    #4      _rootRunUnary (dart:async/zone.dart:1436)
    #5      _CustomZone.runUnary (dart:async/zone.dart:1335)
    #6      _CustomZone.runUnaryGuarded (dart:async/zone.dart:1244)
    #7      _CustomZone.bindUnaryCallbackGuarded.<anonymous closure> (dart:async/zone.dart:1281)
    #8      _rootRunUnary (dart:async/zone.dart:1444)
    #9      _CustomZone.runUnary (dart:async/zone.dart:1335)
    #10     _CustomZone.bindUnaryCallback.<anonymous closure> (dart:async/zone.dart:1265)
    #11     _Timer._runTimers (dart:isolate-patch/timer_impl.dart:395)
    #12     _Timer._handleMessage (dart:isolate-patch/timer_impl.dart:426)
    #13     _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:192)
    
    
    
    Reviewed by philclifford at 2021-12-16 13:07
  • 12. Display a helpful error if quickemu is not installed

    If quickemu is not installed, running quickgui results in a crash and a blank, unresponsive window. It would be helpful to the user if this scenario was handled by showing an error message.

    Reviewed by aromatic-dev at 2022-05-08 02:34
  • 13. Add a "Run" option after an image finishes downloading

    After an image finishes downloading, we should make the UX better by providing either a

    • "Run this image" kind of option, or
    • a way for the user to navigate to the "Manager" page, perhaps highlighting or tagging the just-downloaded image with a temporary [new] icon, or
    • both of the above.
    Reviewed by aromatic-dev at 2022-05-08 02:08
  • 14. (Feature Request) Display quickemu's console output (to see connection details, etc)

    Thanks for making this! Just starting to play with this but feels more intuitive than virt manager for basic needs.

    I feel like when launching a VM one of the things many users may be searching for is connection info. while there's currently info for ssh, there's not other info that gets outputted by quickemu upon launch - such as SMB connection info. Perhaps the raw output from quickemu could be shown in quickgui?

    image

    Reviewed by seltzered at 2022-04-08 17:14
  • 15. Empty window on launch

    Hi, I have an issue when launching quickgui. I verify than quickget and quickemu are in the current path, they are. I obtain an empty window when launching and this error message on console :

    [ERROR:flutter/lib/ui/ui_dart_state.cc(209)] Unhandled Exception: MissingPluginException(No implementation found for method getAll on channel dev.fluttercommunity.plus/package_info) #0 MethodChannel._invokeMethod (package:flutter/src/services/platform_channel.dart:175) <asynchronous suspension> #1 MethodChannel.invokeMapMethod (package:flutter/src/services/platform_channel.dart:377) <asynchronous suspension> #2 MethodChannelPackageInfo.getAll (package:package_info_plus_platform_interface/method_channel_package_info.dart:13) <asynchronous suspension> #3 PackageInfo.fromPlatform (package:package_info_plus/package_info_plus.dart:36) <asynchronous suspension> #4 main (package:quickgui/main.dart:62) <asynchronous suspension>

    I'm not sure that I can solve it myself. Regards

    Reviewed by VieuxSio at 2022-03-08 21:23
  • 16. quickgui start error

    Hi guys,

    I am running Fedora35 and tried to launch the quickgui binary with the following error:

    !  ~/.a/quickgui-1.2.3  ./quickgui 360ms  Fri 25 Feb 2022 12:51:24 AM CET [ERROR:flutter/lib/ui/ui_dart_state.cc(209)] Unhandled Exception: ProcessException: No such file or directory Command: quickget list_csv #0 _ProcessImpl._start (dart:io-patch/process_patch.dart:401) #1 Process.start (dart:io-patch/process_patch.dart:38) #2 _runNonInteractiveProcess (dart:io-patch/process_patch.dart:578) #3 Process.run (dart:io-patch/process_patch.dart:49) #4 loadOperatingSystems (package:quickgui/main.dart:16) #5 main (package:quickgui/main.dart:61) #6 main (file:///opt/flutter-projects/quickgui/.dart_tool/flutter_build/generated_main.dart) #7 _runMainZoned.<anonymous closure>.<anonymous closure> (dart:ui/hooks.dart:127) #8 _rootRun (dart:async/zone.dart:1428) #9 _CustomZone.run (dart:async/zone.dart:1328) #10 _runZoned (dart:async/zone.dart:1863) #11 runZonedGuarded (dart:async/zone.dart:1851) #12 _runMainZoned.<anonymous closure> (dart:ui/hooks.dart:125) #13 _delayEntrypointInvocation.<anonymous closure> (dart:isolate-patch/isolate_patch.dart:297) #14 _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:192)

    Can someone help?

    Thanks a lot

    Reviewed by drford17 at 2022-02-25 00:08

Related

Quickgui: A Flutter frontend for quickget
Quickgui: A Flutter frontend for quickget

quickgui A Flutter frontend for quickget. Install quickemu For this tool to work, you need to have quickget, from the quickemu package, in your curren

Nov 1, 2021
A new Flutter application. Frontend Side of project Rent a Car on Flutter
A new Flutter application. Frontend Side of project Rent a Car on Flutter

Rent a Car With Flutter A new Flutter application. Frontend Side of project Rent a Car on Flutter Upgraded to Flutter 2 and enabled Null Safety. Getti

Jan 17, 2022
A Food DashBoard project with frontend (Flutter) & backend (Spring Boot)
A Food DashBoard project with frontend (Flutter) & backend (Spring Boot)

food_dashboard A Food DashBoard project with frontend (Flutter) & backend (Spring Boot)

Jun 1, 2022
Create an Invoice PDF Document completely with Flutter and learn how to generate and view this invoice in Flutter.
Create an Invoice PDF Document completely with Flutter and learn how to generate and view this invoice in Flutter.

Create an Invoice PDF Document completely with Flutter and learn how to generate and view this invoice in Flutter.

Jun 23, 2022
(Complete flutter application) Exam and training app as social media, prepared with Firebase backend services, Bloc State management, Singleton design pattern, Unit and widget tests, firebase mocking, Custom local libraries, etc.
(Complete flutter application) Exam and training app as social media, prepared with Firebase backend services, Bloc State management, Singleton design pattern, Unit and widget tests, firebase mocking, Custom local libraries, etc.

(Complete flutter application) Exam and training app as social media, prepared with Firebase backend services, Bloc State management, Singleton design pattern, Unit and widget tests, firebase mocking, Custom local libraries, etc.

May 10, 2022
Attempt to implement better scrolling for Flutter Web and Desktop. Includes keyboard, MButton and custom mouse wheel scrolling.
Attempt to implement better scrolling for Flutter Web and Desktop. Includes keyboard, MButton and custom mouse wheel scrolling.

An attempt to implement better scrolling for Flutter Web and Desktop. Includes keyboard, MButton and custom mouse wheel scrolling. Getting started Exa

Jun 13, 2022
A fully responsive BMI calculator app made using flutter and dart with beautiful minimalistic user interface design and easy to use .
A fully responsive BMI calculator app made using flutter and dart with beautiful minimalistic user interface design and easy to use .

BMI_Calculator_Flutter A fully responsive BMI calculator app made using flutter and dart with beautiful minimalistic user interface design and easy to

Oct 9, 2021
Chat App Development Front-End and Back-End using Flutter, SocketIo, and NodeJS. (Limited code)
 Chat App Development Front-End and Back-End using Flutter, SocketIo, and NodeJS. (Limited code)

Chat App Development Front-End and Back-End using Flutter, SocketIo, and NodeJS. (Limited code) ( You can buy the full code on $30 (mail me): devstack

Jun 20, 2022
Wraps flutter_svg and the Flutter SDK image providers and picks the right widget based on the file extension

Hybrid Image Wraps flutter_svg and the Flutter SDK image providers and picks the right widget based on the file extension Features As of right now it'

Jun 18, 2022
To do and accomplishment app built with Flutter and Dart. Made use of Provider

Todioapp A todo and accomplishment app built with Flutter Getting Started This project is a starting point for a Flutter application. A few resources

Nov 15, 2021
Anime and Manga search app. created using Flutter and Jikan API
Anime and Manga search app. created using Flutter and Jikan API

AnimSearch AnimSearch an App for searching Anime and Manga created with Flutter with data from Jikan API UI Design UI Design inspired by : Crunchyroll

Jun 20, 2022
A simple and clean news app made with Flutter and Dart
A simple and clean news app made with Flutter and Dart

News_Application A new Flutter project. Getting Started This project is a starting point for a Flutter application. Google Sing In. Internet Connctivi

Apr 26, 2021
Building a simple Flutter app for practicing and understanding the GetX State Management and Route Management.

GetX State Management Demo with full understanding of State Management (with GetBuiler, GetX, Obx), Route Management and SnackBar.

May 19, 2022
Jun 3, 2022
Real short video app with firebase and pixels API.Where you can create a short video with pixels' stock videos and also merge your audio.
Real short video app with firebase and pixels API.Where you can create a short video with pixels' stock videos and also merge your audio.

Real short video app with firebase and pixels API.Where you can create a short video with pixels' stock videos and also merge your audio.

Jun 29, 2022
A simple and lightweight math library, that can parse and calculate string expressions.
A simple and lightweight math library, that can parse and calculate string expressions.

Documentation Create local instance of expression parser. final ExpressionParser expressionParser = ExpressionParser(); Then you can calculate your "s

May 10, 2022
Find The Latest trending and upcoming movies and tv shows with MovieDB app
Find The Latest trending and upcoming movies and tv shows with MovieDB app

MovieDB Find The Latest trending and upcoming movies and tv shows with MovieDB app. The app contains all info about movies and tv shows. find similar

Jan 17, 2022
A Dart-written Android app to make taking notes, tasks and events easy and straight forward

A Dart-written Android app to make taking notes, tasks and events easy and straight forward

Apr 27, 2022
A Flutter application to demonstrate how to implement Google maps and its advanced options in a flutter app.
A Flutter application to demonstrate how to implement Google maps and its advanced options in a flutter app.

google_maps_flutter_example A new Flutter application to demonstrate how to implement flutter google maps in a flutter application and perfoem advance

May 23, 2022