OpenAI.Codex_26.313.5234.0_x64__2p2nqsd0c76g0.Msix
OpenAI.Codex_26.313.5234.0_x64__2p2nqsd0c76g0.Msix
OpenAI.Codex_26.313.5234.0_x64__2p2nqsd0c76g0.Msix
[email protected]:johnohhh1/codex-ubuntu.git
[email protected]:johnohhh1/codex-ubuntu.git
[email protected]:johnohhh1/codex-ubuntu.git
./build-codex-native-deb.sh
./build-codex-native-deb.sh
./build-codex-native-deb.sh
invalid ELF header
invalid ELF header
invalid ELF header
FATAL: GPU process isn't usable. Goodbye.
FATAL: GPU process isn't usable. Goodbye.
FATAL: GPU process isn't usable. Goodbye.
exec /opt/codex-desktop-native/electron/Codex \ --no-sandbox \ --disable-setuid-sandbox \ --disable-gpu \ --disable-gpu-compositing "$@"
exec /opt/codex-desktop-native/electron/Codex \ --no-sandbox \ --disable-setuid-sandbox \ --disable-gpu \ --disable-gpu-compositing "$@"
exec /opt/codex-desktop-native/electron/Codex \ --no-sandbox \ --disable-setuid-sandbox \ --disable-gpu \ --disable-gpu-compositing "$@"
CODEX_WEB_URL=https://chatgpt.com/codex codex-desktop-native
CODEX_WEB_URL=https://chatgpt.com/codex codex-desktop-native
CODEX_WEB_URL=https://chatgpt.com/codex codex-desktop-native
rm -rf "/opt/codex-desktop-native/electron/resources/app.asar.unpacked"
rm -rf "/opt/codex-desktop-native/electron/resources/app.asar.unpacked"
rm -rf "/opt/codex-desktop-native/electron/resources/app.asar.unpacked"
{ "devDependencies": { "asar": "^3.2.0", "electron": "^40.0.0" }
}
{ "devDependencies": { "asar": "^3.2.0", "electron": "^40.0.0" }
}
{ "devDependencies": { "asar": "^3.2.0", "electron": "^40.0.0" }
}
npm install
./rebuild-install.sh
npm install
./rebuild-install.sh
npm install
./rebuild-install.sh
./rebuild-install.sh
./rebuild-install.sh
./rebuild-install.sh
dist/codex-desktop-native_26.313.5234.0_amd64.deb
dist/codex-desktop-native_26.313.5234.0_amd64.deb
dist/codex-desktop-native_26.313.5234.0_amd64.deb
codex-desktop-native
codex-desktop-native
codex-desktop-native
[email protected]:johnohhh1/codex-ubuntu.git
[email protected]:johnohhh1/codex-ubuntu.git
[email protected]:johnohhh1/codex-ubuntu.git
git clone [email protected]:johnohhh1/codex-ubuntu.git
cd codex-ubuntu
npm install
./rebuild-install.sh
codex-desktop-native
git clone [email protected]:johnohhh1/codex-ubuntu.git
cd codex-ubuntu
npm install
./rebuild-install.sh
codex-desktop-native
git clone [email protected]:johnohhh1/codex-ubuntu.git
cd codex-ubuntu
npm install
./rebuild-install.sh
codex-desktop-native
[email protected]:johnohhh1/codex-ubuntu.git
[email protected]:johnohhh1/codex-ubuntu.git
[email protected]:johnohhh1/codex-ubuntu.git
git clone [email protected]:johnohhh1/codex-ubuntu.git
cd codex-ubuntu
npm install
./rebuild-install.sh
codex-desktop-native
git clone [email protected]:johnohhh1/codex-ubuntu.git
cd codex-ubuntu
npm install
./rebuild-install.sh
codex-desktop-native
git clone [email protected]:johnohhh1/codex-ubuntu.git
cd codex-ubuntu
npm install
./rebuild-install.sh
codex-desktop-native - install Codex on Ubuntu as a .deb
- get a desktop launcher and icon
- make it feel like a native app
- avoid relying on a browser tab
- keep the build repeatable - Extract the MSIX.
- Grab the bundled app.asar.
- Swap the Windows Electron runtime for Linux Electron.
- Rebuild or replace native modules.
- Repackage everything into a .deb. - in the Electron app itself with command-line switches
- in the launcher wrapper used by the packaged .deb - use Linux Electron as the runtime
- keep the official Codex assets from the MSIX
- build a tiny Linux wrapper app
- load https://chatgpt.com/codex inside a dedicated desktop window - creates a BrowserWindow
- hides the menu bar
- uses a Codex title and icon
- opens external popups in the default browser
- allows normal http and https navigation
- forces the window to show even if page paint is slow
- points at https://chatgpt.com/codex by default - Exec=codex-desktop-native
- Icon=codex-desktop-native
- StartupWMClass=Codex
- X-GNOME-WMClass=Codex - Validate the MSIX input.
- Extract the package and detect its version from AppxManifest.xml.
- Copy the official assets into a staging directory.
- Copy in Linux Electron.
- Replace the original runtime shell with a generated Linux wrapper app.asar.
- Build a .deb with the desktop entry, icon, launcher script, and package hooks. - a reliable Linux package
- a clean desktop launcher
- Codex in its own app window
- a build process I could rerun later - a build process I could rerun later