Giter Site home page Giter Site logo

clsty / arcniso Goto Github PK

View Code? Open in Web Editor NEW
20.0 1.0 0.0 102.41 MB

✨**用户友好型 archiso✨ <中文|xfce4|安全启动 secure boot>

Home Page: https://arcn.celestialy.top/

License: GNU General Public License v3.0

Shell 64.77% JavaScript 3.29% Emacs Lisp 1.04% Vim Script 27.97% Fluent 1.16% CSS 1.78%
arch-linux archiso archlinux chinese-simplified secure-boot

arcniso's Introduction

Screenshot of arCNiso v2.3.2

To non-Chinese users

This is an unofficial project which builds customised archiso with GUI(xfce4) for Arch Linux users in China.

Currently the project has no plan for other regions. However, feel free to fork this project and modify to make your own (of course, under GNU GPL 3.0 License).

简介

arCNiso™(简称 arCN™)是一个自由开源的 archiso 镜像。

其保留了官方原版 archiso 镜像的所有功能,并面向简体中文的**用户,就安装系统、维护系统与临时使用这三种用途进行了加强定制。

  • arCNiso 不仅面向新手,也面向熟手,比如:
    • oh-my-zsh 与 p10k 总比裸 grml-zsh 好用;
    • 需要 timeshift 等常用工具时,自带总比从 AUR 安装更省事;
    • 需要安全启动时,本镜像恰好支持(官方 archiso 目前不支持);
    • 使用平板电脑时,若没有 USB 无线或有线键盘,可用蓝牙管理器连接蓝牙键盘,或使用屏幕键盘,而不是束手无策;
    • xfce4 桌面环境总比裸 tty 看起来美观,也更护眼;
    • ……

arCNiso 不是什么:

  • 不是 Arch Linux 的图形化安装器,如含有 Calamares 的 alci-iso
    • 因为它 并不 额外提供任何形如“黑箱”(指将正常的安装流程包装隐藏起来)的系统安装途径(官方 archiso 所提供的 archinstall 除外)。
  • 它也 不是 Arch Linux 的衍生发行版,如 EndeavourOS、CachyOS 等。
    • 因为它 并不 提供这类发行版所独有的软件仓库。
  • 同原版 archiso 一样,它也 支持离线安装 Arch Linux。

总之,arCNiso 本质上仍是 archiso,只是体积更大(例如 v1.2.1 的镜像文件大小为 1.56 GB,差不多比同时期的官方 archiso 的 0.81 GB 大一倍不到)且更好用。

arCNiso 历经较为充分的打磨,并且仍在维护更新中(目前暂定大约每月更新一次),可放心使用,真心希望你能喜欢。

  • 欢迎给本项目点 star 来表达你的支持或认可 >v0
  • 有任何看法或建议,欢迎在 Issues 中反馈,或在 Discussions 中吐槽,也可直接提交 PR

祝你使用愉快!

下载镜像文件:见 arCNiso 指南

商标声明

  • arCNiso™ 与 arCN™ 是本项目的未注册商标,本项目对此保留所有权利。
  • Arch Linux™ 是 Arch Linux 的未注册商标。
    • 本项目 不是 Arch Linux™ 官方发布的,与 Arch Linux™ 官方亦 任何关联。
  • Linux® 是 Linux Foundation 的注册商标。

许可

  • 本项目以 GNU GPL 3.0 License 发布。
  • 项目文件中所包含的其他软件项目的部分,均维持其原有 License。

arcniso's People

Contributors

clsty avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

arcniso's Issues

更好的 Firefox 启动方法

目前的 /usr/local/bin/sufirefoxd 依然会造成重复运行 firefox 的问题,导致 firefox 弹窗“已经运行”。
虽然说问题并不是很大(弹窗叉掉就行了),但总不能称之为完善。

完全弃用原版 linux 内核

本项目应全面采用 linux-zen,但实际上原版 linux 内核却作为 broadcom-wl 与 virtualbox-guest-utils 的依赖被安装了(即使没有生成 GRUB 条目),从而占用了多余的空间。

在GRUB选择界面决定是否要调整键位

键位调整,对于使用者来说,毕竟算是一个比较大的改变。
所以在GRUB选择界面就应该能直接选择是否要调整。
由于是比较重要的决定,等待时间可以设置得长一点,比如20秒。

缩减尺寸:papirus

目前只需要 papirus-dark,但是 papirus-icon-theme 这个包会同时在 /usr/share/icons 下面添加共四个变种(是否 ePapirus,是否 dark;注意Papirus本体还是有必要存在的)。
应当设法去掉另外三个多余变种的体积。

可用思路:

更好的 pacman 防呆

目前,为确保 pacman-init.service 完成之后才能使用 pacman,使用 /usr/local/bin/pacman 进行防呆设计。
但是,实际上应该只有 pacman -U 和 pacman -S 需要这种防呆,而 -R 和 -Q 应该并不需要。

应当从“一刀切”改为分情况防呆。

EFIBootEditor 主题不生效

这里同样也是留个参考给同类问题。

原因已经排查出来了。在终端运行(无论是否 su root)时,主题正常生效;由启动器打开时,不生效。查看其 desktop 文件,发现 Exec 的值为 pkexec efibooteditor

结论:desktop 文件中的 pkexec 引起了这个问题。

完善语音无障碍支持

原archiso是有语音支持的;在arCNiso中虽然并未移除相关部分,但改用了图形终端模拟器,语音功能实际上也失效了。

防止 500 Internal Server Error

这个错误还是比较偶然的,pandoc 在遇到报此错误的页面时似乎不会向 shell 返回错误码,应该用别的方法来预防。

此错误在 v2.3.2 发布的镜像中出现。
当然,重新构建可能会解决问题,但必须找到更稳妥的方法,尽量确保每次构建都不会出现此错误。

添加触摸屏支持

不过,这真的有用吗——用触摸屏来操作 Linux 能做到好用吗?用屏幕键盘的话,在终端里打字都费劲吧。存疑。

不过,如果负面影响(比如占用空间、性能等)不大的话,那就加吧。

设置一个方便切换键盘布局的途径

这样的话,本身就使用了hhkb这种ctrl键位于caps位置的,以及习惯原版键位的、使用dvorak等键位的,就可以轻松地切换到属与自己的键位了。

mpd 不起作用

之前没注意到,其实 xfce 上面的那个 mpd 插件 xfce4-mpc-plugin 并不会工作,因为甚至没安装 mpd。

`pacman-key --populate' too slow or failed

PGP密钥相关问题,之前通过与releng的同步,已解决并单次测试成功,但目前问题复发。
可用systemctl status pacman-init观察到服务失败,
是pacman-init.service中pacman-key --populate在执行到 Locally signing trusted keys in keyring... 时太慢的问题(实测约7分钟),且若在此过程中执行了pacman,则此 service 很可能会失败。

暂时的应急措施:手动令pacman.conf中的SigLevel=Never。

此外,似乎观察到,当挂载点为/etc/pacman.d/gnupg的systemd mount服务中设为(与最新releng相同的)tmpfs与noswap时,pacman-init.service 会直接 failed(手动执行命令也会报错)。即,必须使用ramfs,不加noswap。

arCNiso 模块化

现在已实现arCNiso补丁化,这为下一步实现模块化奠定了基础。

进而,由于模块化获得灵活性,就有更容易同时支持更多的架构(risc-v、arm等)(在没有模块化之前,多架构支持的最大问题在于,适合 x86 的包 risc-v 未必有)。

将镜像大小压缩到 2 G 以下

目前镜像大小为 2.2 G 。

(原版 archiso 仅几百兆)

需要一种方法,找到占用最大的包(但也要考虑到有些包本身较小,却依赖众多)。
可能是二分排除法?

加速 arcnadd-cn(添加 archlinuxcn 仓库源)

arcnadd-cn 是 arCNiso 用于添加 archlinuxcn 仓库源及其密钥环的脚本。原本的运行时间约 6 分钟,现尝试找出速度如此慢的原因,并进行加速。

现已启用 rngd,在物理机下 arcnadd-cn 的运行时间已缩短至 1 分钟。但虚拟机下仍未能加速。

此外,arCNiso 的 pacman-init 也对 archlinux 官方仓库源的密钥进行本地签名,但耗时较短(半分钟不到)。其与 archlinuxcn 仓库源有何不同之处也值得关注。

其他可能的研究方法:利用 ftrace 或 sysdig 查看 arcnadd-cn 慢的原因。

arCNiso补丁化(去releng本体)

arCNiso基于archiso的releng,也就是对它的一个修改。
在Git仓库中,arCNiso自然也就包含了releng的本体。
这样处理的弊端在于,每当archiso有重大更新,就必须手动为arCNiso(所包含的releng本体)应用这些更新,否则可能编译失败,这无疑增大了工作量。

一个更好的方案是,将arCNiso中releng的本体去除,而每次makeiso的时候都由rsync从releng把本体同步过来,进而自动进行修改(这当然也包括对一些文件的删除,例如与NetworkManager冲突的systemd服务文件)。

增强 Emacs

  • 目前内置的 Emacs 是直接运行的,最好配置为 Client/Daemon 模式以加快启动速度;
  • 对 Org-mode 的显示支持也很有限,对 README.org 显示的总体效果还不如直接看 GitHub 渲染出来的,比如:
    • #+begin_quote 这种都是没有显示出来的。
    • 标题与正文的字体的种类没有区别(不过如果是在终端的话实际上也不支持不同字体)。
    • 可以考虑将 README 脚本配置为,若 html 不存在则使用 emacs(pandoc 占空间很大)自动输出 html 并用 firefox 打开。

添加安全启动支持

如题。

但是 Secure Boot 是微软家的东西,这可能会额外有点非技术上的难度(?)

不过可以参考 Ventoy 的做法,它在根目录下放了个 *.cer 文件,在安全启动时根据主板固件的提示可以手动导入到主板里。

更改分发方式

之前一直采用qbittorrent的方式,以torrent分发;
现在在考虑用脚本自动化这个流程,但是在transmission做种这一步失败了。

接下来应考虑:

  • 继续尝试transmission;
  • 试试其他bt工具;
  • 使用seafile等网盘(或自己买个云服务器搭建);
  • 找镜像站请求帮忙(1.5G 还是挺大的,感觉不太可能的样子)

修复sweet主题

之前使用的是三个AUR包(candy-icons-git sweet-theme-full-git sweet-kde-theme-git 其中candy图标的那个是强制依赖的),
但现在 sweet-theme-full-git sweet-kde-theme-git 两个包都炸了,而且还暂时找不到能用的包。
同时也考虑到这些 AUR 包并不稳定,还会多出无用的依赖(candy-icons)以及文件(比如 aurorae 的那些),故改为直接从上游获取资源。

为此,下面从旧包中进行分析。

尝试去kde化

注意,这只是尝试,因为最后得到的结果未必令人满意(在此情况下当然就不会做什么改变)。

众所周知,dolphin 和 konsole、partitionmanager 等会带一堆k字头的(显然大多属于kde)的依赖项,从而可能产生较大的空间占用。于是,一个简单的想法就是去kde化,并且可能的话也进行去qt化,以此来推对镜像体积的精简。

但是,这个想法的问题在于:

  • 本项目依赖 Qt 的软件并不少,而且有些并没有替代品,比如 efibooteditor。
  • 上述三个k家软件,确实是久经考验、适合大众的优秀之作。如果要换掉,要么在功能性上无法达到要求,要么体积还会更大。
  • 还有一些软件包,明明不是 kde 系的,也依赖于 kde 系软件,比如 xfce 的设置面板(这个依赖链里甚至有 kwayland)。

各软件的具体讨论如下:

Dolphin

功能:具有 MTP 支持的图形界面文件管理器。

可以考虑使用 Thunar + gvfs-mtp 。

EDIT: Dolphin 已被替换为 Thunar。

Konsole

功能:具有多标签页功能的终端管理器。
此外还必须支持在开机启动时运行特定命令(以便展示 /etc/motd-zh_CN ),见 https://github.com/clsty/arCNiso/blob/main/homebase/skel/.config/autostart/originalterminal.desktop
另外,考虑到美观性,最好支持半透明背景。

候选:wezterm 或 tilix,但是在体积上可能甚至更大。

EDIT: Konsole 已被替换为 Tilix。

Partition Manager

功能:集分区、格式化、磁盘测试等与一体的磁盘管理器。
候选替代:Gparted(?)

Keymap 失效问题

某次,启动后长时间闲置,而后 Keymap 失效(即左 Ctrl 与 Caps 不再交换)。

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.