Muhenkan Ubuntu private user installation candidate

Requirements: Ubuntu distribution CPython 3.12 and these packages:
  python3 python3-gi gir1.2-ibus-1.0 gir1.2-gtk-3.0 gir1.2-secret-1 ibus
Use /usr/bin/python3; a virtual environment may hide the distribution GI APIs.
License registration and protected dictionary use also require an existing,
unlocked Secret Service, usually provided by GNOME Keyring. The installer
checks only that the Secret typelib imports; it never starts or unlocks a
service, opens a collection, or reads a credential. A GTK3 desktop is needed
for settings and registration windows.

Settings offer Capture (the default, separate draft window on X11) and IME
(inline IBus preedit). Capture keeps the ordinary input source selected while
idle or drafting. Press Muhenkan to open a draft, then again to restore and
insert it. Enter adds a line; while restoration is pending, Enter interrupts
it. Esc cancels and keeps one recoverable draft in process memory. Insertion
uses IBus, without changing the clipboard or injecting output keystrokes.
Capture currently requires an X11 session, the native Muhenkan key, IBus and
an observable unlocked GNOME desktop. Wayland Capture is not implemented.
In Settings, use the explicit field-checking button to enable this desktop's
accessibility API, then restart Muhenkan input and the browser. This action
does not enable a screen reader. Input startup never changes that OS setting.
Supported accessibility fields are checked for identity and changes; a known
field or API that becomes unavailable does not fall back to window-only
insertion. Hosts without that API retain native-window/input-context checks.
Neither check is an atomic DOM insertion acknowledgement.

The bundle builder defaults to the production service destination. Staging
bundles are only for isolated testing, and an installed setup cannot be upgraded
across destinations. This private candidate bundle is not release acceptance.
The installer never installs system packages or changes IBus input-source
registration.

Install from this extracted directory with:
  /usr/bin/python3 -I -B ubuntu_product.py install --sha256 TRUSTED_RUNTIME_SHA256 --setup-parent /existing/private/directory

The runtime SHA-256 must come from the expected build or trusted release
record. It is required even though this bundle includes the runtime archive.
The first install creates or reuses non-secret setup metadata only. It does
not register a license, start input, select an input source, or create a key.

Commands: install, inspect, run, settings, uninstall. Upgrade with install and
the new archive digest; the selected private setup identity is retained.
Production X11 builds offer optional daily stable-update checks and manual
checks in the existing app window. Source/staging builds do not query public
updates. Checks send no text, dictionary, license, credential or analytics ID;
ordinary network metadata such as IP may reach the official site's server.
Turn automatic checks off with the update setting. Network failure does not
stop input. No download or installation is automatic. Read release notes at
https://muhenkan.com/updates.html and verify both the bundle SHA-256 and the
runtime SHA-256 shown there before running the existing install command.
Updates within the same Managed destination preserve setup, credentials,
dictionary and settings. Staging-to-production and Beta-to-paid transitions
are separate operations; they are not unconditional license migration.
Uninstall removes every product-owned managed runtime and the owned launcher
files. It preserves setup, credentials, dictionary data, and the XDG
applications directory.

Ubuntuで別の契約へ切り替えるとき
この版では、同じ端末を別の購入契約へ自動で切り替えられません。
登録が拒否された場合は、設定・辞書・キーリングを削除せず、
https://tally.so/r/WOyX6L のお問い合わせへご連絡ください。
Ubuntu 24.04 / X11であることと、画面のエラーをお知らせください。
ライセンス値、認証情報、辞書や入力本文は送らないでください。
運営が契約と端末登録の対応を確認し、復旧方法をご案内します。
アプリの削除や端末内認証の削除だけでは、別契約への切替は直りません。
