Giter VIP home page Giter VIP logo

desktopify's Introduction

Desktopify

Convert Ubuntu Server for Raspberry Pi to a Desktop

Desktopify is a versatile script to convert Ubuntu Server for the Raspberry Pi to one of the official Ubuntu desktop flavours.

Introduction

Desktopify helps in setting up a full Ubuntu Desktop environment on a Raspberry Pi. Initially created as a proof of concept, it has now evolved to support multiple Ubuntu desktop flavours.

Installation

  1. Download an Ubuntu Server image for Raspberry Pi and write it to an SDHC card.
  2. Boot the Ubuntu Server SDHC on a Raspberry Pi 2, 3, or 4.
  3. Log in to the Raspberry Pi using:
    • Username: ubuntu
    • Password: ubuntu
    • You will be prompted to change the password.
  4. Clone the project:
    git clone https://github.com/urquiaernesto/desktopify.git
    cd desktopify
    sudo ./desktopify --de ubuntu-mate
    
    
    

Usage

./desktopify --de <desktop environment>

Available desktop environments:
  lubuntu
  kubuntu
  ubuntu
  ubuntu-budgie
  ubuntu-kylin
  ubuntu-mate
  ubuntu-studio
  xubuntu

You can also pass the optional --oem option which will run a setup wizard on the next boot.
Use --uninstall to remove the currently installed desktop environment.

Features and Functions

Install Desktop Environment

Installs the specified desktop environment:

sudo ./desktopify --de ubuntu-mate

Uninstall Desktop Environment

Uninstalls the currently installed desktop environment:

sudo ./desktopify --uninstall

OEM Setup

Runs an OEM setup wizard on the next boot:

sudo ./desktopify --de ubuntu-mate --oem

Improvements and Achievements

  • Installed GPIO utilities and libraries
  • Enabled Bluetooth
  • Made Network Manager the default backend
  • Prevented low power WiFi mode
  • Disabled overscan
  • Enabled fkms driver
  • Enabled boot splash
  • Enabled Firefox hardware acceleration
  • Created a snap package
  • Supported desktop environments:
    • Kubuntu
    • Lubuntu
    • Ubuntu
    • Ubuntu Budgie
    • Ubuntu Kylin
    • Ubuntu MATE
    • Ubuntu Studio
    • Xubuntu
  • Optimized Ubuntu MATE (Marco) window manager
  • Enabled initial setup
  • Prevented pointless re-installs
  • Installed snaps
  • Installed gpio tools

Code Overview

Main Functions

  • install_desktop_environment(): Installs the specified desktop environment.
  • uninstall_desktop_environment(): Uninstalls the currently installed desktop environment.
  • apply_tweaks(): Applies specific tweaks for the installed desktop environment.
  • configure_network(): Configures network settings and disables WiFi power saving.
  • display_menu(): Displays a menu for selecting the desktop environment.

Example Commands

Install Ubuntu MATE with OEM setup:

sudo ./desktopify --de ubuntu-mate --oem

Uninstall the current desktop environment:

sudo ./desktopify --uninstall

Contribution

Feel free to contribute to the project by submitting issues or pull requests on GitHub.

License

This project is licensed under the MIT License - see the LICENSE file for details.


You can copy and paste this entire block into your README.md file on GitHub. If you need any further adjustments, let me know.

desktopify's People

Contributors

flexiondotorg avatar urquiaernesto avatar bigpod98 avatar teward avatar tssva avatar txk2048 avatar monetaryabyss avatar jbouter avatar jontheniceguy avatar daphipz avatar philipzae avatar

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.