Introduction to Gjs

Gjs is a set of Javascript bindings for GNOME.



Development versions of BLFS may not build or run some packages properly if dependencies have been updated since the most recent stable versions of the book.

Package Information

Gjs Dependencies


Cairo-1.17.6, dbus-1.14.4, gobject-introspection-1.74.0, and JS-102.7.0

Recommended (required for GNOME)


sysprof-3.46.0, Valgrind-3.20.0 (for tests), DTrace, LCOV, and Systemtap

User Notes: https://wiki.linuxfromscratch.org/blfs/wiki/gjs

Installation of Gjs

Install Gjs by running the following commands:

mkdir gjs-build &&
cd    gjs-build &&

meson setup --prefix=/usr          \
            --buildtype=release    \
            --wrap-mode=nofallback \
            ..                     &&

To test the results, issue: ninja test. The GTK and Cairo tests will fail if not running in an Xorg session. Four tests are known to timeout.

Now, as the root user:

ninja install

Command Explanations

--buildtype=release: Specify a buildtype suitable for stable releases of the package, as the default may produce unoptimized binaries.

--wrap-mode=nofallback: This switch prevents meson from using subproject fallbacks for any dependency declarations in the build files, stopping it downloading any optional dependency which is not installed on the system.

-Dprofiler=disabled: prevents building the profiler backend even if sysprof-3.46.0 is installed.


Installed Programs: gjs (symlink) and gjs-console
Installed Library: libgjs.so
Installed Directories: /usr/include/gjs-1.0, /usr/lib/gjs, /usr/libexec/installed-tests/gjs, /usr/share/gjs-1.0, and /usr/share/installed-tests/gjs

Short Descriptions


contains a console to run JavaScript commands


contains the GNOME JavaScript bindings