A simple protocol for serving content over the internet.

Modern web browsers are complex beasts. In fact, they are so complex that one can create a fully functional virtual machine inside one and run another operating system! The software stack towers ever higher, and hardware needs to be ever more powerful and complicated to run it well. If one seeks to just read text and view images, this is absurd overkill.

Gemini is a small internet alternative to HTTP and HTML. It specifies a Markdown inspired format allowing basic plain text document markup.

Registering the Gemini mime type

To open gemtext files and let browsers like Firefox recognize a Gemini link they need to be registered with GNOME by adding it to the mime database.

Create a file at /usr/share/mime/packages/ called gemini.xml and add the following content:

<?xml version="1.0" encoding="UTF-8"?>
<mime-info xmlns="http://www.freedesktop.org/standards/shared-mime-info">
  <mime-type type="text/gemini">
    <glob pattern="*.gmi"/>

Update the mime database with

sudo update-mime-database /usr/share/mime

Add the line MimeType=x-scheme-handler/gemini;text/gemini; to the .desktop file of the client.

Run update-desktop-database ~/.local/share/applications to update the desktop database and add your client to the list of applications that can open gemtext files.


incoming(1) | software