Skip to content

Aetherinox/proteus-app-manager

Repository files navigation

Proteus App Manager

Version Downloads Repo Size Last Commit) CodeFactor View Apt Repo






About

This is an application manager targeted toward ZorinOS, Ubuntu 20.04 LTS+. The Proteus App Manager allows users to install a number of apps, packages, and libraries right from the menu with little interaction.

This manager features a selection menu which allows you to choose which programs you wish to install onto your device. Any programs that have dependencies will be taken care of automatically with no input from you unless the program requires you to configure it.









Packages

App Descript
Alien Package Converter Converts between the rpm, dpkg, stampede slp, and slackware tgz file formats
AppImage Launcher Manage .appimage files in one place
App Outlet Manager Search / download applications that runs on most Linux distributions
Blender (Flatpak) Free / Open-source 3D creation suite
Blender (Snap) Free / Open-source 3D creation suite
Browser: Google Chrome Browser by Google
Browser: Tor Browser built around privacy
cdialog (Comeon Dialog) Create bash shell dialogs
Color Picker (Snapd) Advanced color-picker
Conky System monitor software
Conky Manager GUI for managing Conky widgets / themes
curl Command line tool for transferring data with URL syntax
deb-get apt-get functionality for .deb packages
Debian Goodies Manage packages from the command line
Flatpak Utility for software deployment and package management
GDebi .deb Package Manager Program for installing debian executable files
Git Version control system (Command-line)
Github Desktop Github Desktop for linux.
Gnome Extension Manager (Core) 1 Utility for browsing / installing GNOME Shell Extensions.
Gnome Extension: ArcMenu 2 Replacement shell for Linux. Includes MacOS / Windows themes.
Gnome Extension: Internet Speed Monitor 2 Monitor network traffic as widget
gPick (Color Picker) Color picker
Kooha Screen recorder
lintian Package checker for creating Debian packages
Makedeb A simplicity-focused packaging tool for Debian archives
members Tool for displaying the users of a group
mlocate Find files on your computer
MySQL MySQL Database
neofetch Command-line system information tool
net-tools Network management toolkit
Nginx Webserver alternative to Apache
NodeJS Build scalable network apps
NPM Package installer
ocs-url Helper program for items served via ocs://
Pacman Package Management Emulates the Archlinux Pacman package manager for Debian users who may prefer Pacman over Apt.
Pihole Ads and tracker blocking app which acts as a DNS sinkhole
PHP General-purpose scripting language geared towards web development
PhpMyAdmin Administration tool for MySQL and MariaDB
reprepro (Apt on Github) Debian package repository producer
RPM Package Manager RPM Package Manager
Seahorse + seahorse-nautilus Manage encryption keys and passwords in GNOME Keyring
Snapd Install and manage packages
Surfshark VPN application
Swizzin Modular seedbox solution (torrents) 15+ apps bundled
System Monitor / Multiload Indicator Monitor CPU, Memory, Network stats in widget
Teamviewer Remote desktop application
Tree View files in tree-like ASCII structure
Unrar Manage rar files / extraction
Visual Studio Code (Stable) IDE for developers / source-code editor (Stable)
Visual Studio Code (Insiders) IDE for developers / source-code editor (Testing)
wxHexEditor) Hex editor
YAD (Yet Another Dialog) Create bash shell dialogs. Based on Zenity.
Yarn Modern package manager
Zenity Dialogs Create bash shell dialogs
Ziet Cron Manager Manage crons in browser admin panel

Patches

  • File Manager displays full path in address bar
  • Netplan Configuration
    • Default network adapter renamed to eth0
    • Automatically assigns static ip address
    • Configures network adapter to use Quad9 DNS servers
  • Menu: Create Text File
    • Adds "Text File" option to right-click menu
    • Already installed in ZorinOS
    • Missing from Ubuntu, must be done manually
  • Update Network /etc/hosts file
  • VBox Additions package discrepancy issue with non-Pro releases.



Usage

Information on getting started.


Install

Instructions on how to run this script and what you shouldn't do.


Warning

Do NOT attempt to run this script as another user that you are not signed in as. If you are signed into your device as user David, don't su in terminal to another user and then attempt to run the script. Whatever user you're signed into the device with, is the user you should be running the script under.

Do not su root and try to run the script. It will fail. You shouldn't be running things under root anyway.

You should also not need sudo to run the script. It will automatically ask you for sudo permission.


wget "https://raw.githubusercontent.com/Aetherinox/proteus-app-manager/main/proteus.sh"

Once you download the script to a location on your machine, set its permissions to be executable

sudo chmod +x proteus.sh

Finally, run the script

./proteus.sh

After the script is ran for the first time, you may need to sign out of your user account and sign back in. This is because a new file will be installed to /home/USER/bin/proteus. This file allows you to execute proteus from anywhere within terminal. In order for this to work, you must log out of the user and log back in after Proteus was started the first time. Then you'll be able to use it anywhere.


Configuration

This script contains many features that may have settings that you might not want. It is HIGHLY recommended that you open the proteus.sh file in a text editor and review the settings. One particular feature is the Netplan Configuration which has default settings that include what static ip address to assign to the network adapter, as well as the default gateway, and Quad9 DNS servers.


Prerequisites

If you make a selection that requires a prerequisite package, that package will be automatically installed first, and then your selected item.



Logs

When this installer is launched, a /logs/proteus-[DATE].log file will be generated in the same location as the setup script. Most apps will be installed silently / unattended. If you wish to check the status of a task, view the proteus-[DATE].log file.

Note

If you create an Issue / Bug report on Github, you will be asked to copy/paste your logs. Ensure you do this so that your issue can be reviewed in full and not delayed.




Command-line Arguments

The following options can be appended to the end of the ./proteus.sh command


Main

Option Name Desc
-d, --dev Dev Mode
Specialized list of apps will appear instead of the installable list.
Also displays debugging prints.

-h, --help Help
Display command help

-i, --install Install
Installs one or multiple apps via command-line instead of launching the gui.

e.g.: ./proteus.sh -i curl -i "Github Desktop"

-n, --nullrun Dev: Null Run
Any of the installable applications selected will do a "fake" / null install. No actual install will take place.

Only works without -d

-q, --quiet Quiet
All logging will be disabled

-s, --setup Setup
Install all Proteus prerequisites / dependencies

-t, --theme [THEME] Theme
Switches the theme that the interface uses.

Adwaita, Adwaita-dark, HighContrast, HighContrastInverse, ZorinBlue-Light 3, ZorinBlue-Dark 3

-v, --version Version
Version information


Sub Options

Option Desc Options
--njs-ver
Specifies the version of NodeJS to install.
Required when using -i NodeJS

16, 18, 20
--php-ver
Specifies the version of PHP to install.
Required when using -i PHP

php7.3-fpm, php7.4-fpm, php8.1-fpm, php8.2-fpm

Installing with CLI

Proteus supports installing apps via the command-line instead of loading the GUI and selecting apps from the list. In order to install apps via command-line, the -i or --install option must be provided for each app you wish to install.

./proteus.sh -i curl -i "Github Desktop"
./proteus.sh --install tree -i Reprepro --install "ZorinOS Pro"

If you provide a very short generic name, Proeteus will find the first app based on alphabetical order.


As an example, if you do an install using ./proteus.sh -i "gi" and Proteus doesn't have any packages specifically named Gi, then the app will assume you're referring to the package Git and ask if you wish to install that.

if you specify ./proteus.sh -i "gith", the system will assume Github Desktop (unless there's another name that is closer to your query).

Upper and lower case characters do not matter.




Wiki

For detailed documentation, please visit this repo's Wiki







Footnotes

Footnotes

  1. If installing any of the Gnome extensions, this core must be installed first. Please note that when installing this app, it may take upwards of 5-10 minutes depending on your machine. The rotating cursor means that it is installing.

  2. This program requires Gnome Extension Manager to be installed first. 2

  3. Only available if using ZorinOS 2