Codync
무료 오픈소스 1:1 대안, Grok Bot과 Muse 대신
저장소 정보는 아직 수집하지 않았습니다.
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
Control-Panel-style installed apps window for Linux: Flatpak, Homebrew, rpm-ostree, AppImage, Steam and more in one list
저장소 README에서 가져옴
README 전체를 불러오는 중입니다.
README 전문 보기 ↗Think Windows "Installed apps", for Linux. Flatpaks, Snaps, Homebrew, AppImages, Steam games, containers and your distro's own packages all show up in one searchable window. Works on any distro: Fedora (including Bazzite, Silverblue and Kinoite), Ubuntu, Debian, Arch, openSUSE and their relatives.
git clone https://github.com/Haloman363/app-manager.git
cd app-manager
./install-desktop.sh # adds "App Manager" to your application menu
./appmanager.py # or just run it right now
There is nothing to build and nothing to pip install. It needs Python 3, GTK 4, libadwaita 1.5+ and PyGObject. If something is missing, App Manager tells you the command for your distro:
| Distro | Install the dependencies |
|---|---|
| Fedora (all variants) | sudo dnf install python3-gobject gobject-introspection gtk4 libadwaita (already installed on KDE and GNOME) |
| Ubuntu 24.04+, Debian 13+ | sudo apt install python3-gi gir1.2-gtk-4.0 gir1.2-adw-1 |
| Arch, Manjaro | sudo pacman -S python-gobject gtk4 libadwaita |
| openSUSE | sudo zypper install python3-gobject typelib-1_0-Gtk-4_0 typelib-1_0-Adw-1 |
Debian 12 and Ubuntu 22.04 ship a libadwaita that is too old.
Other things you can do:
| I want to... | Do this |
|---|---|
| See details or copy the remove command | Click the ⓘ button on a row |
| Update one app | Click the blue Update button on its row |
| Update everything | ☰ menu → Update all |
| Update apps automatically | ☰ menu → Update apps automatically (daily) |
| Free space | ☰ menu → Remove unused Flatpak runtimes or Clean Homebrew cache |
| Sort by size | Use the second dropdown (Name / Size / Source) |
| Tick everything shown | Click the select-all button, or press Ctrl+A |
| Reload the list | Click ⟳, or press F5 |
| Shortcut | Action |
|---|---|
| Just start typing | Search |
| Ctrl+F | Focus the search box |
| F5 / Ctrl+R | Refresh |
| Ctrl+A | Select all shown (never System apps) |
| Delete | Remove the ticked apps (asks first) |
| Source | Where it looks | Remove does |
|---|---|---|
| Flatpak | flatpak list | flatpak uninstall, with an optional "also delete app data" box |
| Snap | snap list (runtimes and bases hidden) | snap remove (asks for your password) |
| Homebrew | brew leaves (what you installed, not dependencies) | brew uninstall |
| rpm-ostree | packages you layered (Bazzite, Silverblue, Kinoite) | rpm-ostree uninstall (needs a reboot) |
| Distrobox | distrobox list | distrobox rm -f |
| Toolbox | Toolbx containers | toolbox rm -f |
| AppImage | *.AppImage files in common folders, plus apps with a menu launcher | Moves the file and its launcher to the trash |
| Steam | Steam shortcuts in your app menu | Opens Steam's own uninstall prompt |
| Local | Menu entries you added by hand (manual installs, web apps) | Moves the entry and its ~/.local/opt folder or ~/.local/bin script to the trash |
| System | Your distro's own apps, found through the menu entries and the package that owns each one | See below |
How System apps are removed depends on the distro, and it is detected automatically:
| Distro family | Command |
|---|---|
| Fedora Atomic (Bazzite, Silverblue, Kinoite) | rpm-ostree override remove (reboot, undo with override reset) |
| Fedora, RHEL and clones | pkexec dnf remove -y |
| Debian, Ubuntu, Mint | pkexec apt-get remove -y |
| Arch, Manjaro | pkexec pacman -R --noconfirm |
| openSUSE | pkexec zypper --non-interactive remove |
pkexec shows your system's normal admin password prompt. Sources whose tools are not
installed (no brew, no snap, no distrobox) are skipped quietly.
app-manager-update.timer) that runs ./appmanager.py --update-all
once a day with a random delay. It updates Flatpak, Homebrew and AppImage apps and shows a
desktop notification when it did something. Snap and your distro's packages need admin
rights, so they stay with their own updaters (snapd already refreshes itself). Turn the
switch off to remove the timer. Logs: journalctl --user -u app-manager-update.appimageupdatetool
on your PATH. Without it, AppImages are simply not checked.git pull --ff-only; otherwise it opens the release page. Restart the app
afterwards. The only network request is one anonymous call to the GitHub releases API at
startup; set APPMANAGER_NO_UPDATE_CHECK=1 to turn it off.~/.config,
~/.local/share or ~/.cache), the dialog lists them and a checkbox moves them to the trash.
Nothing else is touched.systemd, NetworkManager, polkit and the package managers themselves cannot
be removed from here.Why can't I tick some apps? They are locked: either no package owns that menu entry, or it belongs to a protected core package. Click ⓘ to see which.
Why do I see fewer Homebrew apps than brew list? Only the formulae you installed
directly are listed. Dependencies are hidden so you can't break other tools by accident.
Where did a removed AppImage go? Your trash. Restore it from your file manager.
It says "N updates" but a row has no Update button. Update badges only appear on rows that exist in the list, and only for sources that can be updated from here.
Can I script it? ./appmanager.py --list prints every app and its remove command as
tab-separated text, without opening a window. ./appmanager.py --update-all runs the headless
update. ./appmanager.py --version prints the version.
apt remove, dnf remove and pacman -R work). The core-package lock covers the dangerous
cases, but read the dialog.It is a single file, appmanager.py. Each source is a small generator function that yields
App records (name, source, version, size, the command that removes it). The window just
lists them.
python3 -m unittest discover -s tests -v # parsing and safety tests, no display needed
./appmanager.py --demo # fake sample apps, never runs a command
./appmanager.py --shot out.png [seconds] # save a screenshot of the window and quit
CI runs the tests on Ubuntu, Fedora and Arch.
MIT. Do whatever you like with it.