LiveGTech / gShell

Interactive graphical desktop environment for LiveG OS.
https://liveg.tech/os
Other
15 stars 3 forks source link

gShell

Interactive graphical desktop environment for LiveG OS.

Licensed by the LiveG Open-Source Licence.

Documentation for gShell can be found on LiveG Docs. Releases for LiveG OS can be found in the LiveG OS repository.

Getting gShell

gShell relies on git submodules to make use of various LiveG-developed libraries when a device is offline. To clone the gShell repository, use:

git clone https://github.com/LiveGTech/gShell --recurse-submodules

It is important that when you pull the repo to update libraries, you use:

git pull --recurse-submodules

When you don't need to update the libraries, you can omit the --recurse-submodules argument. However, it is recommended that you update the libraries locally to ensure compatibility with the latest version of gShell.

Running gShell

Before running gShell, you will need to install its dependencies:

sudo apt install make gcc g++

# Run these if you don't have Node.js installed:
wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
source ~/.bashrc
nvm install 20.5.1

# To run `gshell-xephyr` (optional):
sudo apt install libx11-dev xserver-xephyr
./buildclibs

Install gShell and its dependencies using npm:

npm install

Run gShell on the local machine (in a simulated environment on non-LiveG OS systems), alongside any added arguments:

# On LiveG OS:
./gshell --real

# On Linux:
./gshell

# On other platforms:
npm run gshell

Flags/arguments

Here's a list of arguments that can be supplied to gShell:

Building gShell

To build gShell, first install the dependencies:

sudo apt install libx11-dev gcc-aarch64-linux-gnu g++-aarch64-linux-gnu gcc-arm-linux-gnueabihf g++-arm-linux-gnueabihf

Then run the builder:

npm run dist

The built AppImage files will be available in the dist folder.

Building included C libraries

gShell includes C libraries that are used internally for low-level access to the system. An example is libgslai, which is the library for gShell Linux app integration, and whose source can be found at src/csrc/libgslai.c.

The C libraries are automatically compiled for each platform when running npm run dist.

To force a rebuild of the C libraries by running:

./buildclibs --force