慣性聚合 高效追讀感興趣之博客、新聞、科技資訊
閱原文 以慣性聚合開啟

推薦訂閱源

博客园 - 司徒正美
V
V2EX
T
Tailwind CSS Blog
有赞技术团队
有赞技术团队
aimingoo的专栏
aimingoo的专栏
Apple Machine Learning Research
Apple Machine Learning Research
IT之家
IT之家
Blog — PlanetScale
Blog — PlanetScale
A
About on SuperTechFans
月光博客
月光博客
T
The Blog of Author Tim Ferriss
宝玉的分享
宝玉的分享
Martin Fowler
Martin Fowler
博客园 - 聂微东
The GitHub Blog
The GitHub Blog
V
Visual Studio Blog
WordPress大学
WordPress大学
酷 壳 – CoolShell
酷 壳 – CoolShell
Engineering at Meta
Engineering at Meta
GbyAI
GbyAI

DEV Community

Authentication Security Deep Dive: From Brute Force to Salted Hashing (With Java Examples) Why AI Systems Don’t Fail — They Drift Spilling beans for how i learn for exam😁"Reinforcement Learning Cheat Sheet" I Replaced Chrome with Safari for AI Browser Automation. Here's What Broke (and What Finally Worked) How Python Borrows Other People's Work The $40 Architecture: Processing 1 Billion API Requests with 99.99% Uptime Vibe Coding: A Workflow Guide (From Zero to SaaS) Most webhook security guides protect the wrong side. The scary part is delivery. Headless CMS for TanStack Start: Build a Blog with Cosmic EU Age Verification App "Hacked in 2 Minutes" — What Actually Happened Comfy Cloud’s delete function does not actually remove files Running AI Models on GPU Cloud Servers: A Beginner Guide Event-driven media intelligence with AWS Step Functions and Bedrock I scored 500 AI prompts across 8 quality dimensions — here's what broke How to Call Google Gemini API from Next.js (Free Tier, No Backend Needed) The Portal Protocol: Reclaiming Human Connection in the Age of AI How to Fix Your Team's Scattered Knowledge Problem With a Self-Hosted Forum Intro to tc Cloud Functors: A Graph-First Mental Model for the Modern Cloud Designing Multi-Tenant Backends With Both Ownership and Team Access I Built a Neumorphic CSS Library with 77+ Components — Here's What I Learned PostgreSQL Performance Optimization: Why Connection Pooling Is Critical at Scale Cómo construí un SaaS multi-rubro para gestionar expensas en Argentina con FastAPI + Vue 3 🚀 I Built an Ethical Hacking Scanner Tool – Open Source Project I Replaced /usage and /context in Claude Code With a Single Statusline A Pythonic Way to Handle Emails (IMAP/SMTP) with Auto-Discovery and AI-Ready Design I Collected 8.9 Million Polymarket Price Points — Here's What I Found About How Markets Really Move EcoTrack AI — Carbon Footprint Tracker & Dashboard Everyone's Using AI. No One Agrees How. 5 self-hosted ebook managers worth trying in 2026 Building Your First AI Agent with LangChain: From Chatbot to Autonomous Assistant Common SOC 2 Failures (Real World) Stop Vibe-Checking Your AI App: A Practical Guide to Evals How to Use SonarQube and SonarScanner Locally to Level Up Your Code Quality Your Next To-Do App Is Dead — I Replaced Mine with an OpenClaw AI Sign a Nostr event in 60 lines of Python using coincurve — no nostr-sdk, no nbxplorer, no rust toolchain ITGC Audit Explained Like You’re in Big 4 Patch Tuesday abril 2026: Microsoft parcha 163 vulnerabilidades y un zero-day en SharePoint Stop scraping everything: a better way to track competitor price changes Listing on MCPize + the Official MCP Registry while routing payments OUTSIDE the marketplace — how I kept 100% of my x402 revenue Building an AI-Powered Risk Intelligence System Using Serverless Architecture Why We Ripped Function Overloading Out of Our AI Toolchain Testing AI-Generated Code: How to Actually Know If It Works SaaS Churn Is Killing Your Business. Here Is What to Do About It (Without a Support Team) The Speed of AI Is No Longer Linear - And Self-Improving Models Are Why How to Implement RBAC for MCP Tools: A Practical Guide for Engineering Teams From Standard Quote to Persuasive Proposal: AI Automation for Arborists I built a CLI that scaffolds complete multi-tenant SaaS apps Axios CVE-2025–62718: The Silent SSRF Bug That Could Be Hiding in Your Node.js App Right Now The dashboard that ended our friendship Data Pipelines Explained Simply (and How to Build Them with Python)
忽有玄妙之应用现于吾之Ubuntu应用匣,欲除之,甚为烦厌。遂造 Showcase。
Rabiul Islam · 2026-05-24 · via DEV Community

曩者,余瀏覽 Ubuntu 22.04 之應用抽屜,忽見一應用,不識也。未嘗知其何時所裝,若曾裝之,久已忘矣。無妨,余思,吾但去之即可。然,如何去之?

此乃何物?apt套件乎?Snap 乎?Flatpak 乎?欲自終端去之,首當辨明其名。 之器置之,乃忆其正确之命。GNOME Software,乃建于商店之侧,发现而安装之,几乎无视非其所管理之源。对于一未知之应用,已存于吾之磁盘,此觉甚费侦探之功。

乃寻一简易之图形应用,但示吾 诸事。 装于吾机,任吾去其不欲,无论其何由至。吾未得一物能净除之。故于暇时,吾始自制之。

此乃展示之所在。

Showcase, browsing every installed app

一处容所有装之应用

Linux之应用,由数门而入。有系统之包(apt/dpkg者,Flatpak也,Snap也,复有独立之AppImage。各有所法,列之去之,异趣殊途。展示之术,兼采众流,凡形画之属,悉纳一格,标其本源。

自此以往,可:

  • 索、筛、序之。即索即筛,可按源(并具实时计数)或类,亦可按名、量、新近安装而序之。
  • 察之无碍。点一应用,则得详版,具其徽、本、量、日、出者、类、包号,并详述之。
  • 去之无惑。一击认证,依常例密码提示。展示告君复得磁盘空间几何。其前也汝若提交,则当警示于移除之际。apt包将携其依从者同沉,独拒移除要务系统包或根本Snaps。
  • 时时刻刻更新。 随地检视一应用之更新,或遍扫诸应用,逐一或毕其更新,皆循其本源之机制。 App details and one-click uninstall

依系统明暗之主题,且各源并行查询,一源迟滞或阙如(如不使用Snap),不滞其余。

略述其运作之道

Showcase乃本机桌面应用,以之构建泰瑞 v2,故有 Rust 核心配以 斯维特基特(斯维特 5) 前端。二进制文件得以精简,且其感若真 GTK 之应用,非浏览器标签伪饰之貌。

至趣之问,乃“何谓真应用”,而答乃卑之。.desktop之文件。此乃汝应用程序菜单中所显之条目,故 Showcase 视其为真实之源,继而各以所属包管理器之元数据丰之。

吾初时重二事:

  • 其永不以 root 运行。唯卸载一事升权,独此一行,经标准 polkit 提示。
  • 无壳字符串构建之术。软件名以参数数组传递,未尝拼入壳命令,故无可注入之物。 ### 值得一提之陷阱

“全部更新”之钮,初看似已毕功,然复审方觉其window.confirm() 默然无动。 藏于 Tauri/WebKitGTK 之網頁視窗中(wry 未曾接引 script-dialog 之信號)。故此按鈕幾乎無用。確認之回應為 false,然後萬籟俱寂。其解法乃棄用瀏覽器對話,改用應用內確認之�件。若君欲於 Linux 上構建 Tauri,勿求 alert / confirm / prompt。彼等之行止,非若瀏覽器中然。

诚言于事

余闲时为之,配以Claude Code。先定其规,次谋其略,复行其验,凡解析之术、逻辑之理,皆隐于微渺之令行"隙"中,故可逐验于固件,而非扰于实系。此乃偏业终成之由也180 Rust 测试与 150+ 前端测试,皆由 CI 约束。此亦为上引评审所察之谬,幸而快径测试未尝见之。

分发亦受同制:每度发布,皆于 CI 中构建,附以构建溯源之证,供验SHA256SUMS,且亦自GPG 签名之 APT 仓库中供之。 俾尔得正apt所辖之更新。

試之

Showcase 运于Ubuntu 22.04+ (amd64)及其支系。自Releases 页面取预制之包,而施之:

# download the .deb from the latest release, then (use apt, it resolves deps):
sudo apt install ./Showcase_*_amd64.deb

入全屏模式 出全屏模式

欲便携之物乎?有之。AppImage(应用镜像)于同一次发布。惟chmod +x行之。或一添已签之APT仓库,如他包般得更新(详尽之指在README中)。

指也代码,下载,及文档:GitHub.com(rabbitislam-xyz)之showcase

此乃MIT之许可,且为开源。若君心有所契,一星实助其广为人知。次乃安装之应用,非徒管理既存之物,亦在路线图之次序,而问题/PR甚为欢迎。

若君尝凝眸于不识之应用,而思如何除之,此即Showcase所解之痒也。