Menu

Tree [b49e42] main /
 History

HTTPS access


File Date Author Commit
 Applications 2025-10-12 Ondrej Florian Ondrej Florian [b49e42] improve MountUp eject process
 Frameworks 2025-07-14 OnFlApp OnFlApp [cd3561] Misc improvements and fixes
 Helpers 2024-07-31 onflapp onflapp [efc5cc] update scripts
 Scripts 2025-09-12 onflapp onflapp [2c34e4] add poweoff scripts
 build 2025-10-12 onflapp onflapp [f7cd83] fix the dbus build problem
 config 2025-09-12 onflapp onflapp [aa8b10] session control improvements
 dependencies 2025-09-16 root root [152baa] fix debian 13 build
 extra-apps 2024-04-10 onflapp onflapp [de2eaa] update Games.command
 .gitignore 2024-06-27 onflapp onflapp [f5c8b4] build improvements
 BUILD_SETTINGS.conf 2025-06-07 Ondrej Florian Ondrej Florian [0595e3] fix build with the latest gcc
 BUILD_SETTINGS.conf.clang 2024-06-11 OnFlApp OnFlApp [f66014] gcc fixes
 BUILD_SETTINGS.conf.free 2024-06-14 onflapp onflapp [49649a] FreeBSD build config
 BUILD_SETTINGS.conf.gcc 2024-06-11 OnFlApp OnFlApp [f66014] gcc fixes
 LICENSE 2022-04-12 OnFlApp OnFlApp [95b4f0] Initial commit
 README.md 2024-04-10 onflapp onflapp [3828e5] update readme
 WELCOME.txt 2024-04-10 onflapp onflapp [3607f0] improve build and initial experience
 build_world.sh 2025-07-07 parallels parallels [0b6a4f] improved UI and init scripts
 clean_world.sh 2024-06-14 onflapp onflapp [2dc483] BSD port reor
 document_world.sh 2023-08-30 Ondrej Florian Ondrej Florian [0662be] fix build and dependencies for Fedora
 fetch_world.sh 2024-06-09 OnFlApp OnFlApp [e4fe16] remove depedency on nextspace repo

Read Me

GNUstep Desktop - GSDE

GNUstep Desktop attempts to build fully functional desktop by bringing various GNUstep apps together and making sure everything works as expected.

Important concepts:

  • filters and services to enhance functionality - Helpers
  • scriptability - StepTalk
  • intergration with command line utilities / scripts Tools

It should work on any modern Debian or Fedora-based system (I personally use Raspberry PI4 as my main development and user platform) and possibly any modern Linux distribution with a bit tweaking.

Installation

1. Install Dependencies

The desktop relies on many other libraries and binaries to work as intended. This step is more important than you might realize at first. As many build systems use autoconfig to find dependencies, a missing dependency will not necessarily result in failed build but it might cause all kinds of weird runtime problems or desktop not working as intended.

There is a script you can use to help you install all that is needed.

cd dependencies
sudo ./install-dependencies-debian.sh

2. Fetch sources

GSDE come from different places. Some are official github repos, others are my forks. Many apps have been patched and/or configured in a way to "play nice with others". Hopefully most of those changes will be merged back to the original source tree one day.

git clone https://github.com/onflapp/gs-desktop
cd gs-desktop

./fetch_world.sh

3. Build and install

The script will build and install everything that is required. It needs to be run as root!

sudo -E ./build_world.sh

The whole desktop is going to be installed in /Application, /System and /Library directories. Although this doesn't follow GNUstep/Linux conventions, it simplifies system scripts etc. as everything is in predictable place.

4. Start GS Desktop

If you use modern login manager, you will see two new xsessions (normal startup and safe mode) for you to choose to log into.

To install XDM as your loging manager execute the following command:

sudo -E ./config/install_wdm.sh

Otherwise, use /System/bin/startgsde to start the desktop directly from console, within your existing X session or add it to your ~/.xsessionrc or ~/.xinitrc.

Minimal/clean build on Debian

My favorite way to get GSDE working is to install minimal Debian distribution (no X or any desktop environment) and then do something like this as root:

# install git and sudo
apt-get install git sudo

# make sure normal user can use sudo
usermod -G sudo <normal user>

login as normal user and continue with:

# clone core source code repo
mkdir src
cd src
git clone https://github.com/onflapp/gs-desktop

# install dependencies
cd gs-desktop/dependencies
sudo ./install-dependencies-debian.sh

# clone all relevant source repos
cd ..
./fetch_world.sh

# build and install entire desktop
sudo -E ./build_world.sh

# install WDM as default login manager
sudo ./config/install_wdm.sh

If all goes well, you should be greeted by GSDE's login window.