Giter VIP home page Giter VIP logo

teejee2008 / ukuu Goto Github PK

View Code? Open in Web Editor NEW
399.0 30.0 159.0 3.76 MB

A paid version of Ukuu is now available with more features. https://teejeetech.in/2019/01/20/ukuu-v19-01/ Kernel Update Utility for Ubuntu-based distributions. Provides desktop notifications when new mainline kernel is available. Lists kernels from http://kernel.ubuntu.com/~kernel-ppa/mainline/ with options to install and remove.

Home Page: https://teejeetech.in/ukuu

License: GNU Lesser General Public License v3.0

Shell 2.41% Makefile 1.76% Vala 95.83%

ukuu's Introduction

A paid version of Ukuu is now available with more features and a new UI. This repository contains source code for v18.9 and previous versions.

Ubuntu Kernel Update Utility (Ukuu)

This is a tool for installing the latest mainline Linux kernel on Ubuntu-based distributions.

Features

  • Fetches list of kernels from kernel.ubuntu.com
  • Displays notifications when a new kernel update is available.
  • Downloads and installs packages automatically

Screenshots

Main Window

Settings Window

Console Options

Installation

Ubuntu-based Distributions (Ubuntu, Linux Mint, Elementary, etc)

Packages are available in Launchpad PPA for supported Ubuntu releases. Run the following commands in a terminal window:

sudo apt-add-repository -y ppa:teejee2008/ppa
sudo apt-get update
sudo apt-get install ukuu

Ukuu should not be used on older Ubuntu systems as upgrading to very new kernels can break older systems.

Debian & Other Linux Distributions

This application fetches kernels from kernel.ubuntu.com which are provided by Canonical and meant for installation on Ubuntu-based distributions. These should not be used on Debian and other non-Ubuntu distributions such as Arch Linux, Fedora, etc.

Downloads & Source Code

Ukuu is written using Vala and GTK3 toolkit. Source code and binaries are available from the GitHub project page.

Build instruction

Ubuntu-based Distributions (Ubuntu, Linux Mint, Elementary, etc)

in a terminal window:

sudo apt-get install libgee-0.8-dev libjson-glib-dev libvte-2.91-dev valac
git clone https://github.com/teejee2008/ukuu.git
cd ukuu
make all
sudo make install

ukuu's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

ukuu's Issues

Ukuu generates unwanted dialogue boxes

I keep trying to switch off the dialogue boxes so that I just get the notification bubble, but the setting never saves from session to session, so I always get the popup box which I really don't appreciate. Every other setting, at least the ones I have altered (frequency of check, hiding older kernels and unstable+RC versions), appears to save fine.

Running Ukuu v 18.1 on Linux Mint 18.2 (just upgraded to 18.3).

ukuu window disapears after removing kernel

On Ubuntu 17.10 the Ukuu Window disapears after i remove a installed kernel but the process is still alive.

In the syslog i found this message after (but i'm not sure if its realy related or another bug):

Jan 17 21:14:46 xxx ukuu-gtk[18500]: Drawing a gadget with negative dimensions. Did you forget to allocate a size? (node progress owner GtkProgressBar)
Jan 17 21:14:46 xxx ukuu-gtk[18500]: Allocating size to MainWindow 0x55b074d92420 without calling gtk_widget_get_preferred_width/height(). How does the code know the size to allocate?
Jan 17 21:14:47 xxx ukuu-gtk[18500]: message repeated 11 times: [ Allocating size to MainWindow 0x55b074d92420 without calling gtk_widget_get_preferred_width/height(). How does the code know the size to allocate?]

Popup dialogue after install is extremely narrow

After installing a kernel, a window pops up that says something like "Booting previous kernels...". I am unable to read the rest because the window is essentially only wide enough to fit one character per line (I could surely read it all, but heck I'm not gonna read several sentences of vertical text).

I am running Ubuntu 17.10 with GNOME 3.26.

Delete downloaded file

After installing a kernel, ukuu leaves the downloaded .deb files in $HOME/.cache/ukuu/... Even after uninstalling a kernel these files are left behind filling the disk unnoticed by the user.

Could you please implement a feature to delete these downloaded files. I would prefer a configuration option with these possibilities:
What to do with downloaded files?

  • Delete downloaded files when uninstalling a kernel.
  • Delete downloaded files after installing a kernel.
  • Ask what to do with the downloaded files after installing (and after uninstalling) a kernel.
  • Ask what to do with the downloaded files after uninstalling a kernel.

IMHO the overview should show, if files are downloaded, e.g. with an additional column (Downloaded, Partially downloaded). Another option would be to incorporate it into the Status column: Running, Running + Downloaded, Installed, Installed + Downloaded and Downloaded. An additional button Clear below Refresh, Install, Remove would remove the downloaded files.

Idea: UKUU as a bisect tool

I just wanted to drop a line and say thanks for this app. Since the Meltdown and Spectre issues I've been using it a lot more often than usual.

I was just wondering if anyone ever thought to modify this app slightly for aiding kernel bisects. The use case would be as follows:

When a Bi-sect is needed,, the Ubuntu Developer would set up a space on FTP (like they do already). This ftp would then be added to UKUU and used to fetch the latest bisect. Once the user installs a kernel for a bisect. In UKUU, the user would flag the kernel (OK/Not OK) and save. On the developer side, he'll see that the kernel was tested and if needed, generate a new one (which would then be visible for the user to test).

Anyway, it's just an idea. I did a bi-sect for an issue which took months only to fail and have to start over again. I think a GUI tool for end users would definitely help speed this process up an make it less error prone.

Add warning for failed kernel build

Sometime new linux kernel build failed in the mainline kernel from ubuntu. Which will cause error when install. Please add warning to those kernel build.

Feature Request for "low latency", Real Time RT, and LTS kernels and questions

Dear teejee2008,

First, I love a lot of your applications, including Ukuu. Thank you so much for providing these for all of us.

I do not know if this request should be part of a couple other requests I see in this.

Can you add or modify Ukuu to show and use "low-latency" Kernels in addition to LTS and Real Time (RT) Kernels?

Out of curiosity, why wouldn't everyone want a low-latency or Real Time (RT) Kernel? Why is that not the default for Linux Kernels? Which is better Low-Latency or RT Kernel?

Best regards to you and yours,
Phil
phd21

Message window is mostly unreadable in Kubuntu 17.10

Using Ubuntu, ukuu v17.2.3 and KDE, after installing a kernel a message is given which is poorly sized, making it unreadable:

image

System details

⋊> ~ uname -a                                                                                                                        06:36:56
Linux mulhollandd-XPS-13-9360 4.11.12-041112-generic #201707210350 SMP Fri Jul 21 07:53:15 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
⋊> ~ lsb_release -a                                                                                                                  06:36:59
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 17.10
Release:        17.10
Codename:       artful
⋊> ~ plasmashell --version                                                                                                           06:37:39
plasmashell 5.10.5
⋊> ~ kf5-config --version                                                                                                            06:39:30
Qt: 5.9.1
KDE Frameworks: 5.38.0
kf5-config: 1.0

Too much output when started from terminal

In my opinion, outputting most recent kernels first from ukuu --list is non ideal, since the kernels 99% of use cases require will be hidden by older ones.

On first run, however, current install info and all but the oldest kernels are displaced by 'errors' that ukuu cannot find a cached version of each kernel's info. This info should be a warning and should be supressable.
Running ukuu --list from Ubuntu 17, there are enough kernels and errors that kernels 3.x.x and 4.x.x are not visible in the list, even by scrolling back the page.

ukuu CLI configuration

Where are ukuu CLI version configuration? Would it be possible to set minimal kernel version for update (--check but also when installing with --install-latest)? It could reduce the amount of data to download and speed up updating and ukuu working in general. It could be also an additional parameter, e.g. --min-kernel-version v4.15 or similar while running the ukuu. Then it would be easier also to run using central software management tools, also scripting. Similarly there could be also e.g. --max-kernel-version v4.16.2 to limit also highest version. Then the --install-latest will e.g. install the latest one that fits into min and max limits.
Looks like configuration is located at ~/.config/ukuu.json - is there any documentation of it?

Dialog box overload

Can we get the notification dialog to appear only once? Or not appear again until the previous one has been acted upon? This is my backup machine, which I haven't logged into for about 10 days. When I connected, I find the desktop overflowing with UKUU popups. It's kind of ridiculous.

screen shot 2018-03-12 at 2 31 07 pm

Notifications about point releases are given irrespective of 'check every <X>' settings

I have ukuu set to check every two weeks for updates. Ukuu seems to contravene the setting by notifying me, before that time has elapsed, about point releases.

ukuu 17.12 on Mint 18.3 x64.

EDIT: I have two Mint computers. On one, update is set to 21 days. That PC seems not to have the problem. The other computer uses the 'weeks' value, that value being set to '2'. That computer has the problem.

FURTHER EDIT: on reflection, perhaps there is no mistake. The kernel concerned (Ubuntu 4.14.6) has been out for only a day, I believe; but perhaps the computer concerned last checked less than two weeks ago. So perhaps I am just being a nuisance; but perhaps also it would be worth checking your code . .

Documentation problem: page links to itself

[I have edited what follows, in order to make it clearer.]

The link within the text

Source code and binaries are available from the GitHub project page

Takes one to the very same page on is on (and not even to any particular location on that page) - that page being https://github.com/teejee2008/ukuu.

EDIT: also, I can't work out how to build the application from the git clone. Neither the build-source file nor the build-installers file seems to do the job. The latter file produces this error message:

dpkg-deb: error: failed to read archive 'release/ukuu-v18.1-i386.deb': No such file or directory
Failed

Further EDIT: oh, I should fall the instructions in the file called 'INSTALL'? Something telling one that - a file called 'README', or something on this website - would be good.

no man page, no config files

I could not find a configuration file for ukuu anywhere on my computer after installing it nor did an inspection of the .deb file reveal anything. Ukuu would be much better if there were means to configure how it works and if there was a man page for it. I would propose allowing the user to set up which kernel repositories it can use to include non-Ubuntu and kernels other than "mainstream" when using the Ubuntu kernels. There probably should be separate configuration files for the command line and it's GTK app as well as a file that holds all of the kernel repositories ukuu accesses.

LTS releases

Could you somehow make a setting option that only shows the latest LTS kernel and update it with point releases.

UKUU halts on Wayland Session

When using the Wayland session instead of X.org, UKUU stops working with the following message:

No protocol specified
Unable to init server: Could not connect: Connection refused

(ukuu:32094): Gtk-WARNING **: cannot open display: :0

Ubuntu Gnome 17.04

Not Downloading Kernels on Ubuntu 17.04

I see:

Distribution: Ubuntu 17.04
System architecture: amd64
Running kernel: 4.10.10-041010-generic
Kernel version: 4.10.10-041010-generic
Using cache directory: /home/user/.cache/ukuu
aria2c version: 1.30.0
Fetching index from kernel.ubuntu.com...
E: ERR

Found installed: 4.10.0.20.22
Found installed: 4.10.0-20.22
Found installed: 4.10.10-041010.201704120813

======================================================================
Available Kernels

v4.10.0.20.22 4.10.0.20.22 Installed

ukuu deepin

can you adapt your ukuu utility to deepin

Not finding Kernel v4.15 on Ubuntu 16.04

A few days ago (before the new update) I was able to use ukuu to update my kernel to version 4.15-rc7. I have since had to reinstall Ubuntu so I tried to update my kernel again and the newest version ukuu shows when running --list is 4.14.13. I have checked on a second computer and get the same result. Is there a way to install the previous version of ukuu (before the update 2 days ago) so I can see if that still works?

Changes not displayed

When pressing the Changes button with a kernel release (the newest) selected, nothing happens.

ukuu-gtk --debug does not show any error message.

ukuu shows no internet connection

ukuu always shows no internet connection dialog box but can get all the new kernels.When installing the same no internet connection error occurs

On 17.10 attempt to install 4.13.4 kernel results in error

Using the CLI the following error is received:

$ sudo ukuu --install 4.13.4
[sudo] password for : 
Invalid MIT-MAGIC-COOKIE-1 keyUnable to init server: Could not connect: Connection refused

(ukuu:7669): Gtk-WARNING **: cannot open display: :0

Ukuu Doesn't Provide A Kernel Type Setting

More of a feature request than a bug.

As the title says, at the present time Ukuu doesn't provide a list of kernel types to chose from via settings, instead it is hard-coded to use -generic which is fine for most people. That said, it would be nice to be able to tell Ukuu I want the -lowlatency kernel instead of the -generic kernel.

UKUU does not install linux-tools for the kernel

Hi,

I notice that UKUU does not install linux-tools(-common) for the installed kernel.

I came across this after updating to 4.10.10 on my Elementary Loki machine. Under the new kernel tlp-stat complains:

x86_energy_perf_policy: program for your kernel not installed.

I guess this isn't critical but on a modern laptop I understand that this does effect power consumption. "cpupower" also complains that the packages are missing for the running kernel.

Thanks,
Steve

Locale problem when reading the kernel changes

Thank you for the latest update, and more generally for this tremendously useful piece of software.

On version 17.12 of ukuu, as indeed on previous versions, my text editor - Sublime Text 3 - gives an error when (via ukuu's useful 'changes' buttun) it (Sublime) opens the changelog. See screenshot.

image

Sublime does not normally show this message on my system. I think the cause might be a bash script setting the character 'encoding' (for I did once make similar problems myself with a script).

Building of ndiswrapper failed

With the recent kernel updated, the building of the ndiswrapper failed with the following error message:

DKMS make.log for ndiswrapper-1.60 for kernel 4.11.4-041104-generic (x86_64)
Wed  7 Jun 18:36:21 BST 2017
make: Entering directory '/usr/src/linux-headers-4.11.4-041104-generic'
  LD      /var/lib/dkms/ndiswrapper/1.60/build/built-in.o
  MKEXPORT /var/lib/dkms/ndiswrapper/1.60/build/crt_exports.h
  MKEXPORT /var/lib/dkms/ndiswrapper/1.60/build/hal_exports.h
  MKEXPORT /var/lib/dkms/ndiswrapper/1.60/build/ndis_exports.h
  MKEXPORT /var/lib/dkms/ndiswrapper/1.60/build/ntoskernel_exports.h
  MKEXPORT /var/lib/dkms/ndiswrapper/1.60/build/ntoskernel_io_exports.h
  MKEXPORT /var/lib/dkms/ndiswrapper/1.60/build/rtl_exports.h
  MKEXPORT /var/lib/dkms/ndiswrapper/1.60/build/usb_exports.h
  MKSTUBS /var/lib/dkms/ndiswrapper/1.60/build/win2lin_stubs.h
  CC [M]  /var/lib/dkms/ndiswrapper/1.60/build/crt.o
  CC [M]  /var/lib/dkms/ndiswrapper/1.60/build/hal.o
  CC [M]  /var/lib/dkms/ndiswrapper/1.60/build/iw_ndis.o
  CC [M]  /var/lib/dkms/ndiswrapper/1.60/build/loader.o
  CC [M]  /var/lib/dkms/ndiswrapper/1.60/build/ndis.o
/var/lib/dkms/ndiswrapper/1.60/build/ndis.c: In function ‘NdisMIndicateReceivePacket’:
/var/lib/dkms/ndiswrapper/1.60/build/ndis.c:2261:15: error: ‘struct net_device’ has no member named ‘last_rx’
   wnd->net_dev->last_rx = jiffies;
               ^
/var/lib/dkms/ndiswrapper/1.60/build/ndis.c: In function ‘EthRxIndicateHandler’:
/var/lib/dkms/ndiswrapper/1.60/build/ndis.c:2349:14: error: ‘struct net_device’ has no member named ‘last_rx’
  wnd->net_dev->last_rx = jiffies;
              ^
/var/lib/dkms/ndiswrapper/1.60/build/ndis.c: In function ‘NdisMTransferDataComplete’:
/var/lib/dkms/ndiswrapper/1.60/build/ndis.c:2464:14: error: ‘struct net_device’ has no member named ‘last_rx’
  wnd->net_dev->last_rx = jiffies;
              ^
scripts/Makefile.build:294: recipe for target '/var/lib/dkms/ndiswrapper/1.60/build/ndis.o' failed
make[1]: *** [/var/lib/dkms/ndiswrapper/1.60/build/ndis.o] Error 1
Makefile:1492: recipe for target '_module_/var/lib/dkms/ndiswrapper/1.60/build' failed
make: *** [_module_/var/lib/dkms/ndiswrapper/1.60/build] Error 2
make: Leaving directory '/usr/src/linux-headers-4.11.4-041104-generic'

Is this ukuu's, ndiswrapper's, dkms's or the kernel's fault? An Internet search turned up nothing (at least with the search engines I used)...

Issues with 16.10

David Oser10 March 2017 at 06:11
Ubuntu 16.10: Lots of error messages with ukuu and new kernels not able to be installed.

Build instructions

It would be helpful to have build instructions for Ubuntu (unless they are there and I missed them)

I probably have other GTK libraries installed, but:

I could successful run make with the following in Ubuntu 17.10:

sudo apt install valac libgee-0.8 libjson-glib-dev libvte-2.91-dev

wayland + UKUU

Using ubuntu 16.04 based KDE Neon with Wayland and getting error:

No protocol specified
Failed to connect to Mir: Failed to connect to server socket: No such file or directory
Unable to init server: Could not connect: Connection refused

(ukuu:6000): Gtk-WARNING **: cannot open display: :1 

Close window to exit

Since MIR is dead, feel free to prepare UKUU to support Wayland :) it's move in right way.

Thank you

Only see 4.15-rc1 on Linux Mint 18.3

sadface

└[~]> uname -a
Linux aquarius 4.14.2-041402-generic #201711240330 SMP Fri Nov 24 08:32:52 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
└[~]> cat /etc/os-release 
NAME="Linux Mint" 
VERSION="18.3 (Sylvia)" 
ID=linuxmint 
ID_LIKE=ubuntu 
PRETTY_NAME="Linux Mint 18.3" 
VERSION_ID="18.3" 
HOME_URL="http://www.linuxmint.com/" 
SUPPORT_URL="http://forums.linuxmint.com/" 
BUG_REPORT_URL="http://bugs.launchpad.net/linuxmint/" 
VERSION_CODENAME=sylvia 
UBUNTU_CODENAME=xenial 

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.