Planet AppImage

November 02, 2022

Nitrux Blog

Notes: Nitrux 2.5.0

Below is a list of release notes we recommend reading before installing the distribution.

📜 Table of Contents

  1. Installing Nitrux
  2. Live Session Information
  3. Upgrading From Previous Versions
  4. Minimal ISO Information
  5. Virtualizing Nitrux
  6. Virtual Appliances Information
  7. Managing AppImages
  8. Support for Other Self-Contained Formats
  9. Alternative Stores
  10. Using Foreign Architectures
  11. Installing Steam
  12. Using Wine
  13. Using Proton-GE
  14. Nvidia Proprietary Driver Information
  15. Wayland Information
  16. PipeWire Information
  17. Updating MESA
  18. Latte Dock Information
  19. Kvantum Theming
  20. Support for Launchpad Personal Package Archives
  21. Compiling Software in Nitrux
  22. Misc. Information

🗒 Notes

Installing Nitrux

  • Check this tutorial to install the distribution.
    • Installation requires an active internet connection to complete.
  • We have added the ability for users to perform full-disk encryption during installation when using the automated partition options in Calamares (Replace partition and Erase disk).
    • In our testing, encrypting multiple partitions (if the user selected Manual partitioning) results in a broken system.

Live Session Information

  • The default user is nitrux, and there’s no password.

Upgrading From Previous Versions

  • To upgrade from the previous Nitrux (2.4.1) with NX Desktop to version 2.5.0, do the following (assuming a fresh installation).
pkcon refresh && pkcon get-updates
pkcon install nitrux-repositories-config
pkcon remove libappimage1.0
pkcon install nx-desktop-legacy
pkcon update
pkcon install linux-image-xanmod-main
pkcon remove linux-headers-5.19.12-xanmod1-x64v2 linux-image-5.19.12-xanmod1-x64v2

# If error 29 or similar run ->
pkcon repair

# Then run -> to make sure updates were applied
pkcon update

sudo reboot
  • To upgrade from the previous version of Nitrux (2.4.1) without NX Desktop (a.k.a, Minimal) to version 2.5.0, do the following (assuming a fresh installation).
pkcon refresh && pkcon get-updates
pkcon install nitrux-repositories-config
pkcon update
pkcon install linux-image-xanmod-main
pkcon remove linux-headers-5.19.12-xanmod1-x64v2 linux-image-5.19.12-xanmod1-x64v2

# If error 29 or similar run ->
pkcon repair

# Then run -> to make sure updates were applied
pkcon update

sudo reboot

Minimal ISO Information

  • To install other desktop environments using the minimal ISO, see Installing other DEs in Nitrux.
  • When installing the meta-packages to add other desktop environments, these may or may not include the complimentary utilities such as:
    • File manager, text editor, terminal emulator, web browser, etc., additional hardware driver, and customizations of any kind; this is not a bug.
  • Super+T opens the terminal.
  • Super+L switches the keyboard layout.
    • By default, ‘latam’ and ‘us’ layouts, so adjust this setting to your keyboard layout.
  • The JWM configuration file is ~/.jwmrc.
  • To start Calamares in the minimal ISO, run the following command.
sudo -E calamares -d

Virtualizing Nitrux

  • VirtualBox
    • OpenGL acceleration is used by default if you use Nitrux in a VM. Disable the compositor in System Settings and utilize a lighter alternative like xcompmgr for better performance.
    • To utilize 3D acceleration in VirtualBox, please use the guest additions ISO from Oracle, do not use the Debian packages from the repositories.
    • After installing the VirtualBox guest additions using the ISO, do not remove the ISO and reboot; remove the ISO from the VM after successfully booting to the session.
    • When creating a new virtual machine in VirtualBox, the graphics controller selected is VMSVGA; starting with VirtualBox 6.1.34, users can change the screen resolution in System Settings.
    • We strongly recommend enabling the following options in the virtual machine settings.
      1. Type: Linux
      2. Version: Debian 10 (64-bit)
      3. Base Memory: 4000 MB
      4. Boot Order: uncheck Floppy
      5. Chipset: ICH9
      6. Extended Features:
        1. Enable I/O APIC
        2. Enable EFI (special OSes only)
        3. Hardware clock in UTC
      7. Processors: 4
      8. Extended Features:
        1. Enabled Nested VT-x/AMD-V
      9. Acceleration: KVM
        1. Hardware Virtualization: Enable Nested Paging
      10. Video Memory: 128 MB
      11. Acceleration: Enable 3D acceleration
        1. If using VirtualBox 7.0, DO NOT enable 3D acceleration
      12. Storage Devices: SATA or NVME
        1. Attributes: Use host I/O Cache
      13. Audio Controller: Intel HD Audio
      14. Enable USB Controller: USB 3.0 (xHCI) Controller
  • VMware Workstation and VMware Player
    • Please use the package open-vm-tools-desktop from the repository to install VMWare Tools for VMware Workstation and VMware Player.
      • Do not install VMWare Tools from the menu Manage>Install VMWare Tools.
      • Do not enable 3D acceleration in the VM settings before installing VMWare Tools.
    • We strongly recommend enabling the following options in the virtual machine settings.
      1. OS: Debian 10. x 64-bit
      2. Memory: 4096 MB
      3. Processors: 4
      4. Virtualization engine:
        1. Virtualize Intel VT-x/EPT or AMD-V/RVI
        2. Virtualize CPU performance counters
        3. Virtualize IOMMU (IO memory management unit)
      5. USB Controller:
        1. USB compatibility: USB 3.1
      6. Display:
        1. 3D graphics:
          1. Accelerate 3D graphics
        2. Graphics memory:
          1. Recommended value by VMWare; varies depending on the amount of RAM allocated to the virtual machine. However, the value has to be 128 MB or more.
    • To enable EFI in a VMWare virtual machine, do the following.
      • Open the ‘.VMX’ file of your virtual machine in Notepad (or similar) and add the following line to it: firmware=”efi”
      • Save the ‘.VMX’ file.

Disclaimer: We do not develop VirtualBox or VMWare Workstation/Player. Please let their developers know if you have issues with these hypervisors, such as graphical problems.

Please follow the recommendations above for an optimum experience.

Virtual Appliances Information

  • We have discontinued OVA releases of the distribution.

Managing AppImages

  • The managed locations (and thus the default) for AppImages in Nitrux are /Applications and ~/Applications.
  • AppImages launched from the application menu will be launched using firejail for sandboxing by default.
  • Some AppImages refuse to run when using Firejail but will run otherwise when using a specific flag. This problem is most visible with some Electron applications or Chromium-based web browsers. To run these AppImages, append the following Chromium flag.
electron-app.AppImage --no-sandbox
chromium-based-browser.AppImage --no-sandbox
    • We strongly emphasize that we do not recommend running AppImages without the sandbox, especially web browsers.

Disclaimer: We do not create, maintain or host the AppImage files that the software center lists. These files are created, maintained, and hosted by third parties.

Please let their creators or maintainers know if you have issues with these files.

Managing Debian Packages

Please note that starting from version 2.1.1 to manage Debian packages users should use PackageKit (pkcon).

  • To obtain help with using PackageKit (pkcon), do the following.
# Display PackageKit help
pkcon --help

# Display PackageKit manual
man pkcon
  • We can’t stress enough that one of the points of using this distribution is to use AppImages, not the package manager (not pkcon, and most certainly not APT), to install end-user software.
    • We do not encourage users to use alternatives to APT. We reiterate that using the package manager to obtain end-user software is not a central point of this distribution.
  • We acknowledge that development libraries and headers are not end-user software; by our definition, they don’t make sense to put into an AppImage (not impossible, just it doesn’t make sense).

Disclaimer: We do not develop PackageKit, or its backend, APTCC.

Please file issues at the PackageKit repository if you have problems with the software.

Support for Other Self-Contained Formats

  • Nitrux supports Flatpak by default. However, the order of preference to obtain end-user software is AppImage first, Flatpak second.
    • We don’t add the Flathub repository by default. However, it can be easily added using Plasma Discover by going to Settings>Add Source or the terminal by running the following command.
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
  • Nitrux does not support Snaps as its daemon (snapd) requires systemd.

Alternative Stores

  • Users can install Plasma Discover using the terminal to manage Flatpaks and Debian packages and their repositories.
pkcon install plasma-discover
  • Users can also use Bauh, available from the NX Software Center, as an AppImage to manage Flatpaks.

Disclaimer: We do not develop, Flatpak.

Using Foreign Architectures

  • Nitrux is exclusively a 64-bit Linux distribution; we do not use, include or provide support for 32-bit software.
  • Forcing the addition of 32-bit packages through dpkg is not recommended, and issues arising from doing so will be automatically closed.

Installing Steam

  • Users can install Steam from the applications menu.

Disclaimer: We do not develop Steam or the Steam Flatpak.

Using Wine

  • Users can install Bottles (from the applications menu) or Lutris (from Flathub) to run Windows software.

Using Proton-GE

  • Users can download Proton-GE from its repository. To use Proton-GE with the Flatpak releases of Steam, Heroic Games Launcher, Bottles, or Lutris, do the following.
    • Download the latest release from Releases.
    • Extract the TAR archive using Ark and move the uncompressed directory to the following path.
$HOME/.var/app/com.valvesoftware.Steam/.local/share/Steam/compatibilitytools.d

Nvidia Proprietary Driver Information

Please note that starting from version 2.5.0 Nitrux includes the proprietary Nvidia driver (NX Desktop only)

  • The command below will install the driver, the driver settings program, and the PRIME command, but not our X11 configuration.
pkcon install nvidia-driver-520 nvidia-settings nvidia-prime
  • The command below will install the driver, the driver settings program, the PRIME command, and our X11 configuration for the Nvidia driver. After installing the package, the default PRIME profile will be on-demand for laptop users.
    • For some laptops, it may be necessary to add our X11 configuration for PRIME (where supported) to work correctly.
    • The default TTY for the graphical session can change if your computer utilizes the Nvidia proprietary driver.
pkcon install nvidia-x11-config

Disclaimer: We do not develop the Nvidia proprietary driver.

Wayland Information

  • The Plasma (Wayland) session works better with graphics cards using MESA drivers. The Plasma (Wayland) session can work with Nvidia graphics cards utilizing the proprietary driver, albeit with reduced performance.
    • We’ve removed the package from the default installation due to issues with SDDM selecting the Wayland session over X11 after installation, but users can install it using the following command.
pkcon install nx-desktop-wayland-legacy plasma-workspace-wayland

PipeWire Information

Updating MESA

  • As of Nitrux version 2.4.0, we include the most recent packages of MESA available built from MESA’s Git ‘master’ branch.

Latte Dock Information

  • We include three layouts for the desktop, two are variations of a default top panel and bottom dock, and the other is a single bottom panel. To change between them, right-click the dock or the panel.
    • Note: Using the Global Theme KCM and checking “Use desktop layout from theme” does not change the layout and will cause issues with Latte Dock.
  • ⚠️  Important: Latte Dock is now unmaintained by its developer, meaning there’s no guarantee it will continue to work in the future. We have built our package from the latest available source code. We will replace NX Desktop with Maui Shell in future releases.

Disclaimer: We do not develop Latte Dock.

Kvantum Theming

  • Using the Global Theme KCM does not alter the Kvantum theme; to properly change the Kvantum theme, use Kvantum Manager.
  • The Kvantum theme does not pick up the color scheme selected using the Colors KCM since the Kvantum SVG theme engine does not work. When Kvantum is in use, the color scheme complements the Kvantum theme, as the theme already provides the colors for the UI widgets.
  • Discover, and the Maui apps use QML, not QtWidgets like System Settings, Ark, KCalc, etc. So they are not themed to the full extent that QtWidgets apps are because Kvantum does not support QML adequately.
  • Both Kvantum themes support transparency and blur, but we don’t enable them by default.

Support for Launchpad Personal Package Archives

  • Nitrux does not support adding Launchpad PPAs through the command add-apt-repository; this is not a bug.
    • We do not encourage users to add Launchpad PPAs to the distribution manually or otherwise, as we reiterate that using the package manager to obtain end-user software is not a central point of this distribution.
  • Forcing the addition of Launchpad PPAs by adding the source files is not recommended, and issues arising from doing so will be automatically closed.

Compiling Software in Nitrux

  • We strongly recommend users use containers to compile software. Nitrux already includes Docker in the default installation (NX Desktop only). To install Docker in a minimal installation, do the following.
pkcon install docker.io

Misc. Information

  • We also include a simple text file called installed_pkgs.txt in the root that, as its name suggests, lists all installed packages by default in the distribution. This file is present in both ISO files, and users can use it to compare more extensive changes from release to release, like package updates.
  • We include a variety of command-line utilities, including a file manager, text editor, web browser, remote desktop, and system monitor. Below is a list of these command-line utilities.
    • ftp, hdparm, htop, links2, mc, micro, ncdu, tmate, tree
  • To boot Nitrux in computers with Secure Boot enabled, a signed kernel has to be installed in the system. The default kernel in the distribution is not signed. To install the Debian kernel (signed), do the following.
pkcon install linux-image-amd64 linux-headers-amd64

The post Notes: Nitrux 2.5.0 appeared first on Nitrux — #YourNextOS.

by Uri Herrera at November 02, 2022 19:25

October 04, 2022

Nitrux Blog

PSA: Nitrux 2.4.1

Below is a list of post-release service announcements.

📌 PSA 03/10/22

PSA: We’ve updated our package nitrux-repositories-config to avoid an issue during updates. To update, do the following.

pkcon refresh && pkcon get-updates 
pkcon install nitrux-repositories-config
pkcon update

# If needed ->
pkcon repair

📌 PSA 27/10/22

PSA: We’ve updated our package: nitrux-repositories-config, which updates the Neon repository. To update, do the following.

pkcon refresh && pkcon get-updates 
pkcon install nitrux-repositories-config
pkcon update

# If needed ->
pkcon repair

📌 PSA 27/10/22

PSA: We’ve updated our package: nx-desktop-appimages-legacy, which updates Firefox. To update, do the following.

pkcon refresh && pkcon get-updates 
pkcon install nx-desktop-appimages-legacy

📌 PSA 31/10/22

PSA: We’ve updated our package nitrux-repositories-config to avoid an issue with a package update. To update, do the following.

pkcon refresh
pkcon update
pkcon remove libappimage1.0
pkcon install nx-desktop-legacy

The post PSA: Nitrux 2.4.1 appeared first on Nitrux — #YourNextOS.

by Uri Herrera at October 04, 2022 05:33

May 23, 2021

TheAssassin's blog

Freenode is dead -- Long live Libera.Chat!

Freenode is dead. That’s the unfortunate truth. On May 19, an event regularly described as “hostile takeover”, in which the control over the biggest IRC network for free, open-source software has been forcefully taken away from the volunteer group called Freenode Staff who have run it ever since it was founded about 20 years ago, has taken place.

Therefore, all the communities I am involved in and/or manage on Freenode are moving or have already moved to the new network which most of the former Freenode staff have founded: Libera.Chat. This includes:

I do not have time to provide a nice summary on the topic as I have previously, e.g., for the youtube-dl incident. In the past days, I have analyzed the available resources (i.e., blog posts, pasted chat logs, and other publicly available information from both sides), and I support the former Freenode Staff in this matter. Large parts of their claims can be verified, something I cannot say about claims from the “new management”. The way this “new management” has literally grabbed power and then started to defame the old staff clearly shows that they don’t have the best intentions, not for the users, not for Freenode as a project, not for IRC.

I have curated some links to interesting resources such as summaries, news, blog posts, resignation letters etc., so read on if you want to take a look yourself.

May 23, 2021 00:00

November 01, 2020

AppImage Crafters

appimage-builder v0.7.5 files based recipes

appimage-builder v0.7.5 brings an really interesting feature: full file based recipes. Unlike traditional recipes that uses apt-get and a list of Debian packages to fulfill the dependencies of a given application the new approach uses a list of files. Yes, you read it well, all the files that should be included in the final bundle will be listed in your AppImageBuilder.yml file.

The file list is built using the outputs of strace and the linker in debug mode. Therefore all the files that were accessed by the application at runtime are add into the list.

Are you nuts? The recipe files will be huge!

Indeed they will, that’s why we will keep recommending the package based recipes. But let’s dig a bit on this idea.

This kind of recipes are focussed on those GNU/Linux distributions that doesn’t have apt-get or other package manager supported by appimage-builder. To use it just run appimage-builder --generate on a system without apt-get. It will prompt the same questions and run the application. Once it exits instead of finding which packages provide the files and libraries accessed at runtime it will proceed to list them in the AppDir > files > include section.

Once the recipe is generated you can run appimage-builder again to create the bundle. Notice that not only libraries are included but also other data files. You may want to take a look at them before considering your job done. Some of them may be icons from the system icon theme or fonts. Those can be safely excluded.

While this approach has its drawbacks it’s an important step on bringing appimage-builder to every GNU/Linux distribution. If you want to see a full recipe generated using this check out the following link

Thanks for readings, see you in the comments section.

November 01, 2020 20:00

August 19, 2020

AppImage Crafters

Path mapping in AppImages

Fixed file paths in binaries have been a nightmare for AppImage creators since the format was created. The most effective solution to this issue is to modify the source code and add a way of setting those paths at runtime. But, this is not always possible.

The developer may not have access, permissions, knowledge or time to modify the source code. This is a big stop if you plan to pack an applications as an AppImage. Obscure binary patches are used to workaround this leading to complex packaging recipes.

System calls hooking to the rescue

With the help of ld-linux.so and its preload feature we can hook every system call that takes a file path as an argument and edit it to point to the bundled files. This allows running binaries containing fixed file paths without modifying them.

For its use in AppImage bundle we added this feature into the AppRun project. This is will be deployed as default entry point for AppImages created with appimage-builder 0.6.

Limitations

Preloading libraries is only possible for dynamic linked binaries, we will need something different for static linked ones. Luckily the major part of the modern software is dynamically linked.

August 19, 2020 20:00

August 07, 2020

AppImage Crafters

Introducing appimage-manager

appimage-manager is a tool for managing your AppImage collection. It works quite similar to a traditional package manager but without the fuss of managing dependencies.

Installation

To install appimage-manager go to the releases page at Github, download the AppImage file into /usr/local/bin and give it execution permissions. This is basically what the command below does:

sudo wget https://github.com/AppImageCrafters/appimage-manager/releases/download/v0.1.2/app-0.1.0-x86_64.AppImage -O /usr/local/bin/app; 
sudo chmod +x /usr/local/bin/app

Usage

Looking for AppImages

AppImage binaries are usually published in the author releases page. So if you know what application do you need then go to the releases author releases page and download the binary right from there.

If the author uses Github releases you can use:

app install https://github.com/lbryio/lbry-desktop

Discovering AppImage

AppImage Index is an index of projects that publish AppImages. You can also use https://www.srevinsaju.me/get-appimage/ for a better user interface.

AppImageHub is a software store were you can find many original and third party packaged applications. It’s recommended to always download binaries from the original author to avoid malware.

AppImageHub is also integrated into the app, so in order to look for an application you can use: app search <appname>

AppImage files will be downloaded to $HOME/Applications and will be also added to your system menu on installation.

Updating AppImages

appimage-manager support delta updates using the zsync algorithm. This algorithm requires .zsync file to be published by the author. In the cases were this file is not provided a regular download will be performed. Updates work also for manually downloaded applications.

Preview

See it working in this video:

August 07, 2020 05:00

August 05, 2020

AppImage Crafters

Presenting AppImage Planet

The AppImage world is bast and mysterious, therefore a map is required to ease navigation. That map is the RSS aggregator AppImage Planet.

There you will be able to find all the people and projects that gravitates around the AppImage core project. Let’s take a look to the more significant project.

NXOS

NXOS is a GNU/Linux distribution focused on AppImages. They use Ubuntu for the system foundations and AppImages for user applications. This makes a great mix because developers can focus on making their awesome desktop environment and not having to worry on providing builds for every single app.

Read more about NXOS here: https://nxos.org/

The Assassin blog

Don’t be scared, no one will assassinate you for visiting this web. It belongs to the author of linux-deploy a great tool for creating AppImages. He is also an active collaborator of the AppImage project, so you can find many more AppImage related stuff there.

For more details visit: https://assassinate-you.net/

Probono Blog

Probono is the original author of the AppImage project. He writes about AppImage, of course, and about many tech related stuff including linux usability, digital privacy, typography, and computer history.

Check his blog here: https://medium.com/@probonopd/ He is also quite active on twitter

AppImage Crafters

That’s us!

We are responsible for the development of some awesome AppImage related projects such as:

  • appimage-builder
  • appimage-manager
  • AppRun

Also, we are active contributors of the AppImage core.

Conclusion

That was all, finally we recommend you to visit AppImage Planet and subscribe.

Stay tuned for more :)

August 05, 2020 05:00

October 25, 2019

TheAssassin's blog

Another big milestone: AppImageLauncher 2.0.0 released

On Friday, October 18, AppImageLauncher 2.0.0 was released. This version is the first one to feature libappimage 1.0.0.

AppImageLauncher 2.0.0 provides new, innovative features and subtle improvements over the previous 1.x series of releases. Read on to see what’s changed!

October 25, 2019 23:00

April 03, 2019

TheAssassin's blog

libappimage 1.0.0 released

libappimage, AppImage’s core library, has just seen its first stable release after the rewrite. Version 1.0.0 was released on April 1, 2019. Read on to see what’s new!

April 03, 2019 07:00

September 14, 2018

TheAssassin's blog

(New) AppImage documentation

The AppImage project has never had a proper documentation. Sure, there were (and still are!) some wikis (most notably the AppImageKit wiki), but wikis, especially the ones on GitHub, lack any sort of structure. Recently, I could finally start to work on this, resulting in the (fairly) brand new docs.appimage.org.

September 14, 2018 10:21