Flatpak概念及其基础使用方法

Flatpak概念及其基础使用方法

图源:陌芋Marginal 🎆🎇🎆 108115520

为什么使用Flatpak?

  • 问题:已经有了aptdnf等这种系统级的包管理器,为什么还要使用Flatpak?
    1. Flatpak给软件提供相对独立的运行环境(沙箱),并提供权限控制功能,避免软件破坏或任意修改系统;
    2. Flatpak很大程度上解决了软件的兼容性问题,让“新系统跑旧软件”或“旧系统跑新软件”成为可能;因此Flatpak可以在非滚动更新的发行版上安装 比系统源内版本更高的软件;
    3. Flatpak支持诸多发行版,在不同的发行版上能够获得几乎相同的软件使用体验
    4. Flatpak允许同一个软件的不同版本在系统内共存
    5. Flatpak允许非root用户在单用户作用域内安装软件
  • 问题:我在用Snap或者AppImage,它们和Flatpak有什么区别嘛?
    1. Flatpak性能中等,略优于Snap,略差于AppImage;
    2. Flatpak、AppImage不需要服务(Service),而Snap需要Snapd;
    3. Flatpak、Snap提供权限控制功能,而AppImage不提供;
    4. Flatpak、Snap统一提供所有软件包的更新,而AppImage需要打包者自行适配应用内更新或利用第三方工具更新;
    5. Flatpak、Snap在发行版的预装情况方面有区别:
      • Flatpak预装在这些发行版中:
        • Fedora (Workstation/Silverblue/Kinoite)
        • Manjaro
        • Endless OS
        • Linux Mint
        • Rocky Linux (GNOME)
        • AlmaLinux (GNOME)
        • CentOS (GNOME)
        • EuroLinux (GNOME)
        • Pop!_OS
        • elementary OS
        • Clear Linux (Desktop)
        • PureOS
        • Zorin OS
        • MX Linux
        • KDE neon
        • ……
      • 而Snap预装在这些发行版中:
        • Ubuntu系列 (Ubuntu Desktop, Ubuntu Server, KUbuntu, XUbuntu……)
        • KDE neon
        • Manjaro
        • Solus
        • Zorin OS
        • ……
    6. Flatpak和Snap均得到了两个软件中心(GNOME Software Center、KDE Plasma Discover)的支持,而Appimage需要使用第三方软件中心(如prateekmedia/appimagepoolapp-outlet/app-outlet(同样支持Flatpak)
阅读更多
【持续更新】宝藏精品软件收集

【持续更新】宝藏精品软件收集

图源:SWKL:D - :D 110336778

持续收录一些装机必备软件,以及小众精品软件和好用的Web应用(在线服务)。

前缀

  • AD:软件含有广告;
  • Pay:软件含有一次性付费内容;
  • Pro:软件含有月度/季度/年度付费内容(会员、订阅);

输入法

阅读更多
Linux & Windows 小技巧(3)

Linux & Windows 小技巧(3)

文章内容:peco、bat,软链接与硬链接,Linux Shell Options,Windows 展台模式,LTSC 安装 Microsoft Store,与统一写入筛选器

图源:Miv4t - 《MACHiNERY》,Pid:77186528

Windows 下的 cat 和 grep

lscatgrep这三个命令,往往是Linux初学者最先了解的、日常使用Linux时不可或缺的。对于Windows系统而言,同样有三个命令可以完成上述工作:dirtypefindstr

例如,用type显示文件内容:

或者用findstr结合管道匹配先前程序输出内容中的字符串:

也可以结合正则表达式:

如果你不满足于系统命令的显示效果,你也可以尝试下面两款开源于Github的工具:

阅读更多
Linux&Windows小技巧(5)

Linux&Windows小技巧(5)

文章内容:Edge、Chrome和Firefox的展台模式;Scoop的使用方法

图源:Anmi - 水族館 83088427

Microsoft Edge 展台模式

《小技巧(3)》 中,我以 Microsoft Edge 为例简单描述了 Windows 操作系统级展台模式功能的设置方法。

对于操作系统级的“展台模式”,常用于以下场景:

  • 商场电子展柜、企业宣传展板等;
  • 数据看板大屏、监控系统大屏、比赛实况大屏等;
  • 图书馆、办事处、机场等的公用电脑;

以上场景具有的共同特点是:需要应用保持全屏;限制用户只使用这个应用或访问特定网页;提供一定交互能力。

在绝大多数情况下,被展示的内容都可以用网页的形式(播放幻灯片、播放视频等也可以用网页实现)呈现。这种场景下,OS级展台模式功能的配置流程复杂、维护困难、可能导致操作系统不稳定等问题就显得有些大材小用了。

如果只是想临时启动 Edge 的展台模式,或是在运行 Edge 的同时运行其他程序,再或者是在 Linux 或 macOS 下启动展台模式,最简便的办法是直接使用命令行。

启动命令

Edge 是基于 Chromium 二次开发的浏览器。因此,与 Chromium 启动展台模式的命令类似。以百度为例启动展台模式:

1
.\chrome.exe --kiosk 'https://www.baidu.com'

定位到 msedge.exe 所在路径,一般为:

1
C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe

在该路径下启动 PowerShell,启动展台模式:

1
.\msedge.exe --kiosk 'https://www.baidu.com' --edge-kiosk-type=fullscreen
现代C语言:C23标准中值得注意的变化

现代C语言:C23标准中值得注意的变化

图源:Anmi - 水族館 83088427

虽然没有固定标准,但一般将C99之后的C语言标准称为“现代C语言”;目前的最新标准为C23;

C23标准中值得注意的变化

以下是一部分我认为比较重要的变化,完整变化列表可以参阅 https://en.cppreference.com/w/c/23 或ISO标准文档。

替代

  • <assert.h>中的static_assert()宏被替代,变成了static_assert关键字;
  • <threads.h>中的thread_local()宏被替代,变成了thread_local关键字;
  • <time.h>中的ctime()函数弃用,请使用ctime_s()替代;
  • <time.h>中的asctime()函数弃用,请使用asctime_s()替代;
  • <stdnoreturn.h>_Noreturn标识符均弃用;
  • <stdalign.h>中的alignas()alignof()宏被弃用,请直接使用_Alignas_Alignof关键字;
阅读更多
Your browser is out-of-date!

Update your browser to view this website correctly.&npsb;Update my browser now

×