Installing SEO Note 2.1 on Linux
Linux gets the current build, SEO Note 2.1, in two shapes: an AppImage you run without installing anything, and a .deb that goes through your package manager and adds the menu entry. Both are x86_64. There is no Linux version of the classic 1.3.34 — that one is a Windows program.
Three builds ship from this site. SEO Note 2.1 is the current one: an Electron app (about 121 MB installer) for Windows 10/11 64-bit and Linux x64, with Markdown, the tree editor, AI talking to a model you connect — a local one or any OpenAI-compatible endpoint, a web clipper and git sync of the file. For Android 6.0 and newer there is a release-signed APK (~10 MB) of the same interface; on the phone notes live as a folder of Markdown files on the device, and passwords, sync, the clipper and AI answer there with an explicit refusal. The classic build 1.3.34 (~2.5 MB, Win32) stays on the download page for Windows 7, 8 and 32-bit PCs, where 2.1 does not install; its notes file is .seo. All three work offline with no account: pick your build, or read how 2.1 and 1.3.34 differ.
Which file
File Size What it does SEO-Note-2.1.2.AppImage146 121 320 bytes (~139 MB) Nothing is installed. One executable file, kept wherever you like, launched by name. seonote-electron_2.1.2_amd64.deb112 837 524 bytes (~107 MB) Installs the program, an icon and a menu entry in the Utilities section. Declared install size 366 873 KB, about 360 MB on disk. Take the AppImage if you want to try the program or carry it between machines. Take the .deb if you intend to use it daily and want it in your application menu, and let apt resolve the libraries.
The AppImage
sha256sum SEO-Note-2.1.2.AppImage chmod +x SEO-Note-2.1.2.AppImage ./SEO-Note-2.1.2.AppImageThe first line is optional but cheap: the download page publishes the SHA-256 of every file it offers, and the AppImage digest starts with
ae73a684. The file has no executable bit when it arrives from a browser, which is whychmod +xis step two, not an emergency fix.An AppImage mounts itself when it runs, so it needs the usual FUSE support and a desktop stack. On a minimal system — a container, a stripped image, a hand-built window setup — unpack it instead:
./SEO-Note-2.1.2.AppImage --appimage-extractThat is how we re-checked this build: unpacked, in a bare ubuntu:24.04 container with no desktop stack and no FUSE, and run from the unpacked tree under a virtual X server after installing the libraries the .deb declares. On the bare image
lddlists 26 libraries of this binary as missing — X11, GTK, NSS, ALSA and friends, every one of them something a normal Ubuntu or Fedora desktop installs anyway; after the .deb dependency list is installed,lddreports none. The window comes up at 1200x800 and the first-run vault seeds itself, which is what we watched for. Two notes on honesty: the unpacked tree needs--no-sandboxunless itschrome-sandboxhelper is made setuid root, because unpacking drops that bit; and we tested the unpacked path, not the mounted one, since the image had no FUSE — on a normal desktop the AppImage mounts itself and you type nothing of the kind. If your system genuinely lacks the libraries, the .deb is the shorter road, because the package names them and apt fetches them.The .deb
sudo apt install ./seonote-electron_2.1.2_amd64.debThe leading
./matters: without it apt tries to resolve a package name from its repositories rather than the file in front of you. The package declareslibgtk-3-0, libnotify4, libnss3, libxss1, libxtst6, xdg-utils, libatspi2.0-0, libuuid1, libsecret-1-0, libasound2 | libasound2t64as dependencies — apt pulls them, and they are what an Electron desktop program needs: GTK for windows and dialogs, NSS for the certificate store, libsecret for the OS keyring, ALSA for sound. On Ubuntu 24.04 the t64 names are the live ones, and the package accepts either.To take it off again:
sudo apt remove seonote-electron. Your notes file is left where it is, because it is data, not part of the package.What is still wrong with this .deb, read from the package
Taken from the
controlblock of the file this server hands out, not from the source tree, so it describes what you actually download. Of the three defects the published 2.0.0 package had, the 2.1.2 package keeps one.
- Still there: the metadata carries
Homepage: https://github.com/seonote/seonote-electron. That account is not ours and is not registered by anyone we know of. Ignore it: downloads and releases live here, on the download page. Treat the field as a leftover of the build configuration rather than as an address to visit or to subscribe to.- Fixed in 2.1.2:
libasound2is declared. The 2.0.0 package did not list it, and Electron needs ALSA for sound, so on a minimised desktop image the program installed fine and exited at once. NowDependscarrieslibasound2 | libasound2t64and apt pulls it. If you are still running the 2.0.0 file:sudo apt install libasound2(Ubuntu 24.04 and later may call itlibasound2t64).- Fixed in 2.1.2:
Descriptionis not empty. The 2.0.0 summary line was blank, soapt show seonote-electronprinted nothing useful and some package browsers showed it the same way. Cosmetic then, fixed now.Where the notes file goes
On first start the program creates
notes.seonotein~/.config/seonote-electron/. That single SQLite file holds the tree, the note bodies, the tags and the search index. Move it wherever suits you with File → Save as…; the path of the file you have open, plus buttons to copy it or reveal the folder, sit in File → File properties…. Copying the file to another machine — Windows or Linux — is the whole of the transfer story: nothing in it is tied to the operating system it was created on.Two limits that are specific to Linux
- Importing an old
.seofile is Windows-only. In the running program on Linux the menu item is there but greyed out and labelled(Windows). This covers the classic SEO Note format, TreePad and KeyNote. Evernote .enex, Google Keep JSON, plain text, HTML and Markdown import are not affected. If you have a .seo archive, do that one import on a Windows machine and carry the resulting.seonotefile back — the migration page walks through what arrives and what does not.- The AI key needs a keyring. The password for an AI endpoint is kept in the system keyring (libsecret), never in the settings file. On a desktop with GNOME Keyring or KWallet that is invisible. On a bare system with no Secret Service the program keeps the key for the running session and writes nothing to disk, so after a restart you type it again — which is the honest alternative to storing a secret in a plain file.
The general limits of 2.1 apply here too: nothing installs through the app, so a new version means downloading it here again — and the daily GitHub query the 2.0.0 file used to send is gone from this build. The Linux files carry no signature, the same as the Windows installer (only the Android APK is signed), and a few hundred MB on disk is the runtime, not your notes. If that is too much for a machine, the classic 1.3.34 build is 2.5 MB — but it is a Windows program, and we do not test it under Wine.
Next steps
- SEO Note 2.1 quick start — the first file and the five keys worth knowing
- SEO Note 2.1 vs 1.3.34
- Moving an old .seo file into 2.1
- Version history · Download · FAQ
Mini FAQ
Is there a repository or a Flatpak / Snap package? No. The two Linux files on the download page are an AppImage and a .deb, and both are installed by hand. There is no package repository to add and no store listing, which also means there is nothing that could update the program without asking you.
Do I need root to run SEO Note on Linux? Not for the AppImage: it is a file you make executable and run. The .deb does need sudo, because that is how any system package is installed on Debian and Ubuntu derived distributions.
Does the AppImage install a menu entry? No, it stays a file you launch. If you want the desktop entry and the icon, use the .deb. Some file managers offer to add a menu shortcut for an AppImage on their own; that is their feature, not something SEO Note writes into your system.
Can I move my notes file from a Windows machine to Linux? Yes, by copying it: the .seonote file is a SQLite database with nothing system-specific in it. Note the other direction, though: importing an old classic .seo file is implemented and tested on Windows only, so do that import on Windows first and carry the resulting file to Linux.
Why would the AppImage refuse to start on a minimal system? Because it expects a desktop stack. Our own check of this build was a bare ubuntu:24.04 container: the AppImage unpacked fine with --appimage-extract, but ldd listed 26 of its libraries as missing there, all of them parts of a normal desktop install, and there was no FUSE to mount it with. The program itself started once those libraries were present. On a stripped container or a hand-built system the .deb is the easier route, because apt pulls the libraries the package declares.
