From 01dc6dfd2b9a94f3df563b34be7144e8ceeeaee1 Mon Sep 17 00:00:00 2001 From: madomado Date: Fri, 31 May 2024 23:59:30 +0800 Subject: [PATCH 01/10] feat: zh_Hant translations --- src/consts.ts | 68 ++++ src/content/docs/zh_Hant/anywhere/android.mdx | 17 + .../docs/zh_Hant/anywhere/applesilicon.mdx | 17 + .../docs/zh_Hant/anywhere/chromebook.mdx | 132 ++++++++ .../docs/zh_Hant/anywhere/enterprise.mdx | 25 ++ src/content/docs/zh_Hant/anywhere/ott.mdx | 15 + src/content/docs/zh_Hant/anywhere/riscv.mdx | 13 + src/content/docs/zh_Hant/anywhere/rpi.mdx | 70 ++++ .../docs/zh_Hant/anywhere/steamdeck.mdx | 13 + src/content/docs/zh_Hant/anywhere/thin.mdx | 21 ++ src/content/docs/zh_Hant/anywhere/xr.mdx | 13 + .../docs/zh_Hant/chromebook/armbeta.mdx | 75 +++++ .../docs/zh_Hant/chromebook/chromebook.mdx | 16 + .../docs/zh_Hant/chromebook/getting.mdx | 81 +++++ .../docs/zh_Hant/chromebook/postinstall.mdx | 10 + .../docs/zh_Hant/chromebook/preparing.mdx | 70 ++++ .../docs/zh_Hant/chromebook/terminology.mdx | 116 +++++++ .../docs/zh_Hant/community/codeofconduct.mdx | 117 +++++++ .../docs/zh_Hant/community/community.mdx | 50 +++ .../zh_Hant/contributing/contributorguide.mdx | 94 ++++++ .../docs/zh_Hant/contributing/hacking.mdx | 67 ++++ src/content/docs/zh_Hant/development/anda.md | 5 + .../development/developing-for-ultramarine.md | 68 ++++ .../docs/zh_Hant/development/ux-guide.mdx | 12 + .../docs/zh_Hant/hardware/anywhere.mdx | 40 +++ .../docs/zh_Hant/hardware/bioskeys.mdx | 32 ++ .../zh_Hant/hardware/broadcom-realtek.mdx | 26 ++ src/content/docs/zh_Hant/hardware/nvidia.mdx | 33 ++ .../docs/zh_Hant/hardware/requirements.mdx | 38 +++ src/content/docs/zh_Hant/hardware/surface.mdx | 43 +++ .../docs/zh_Hant/installation/getting.mdx | 121 +++++++ .../zh_Hant/installation/installation.mdx | 118 +++++++ .../zh_Hant/installation/post-advanced.mdx | 93 ++++++ .../docs/zh_Hant/installation/postinstall.mdx | 72 ++++ .../docs/zh_Hant/installation/readymade.mdx | 16 + src/content/docs/zh_Hant/installation/rpi.mdx | 83 +++++ .../docs/zh_Hant/linux/devicefiles.mdx | 154 +++++++++ src/content/docs/zh_Hant/linux/filesystem.mdx | 93 ++++++ src/content/docs/zh_Hant/linux/overview.mdx | 60 ++++ .../docs/zh_Hant/linux/permissions.mdx | 30 ++ .../docs/zh_Hant/linux/securityprivacy.mdx | 44 +++ src/content/docs/zh_Hant/linux/shell.mdx | 202 +++++++++++ src/content/docs/zh_Hant/linux/software.mdx | 99 ++++++ src/content/docs/zh_Hant/release/errata.mdx | 104 ++++++ .../release/upgrade-to-ultramarine-40.mdx | 36 ++ src/content/docs/zh_Hant/usage/gaming.mdx | 84 +++++ src/content/docs/zh_Hant/usage/l10n.mdx | 313 ++++++++++++++++++ src/content/docs/zh_Hant/usage/um40-dnf5.mdx | 56 ++++ src/content/docs/zh_Hant/welcome.mdx | 160 +++++++++ 49 files changed, 3335 insertions(+) create mode 100644 src/content/docs/zh_Hant/anywhere/android.mdx create mode 100644 src/content/docs/zh_Hant/anywhere/applesilicon.mdx create mode 100644 src/content/docs/zh_Hant/anywhere/chromebook.mdx create mode 100644 src/content/docs/zh_Hant/anywhere/enterprise.mdx create mode 100644 src/content/docs/zh_Hant/anywhere/ott.mdx create mode 100644 src/content/docs/zh_Hant/anywhere/riscv.mdx create mode 100644 src/content/docs/zh_Hant/anywhere/rpi.mdx create mode 100644 src/content/docs/zh_Hant/anywhere/steamdeck.mdx create mode 100644 src/content/docs/zh_Hant/anywhere/thin.mdx create mode 100644 src/content/docs/zh_Hant/anywhere/xr.mdx create mode 100644 src/content/docs/zh_Hant/chromebook/armbeta.mdx create mode 100644 src/content/docs/zh_Hant/chromebook/chromebook.mdx create mode 100644 src/content/docs/zh_Hant/chromebook/getting.mdx create mode 100644 src/content/docs/zh_Hant/chromebook/postinstall.mdx create mode 100644 src/content/docs/zh_Hant/chromebook/preparing.mdx create mode 100644 src/content/docs/zh_Hant/chromebook/terminology.mdx create mode 100644 src/content/docs/zh_Hant/community/codeofconduct.mdx create mode 100644 src/content/docs/zh_Hant/community/community.mdx create mode 100644 src/content/docs/zh_Hant/contributing/contributorguide.mdx create mode 100644 src/content/docs/zh_Hant/contributing/hacking.mdx create mode 100644 src/content/docs/zh_Hant/development/anda.md create mode 100644 src/content/docs/zh_Hant/development/developing-for-ultramarine.md create mode 100644 src/content/docs/zh_Hant/development/ux-guide.mdx create mode 100644 src/content/docs/zh_Hant/hardware/anywhere.mdx create mode 100644 src/content/docs/zh_Hant/hardware/bioskeys.mdx create mode 100644 src/content/docs/zh_Hant/hardware/broadcom-realtek.mdx create mode 100644 src/content/docs/zh_Hant/hardware/nvidia.mdx create mode 100644 src/content/docs/zh_Hant/hardware/requirements.mdx create mode 100644 src/content/docs/zh_Hant/hardware/surface.mdx create mode 100644 src/content/docs/zh_Hant/installation/getting.mdx create mode 100644 src/content/docs/zh_Hant/installation/installation.mdx create mode 100644 src/content/docs/zh_Hant/installation/post-advanced.mdx create mode 100644 src/content/docs/zh_Hant/installation/postinstall.mdx create mode 100644 src/content/docs/zh_Hant/installation/readymade.mdx create mode 100644 src/content/docs/zh_Hant/installation/rpi.mdx create mode 100644 src/content/docs/zh_Hant/linux/devicefiles.mdx create mode 100644 src/content/docs/zh_Hant/linux/filesystem.mdx create mode 100644 src/content/docs/zh_Hant/linux/overview.mdx create mode 100644 src/content/docs/zh_Hant/linux/permissions.mdx create mode 100644 src/content/docs/zh_Hant/linux/securityprivacy.mdx create mode 100644 src/content/docs/zh_Hant/linux/shell.mdx create mode 100644 src/content/docs/zh_Hant/linux/software.mdx create mode 100644 src/content/docs/zh_Hant/release/errata.mdx create mode 100644 src/content/docs/zh_Hant/release/upgrade-to-ultramarine-40.mdx create mode 100644 src/content/docs/zh_Hant/usage/gaming.mdx create mode 100644 src/content/docs/zh_Hant/usage/l10n.mdx create mode 100644 src/content/docs/zh_Hant/usage/um40-dnf5.mdx create mode 100644 src/content/docs/zh_Hant/welcome.mdx diff --git a/src/consts.ts b/src/consts.ts index b3b3ab3c..188087b4 100644 --- a/src/consts.ts +++ b/src/consts.ts @@ -15,6 +15,7 @@ export const OPEN_GRAPH = { export const KNOWN_LANGUAGES = { English: "en", Deutsch: "de", + 正體中文: "zh_Hant", } as const; export const KNOWN_LANGUAGE_CODES = Object.values(KNOWN_LANGUAGES); @@ -125,4 +126,71 @@ export const SIDEBAR: Sidebar = { { text: "Developing for Ultramarine", link: "de/release/errata" }, ], }, + zh_Hant: { + 介紹: [{ text: "歡迎", link: "zh_Hant/welcome" }], + 社羣: [ + { text: "參與社羣", link: "zh_Hant/community/community" }, + { text: "行為準則", link: "zh_Hant/community/codeofconduct" }, + ], + 安裝: [ + { text: "取得 Ultramarine", link: "zh_Hant/installation/getting" }, + { text: "安裝過程", link: "zh_Hant/installation/installation" }, + // { + // text: "Installation with Readymade", + //link: "zh_Hant/installation/readymade", + //}, + { + text: "Raspberry Pi 安裝過程", + link: "zh_Hant/installation/rpi", + }, + { text: "安裝之後…", link: "zh_Hant/installation/postinstall" }, + { + text: "進階安裝後步驟", + link: "zh_Hant/installation/post-advanced", + }, + ], + 貢獻: [ + { text: "貢獻指南", link: "zh_Hant/contributing/contributorguide" }, + { text: "Development", link: "zh_Hant/contributing/hacking" }, + ], + 硬件: [ + { text: "System Requirements", link: "zh_Hant/hardware/requirements" }, + { text: "Ultramarine Anywhere", link: "zh_Hant/hardware/anywhere" }, + { text: "NVIDIA", link: "zh_Hant/hardware/nvidia" }, + { text: "Microsoft Surface", link: "zh_Hant/hardware/surface" }, + { + text: "Broadcom and Realtek Networking", + link: "zh_Hant/hardware/broadcom-realtek", + }, + { text: "BIOS Keys", link: "zh_Hant/hardware/bioskeys" }, + ], + "關於 Linux": [ + { text: "What is Linux?", link: "zh_Hant/linux/overview" }, + { text: "The File System", link: "zh_Hant/linux/filesystem" }, + { text: "Device Files", link: "zh_Hant/linux/devicefiles" }, + { text: "Permissions", link: "zh_Hant/linux/permissions" }, + { + text: "Software and Package Management", + link: "zh_Hant/linux/software", + }, + { text: "The Shell", link: "zh_Hant/linux/shell" }, + { text: "Security and Privacy", link: "zh_Hant/linux/securityprivacy" }, + ], + + Usage: [ + { text: "Gaming on Ultramarine", link: "zh_Hant/usage/gaming" }, + { text: "Localization", link: "zh_Hant/usage/l10n" }, + ], + + "Release Notes": [{ text: "Errata", link: "zh_Hant/release/errata" }], + + Development: [ + { + text: "Developing for Ultramarine", + link: "zh_Hant/development/developing-for-ultramarine", + }, + { text: "Using Andaman", link: "zh_Hant/development/anda" }, + { text: "UX Guidelines", link: "zh_Hant/development/ux-guide" }, + ], + }, }; diff --git a/src/content/docs/zh_Hant/anywhere/android.mdx b/src/content/docs/zh_Hant/anywhere/android.mdx new file mode 100644 index 00000000..a23190a6 --- /dev/null +++ b/src/content/docs/zh_Hant/anywhere/android.mdx @@ -0,0 +1,17 @@ +--- +title: "Android (Anywhere)" +description: "Android Devices in the Ultramarine Anywhere Initiative" +--- + +import Alert from "../../../../components/Docs/Alert.astro"; + + + This device type is still in the **Planning Phase**. All information on this + page is subject to change + + +Android Devices are very common, and (most of the time) extremely customiseable. We do not have a target release or full plan at this time, but we will support in the (hopefully) near future. + +## Implementation + +We intend to use Halium for porting as it provides better hardware support. diff --git a/src/content/docs/zh_Hant/anywhere/applesilicon.mdx b/src/content/docs/zh_Hant/anywhere/applesilicon.mdx new file mode 100644 index 00000000..027a299f --- /dev/null +++ b/src/content/docs/zh_Hant/anywhere/applesilicon.mdx @@ -0,0 +1,17 @@ +--- +title: "Apple Silicon Macs (Anywhere)" +description: "Apple Silicon in the Ultramarine Anywhere Initiative" +--- + +import Alert from "../../../../components/Docs/Alert.astro"; + + + This device type is still in the **Planning Phase**. All information on this + page is subject to change + + +We plan to use the Asahi script/patches from upstream. This will happen sometime in the near future. + +## Implementation + +- Potential GUI installer (Readymade from inside macOS) diff --git a/src/content/docs/zh_Hant/anywhere/chromebook.mdx b/src/content/docs/zh_Hant/anywhere/chromebook.mdx new file mode 100644 index 00000000..28ed1a96 --- /dev/null +++ b/src/content/docs/zh_Hant/anywhere/chromebook.mdx @@ -0,0 +1,132 @@ +--- +title: "Chromebook (Anywhere)" +description: "Chromebooks in the Ultramarine Anywhere Initiative" +--- + +import Alert from "../../../../components/Docs/Alert.astro"; + + + This device type is still in the **In Progress Phase**. All information on + this page is subject to change. Do not follow any instructions unless you know + what you're doing. + + +Chromebooks were an obvious target for Ultramarine Anywhere, despite being mostly +standard hardware, they have custom EC and strange firmware. + +Chromebook support in Ultramarine Linux is provided in partnership with the [Chrultrabook Project](https://chrultrabook.com). + +# x86 + +All x86 Chromebooks that use Depthcharge are supported by Ultramarine Chromebook Edition. + +## How it Works + +Ultramarine Chromebook Edition uses a special bootloader called [Submarine](https://developer.fyralabs.com/submarine) to load the kernel. + +Under the hood, Submarine is an incredibly minimal Linux OS based on [u-root](https://github.com/u-root/u-root), it's only really usable for debug and booting a full distribution. Once Submarine is loaded, we use [LinuxBoot](https://www.linuxboot.org/) to boot a full copy of Ultramarine (and hopefully more distros in the future). + +Now for the big question, how do we do this without modifying the firmware? We take advantage of the way Depthcharge (the ChromeOS firmware) works. We store Submarine in a 16MiB partition on disk, this is normally used by ChromeOS to store a full ChromeOS Kernel and initramfs. Depthcharge doesn't actually check if the contents of the partition are a valid kernel, it just checks for a GPT Header and runs whatever code is found in the partition, in our case, Submarine. + +By default, Depthcharge will only boot code with Google's signing keys, we get around this by enabling the built-in ChromeOS developer mode. + +To summarise, we boot a tiny Linux distribution (Submarine) and use it to launch Ultramarine's vmlinuz and initramfs using kexec. + +## Userland Changes + +Devices in Ultramarine Anywhere try to stick very closely to the standard Ultramarine userland, sometimes we have to deviate from this to make the experience better. + +### Audio Support + +We use WeirdTreeThing's [audio script](https://github.com/WeirdTreeThing/chromebook-linux-audio) to make audio work properly. + +### Default Partitions + +On Chromebooks, we use F2FS (in lieu of Btrfs) and disable swap to extend the life of the eMMC storage found in many Chromebooks. We also create one 16MiB partition containing [Submarine](https://developer.fyralabs.com/submarine) at the start of the disk instead of `/boot/EFI`. + +### Keyboard Mapping + +We use [keyd](https://github.com/rvaiya/keyd) to map keys on Chromebooks. + +## Feature Matrix + +| Feature | Functionality | Notes | +| ----------- | ------------- | ------------------------------------------------------------------------------------------------------------------------------------------------ | +| Booting | Working | With [Submarine](https://developer.fyralabs.com/submarine) or [UEFI](https://docs.chrultrabook.com/docs/firmware/) | +| WiFi | Working | | +| Ethernet | Working | | +| Bluetooth | Working | | +| Display | Working | | +| Graphics | Working | | +| Storage | Working | | +| USB | Working | | +| SD | Working | | +| Ports | Working | | +| Power | Working | | +| Touch | Working | | +| Pen | Partial | USI and Wacom Pens work, others may not | +| Audio | Partial | May require [additional setup](https://github.com/WeirdTreeThing/chromebook-linux-audio). Some Chromebooks may not work due to controller issues | +| Keyboard | Working | Some models may have issues on older kernels | +| Touchpad | Working | | +| Webcam | Working | | +| Lid Switch | Partial | Some models may have issues | +| Tablet Mode | Partial | Same reason as lid switch | + +## Unsupported Devices + +| Device | Reason | +| --------- | ----------------------------------------------------------------------------------------- | +| Mario | Firmware Limitations | +| Alex | Firmware Limitations | +| ZGB | Firmware Limitations | +| Stumpy | Boot Partition Size Limitation (This can be [Corebooted](https://docs.chrultrabook.com/)) | +| Lumpy | Boot Partition Size Limitation (This can be [Corebooted](https://docs.chrultrabook.com/)) | +| Parrot | Boot Partition Size Limitation (This can be [Corebooted](https://docs.chrultrabook.com/)) | +| Butterfly | Boot Partition Size Limitation (This can be [Corebooted](https://docs.chrultrabook.com/)) | +| Link | Boot Partition Size Limitation (This can be [Corebooted](https://docs.chrultrabook.com/)) | +| Stout | Boot Partition Size Limitation (This can be [Corebooted](https://docs.chrultrabook.com/)) | + +These are among the first few generations of Chromebooks, and either use an unsupported proprietary firmware, or have firmware limitations which prevents booting a partition large enough to fit submarine (newer Chromebooks have larger size limitations). + +## Installation + +Prebuilt images with userland tweaks will be available in the near future + +## Manual Installation - NOT RECOMMENDED + + + This method is **NOT RECOMMENDED**. Only do this if you know what you're doing + and need to test. We are not responsible for brickage, thermonuclear war, the + death of a pet, etc. + + +This guide assumes you have [Developer Mode](https://chromium.googlesource.com/chromiumos/docs/+/main/developer_mode.md#dev-mode) and [USB Booting Enabled](https://chromium.googlesource.com/chromiumos/docs/+/main/developer_guide.md#boot-from-your-usb-disk) + +1. Flash an [Ultramarine Raw Image](https://images.fyralabs.com/images/ultramarine/39/) to a USB Drive +2. Delete the first partition on the disk +3. Create a 16MB ext4 partition +4. Flash the submarine.kpart file to the partition +5. Set the partition flags with cgpt + +``` +cgpt add -i -t kernel -P 15 -T 1 -S 1 /dev/sdX +``` + +6. Boot the image on the Chromebook + +You're now inside a minimal Ultramarine system, from here you can install a desktop (also `NetworkManager-wifi`) and use Ultramarine from the external disk. If you'd like to install, you'll need to install and configure Anaconda. [Our Kickstarts can be found on Github.](https://github.com/Ultramarine-Linux/build-scripts/tree/main/kickstarts) + +7. On the internal disk, create a 16MiB ext4 partition BEFORE the standard partitions +8. Install Ultramarine normally +9. After the installation is complete, flash the submarine.kpart file to the 16MiB partition you created +10. Set the partition flags with cgpt + +``` +cgpt add -i -t kernel -P 15 -T 1 -S 1 /dev/sdX +``` + +11. Done! + +## ARM + +ARM Chromebooks are in heavy development. If you'd like to help test, check out the [ARM Beta Program](/en/chromebook/armbeta). diff --git a/src/content/docs/zh_Hant/anywhere/enterprise.mdx b/src/content/docs/zh_Hant/anywhere/enterprise.mdx new file mode 100644 index 00000000..b60369e4 --- /dev/null +++ b/src/content/docs/zh_Hant/anywhere/enterprise.mdx @@ -0,0 +1,25 @@ +--- +title: "Data Centre, Enterprise, and HPC (Anywhere)" +description: "Data Centre, Enterprise, and HPC in the Ultramarine Anywhere Initiative" +--- + +import Alert from "../../../../components/Docs/Alert.astro"; + + + This device type is still in the **Planning Phase**. All information on this + page is subject to change. + + +We plan on making server images, GUI and CLI. These images will be built for constant runtime, and include/exclude fitting packages for server usecases. If you'd like to suggest a platform, drop us a line in [our chats](/en/community/community). + +## Implementation + +- Refined OOTB cockpit excperience +- CLI only option +- Advanced installer features +- Advanced networking options +- Package suite more attuned to a server usecase +- Default filesystem changed to ZFS +- Potential improved RAID and non-RAID architecture implementation... +- Cluster support +- A whole lot more... diff --git a/src/content/docs/zh_Hant/anywhere/ott.mdx b/src/content/docs/zh_Hant/anywhere/ott.mdx new file mode 100644 index 00000000..0f10673b --- /dev/null +++ b/src/content/docs/zh_Hant/anywhere/ott.mdx @@ -0,0 +1,15 @@ +--- +title: "Smart TV Devices" +description: "Smart TV Devices in the Ultramarine Anywhere Initiative" +--- + +import Alert from "../../../../components/Docs/Alert.astro"; + + + This device type is still in the **Wishlist Phase**. All information on this + page is subject to change. + + +Smart TV boxes often run Android, which means we can use Halium to port Ultramarine to the unlockable ones. + +This may be limited to FireOS devices as many of them are vulnerable to [mtk-su](https://xdaforums.com/t/amazing-temp-root-for-mediatek-armv8-2020-08-24.3922213/). If you are knowledgable about Smart TV modding/running alternative operating systems, please reach out [here](/en/community/community). diff --git a/src/content/docs/zh_Hant/anywhere/riscv.mdx b/src/content/docs/zh_Hant/anywhere/riscv.mdx new file mode 100644 index 00000000..370a12ad --- /dev/null +++ b/src/content/docs/zh_Hant/anywhere/riscv.mdx @@ -0,0 +1,13 @@ +--- +title: "RISC-V (Anywhere)" +description: "RISC-V Devices in the Ultramarine Anywhere Initiative" +--- + +import Alert from "../../../../components/Docs/Alert.astro"; + + + This device type is still in the **Wishlist Phase**. All information on this + page is subject to change. + + +We plan to port to RISC-V architecture as soon as we can get the hardware. If you are a hardware vendor producing RISC-V devices or have a spare RISC-V device, please [reach out](mailto:contact@fyralabs.com) if you'd like to support the Ultramarine RISC-V port. diff --git a/src/content/docs/zh_Hant/anywhere/rpi.mdx b/src/content/docs/zh_Hant/anywhere/rpi.mdx new file mode 100644 index 00000000..acfd1a18 --- /dev/null +++ b/src/content/docs/zh_Hant/anywhere/rpi.mdx @@ -0,0 +1,70 @@ +--- +title: "Raspberry Pi (Anywhere)" +description: "Raspberry Pi in the Ultramarine Anywhere Initiative" +--- + +import Alert from "../../../../components/Docs/Alert.astro"; + +Raspberry Pi is a very popular series of SBCs. They are cheap, easy to get, run Linux well, and have a large ecosystem of expansion cards (Hats and Bonnets) and accessories. + +Fedora has upstream support for the Pi 4, 400, and 3. Ultramarine Anywhere intends to extend support to the Zero 2 and 5. + +## Raspberry Pi 5 + + + This device type is still in the **Planning Phase**. All information on this + page is subject to change. + + +The Raspberry Pi 5 is not currently supported in Fedora. We intend to package the official Raspberry Pi kernel (which should also provide a better experience on the other Pi models.) + +## Raspberry Pi 4 and 400 + +The Raspberry Pi 4 and 400 have had support in Ultramarine Linux since UM39, and desktop images since UM40. We use the Fedora kernels and boot proccess. + +### Notes + +- RPi4B has a 1GB and 2GB model, we suggest against running a desktop environment on these (Xfce may be alright.) +- RPi400 does not have support for WiFi in Ultramarine, this is an upstream issue. +- The Pi 4 series has native USB boot support. Your experience may be better with a fast USB Drive or SSD connected through an adapter. See [this article](https://www.raspberrypi.com/documentation/computers/raspberry-pi.html#usb-mass-storage-boot) for more info. +- If using a microSD card, we reccomend using a Class 10 microSD card, your experience will be signifcantly better than lower classes. +- If using a USB drive, ensure it's USB 3.0 or newer, 2.0 will be a signifcantly worse experience than a microSD. +- Your storage device will need to be larger than 9GB (the image is 8.59GB) We suggest 16GB so you have space for software. + +### Installing + +1. Grab any aarch64 [Raw Image](TBD) from our downloads page. +2. Flash it to your microSD card or drive with [balenaEtcher](https://etcher.io) or [Raspberry Pi Imager](https://flathub.org/apps/org.raspberrypi.rpi-imager) +3. Expand the root partition to fill the entire storage device. We reccomend using Gparted, get it from your edition's app store. +4. Insert the storage device into your Pi and boot up! The default login is ultramarine (password is the same.) Please change your password once logged in. + +## Raspberry Pi 3 + +The Raspberry Pi 3 has had support in Ultramarine Linux since UM39, and desktop images since UM40. We use the Fedora kernels and boot proccess. + +### Notes + +- RPi3B has only 1GB of RAM, and the 3A only has 512MB, we suggest against running a desktop environment (Xfce may be alright.) +- Your microSD card will need to be larger than 9GB (the image is 8.59GB) We suggest 16GB so you have space for software. +- We reccomend using a Class 10 microSD card, your experience will be signifcantly better than lower classes. + +### Installing + +1. Grab any aarch64 [Raw Image](TBD) from our downloads page. +2. Flash it to your microSD card with [balenaEtcher](https://etcher.io) or [Raspberry Pi Imager](https://flathub.org/apps/org.raspberrypi.rpi-imager) +3. Expand the root partition to fill the entire microSD. We reccomend using Gparted, get it from your edition's app store. +4. Insert the microSD card into your Pi and boot up! The default login is ultramarine (password is the same.) Please change your password once logged in. + +## Raspberry Pi Zero 2 + + + This device type is still in the **Planning Phase**. All information on this + page is subject to change. + + +## Raspberry Pi 1, 2, and Zero + + + These devices are **Not Supported** due to 32bit CPUs. We include them in this + page to avoid questions. + diff --git a/src/content/docs/zh_Hant/anywhere/steamdeck.mdx b/src/content/docs/zh_Hant/anywhere/steamdeck.mdx new file mode 100644 index 00000000..69592f22 --- /dev/null +++ b/src/content/docs/zh_Hant/anywhere/steamdeck.mdx @@ -0,0 +1,13 @@ +--- +title: "Valve Steam Deck (Anywhere)" +description: "Steam Deck in the Ultramarine Anywhere Initiative" +--- + +import Alert from "../../../../components/Docs/Alert.astro"; + + + This device type is still in the **Wishlist Phase**. All information on this + page is subject to change. + + +We plan to make Steam Deck images, as well as other handhelds and HTPCs. Work will begin once we have the hardware needed. Maybe a custom UI is in order... diff --git a/src/content/docs/zh_Hant/anywhere/thin.mdx b/src/content/docs/zh_Hant/anywhere/thin.mdx new file mode 100644 index 00000000..fc29ef3a --- /dev/null +++ b/src/content/docs/zh_Hant/anywhere/thin.mdx @@ -0,0 +1,21 @@ +--- +title: "Thin Clients (Anywhere)" +description: " Ultramarine Anywhere Initiative" +--- + +import Alert from "../../../../components/Docs/Alert.astro"; + + + This device type is still in the **Wishlist Phase**. All information on this + page is subject to change. + + +Thin client images would be fun, and frankly pretty easy. + +## Implementation + +Very minimal environment with only required packages. OOTB connection protocols (ICA, RDP/VNC, SNMP...) and easy to use installer with connection options built in. + +Minimal login screen with an option for branding, might include device managment software. + +Tools and encouragment for enthusiasts. diff --git a/src/content/docs/zh_Hant/anywhere/xr.mdx b/src/content/docs/zh_Hant/anywhere/xr.mdx new file mode 100644 index 00000000..98f685a4 --- /dev/null +++ b/src/content/docs/zh_Hant/anywhere/xr.mdx @@ -0,0 +1,13 @@ +--- +title: "XR and Spatial Computing" +description: "XR and Spatial Computing in the Ultramarine Anywhere Initiative" +--- + +import Alert from "../../../../components/Docs/Alert.astro"; + + + This device type is still in the **Planning Phase**. All information on this + page is subject to change. + + +Would use [StardustXR](https://stardustxr.org/). Our packaging effort can be found [here.](https://github.com/Ultramarine-Linux/stardustxr) diff --git a/src/content/docs/zh_Hant/chromebook/armbeta.mdx b/src/content/docs/zh_Hant/chromebook/armbeta.mdx new file mode 100644 index 00000000..7db29178 --- /dev/null +++ b/src/content/docs/zh_Hant/chromebook/armbeta.mdx @@ -0,0 +1,75 @@ +--- +title: ARM Chromebook Beta Program +description: "Closed program for running our beta images for certain ARM chromebooks" +--- + +import Alert from "../../../../components/Docs/Alert.astro"; + +NOTE - Not all ARM devices are currently supported. This is a Beta program, proceed at your own risk. + +Welcome to the ARM Chromebook Beta Program! We are looking for technically-versed people to test our Ultramarine Chromebook beta images for ARM. + +This is a closed program, please contact Owen Zimmerman at owen@fyralabs.com, or join and ping @Owen in the [discord](https://discord.com/invite/5fdPuxTg5Q) to apply. + +Currently supported ARM Chromebook beta devices (if you have an unsupported device and are willing to use it for image testing, let us know!): + +All Kukui family Chromebooks: + +| Model name/number | Codename | +| ------------------------------------------ | -------- | +| Acer Chromebook 311 (C722/C722T) | willow | +| Acer Chromebook 311 (CB311-11H/CB311-11HT) | kenzo | +| Acer Chromebook 314 (CB314-2H/CB314-2HT) | cozmo | +| Acer Chromebook Spin 311 (CP311-3H) | juniper | +| Acer Chromebook Spin 311 (R722T) | pico | +| Asus Chromebook CZ1 | cerise | +| Asus Chromebook Detachable CM3 (CM3000) | kakadu | +| Asus Chromebook Detachable CZ1 | katsu | +| Asus Chromebook Flip CM3 (CM3200, MT8183) | damu | +| Asus Chromebook Flip CZ1 | stern | +| HP Chromebook 11a | kappa | +| HP Chromebook 11MK G9 EE | esche | +| HP Chromebook x360 11MK G3 EE | burnet | +| Lenovo 100e Chromebook 2nd Gen MTK 2 | makomo | +| Lenovo 10e Chromebook Tablet | kodama | +| Lenovo IdeaPad 3 Chromebook (MT8183) | fennel14 | +| Lenovo IdeaPad Duet Chromebook | krane | +| Lenovo IdeaPad Flex 3 Chromebook (MT8183) | fennel | + +Source: https://wiki.postmarketos.org/wiki/Google_Kukui_Chromebook_(google-kukui) + +All Oak family Chromebooks: + +| Model name/number | Codename | +| -------------------------------------------- | -------- | +| Acer Chromebook R13 | elm | +| Asus Chromebook C202X | hana | +| Lenovo 100e Chromebook 2nd Gen (MTK) | hana | +| Lenovo 300e Chromebook | hana | +| Lenovo 300e Chromebook 2nd Gen (MTK) | hana | +| Lenovo Chromebook C330 | hana | +| Lenovo Chromebook S330 | hana | +| Lenovo Flex 11 Chromebook | hana | +| Lenovo IdeaPad Flex 3 Chromebook (CB-11M735) | hana | +| Lenovo N23 Yoga Chromebook | hana | +| Poin2 Chromebook 11C | hana | +| Poin2 Chromebook 14 | hana | + +Source: https://wiki.postmarketos.org/wiki/Google_Oak_Chromebook_(google-oak) + +All Asurada family Chromebooks: + +| Model name/number | Codename | +| ------------------------------------------ | -------- | +| Acer Chromebook 514 (CB514-2H / CB514-2HT) | spherion | +| ASUS Chromebook Flip CM3 (CM3200, MT8192) | hayato | + +Source: https://wiki.postmarketos.org/wiki/Google_Asurada_Chromebook_(google-asurada) + +Follow-up instructions and guide will be provided after acceptance. + +Contact [Owen Zimmerman](mailto:owen@fyralabs.com) for additional information + +#### [Next Up: Terminology →](terminology) + +#### [← Back To: Post-Install](postinstall) diff --git a/src/content/docs/zh_Hant/chromebook/chromebook.mdx b/src/content/docs/zh_Hant/chromebook/chromebook.mdx new file mode 100644 index 00000000..a9c544e9 --- /dev/null +++ b/src/content/docs/zh_Hant/chromebook/chromebook.mdx @@ -0,0 +1,16 @@ +--- +title: Getting Started with Chromebook Edition +description: "Introduction to Chromebook Edition" +--- + +import Alert from "../../../../components/Docs/Alert.astro"; + +### Welcome to Ultramarine Chromebook Edition! + +With the help from out friends over at the [Chrultrabook Project](https://docs.chrultrabook.com/), we built a no-hassle way to boot full Ultramarine Linux onto your Chromebook! + +These pages will get you everything you need to know about what Ultramarine Chromebook is, how it works, how you can install it, and even how you can help us out. + +If you would like more info about Ultramarine Chromebook and it's release, take a peak at the [Release post](link) + +#### [Next Up: Getting Chromebook Edition →](getting) diff --git a/src/content/docs/zh_Hant/chromebook/getting.mdx b/src/content/docs/zh_Hant/chromebook/getting.mdx new file mode 100644 index 00000000..5529745e --- /dev/null +++ b/src/content/docs/zh_Hant/chromebook/getting.mdx @@ -0,0 +1,81 @@ +--- +title: Getting Chromebook Edition +description: "Getting started with installing Ultramarine Chromebook Edition" +--- + +import Alert from "../../../../components/Docs/Alert.astro"; + +## Minimum System Requirements + +1GB RAM, 8GB storage, 16MB boot partition (essentially any 2017 or newer ChromeOS device). List of ChromeOS device boot partition sizes can be found [here](https://raw.githubusercontent.com/alpernebbi/depthcharge-tools/master/depthcharge_tools/boards.ini) + +## Choosing Your Edition + +Ultramarine Chromebook comes in 4 variants: + +- **Flagship Edition**: Our default and most popular variant. Choose Flagship if you'd like a familiar and stylish experience. +- **KDE Edition**: Our second most popular variant. Choose KDE if you'd like a simply customisable experience. +- **GNOME Edition**: Elegant and Modern. Choose GNOME if you'd like a simple, unique experience. +- **Pantheon Edition**: Thoughtful and graceful. Choose Pantheon if you'd like a refined experience. + +Ultramarine Linux is distributed with image files available for download from [our website](https://ultramarine-linux.org/download/chromebook). + + + Fyra Labs cannot guarantee the safety or quality of images downloaded from + sites other than our website or FOSSTorrents + + +## Verifying the Safety of an Ultramarine ISO (Recommended) + +Ultramarine ISO images have a matching `CHECKSUM` file that can be checked against the image itself. + +They can be downloaded by clicking the `View Checksum` button on the [download page](https://ultramarine-linux.org/download/chromebook). + +### Verifying the Checksum on Linux and macOS + +You can use the following commands to check the integrity of the images: + +```bash +sha256sum -b /path/to/ultramarine.img # Generate the checksum for the image +cat /path/to/CHECKSUM # Check the checksum + +# Now you can compare the checksum +``` + +### Verifying the Checksum on ChromeOS + +You can use the [ChromeOS Linux Container](https://chromeos.dev/en/linux) to verify the image on ChromeOS + +```bash +sha256sum -b /path/to/ultramarine.img # Generate the checksum for the image +cat /path/to/CHECKSUM # Check the checksum + +# Now you can compare the checksum +``` + +### Verifying the Checksum on Windows + +In Powershell, run this command: + +```powershell +CertUtil -hashfile PATH\TO\ULTRAMARINE.ISO SHA256 +# Open the CHECKSUM file with Notepad and compare the checksum +``` + +## Creating the Installer + +### Download [balenaEtcher](https://www.balena.io/etcher/) to create a bootable media from the img image. + +![](/assets/balenaetcher.png) + +Simply select the img file, a device to use for the installer, and click flash. + +#### [Next Up: Installing to a Chromebook →](preparing) + +#### [← Back To: Getting Started](chromebook) + +## Footnotes + +- The Anaconda installer is very complex and hard to work with, we are working on a new installer that is easier to use and more reliable. +- Since Fedora 37, Fedora's official support for the Pantheon desktop environment has been dropped due to compatibility issues and the Pantheon port is now maintained by the Ultramarine Linux team. This means that the Pantheon desktop environment is only available through Ultramarine Linux, or Fedora with Terra enabled. +- Ultramarine's Budgie edition provides a close to stock Budgie experience, with a custom theme. Unlike Fedora's Budgie Spin, which provides a completely custom layout and experience. diff --git a/src/content/docs/zh_Hant/chromebook/postinstall.mdx b/src/content/docs/zh_Hant/chromebook/postinstall.mdx new file mode 100644 index 00000000..0f043330 --- /dev/null +++ b/src/content/docs/zh_Hant/chromebook/postinstall.mdx @@ -0,0 +1,10 @@ +--- +title: Post-Installation +description: "Things to do after installing Ultramarine Chromebook Edition" +--- + +import Alert from "../../../../components/Docs/Alert.astro"; + +#### [Next Up: ARM Chromebooks (Beta) →](armbeta) + +#### [← Back To: Installing to a Chromebook](preparing) diff --git a/src/content/docs/zh_Hant/chromebook/preparing.mdx b/src/content/docs/zh_Hant/chromebook/preparing.mdx new file mode 100644 index 00000000..56f27d94 --- /dev/null +++ b/src/content/docs/zh_Hant/chromebook/preparing.mdx @@ -0,0 +1,70 @@ +--- +title: Installing to a Chromebook +description: "Steps to be done on the Chromebook" +--- + +import Alert from "../../../../components/Docs/Alert.astro"; + +Before we insert the installer, we will need to do a few things with your ChromeOS device. + +### 1. Back up your data (optional) + +Step 2 will wipe all local data from your device, If you have any files you wish to save or move to Ultramarine Chromebook, back up your data off the device, either to the cloud or locally. For a small number of files, we recommend backing up to Google Drive, or another cloud storage provider. For a larger number of files, we recommend backing up to an external storage medium, such as a USB flash drive or other external drive. + +If you choose to back up with Google Drive, you will be prompted to add your Google Drive to the Ultramarine Chromebook file explorer during setup to easily access and redownload your data. + +### 2. Enable developer mode + +Enabling developer mode will wipe your data + +#### Developer mode on Chromebooks (ChromeOS laptops only): + +1. Shut down the device, then hold Esc + + ⏻ [power] to enter Recovery mode. +2. When you see a screen that says 'ChromeOS is missing or damaged,' press Ctrl+D. +3. You may be prompted with 'To turn OS verification off, press enter,' press Enter. +4. A screen saying 'OS verification is off, press space to re-enable' should appear, press Ctrl+D. + Your system is now transitioning into Developer Mode! (This may take a few minutes) +5. After it has transitioned, press Control+D to boot back into ChromeOS as a developer. You are now ready for step 3 + +#### Developer Mode on Chromeboxes and Chromebases (ChromeOS Desktops and All-in-ones): + + + Not all monitors will work with the Chromebox OS Verification screens. This + typically happens if the monitor has a resolution greater then 1080p. If your + Chromebox appeared to boot (lights on) but does not output anything, you can + attempt to continue without a display. + + +1. Shut down the device, then insert a paper clip (SIM ejector tool works great too!) into the RECOVERY BUTTON (small hole usually near the I/O, see your hardware documentation for exact location) and reboot. You will then be greeted with the "OS Verification is turned off" screen. +2. Plug in a keyboard and press Ctrl+D. You may be prompted with 'To turn OS verification off, press RECOVERY BUTTON,' press RECOVERY BUTTON. +3. A screen saying 'OS verification is off, press space to re-enable' should appear, press Ctrl+D. + Your system is now transitioning into Developer Mode! (This may take a few minutes). +4. After it has transitioned, press Control+D to boot back into ChromeOS as a developer. You are now ready for step 3. + +#### Developer Mode on ChromeOS Tablets: + +1. Shut down the device, then press and hold Power+Volume-Up+Volume-Down for 3-5 seconds, then release to invoke recovery mode. This is a bit finicky, and may take a few tries, but the screen will turn white and display a screen saying "Please insert a recovery USB stick." soon after button release. +2. To boot to Developer mode, simultaneously press Volume-Up+Volume-Down, or navigate to 'Developer Options' with the volume buttons, and select it with the power button. then select 'Boot From Internal Disk using the volume buttons and power button.' + Your system is now transitioning into Developer Mode! (This may take a few minutes). +3. After it has transitioned, again navigate to 'Developer Options,' then 'Boot From Internal Disk.' Plug in a keyboard, and you are now ready for step 3. + +If you have any problems with these steps, refer to [this guide](https://chromium.googlesource.com/chromiumos/docs/+/main/debug_buttons.md#Firmware-Keyboard-Interface) or request support in our [discord](https://discord.com/invite/5fdPuxTg5Q). + +### 3. Enable USB booting + +1. In Developer mode ChromeOS, press Ctrl+Alt+F2 [right arrow key]. +2. Type in 'Chronos' for the login (there is no password). +3. Enter this command: + +``` +enable_dev_usb_boot +``` + +4. You should have an output saying 'SUCCESS: Booting and self-assigned kernel from SSD/USB/SDCard slot in enabled.' Plug in your Ultramarine Chromebook installer and restart the device. If needed, press Ctrl+alt+F1 [Left arrow key] to leave the terminal. +5. The device will boot to the recovery screen. Upon reaching it, press ctrl+U> to boot from USB/SD. + +### 4. Boot from USB/SD + +#### [Next Up: Post-Install →](postinstall) + +#### [← Back To: Getting Chromebook Edition](getting) diff --git a/src/content/docs/zh_Hant/chromebook/terminology.mdx b/src/content/docs/zh_Hant/chromebook/terminology.mdx new file mode 100644 index 00000000..4a6fd3dd --- /dev/null +++ b/src/content/docs/zh_Hant/chromebook/terminology.mdx @@ -0,0 +1,116 @@ +--- +title: Chromebook Terminology +description: "Get to Know Chromebook Terms" +--- + +The Chromebook Community, (and Google themselves) have made terminology for many of the practices and quirks of Chrome hardware. + +### Chromium OS + +Where the magic happens. Just like Chrome proper, Chrome OS is a derivative of the open source Chromium OS. + +### Chrome OS + +The consumer variant of Chromium OS found on all Chrome devices. + +### Write Protect (WP) + +Usually refers to Firmware Write Protect (FW_WP), a feature of Chromebooks that marks a region of the ROM that holds firmware as read-only. It is possible (and rather easy) to remove the protection on most Chromebooks. [1] + +#### Cr50/Battery WP + +One of the methods for implementing write protect, WP is enabled when a battery is connected, and disabled when the battery is removed. [1] + +#### WP Switch + +This is just a toggle, not much to explain here. [1] + +#### WP Screw + +The primary implementation of write protect on older devices, a screw shorts a connection, WP can be disabled by removing the short. Most of the time the screw is removed, but you could in theory place Kapton tape over the pad. [1] + +### Closed Case Debugging (CCD) + +Allows people with cr50 to disable WP without opening the device. This requires a special cable called suzyQ. [1] [2] + +### Verified Boot + +Tamper protection, it's signing essentially. [3] + +### Developer Mode + +Loosens verified boot and gives you the ability to enable USB/SD boot and elevate to root. + +### ChromeEC + +EC Refers to a lot of things, and it's honestly better to read the [official docs](https://chromium.googlesource.com/chromiumos/platform/ec/+/HEAD/README.md#Terminology) on this one. + +### Depthcharge + +Depthcharge is the stock firmware on your Chromebook. Unless you somehow have an original Chromebook + +#### Depthcharge Manipulation + +A method to run Linux on Chromebooks without modifying the stock firmware by tricking said firmware (Depthcharge) into booting a Linux kernel. This is what we are using. + +### altFW/Custom Firmware [5] + +altFW is the Chrultrabook Project's name for custom firmware. + +#### Coreboot/Full ROM + +Coreboot replaces the original firmware on your Chromebook with full UEFI. + +#### RW_Legacy + +RW_Legacy allows you to use the included BIOS on your Chromebook. + +#### Firmware Utility Script/MrChromebox's Script + +A popular tool used to manage and install custom firmware + +### Auto Update Expiration + +When Google stops providing updates for a Chromebook. Usually 10 years after the release. You can see a list of [AUE Dates here](https://support.google.com/chrome/a/answer/6220366?hl=en). + +### Codename + +Refers to a specific Chromebook, this may be the same as the board name (For example: Caroline and Chell are also the board name for their respective models) + +### Board Name + +Refers to the motherboard, these may be shared across Chromebooks (For example: Hana (board) is used on hana, maple, sycamore, and telesu) + +### Baseboard + +Exactly what it sounds like, a board that acts as the base for others (For example: Caroline, Chell, and Cave are all based on Glados, see the reference) + +### Chrultrabook + +Our partners in crime. Chrultrabook builds drivers and other tools for Chrome hardware. The name is a portmanteau from "*Chr*omebook to *Ultra*book" + +### Chromebook Plus + +Google's branding for Chromebooks at what would be the entry level for standard laptops [4] + +### Premium Chromebook + +Kinda official term to refer to higher spec Chromebooks. The Pixelbooks, Framework, and some of the nicer HPs fall into this category + +### Gaming Chromebook + +No real definition besides an RGB keyboard, specs and price are all over the place + +#### [← Back To: ARM Chromebooks (Beta)](armbeta) + +### Footnotes + +[1: Firmware Overview and Porting Guide > Firmware / EC Write Protection](https://www.chromium.org/chromium-os/firmware-porting-guide/firmware-ec-write-protection/) + +[2: CrOS EC > Google Security Chip (GSC) Case Closed Debugging (CCD)](https://chromium.googlesource.com/chromiumos/platform/ec/+/cr50_stab/docs/case_closed_debugging_gsc.md) + +[3: Design Documents > Verified Boot](https://www.chromium.org/chromium-os/chromiumos-design-docs/verified-boot/) + +[4: Chromebook Plus: more performance and AI capabilities](https://blog.google/products/chromebooks/chromebook-plus/) + +[5: Chrultrabook Docs > Firmware > Types of Firmware](https://docs.chrultrabook.com/docs/firmware/about.html) diff --git a/src/content/docs/zh_Hant/community/codeofconduct.mdx b/src/content/docs/zh_Hant/community/codeofconduct.mdx new file mode 100644 index 00000000..1f89fbc2 --- /dev/null +++ b/src/content/docs/zh_Hant/community/codeofconduct.mdx @@ -0,0 +1,117 @@ +--- +title: Code of Conduct +description: "Rules for interacting in the Ultramarine Community" +--- + +import Alert from "../../../../components/Docs/Alert.astro"; + +## Summary + +Community members are expected to treat each other with the utmost respect, regardless of sexuality, gender, race, creed, nationality, or caste. + +Essentially, if you wouldn't say or do it to someone close to you, don't say or do it here. + +If you don't follow the rules, Fyra Labs reserves the right to ban you (temporarily or permanently) from participating in the project or community. + +If you need to report an incident, contact [**Cappy Ishihara.**](mailto:cappy@fyralabs.com) + +## 0. Employee Conduct + +Employees of Fyra Labs are held to a higher standard than outlined by this document. Employees should review the policy in their onboarding packet, or internal Outline instance for more details. + +## 1. Purpose + +A major goal of Fyra Labs is to be inclusive to the largest number of contributors, with the most varied and diverse backgrounds possible. As such, we are committed to providing a friendly, safe and welcoming environment for all, regardless of gender, sexual orientation, ability, ethnicity, socioeconomic status, and religion (or lack thereof). + +This code of conduct outlines our expectations for all those who participate in our community, as well as the consequences for unacceptable behavior. + +We invite all those who participate in this community to help us create safe and positive experiences for everyone. + +## 2. Open [Source/Culture/Tech] Citizenship + +A supplemental goal of this Code of Conduct is to increase open [source/culture/tech] citizenship by encouraging participants to recognize and strengthen the relationships between our actions and their effects on our community. + +Communities mirror the societies in which they exist and positive action is essential to counteract the many forms of inequality and abuses of power that exist in society. + +If you see someone who is making an extra effort to ensure our community is welcoming, friendly, and encourages all participants to contribute to the fullest extent, we want to know. + +## 3. Expected Behavior + +The following behaviors are expected and requested of all community members: + +- Participate in an authentic and active way. In doing so, you contribute to the health and longevity of this community. +- Exercise consideration and respect in your speech and actions. +- Attempt collaboration before conflict. +- Refrain from demeaning, discriminatory, or harassing behavior and speech. +- Be mindful of your surroundings and of your fellow participants. Alert community leaders if you notice a dangerous situation, someone in distress, or violations of this Code of Conduct, even if they seem inconsequential. +- Remember that community event venues may be shared with members of the public; please be respectful to all patrons of these locations. + +## 4. Unacceptable Behavior + +The following behaviors are considered harassment and are unacceptable within our community: + +- Violence, threats of violence or violent language directed against another person. +- Sexist, racist, homophobic, transphobic, ableist or otherwise discriminatory jokes and language. +- Posting or displaying sexually explicit or violent material. +- Posting or threatening to post other people's personally identifying information ("doxing"). +- Personal insults, particularly those related to gender, sexual orientation, race, religion, or disability. +- Inappropriate photography or recording. +- Inappropriate physical contact. You should have someone's consent before touching them. +- Unwelcome sexual attention. This includes, sexualized comments or jokes; inappropriate touching, groping, and unwelcomed sexual advances. +- Deliberate intimidation, stalking or following (online or in person). +- Advocating for, or encouraging, any of the above behavior. +- Sustained disruption of community events, including talks and presentations. + +## 5. Weapons Policy + +No weapons will be allowed at Fyra Labs events, community spaces, or in other spaces covered by the scope of this Code of Conduct. Weapons include but are not limited to guns, explosives (including fireworks), and large knives such as those used for hunting or display, as well as any other item used for the purpose of causing injury or harm to others. Anyone seen in possession of one of these items will be asked to leave immediately, and will only be allowed to return without the weapon. Community members are further expected to comply with all state and local laws on this matter. + +## 6. Consequences of Unacceptable Behavior + +Unacceptable behavior from any community member, including sponsors and those with decision-making authority, will not be tolerated. + +Anyone asked to stop unacceptable behavior is expected to comply immediately. + +If a community member engages in unacceptable behavior, the community organizers may take any action they deem appropriate, up to and including a temporary ban or permanent expulsion from the community without warning (and without refund in the case of a paid event). + +## 7. Reporting Guidelines + +If you are subject to or witness unacceptable behavior from employees of Fyra Labs, or have any other concerns, please use the [External Human Resources Form](https://airtable.com/shrCMi4X3Xp3ITMJz) + +If you are subject to or witness unacceptable behavior from other members of this community, or have any other concerns, you should email [Fyra Labs Contact](mailto:contact@fyralabs.com). + +Additionally, community organizers are available to help community members engage with local law enforcement or to otherwise help those experiencing unacceptable behavior feel safe. In the context of in-person events, organizers will also provide escorts as desired by the person experiencing distress. + +## 8. Addressing Grievances + +If you feel you have been falsely or unfairly accused of violating this Code of Conduct, you should contact us with a concise description of your grievance, contact information can be found below. Your grievance will be decided at the sole discretion of Fyra Labs. + +## 9. Scope + +We expect all community participants who are not employed by or independent contractors of Fyra Labs to abide by this Code of Conduct in all community venues--online and in-person--as well as in all one-on-one communications pertaining to community business. + +This code of conduct and its related procedures also applies to unacceptable behavior occurring outside the scope of community activities when such behavior has the potential to adversely affect the safety and well-being of community members. + +## 10. Contact info + +[**Cappy Ishihara, Product Lead**](mailto:cappy@fyralabs.com) + +Cappy is your first point of contact if an incident is not handled as it happens. + +[**Owen Zimmerman, Ultramarine Chromebook Project Manager**](mailto:owen@fyralabs.com) + +Contact Owen if the grievance occurred in a pre-release space. + +[**Jaiden Riordan, COO**](mailto:jade@fyralabs.com) + +If your grievance requires additional attention, or you wish to appeal an earlier decision, please contact Jaiden. + +[**Legal Email**](mailto:legal@fyralabs.com) + +Legal concerns and documents should be sent to this address, we will not accept legal documents in any way except to this address or by US Mail. + +## 11. License and attribution + +The Code of Conduct for Fyra Labs Projects is derived from the Citizen Code of Conduct distributed by [Stumptown Syndicate](http://stumptownsyndicate.org) under a [Creative Commons Attribution-ShareAlike license](http://creativecommons.org/licenses/by-sa/3.0/). + +Portions of text derived from the [Django Code of Conduct](https://www.djangoproject.com/conduct/) and the [Geek Feminism Anti-Harassment Policy](http://geekfeminism.wikia.com/wiki/Conference_anti-harassment/Policy). diff --git a/src/content/docs/zh_Hant/community/community.mdx b/src/content/docs/zh_Hant/community/community.mdx new file mode 100644 index 00000000..e19df5ad --- /dev/null +++ b/src/content/docs/zh_Hant/community/community.mdx @@ -0,0 +1,50 @@ +--- +title: Join the Community! +description: "Community Information" +--- +import Alert from "../../../../components/Docs/Alert.astro"; + +Ultramarine Linux has an active community of users, tinkerers, developers, and everyone in between. + +Our community (like our code) is open to everyone. Here's some of the official spaces: + +### Discord + + +
+**Guild Migration** + +We are currently in the process of migrating users from the Ultramarine Linux Discord to the Fyra Labs Discord. Please use the Fyra Discord. + +
+
+ +The Fyra Labs Discord is for all of our projects. We have lively discussions and build great things together. You can get support as a user and as a contributor here. + +[Join the Fyra Labs Chat →](https://discord.gg/5fdPuxTg5Q) + +### Matrix + +Fyra Labs is on Matrix! You can access the best of the community inside Matrix! + +All of our development channels are bridged, so you can also start here if you'd like to contribute code. + +[Join the Fyra Labs Space →](https://matrix.to/#/#hub:fyralabs.com) + +### Reddit + +The Ultramarine Subreddit is a more asynchronous way to interact with the community. It offers the same great things in a more reddit-y way. + +[Join the Ultramarine Reddit →](https://reddit.com/r/ultramarine) + +### Socials + +Ultramarine Linux is on Twitter and the Fediverse. These accounts will include important updates about features, bugs, and downtime. + +[Follow Ultramarine on the Fediverse →](https://fedi.fyralabs.com/@ultramarine) + +[Follow Ultramarine on Twitter →](https://twitter.com/UltramarineProj) + +## Our Philosophy + +We believe that the Fyra Community is larger than just Fyra (the organization). Part of this is interacting with the rest of our community. We feel that this allows us to better judge the desires and needs of our users (and we love talking to all of you.) diff --git a/src/content/docs/zh_Hant/contributing/contributorguide.mdx b/src/content/docs/zh_Hant/contributing/contributorguide.mdx new file mode 100644 index 00000000..5717004c --- /dev/null +++ b/src/content/docs/zh_Hant/contributing/contributorguide.mdx @@ -0,0 +1,94 @@ +--- +title: 貢獻指南 +description: "Getting started with contributing to Ultramarine Linux" +--- + +Ultramarine is built with our community. From polls and community engagement to community-built software, we involve our community in everything we do. + +## Code + +Ultramarine Linux is open source. Because of this, anyone can add to, copy, or distribute the code that makes up Ultramarine. + +This applies to all of the code that Fyra Labs writes with the community, and most of the code from Fedora. + +Sadly, some components, especially device drivers, may be (in a way) held hostage by their authors. This means we cannot see or fix the code. + +Check out the [Development Page](/en/contributing/hacking) to get started! + +## Packaging + +Ultramarine includes the Terra repository, which is a community collection of software that isn't in Fedora's repositories. Contributing packages for Terra allows you to help Ultramarine and other Fedora-based distro users get the software they need. To get started, see the [Terra documentation](https://developer.fyralabs.com/terra/contributing). + +## Bug Hunting + +This part is easy, just use Ultramarine and report bugs as you find them. You can report general issues to [Ultramarine-Linux/ultramarine](https://github.com/Ultramarine-Linux/ultramarine), or ask in [one of our chats] where to report. + +## Design + +New and existing Ultramarine-specific components require user-friendly and visually appealing designs. If you would like to help out with design, join [one of our chats] and ask where you can help. + +## Documentation + +Documentation allows people to understand how to use Ultramarine. Our main source of documentation is the wiki you're currently reading. If you would like to contribute to the wiki, you can make a pull request to the [Ultramarine-Linux/wiki-new](https://github.com/Ultramarine-Linux/wiki-new) repository. If you need help or want to discuss changes, please join [one of our chats]. + +## Testing + +Many parts of Ultramarine need testing before release. Here's a list of our current pre-release programs: + +- [ARM Chromebook Beta Program](/en/chromebook/armbeta) +- [Ultramarine Atomic Open Beta](https://github.com/ultramarine-linux/ostree-config) + +We announce new programs frequently, [join our chat] or [follow us on socials] to stay up to date. + +## Finance + +You can [sponsor us on Github](https://github.com/sponsors/FyraLabs)! + +Your sponsorship helps us continue and dedicate more time to our work, allowing us to develop and ship technology that can make a difference for you (and many others.) Now, of course, don't forget there's also some sweet and useful benefits (with even more coming soon) in it for you :3 + +## Outreach + +Ultramarine is always looking for new users, contributors, and community members. +We employ a variety of channels to reach out to new people, including social media, events, and partnerships. +If you'd like to help us grow, join [one of our chats] and ask where you can help. + +## Hardware + +One of Ultramarine's major focuses is to support as many hardware platforms as possible, our formal initiative for this is [Ultramarine Anywhere](/en/hardware/anywhere). +We're always looking for people with knowledge of different and niche hardware platforms to help us expand our support. +Hardware donations are also appreciated, especially Chromebooks and RISC-V boards, as they're a major focus of this program. + +If you'd like to help out in this area please join [one of our chats] and ask where you can help. + +## Translations + +Translations allow Ultramarine to be used by people around the world. You can lend us your expertise to get Ultramarine in your language. + +### This Wiki + +Reach out in [one of our chats] and we'll make you a branch. + +### The Installer and other Ultramarine Components + +Head to [Fyra Weblate](https://weblate.fyralabs.com) to get started translating. + +### Desktops + +Each desktop environment handles their own translations for the desktop itself and their included apps. Please see the [Upstream Contributions](#upstream-contributions) section for more information. + +## Upstream Contributions + +Ultramarine is built on top of many open source and libre software projects, with similar goals and contribution needs to Ultramarine. Our community regularly contributes to these upstream projects, and we encourage you to do the same. + +Here is a list of important upstream projects to Ultramarine, with links to their contribution pages: + +- [Fedora](https://docs.fedoraproject.org/en-US/project/join/) +- [Budgie](https://docs.buddiesofbudgie.org/organization/getting-involved/) +- [GNOME](https://welcome.gnome.org/) +- [Pantheon](https://docs.elementary.io/contributor-guide) +- [KDE](https://community.kde.org/Get_Involved) +- [XFCE](https://docs.xfce.org/contribute/start) + +[one of our chats]: /en/community/community +[join our chat]: /en/community/community +[follow us on socials]: /en/community/community diff --git a/src/content/docs/zh_Hant/contributing/hacking.mdx b/src/content/docs/zh_Hant/contributing/hacking.mdx new file mode 100644 index 00000000..2956f02c --- /dev/null +++ b/src/content/docs/zh_Hant/contributing/hacking.mdx @@ -0,0 +1,67 @@ +--- +title: Code Contributions +description: "A step-by-step guide to hacking on Ultramarine Linux components" +--- + +import Alert from "../../../../components/Docs/Alert.astro"; + +One of the most noticeable contributions you can make is code contributions. Whether it's building a new feature or fixing a bug, contributing code is a great way to make a noticeable difference to the operating system itself. + +This page serves as a step-by-step guide to hacking on Ultramarine Linux components. + +## Find Something to Work On + +There's no shortage of things to work on in Ultramarine Linux. From a feature you think would be cool, to something on our issue tracker, to an entirely new project in the Ultramarine ecosystem. + +For example, Nvidia drivers, this is an issue with most Linux distributions that Ultramarine solves. + +This problem can be anything from a tiny papercut to a massive structural change. There's no such thing as a bad idea. If you're having trouble finding something to work on, [ask around in our community](/en/community/community), we're always happy to help. + +## Gather Information + +If you're fixing an issue, what's the cause? If you're building a feature, what's the goal? What's the best way to implement it? + +A great place to gather information is within our [community](/en/community/community), simply ask and see what users, contributors, and developers think. + +## Getting the Ultramarine Toolchain + +If you're contributing to an existing component, simply get the tools needed for it (we're slowly adding a list to our repositories.) + +If you're building a completely new feature, we recommend [Rust](https://www.rust-lang.org/) or [Go](https://go.dev) for features without a GUI. + +If you're building with a GUI, we recommend using [libhelium](https://github.com/tau-os/libhelium), you can find more information here. + +Get to work! Make a fork of a project and tinker away! + + +
+**Big Changes** + +For especially big changes, or, major features, ask for help. We'll help you refine and build your idea. + +
+
+ +## Writing the Code + +Write the code! Make sure to continuously test your solution as you go. This will help you catch bugs early and make sure your changes are on the right track. It's also important to document your code when you're done, as this will help other contributors understand your changes. + +Remember, you're not alone, no problem is too big or too small to ask for help. If you have a question or want to work with another contributor, ask in our [community](/en/community/community). + +## Getting into Ultramarine + +After you've tested, it's time to contribute. Simply open a pull request to the appropriate repository and we'll review it. Make sure your pull request is descriptive, outlining the motivation, scope, and implementation of your changes. + +There's three possible outcomes + +- **Approval** + +We approve your solution, be proud as very few PRs get merged without changes. + +- **Request for Changes** + +Something needs to change! Fix a problem or two and you're golden! Most PRs go through this process. + +- **Denial** + +This doesn't happen very often, sometimes a feature just doesn't align with our plan. It's more likely that we'll simply ask you for changes. diff --git a/src/content/docs/zh_Hant/development/anda.md b/src/content/docs/zh_Hant/development/anda.md new file mode 100644 index 00000000..e49c1289 --- /dev/null +++ b/src/content/docs/zh_Hant/development/anda.md @@ -0,0 +1,5 @@ +--- +title: Using Andaman +description: "Build and push packages with the Andaman toolchain." +--- +### Andaman Documentations Has Moved to [**Fyra Developer**](https://developer.fyralabs.com/andaman) diff --git a/src/content/docs/zh_Hant/development/developing-for-ultramarine.md b/src/content/docs/zh_Hant/development/developing-for-ultramarine.md new file mode 100644 index 00000000..e518ab72 --- /dev/null +++ b/src/content/docs/zh_Hant/development/developing-for-ultramarine.md @@ -0,0 +1,68 @@ +--- +title: Developing for Ultramarine +description: "Things to get started on developing in Ultramarine." +--- +### This Page Will Be Moving to [**Fyra Developer**](https://developer.fyralabs.com) Soon! + +Ultramarine Linux aims to be a developer-friendly environment for all kinds of developers. In this article, we will cover the basics of how to get started developing in Ultramarine. + +If you would like to develop your own software, you can get started with the section below. + +If you would like to develop **for** Ultramarine, you can get started with the [Developing for Ultramarine](#developing-for-ultramarine) section. + +## Getting Started + +Ultramarine comes with the [Python programming language](https://www.python.org/) out of the box, which is also required for most Fedora +software, including the DNF package manager itself. + +### Setting up Rust + +To set up Rust in your environment, you can install the Rust and Cargo package from the Fedora repositories. + +```zsh +sudo dnf install rustc cargo +``` + +You can also use the `rustup` installer from the [Rust website](https://www.rust-lang.org/tools/install). This will install Rust in your local environment. + +## Developing for Ultramarine + +Our team uses [Visual Studio Code](https://code.visualstudio.com/), which is an open-source (mostly source-available) IDE that is available for both Windows, macOS, and Linux. + +If you, however, do not prefer to use the official Microsoft distribution of Visual Studio Code, you can also use [VSCodium](https://www.vscodium.com/), which is a free alternative distribution of Visual Studio Code. Or you can also use the [Official open-source build of Visual Studio Code](https://github.com/microsoft/vscode) here. + +There are also other supported IDEs and software we recommend using for development, such as: + +- [JetBrains CLion](https://www.jetbrains.com/clion/) (Native applications with C/C++, or Rust) +- [JetBrains PyCharm](https://www.jetbrains.com/pycharm/) for Python development. +- [GNOME Builder](https://wiki.gnome.org/Apps/Builder) for GNOME and GTK development. +- [Qt Creator](https://www.qt.io/product/development-tools) for Qt development. + +And other text editors you can use, such as: + +- [VIM](https://www.vim.org/) +- [Emacs](https://www.gnu.org/software/emacs/) +- [Micro](https://micro-editor.github.io/) +- [Neovim](https://neovim.io/) +- [Helix](https://helix-editor.com/) + +These text editors come with a minimal set of features, so you may want to install plugins for them, and configure them to your liking. + +Our preferred programming languages are Python, Vala, and Rust, and our preferred GUI library is Helium. + +To build packages for Ultramarine, see [Using Andaman](/en/development/anda). + +### UI development + +It is recommended to follow the [Helium Human Interface Guidelines](https://developer.fyralabs.com/helium/hig/introduction) for UI development for Ultramarine apps. These guidelines should not be considered a be-all end-all, it is perfectly acceptable to deviate from the guidelines (or not follow them at all) if it limits aspects of your app. + +### Build systems + +For build systems, we prefer using the programming language's native build system. For example, if you're using Rust, you can use the Rust's native Cargo build system. And in the case of Python, you can use the standard Python setuptools, which consists of either a `setup.py` file or a `pyproject.toml` file. + +For cases where using a native build system does not fit the needs of the application, we have a prioritized list of build systems that we recommend using: + +- [Meson](https://mesonbuild.com/) +- [CMake](https://cmake.org/) +- [GNU Autotools](https://www.gnu.org/software/automake/manual/html_node/Autotools-Introduction.html) +- A written makefile or simple shell script diff --git a/src/content/docs/zh_Hant/development/ux-guide.mdx b/src/content/docs/zh_Hant/development/ux-guide.mdx new file mode 100644 index 00000000..87844502 --- /dev/null +++ b/src/content/docs/zh_Hant/development/ux-guide.mdx @@ -0,0 +1,12 @@ +--- +title: UX Guidelines +description: "Guidelines for how the Ultramarine Linux experience should be designed." +--- + +import Alert from "../../../../components/Docs/Alert.astro"; + +### The Helium Human Interface Guidelines Can Be Found on [**Fyra Developer**](https://developer.fyralabs.com/helium/hig) + +We recommend the Helium Human Interface Guidelines. They're built in house to provide a modern and friendly experience. They were originally designed for the Helium UI Library but you can apply the principles to any UI libraries nonetheless. + +These guidelines are not a be-all-end-all and you are free to ignore parts or add your own ideals. It's your app after all :P diff --git a/src/content/docs/zh_Hant/hardware/anywhere.mdx b/src/content/docs/zh_Hant/hardware/anywhere.mdx new file mode 100644 index 00000000..04a2d805 --- /dev/null +++ b/src/content/docs/zh_Hant/hardware/anywhere.mdx @@ -0,0 +1,40 @@ +--- +title: Ultramarine Anywhere +description: "Our goal is to run Ultramarine Linux on as many devices as possible" +--- + +import Alert from "../../../../components/Docs/Alert.astro"; + +One of the major focuses of the Ultramarine project is to bring Linux to as many people as possible. +A major part of this is supporting as many devices as possible, through our Ultramarine Anywhere program. +By contributing to Ultramarine Anywhere, you can help us bring Linux to more devices and more people. + + + The pages about this program are more technical than the rest of the wiki. Do + not follow the instructions on these pages unless you know what you're doing. + + +#### If you have any suggestions or comments regarding these pages, don't hesitate to [reach out](/en/community/community). + +## In Progress + +- [Ultramarine Chromebook Edition](/en/anywhere/chromebook) + +## Planned + +- [Raspberry Pi 5](/en/anywhere/rpi) +- [Apple Silicon Macs](/en/anywhere/applesilicon) +- [XR and Spatial Computing](/en/anywhere/xr) +- [Android Devices](/en/anywhere/android) +- [Data Centre, Enterprise, and HPC](/en/anywhere/enterprise) + +## Completed + +- [Raspberry Pi 3, 4, and 400](/en/anywhere/rpi) + +## Wishlist + +- [Smart TV Devices](/en/anywhere/ott) +- [Thin Clients](/en/anywhere/thin) +- [RISC-V](/en/anywhere/riscv) +- [Steam Deck](/en/anywhere/steamdeck) diff --git a/src/content/docs/zh_Hant/hardware/bioskeys.mdx b/src/content/docs/zh_Hant/hardware/bioskeys.mdx new file mode 100644 index 00000000..7f306873 --- /dev/null +++ b/src/content/docs/zh_Hant/hardware/bioskeys.mdx @@ -0,0 +1,32 @@ +--- +title: BIOS Keys +description: "How to enter the BIOS or Boot Menu on various Computers" +--- + +These are the keys (or combination of keys) used to enter the boot menu or UEFI/BIOS settings on different computers. + +| Manufacturer | UEFI/BIOS | Boot Menu | Notes | +| ----------------- | --------------------- | ------------------------ | ------------------------------------------------------------------------------------------ | +| Acer | F2 or Del | Esc, F9, F12 | | +| Aorus | Del, F2 | F12 | | +| ASRock | Del, F2 | F11 | | +| ASUS | F2 or Del | Esc, F8 | | +| Compaq | F10 | F9 | | +| Dell | F12 | F11 | | +| Dell (Tablets) | Volume Down+Power | Volume Up+Power | | +| ECS | Del | F7 | | +| EVGA | Del | F7 | | +| Gateway | Del, F1, F2 | F12 | | +| Gigabyte | Del, F2 | F12 | | +| HP | ESC, F10 | Esc, F9 | | +| Intel | F2 | F10 | | +| ThinkPads | - | F12, Enter, ThinkVantage | You can access the BIOS or UEFI menu from the boot menu | +| Lenovo (Desktops) | F1 | F12 | | +| Lenovo (Laptops) | F1+Enter, Novo Button | F12, Novo Button | | +| MSI | Del | F11 | | +| Microsoft | Volume Up+Power | - | There is a boot menu available in the UEFI Settings | +| Origin PC | F2 | F2 | | +| Samsung | F2 | F10 | | +| Toshiba | F2 | F12 | | +| Intel Macs | - | Hold Option (⌥) or Alt | You can change NVRAM variables inside the OS. If you know what you're doing, power to you. | +| Zotac | Del | F8 | | diff --git a/src/content/docs/zh_Hant/hardware/broadcom-realtek.mdx b/src/content/docs/zh_Hant/hardware/broadcom-realtek.mdx new file mode 100644 index 00000000..4bb42433 --- /dev/null +++ b/src/content/docs/zh_Hant/hardware/broadcom-realtek.mdx @@ -0,0 +1,26 @@ +--- +title: Broadcom and Realtek Networking +description: "Information about Broadcom and Realtek Networking on Ultramarine Linux" +--- + +import Alert from "../../../../components/Docs/Alert.astro"; + +Some computers with specific Broadcom or Realtek chipsets may require additional drivers to be installed. These should be automatically installed if you were connected to the internet during installation. + +We can't include these by default as they may break other WiFi devices. + +You'll need to connect to the internet, you can do this via Ethernet or USB tethering from your phone. iPhones will automatically tether over USB when connected, Android phones may require you to switch the USB mode. + +On Broadcom, install `broadcom-wl` and `kmod-wl` + +```shell +sudo dnf install kmod-wl broadcom-wl +``` + +On Realtek, install `kmod-wl` only + +```shell +sudo dnf install kmod-wl +``` + +Then reboot! diff --git a/src/content/docs/zh_Hant/hardware/nvidia.mdx b/src/content/docs/zh_Hant/hardware/nvidia.mdx new file mode 100644 index 00000000..d5833de2 --- /dev/null +++ b/src/content/docs/zh_Hant/hardware/nvidia.mdx @@ -0,0 +1,33 @@ +--- +title: NVIDIA Drivers +description: "Information about NVIDIA Graphics on Ultramarine Linux" +--- + +import Alert from "../../../../components/Docs/Alert.astro"; + +For computers with NVIDIA graphics cards, you have two choices for drivers. + +#### Noveau Driver + +[The Noveau driver](https://nouveau.freedesktop.org/) is a fully open-source driver for NVIDIA graphics cards. It's built into Ultramarine so you can use your GPU instantly. + +Despite how good this sounds, modern NVIDIA GPUs will suffer performance issues and screen tearing under the Noveau driver. + +Older NVIDIA GPUs work well with the Noveau driver (and may only work with Noveau.) + +#### Proprietary Driver + +This is our recommended solution. Proprietary drivers support all of the features and performance of your GPU. They are automatically installed during installation if you are connected to the internet. + +If drivers weren't installed, or you switched to a NVIDIA GPU, you can install drivers by opening the "Software" app and searching for "NVIDIA" or by running the following commands in terminal: + +```bash +sudo dnf update # Update the system first, the drivers may not work right if you don't. +sudo dnf install akmod-nvidia # Install the NVIDIA kernel module. +``` + + + You MUST wait until the process is finished before rebooting. Rebooting too + early might result in a broken installation! This may take upwards of 15 + minutes! + diff --git a/src/content/docs/zh_Hant/hardware/requirements.mdx b/src/content/docs/zh_Hant/hardware/requirements.mdx new file mode 100644 index 00000000..37e0c450 --- /dev/null +++ b/src/content/docs/zh_Hant/hardware/requirements.mdx @@ -0,0 +1,38 @@ +--- +title: System Requirements +description: "Minimum Requirements for Ultramarine Linux" +--- + +import Alert from "../../../../components/Docs/Alert.astro"; + +## Recommended Requirements for Standard PCs + +These are our suggestions for the most basic (daily-driveable) system: + +- 4GB of RAM (8GB or more recommended) +- 64-bit processor (x86_64/amd64) +- 16GB of free disk space (24GB or more recommended) +- Internet connection (for downloading the ISO image, updates, and additional drivers) +- A computer that supports booting from a USB drive +- A USB drive (for creating the bootable media) + +## Minimum Requirements for Raspberry Pi + +- Raspberry Pi 3 or newer +- 4GB of RAM **OR** 2GB of RAM without a desktop environment +- 9GB Class 10 MicroSD Card +- See the [anywhere page](/en/anywhere/rpi) + +## Minimum Requirements for ARM Devices Using UEFI + +- 64-bit processor (aarch64) +- 4GB or RAM +- 16GB of Storage + +## Minimum Requirements + +These requirements are the **_bare minimum_** to run Ultramarine Linux. Using Ultramarine on a computer of this caliber will not be a good time. + +- 1gb of RAM +- 64-bit processor (x86_64 **OR** aarch64) +- 10GB of disk space diff --git a/src/content/docs/zh_Hant/hardware/surface.mdx b/src/content/docs/zh_Hant/hardware/surface.mdx new file mode 100644 index 00000000..a5d0c8a8 --- /dev/null +++ b/src/content/docs/zh_Hant/hardware/surface.mdx @@ -0,0 +1,43 @@ +--- +title: Microsoft Surface +description: "Information about Ultramarine Linux on Microsoft Surfaces" +--- + +import Alert from "../../../../components/Docs/Alert.astro"; + +Surfaces require a special kernel to work properly under Ultramarine. + +These are currently provided by the Surface Linux team, start by adding their repository + +```shell +sudo dnf config-manager \ + --add-repo=https://pkg.surfacelinux.com/fedora/linux-surface.repo +``` + +Then, install the kernel and it's dependencies + +```shell +sudo dnf install --allowerasing kernel-surface iptsd libwacom-surface +``` + +If you want to use secure boot, you need to install `surface-secureboot`, enable 3rd party keys in the EFI settings, and enroll the key in cert-manager. This does not work well on some devices, so we recommend disabling secure boot. + +We intend to make this easier in future releases. + +Some Surface models may not boot with a stock copy of Ultramarine Linux. If this is the case for your device, you have to install the kernel before leaving the live environment. + +1. Ensure your internal storage is mounted, Anaconda should leave it mounted by default. + +2. Check the root partition, it should be mounted as `/mnt/sysroot` + +3. Chroot into the installed system + +``` +sudo chroot /mnt/sysroot +``` + +4. Follow the above instructions + +5. Run `dracut -f` to make sure the new kernel is installed as the initramfs. + +6. Exit the chroot and reboot! diff --git a/src/content/docs/zh_Hant/installation/getting.mdx b/src/content/docs/zh_Hant/installation/getting.mdx new file mode 100644 index 00000000..cf0a9a82 --- /dev/null +++ b/src/content/docs/zh_Hant/installation/getting.mdx @@ -0,0 +1,121 @@ +--- +title: 取得 Ultramarine Linux +description: "Getting started with installing Ultramarine Linux" +--- + +import Alert from "../../../../components/Docs/Alert.astro"; + +## System Requirements + +If your computer could run Windows 7 well, chances are it'll run Ultramarine Linux. You should check the [System Requirements](/en/hardware/requirements) to make sure + +## Choosing Your Edition + +Ultramarine Linux comes in 4 variants: + +- **Flagship Edition**: Our default and most popular variant. Choose Flagship if you'd like a familiar and stylish experience. +- **KDE Edition**: Our second most popular variant. Choose KDE if you'd like a simply customisable experience. +- **GNOME Edition**: Elegant and Modern. Choose GNOME if you'd like a simple, unique experience. +- **Xfce Edition**: Lightweight and Configurable. Choose Xfce if you'd like a lighter experience. + +Check the [System Requirements](/en/hardware/requirements) to make sure your hardware is supported. + +Ultramarine Linux is distributed in various formats available for download from [our website](https://ultramarine-linux.org). + + + Fyra Labs cannot guarantee the safety or quality of images downloaded from + sites other than our website or FOSSTorrents + + +### Atomic + +Ultramarine Linux also comes in Atomic versions. Ultramarine Atomic works similarly to Fedora Silverblue, CoreOS, and other OSTree-based operating systems. This variant is made for users who want a stable, immutable system that is easy to recover from. +We see immutability as the future of Linux systems. Ideally, this will become the standard edition in the future. + +These builds are currently in beta. If you are planning to test them, please join our [Discord](https://discord.gg/5fdPuxTg5Q) or [Matrix](https://matrix.to/#/#hub:fyralabs.com) community first and let us know. We'll be happy to receive feedback and assist you. + +[Try Ultramarine Atomic →](https://nightly.link/Ultramarine-Linux/ostree-config/workflows/ci-isos.yaml/main?preview) + +(The "Home" and "Base" images are copies of [tauOS](https://tauos.co) - These **ARE NOT READY FOR DAILY USE!!**) + +### Raw Images and Raspberry Pi + +Ultramarine is also availible as a raw (or preinstalled) image. These images come with a desktop preinstalled and are intended to be flashed directly to the drive your device will boot from (like an SSD or an SD card.) + +These can be found in the [Raw Image](https://images.fyralabs.com/images/ultramarine/40/) sections of the download page. + +{/* ### Chromebook Edition */} + +{/* Ultramarine is available for most x86 ChromeOS devices. See the [Chromebook Edition section](/en/chromebook/chromebook) for more information. */} + +{/* ### Kanopy */} + +{/* **Ultramarine Kanopy** is an upcoming variant of Ultramarine Linux, which is made for servers and cloud computing. It is currently in development and does not have a release date yet, but we plan to target Qx '2x */} +{/* It will be based on Ultramarine OSTree and is designed as a simple and easy-to-use server operating system, with a focus on containerized applications with a simple, easy-to-use web interface as a competitor to TrueNAS SCALE, OpenMediaVault, and other similar operating systems. */} + +## Verifying the Safety of an Ultramarine Image (Recommended) + +Ultramarine images have a matching checksum file that can be checked against the image itself. + +They can be downloaded by clicking the `View checksum` button on the [download page](https://ultramarine-linux.org/download/). + +### Verifying the Checksum on Linux and macOS + +You can use the following commands to check the integrity of the image: + +```bash +sha256sum -b /path/to/ultramarine.iso # Generate the checksum for the image +cat /path/to/checksum # Check the checksum + +# Now you can compare the checksum +``` + +### Verifying the Checksum on Windows + +In Powershell, run this command: + +```powershell +CertUtil -hashfile PATH\TO\ULTRAMARINE.ISO SHA256 +# Open the checksum file with Notepad and compare the checksum +``` + + + If you're using a Raspberry Pi, stop here and go to the [Raspberry Pi + instructions](/en/installation/rpi) + + +## Creating the Installer + +Grab a USB stick! Use a flasher program to create an installer from the image. [balenaEtcher](https://www.balena.io/etcher/) is an easy cross-platform choice. + +![](/assets/balenaetcher.png) + +You can also use [Fedora Media Writer](https://github.com/FedoraQt/MediaWriter), or the Disks application on Flagship, Xfce, and GNOME editions. + + + Rufus has been known to cause issues with Ultramarine images. + + +## Booting the Installer + +After flashing the image to your installer, you can boot to Ultramarine Linux by plugging in the installer and restarting your computer. + +Most computers have a special key that can be used to select a boot device, or to enter the setup screen. This varies from brand to brand, check the [BIOS Keys Page](/en/hardware/bioskeys) for how to enter the boot menu on your machine. + + + If you're currently using Windows 10 (or newer) head to the recovery section + of settings and select "Advanced Restart". Once there, select "Use a Device". + + + + If you're currently using Linux, you may be able to enter the BIOS by running + `sudo systemctl reboot --firmware` + + +#### [Next Up: Installation →](/en/installation/installation) + +## Footnotes + +- The Anaconda installer is very complex and hard to work with, we are working on a new installer that is easier to use and more reliable. +- Since Fedora 37 the Ultramarine team has maintained Pantheon, in Ultramarine 40 we will be dropping Pantheon due to major issues with the experience. +- Ultramarine's Budgie edition provides a close to stock Budgie experience, with a custom theme. Unlike Fedora's Budgie Spin, which provides a completely custom layout and experience. diff --git a/src/content/docs/zh_Hant/installation/installation.mdx b/src/content/docs/zh_Hant/installation/installation.mdx new file mode 100644 index 00000000..754de826 --- /dev/null +++ b/src/content/docs/zh_Hant/installation/installation.mdx @@ -0,0 +1,118 @@ +--- +title: 安裝過程 +description: "A guide on how to install Ultramarine Linux" +--- + +import Alert from "../../../../components/Docs/Alert.astro"; + +After booting into the live system, you will see a dialog box asking you whether to start the installer or continue with the live system. + +![The Welcome Dialog box](/assets/welcome-window.png) + +You can pick whichever you want, and you'll be able to start the installer later by opening the `Install to Hard Drive` application. + +## Language Selection + +![The Language Selection Screen](/assets/anaconda-1.png) + +After starting the installer, you will be greeted with a language selection screen. Simply choose the language and keyboard layout you would like to use. + +## The Anaconda Hub & Spoke Model + +![Anaconda Hub](/assets/anaconda-2.png) + +Anaconda uses a hub and spoke model. You can configure your installation in any order you want, but you will need to complete all the options before you can continue. + +### Keyboard Layouts + +![Anaconda Keyboard Layout](/assets/anaconda-3.png) + +Press the `+` button to add a new keyboard layout, then pick and search for the keyboard layout you prefer. + +Once you have selected the keyboard layout, you can press the `Done` button on the top left to go back to the hub. + +### Time & Date + +![](/assets/anaconda-4.png) + +The Time & Date selection screen has a world map where you can click on your location on the map to set your timezone. + + + +By default, the time is set from your IP address geolocation. If you're using a VPN or proxy this may not be accurate. + + + +### Storage + +![](/assets/anaconda-5.png) + +This is where you select where you want Ultramarine to be installed, you can have the installer automatically partition your disk, or, select a custom layout. + +By default, Ultramarine uses [Btrfs](https://en.wikipedia.org/wiki/Btrfs) on standard computers. We default to ext4 on Chromebooks as Btrfs may shorten the life of the EMMC found in most Chromebooks. + + + We recommend encrypting your disk for added security. Simply select the + "Encrypt" checkbox, you will be prompted to enter a new password after + pressing done, and the password you provided to the installer on every boot. + + +#### Custom Partitioning + +![](/assets/anaconda-6.png) + +In this mode, you can have Anaconda automatically setup partitions for you, or, manually configure the layout of the disk. + +On UEFI-based systems, you need a partition mounted as `/boot/EFI` and another mounted as `/`. + +On BIOS-based systems, you need a `BIOSBoot` partition, a partition mounted as `/boot` and another mounted as `/`. + +#### Advanced Partitioning + +![](/assets/anaconda-7.png) + +In this mode, Anaconda uses a tool called blivet-gui for you to manually partition your drive. This mode provides more freedom, so make sure you know what you're doing. + +### Networking + +![](/assets/anaconda-8.png) + +On this screen, you can configure the hostname for the installed system. This is what other computers call your device. + +### User Accounts + +![](/assets/anaconda-9.png) + +In this screen, you must set up a user account. This account will be the administrator for the installed system. + +You can also click on the `Advanced` button for a more in-depth configuration of your account, such as your user folder location, account ID, and your group membership. + + + +You must enter a password. Applications may misbehave without one. + + + + + +If you type in an insecure password, you must press the "Done" button twice to continue. + + + +--- + +After completing your system configuration, press the `Begin Installation` button to continue. The installation process will start and may take a few minutes. + + + This process is **IRREVERSIBLE**. If you manage to stop the installer before + it finishes, you will end up with a broken system.
To fix this, you + will have to reinstall Ultramarine Linux or your preferred operating system. +
+ +After the installation process is complete, Anaconda will prompt you to reboot your device, simply reboot and enjoy! + +Welcome to Ultramarine Linux! + +#### [Next Up: Post-Installation →](/en/installation/postinstall) + +#### [← Back To: Getting Ultramarine](/en/installation/getting) diff --git a/src/content/docs/zh_Hant/installation/post-advanced.mdx b/src/content/docs/zh_Hant/installation/post-advanced.mdx new file mode 100644 index 00000000..1438134d --- /dev/null +++ b/src/content/docs/zh_Hant/installation/post-advanced.mdx @@ -0,0 +1,93 @@ +--- +title: 進階安裝後步驟 +description: Learn how to further configure your Ultramarine Linux installation. +--- + +import Alert from "../../../../components/Docs/Alert.astro"; + +## Use systemd-boot as the bootloader + +Ultramarine Linux currently still uses GRUB as the default bootloader for compatibility reasons. However, if you have a UEFI system, you can simply switch to +systemd-boot, which is a more modern bootloader. + + + This step is optional. You can skip this step if you don't want to use + systemd-boot. Make sure to back up your data and have a live USB ready in case + something goes wrong. Incorrectly configuring a new bootloader can make your + OS unbootable. + + +1. Make sure you turn off Secure Boot in your UEFI settings for now, You can re-enable it later after [Setting up Secure Boot](#set-up-secure-boot) +2. Remove GRUB from protected packages: + +```bash +sudo rm /etc/dnf/protected.d/grub* +``` + +3. Start uninstalling GRUB: + +```bash +sudo dnf remove -y grubby grub2\* memtest86\* && sudo rm -rf /boot/grub2 && sudo rm -rf /boot/loader +``` + +4. Install unsigned systemd-boot binaries and the `sdubby` tool: + +```bash +sudo dnf install systemd-boot-unsigned sdubby +``` + +5. Install systemd-boot to the ESP: + +```bash +# Copy your current cmdline options just in case +cat /proc/cmdline | cut -d ' ' -f 2- | sudo tee /etc/kernel/cmdline +# Install systemd-boot +sudo bootctl install +# Now, reinstall and regenerate the current kernel entry +sudo kernel-install add $(uname -r) /lib/modules/$(uname -r)/vmlinuz +# Reinstall the kernel again, just in case we need to trigger some hooks +sudo dnf reinstall -y kernel-core +``` + +6. Reboot your system and make sure it boots correctly, run `sudo bootctl` to check if the boot process is correct. +7. (Optional) Proceed to [Set up Secure Boot](#set-up-secure-boot) if you want to re-enable Secure Boot. + +## Set up Secure Boot + +[Secure Boot] is a UEFI security protocol that secures the boot process by ensuring that +only signed executables are allowed to boot. While Ultramarine Linux's bootloader shim is signed by Microsoft and Red Hat, +you may want to use a different bootloader (i.e systemd-boot or rEFInd) or kernel. In that case, you will need to manually enroll +and sign the files with your own keys. + +Fortunately, there's a tool to automate this called [sbctl]. You can install it from the Terra repository: + + + `sbctl` is only available on Ultramarine/Fedora 40 and later. + + +```bash +sudo dnf install sbctl +``` + +After installing `sbctl`, you can use it to enroll, sign, and manage your Secure Boot keys. For example, to generate a new key and enroll it in your UEFI firmware: + +```bash +# Generate a new key +sudo sbctl create-keys +# Enroll the key +sudo sbctl enroll-keys +``` + +You can then use `sbctl sign` to sign your kernel, initramfs, and bootloader binaries. For example: + +```bash +# Sign the kernel +sudo sbctl sign /boot/vmlinuz-$(uname -r) +``` + +However, once you have installed sbctl, it should've already set up a hook to sign the kernel, initramfs and bootloader binaries automatically on kernel updates. + +After signing the necessary files and enrolling them in your firmware, you can re-enable Secure Boot in your UEFI settings. + +[Secure Boot]: https://learn.microsoft.com/en-us/windows-hardware/design/device-experiences/oem-secure-boot +[sbctl]: https://github.com/Foxboron/sbctl diff --git a/src/content/docs/zh_Hant/installation/postinstall.mdx b/src/content/docs/zh_Hant/installation/postinstall.mdx new file mode 100644 index 00000000..29543850 --- /dev/null +++ b/src/content/docs/zh_Hant/installation/postinstall.mdx @@ -0,0 +1,72 @@ +--- +title: 安裝之後… +description: "Things to do after installing Ultramarine Linux." +--- + +import Alert from "../../../../components/Docs/Alert.astro"; + +After installing Ultramarine Linux, There are a few things you should do to make the most out of your new system. + +## Install NVIDIA Drivers + +NVIDIA drivers were installed during the installation process. If this didn't happen or you missed the chance to enable them on first boot, you can install them with these commands + +```bash +sudo dnf update # Update the system first, the drivers may not work right if you don't. +sudo dnf install akmod-nvidia # Install the NVIDIA kernel module. +``` + +Then, reboot your system. + + + You MUST wait until the process is finished before rebooting. Rebooting too + early might result in a broken installation! This may take upwards of 15 + minutes! You can check the progress by running `sudo akmods` + + +### Use NVIDIA Graphics Card as the primary card on Optimus Laptops + +This change is is completely optional. You can skip this step if you don't +want to use your NVIDIA Graphics Card as the primary card, or you do not use a +dual-GPU laptop connected to an external monitor. It may also cause issues +with some applications, such as Steam and Bottles. + +Run the following commands to make your NVIDIA Graphics Card the primary Graphics Card: + +```bash +sudo cp -p /usr/share/X11/xorg.conf.d/nvidia.conf /etc/X11/xorg.conf.d/nvidia.conf +sudo sed -i '10i\ Option "PrimaryGPU" "yes"' /etc/X11/xorg.conf.d/nvidia.conf # Add PrimaryGPU = yes to the 10th line of the file. +``` + +Then reboot your system. + +## Install Codecs + +Ultramarine Linux includes codecs for most of the media you'll come across. **You shouldn't need to install any additional codecs.** Most of these packages below should be installed by default, excluding +the VLC and MPV media players, and the `libdvdcss` library. + +However, if you find yourself in the situation where you do not have those codecs (if you converted for example), or require additional codecs other than we have provided (i.e obscure formats, or proprietary codecs not included in any repositories), you can look into the following packages: + +- `x264` and `x265` for better H.264 and HEVC video support - Developed by the VideoLAN (VLC) project. +- [FFmpeg](https://ffmpeg.org/) (`ffmpeg`) - A cross-platform multimedia framework that can manipulate, convert and transcode to and from various media formats. +- [VLC Media Player](https://www.videolan.org/vlc/) (`vlc`) - A free and open-source media player that can play most multimedia files, can also be used to test out the codecs' functionality. +- [MPV](https://mpv.io/) (`mpv`) - A free and open-source media player that can also play most multimedia files. Can be used as a lightweight alternative to VLC. +- [libvpx](https://www.webmproject.org/) (`libvpx`) - A free and open-source codec for VP8 and VP9 video formats. +- [libdvdcss](https://www.videolan.org/developers/libdvdcss.html) (`libdvdcss`) - A library that can be used to read encrypted DVDs. This is not legal in some countries, so please check your local laws before using it. We also do not provide decryption keys for any encrypted DVDs. +- [Opus](https://opus-codec.org/) (`opus`) - A free and open-source audio codec that can be used for both speech and music. Should be installed by default. +- [OpenH264](https://www.openh264.org/) (`openh264`) - A free and open-source codec for H.264 video formats. Should be installed by default, required for WebRTC and partially Firefox. +- [aptX](https://www.aptx.com/) (`pipewire-codec-aptx`) - A proprietary codec for high-quality audio streaming over Bluetooth. Required for wireless Bluetooth audio devices that support it. +- `nv-codec-headers` - NVIDIA's codec headers for encoding and decoding video on NVIDIA GPUs. Required for hardware-accelerated video encoding and decoding on NVIDIA GPUs. May not be used by default assuming you do not have an NVIDIA GPU. +- [LAME](https://lame.sourceforge.io/) (`lame`) - A free and open-source MP3 encoder. Required for encoding MP3 files. +- `PackageKit-gstreamer-plugin` - PackageKit plugin that helps you install the above codec packages using GNOME Software/KDE Discover. + +## Set up Backups + +You may want to back up your files to an external volume, you can use [Pika Backup] or [Déjà Dup] to do so. + +Instructions are available on the [Pika Backup] and [Déjà Dup] websites. + +[Déjà Dup]: https://wiki.gnome.org/Apps/DejaDup +[Pika Backup]: https://apps.gnome.org/PikaBackup/ + +#### [← Back To: Installation](/en/installation/installation) diff --git a/src/content/docs/zh_Hant/installation/readymade.mdx b/src/content/docs/zh_Hant/installation/readymade.mdx new file mode 100644 index 00000000..502306c3 --- /dev/null +++ b/src/content/docs/zh_Hant/installation/readymade.mdx @@ -0,0 +1,16 @@ +--- +title: Installation with Readymade Preview +description: "A guide on how to install Ultramarine Linux with the upcoming new installer " +--- + +import Alert from "../../../../components/Docs/Alert.astro"; + +After booting into the live system, you will see a dialog box asking you whether to start the installer or continue with the live system. + +![The Welcome Dialog box](/assets/welcome-window.png) + +You can pick whichever you want, and you'll be able to start the installer later by opening the `Install to Hard Drive` application. + +#### [Next Up: Post-installation →](/en/installation/postinstall) + +#### [← Back To: Getting Ultramarine](/en/installation/getting) diff --git a/src/content/docs/zh_Hant/installation/rpi.mdx b/src/content/docs/zh_Hant/installation/rpi.mdx new file mode 100644 index 00000000..58dc9953 --- /dev/null +++ b/src/content/docs/zh_Hant/installation/rpi.mdx @@ -0,0 +1,83 @@ +--- +title: Raspberry Pi 安裝過程 +description: "How to install Ultramarine Linux on the Raspberry Pi" +--- + +import Alert from "../../../../components/Docs/Alert.astro"; + +## System Requirements + +Ultramarine Linux supports the Raspberry Pi 3 and 4. Please see the [Anywhere page](/en/anywhere/rpi) for more information. + +## Selecting a Drive + +The drive you use deeply affects the experience you will have on Ultramarine. + +### Raspberry Pi 3 + +Raspberry Pi 3 supports only microSD cards. Your microSD card must be 9GB or larger, but we suggest 16GB or more so you'll have some space for software. + +You should also look for a class 10 SDHC or SDXC microSD. + +### Raspberry Pi 4 and 400 + +Raspberry Pi 4 supports microSD cards and USB storage. Your storage device must be 9GB or larger, but we suggest 16GB or more so you'll have some space for software. + +The best experience will be with a SATA SSD connected over an adapter. A USB 3.0 flash drive will be slightly better to on-par with a nice microSD card. All of the options are good, it's up to your needs. + +## Flashing the Image + +Grab a USB stick! Use a flasher program to flash Ultramarine to your storage device. [balenaEtcher](https://www.balena.io/etcher/) is an easy cross-platform choice. + +![](/assets/balenaetcher.png) + +Simply select the raw.xz file (you don't need to decompress it), the device you're using, and click flash. + +You can also use the Disks application on Flagship, Xfce, and GNOME editions. + + + Ultramarine will be available in Raspberry Pi Imager and the Network Install + feature in the near furure. + + +## Expanding the Root Filesystem + + + This is not possible on Windows or macOS. We are figuring out a way to do this + on first boot. + + +If you haven't already, install GParted as an RPM [from your app store](/en/linux/software). + +Start by opening GParted, it may prompt you to fix the GPT, make sure you select "Fix." If you don't the expand will fail. +![](/assets/gparted/gpt.png) + +Now select the device you just flashed. +![](/assets/gparted/disk.png) + +Then, right click the last partition on the disk, and select "Resize/Move." +![](/assets/gparted/part.png) + +You'll be presented with this menu, you can change partition sizes from here. +![](/assets/gparted/resizemenu.png) + +Simply drag the right side of the partition as far right as you can, then click done. +![](/assets/gparted/fillwhole.png) + +Now, check your work, make sure you used the right disk. +![](/assets/gparted/checkwork.png) + +Then click the green check in the top menu and confirm the changes. +![](/assets/gparted/apply.png) + +Sit back and wait, this may take upwards of five minutes. +![](/assets/gparted/progress.png) + +You're done now! You can exit this menu and eject your drive, you're ready to plug it into your Pi! +![](/assets/gparted/done.png) + +## First Boot + +On first boot, you'll be prompted with a user creation screen. Create your user and you'll be ready to go! + +That's it! You're ready to enjoy Ultramarine on your Raspberry Pi! We're working hard on making the experience better so stay tuned! diff --git a/src/content/docs/zh_Hant/linux/devicefiles.mdx b/src/content/docs/zh_Hant/linux/devicefiles.mdx new file mode 100644 index 00000000..bff43af2 --- /dev/null +++ b/src/content/docs/zh_Hant/linux/devicefiles.mdx @@ -0,0 +1,154 @@ +--- +title: Device Files +description: "Overview of various device files in /dev" +--- + +import Alert from "../../../../components/Docs/Alert.astro"; + + + These files are an actual representation of all your hardware devices + according to how your drivers see them. Please do not modify or delete these + files unless you know what you are doing. + + +Device files are special files that exist as an interface for your system to interact with hardware. +They are located in the `/dev` directory, which is a temporary virtual filesystem that is created by Linux on boot. + +## Block Devices + +Block devices are devices that store buffered data as [blocks](). + +These files are essentially the low-level interface to your storage devices. They are usually to be mounted to a directory in order to be used, +similarly to how Windows automatically assigns drive letters to storage devices. + +Newer Windows versions also support mounting devices as directories, but they are not commonly used. + +There are various types of block devices, but the most common ones are: + +- SATA, PATA/IDE, SAS, SCSI or USB disks (`/dev/sd*`) +- NVMe Drives (`/dev/nvme*`) +- Device mappers (`/dev/mapper/*`) - A special feature of the Linux kernel that allows you to create virtual block devices from other block devices. +- Loop devices (`/dev/loop*`) - Virtual loopback devices that allow you to mount files as block devices. +- MMC devices (`/dev/mmcblk*`) - Memory cards that use the MultiMediaCard standard, such as SD cards. + +## Pseudo-devices + +Pseudo-devices are devices that do not actually exist but are used by the kernel to provide an interface for various features. + +The most common pseudo-devices are: + +- `/dev/null` - A special empty file that discards all data written to it. +- `/dev/zero` - A special file that returns an infinite stream of null bytes when read. +- `/dev/random`, `/dev/urandom` - Special files that return an infinite stream of random data. +- `/dev/full` - A special empty file that always returns a "disk full" error when written to. +- `/dev/ptmx` - A pseudo-terminal master used to create virtual terminals. +- `/dev/tty*` - A virtual terminal that is used to interact with the system. Back in the day, there were also actual [physical terminals](https://en.wikipedia.org/wiki/Computer_terminal) that were connected to the system via a serial port. Nowadays, these files are used to represent virtual terminals, as computer terminals were replaced by actual computers running remote desktop software such as SSH, VNC or RDP. +- `/dev/pts/*` - A virtual terminal slave used to create virtual terminals. +- `/dev/shm/*` - A shared memory segment used by the kernel to share data between processes. +- `/dev/stdin`, `/dev/stdout`, `/dev/stderr` - Standard input, output and error streams. Used to redirect input and output from and to other files, similar to how programs output data directly to the terminal. Can be redirected using [pipelines](/en/linux/shell#the-pipeline). + +# Interacting with Devices + +You can interact with device files like you would with any other file, but there are also special tools that are used to interact with them. + +The `cat` command can be used to read data from a file and output it to `/dev/stdout` (standard output), which is usually the terminal. + +```sh +cat /dev/urandom +``` + +This will output an infinite stream of random garbage to the terminal, which will make it unusable until you press `Ctrl+C` to stop the command. You might also need to restart your terminal emulator if it happens to output +a specific combination of characters that breaks it. + +## Block Devices + +To list all block devices, you can use `lsblk` to list them in a tree-like format: + +```sh +$ lsblk +NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS +sda 8:0 0 931.5G 0 disk +├─sda1 8:1 0 600M 0 part /boot/efi +├─sda2 8:2 0 1G 0 part /boot +└─sda3 8:3 0 929.9G 0 part +zram0 252:0 0 8G 0 disk [SWAP] +nvme0n1 259:0 0 119.2G 0 disk +└─nvme0n1p1 259:1 0 119.2G 0 part /var/lib/docker/btrfs + /home + /var + / +``` + +## Explaining the Output: + +`sda*` is the main disk of the system, which is a 1TB SATA SSD. It has 3 partitions, `sda1`, `sda2` and `sda3`. `sda1` is the EFI partition, `sda2` is the boot partition and `sda3` is the root partition. + +In this specific case, it is configured in a Btrfs spanned (JBOD) volume, which in this case combines both `sda3` and `nvme0n1p1` into a single volume. + + + Ultramarine Linux's installer, *Anaconda* will automatically configure your + disks in a Btrfs spanned volume by default when multiple disks are selected. + + +`nvme0n1` is a 128GB NVMe SSD that is used as a cache for the Btrfs volume. It has a single partition, `nvme0n1p1`, which is mounted to `/var/lib/docker/btrfs`, `/home`, `/var` and `/`. + +`zram0` is a special ramdisk that is used as a pagefile (swap) for the system. It makes uses of the [zram](https://en.wikipedia.org/wiki/Zram) kernel module to create a compressed RAM disk. + +The mountpoints at `/boot` is used for storing Linux kernel images, and `/boot/efi` is used for storing EFI bootloaders. + +`/var` stores extra variable data, `/home` is a dedicated partition for storing user data and `/` is the root partition, which can be compared to the `C:\` drive on Windows. + +`/var/lib/docker/btrfs` is the directory where [Docker] stores its data. Docker is a containerization software that allows you to run applications in isolated environments. +Since we are using Btrfs, Docker will use Btrfs subvolumes to store its data. For other filesystems, Docker will use other methods to store its data. + +### Manipulating Block Devices + +You can use `fdisk` to do various operations on block devices, such as creating partitions, formatting them and more. + +```sh +fdisk /dev/sda +``` + + + **NEVER** run the following commands on any actual systems! These commands **ANNIHILATE your system WITHOUT CONFIRMATION**, + causing **IRREVERSIBLE DAMAGES** to your system! + +If you want to test out these commands for whatever reason, please _make sure (and double check) you are ONLY doing this in a virtual environment._ + + + +As an example, you can use the following command to do a zero-filled format of a disk called `/dev/sda` by simply using a pipe: + +```sh +cat /dev/zero > /dev/sda +``` + +...Or shred the entire disk with random data: + +```sh +cat /dev/urandom > /dev/sda +``` + +All of these commands will do destructive operations on your disk, so please be careful when using them. + +You can also use the [`dd`]() tool to read and write data to block devices, create disk images and even clone disks directly. + +For example, you can create a backup image (ghost image) of your disk by using the following command: + +```sh +dd if=/dev/sda of=/path/to/backup.img +``` + +...Or clone your disk to another disk: + +```sh +dd if=/dev/sda of=/dev/sdb +``` + +You can find more information about `dd` [here](https://www.gnu.org/software/coreutils/manual/html_node/dd-invocation.html). + +#### [← Back To: The Filesystem](/en/linux/filesystem) + +#### [Next Up: Permissions →](/en/linux/permissions) + +[Docker]: https://en.wikipedia.org/wiki/Docker_(software) diff --git a/src/content/docs/zh_Hant/linux/filesystem.mdx b/src/content/docs/zh_Hant/linux/filesystem.mdx new file mode 100644 index 00000000..5f471cfe --- /dev/null +++ b/src/content/docs/zh_Hant/linux/filesystem.mdx @@ -0,0 +1,93 @@ +--- +title: The File System +description: "An overview of the file system in Linux." +--- + +import Alert from "../../../../components/Docs/Alert.astro"; + +There are a few notable differences in how files work on Linux when compared to Windows or macOS. + +The most noticeable difference is case sensitivity. Windows and macOS are case-insensitive, meaning that `FOLDER` and `Folder` are the same folder. Linux on the other hand is case-sensitive, so `FOLDER` and `Folder` are two different folders. + +In Linux, and more widely, UNIX, everything is a file. Unlike Windows which has other object types to represent physical devices. + +## The File System Hierarchy + +Unlike Windows, Linux has a standardized file system hierarchy (FSH.) The FSH is contained within `/` (often called root.) They not only contain normal files, but also physical devices, virtual devices, and various other special files that control the system itself. + +It should also be noted that Linux uses a forward slash (`/`) to represent going deeper in a directory, unlike Windows which uses a backslash (`\`) + +The directory structure is as follows: + +| Directory | Description | +| :-------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| / | The root directory with the all the other directories and files. This is as far back as you can go | +| /bin | Executables and command binares required for a functioning system. Most applications installed from RPM end up here. | +| /boot | The bootloader and files used during early boot process. May usually be in a seperate partition. | +| /dev | Special device files for various purposes (`/dev/sda` for a drive, `/dev/null` for blank data, `/dev/random` for pseudo-random data, `/dev/tty` for terminal sessions, etc). | +| /etc | System-wide settings and configuration files. | +| /home | User files. This is where your stuff lives! | +| /lib | Libraries required for executables in `/bin` to function. May be also named `/lib`. | +| /media | Mount points for when the system mounts removable media, such as USB drives, SD cards, etc. | +| /mnt | Temporary mount points for media. Usually used when manually mounting a drive. | +| /opt | Optional packages that may be installed by the user. Most packages don't actually install here. | +| /proc | Process data and kernel information for inter-process communication managed by the kernel. | +| /root | User data for the root user. Don't confuse this with `/` (root) | +| /sbin | Executables for system tasks. | +| /srv | Shared service data used by server processes, such as web servers and NAS/File servers. | +| /tmp | Temporary data. | +| /usr | Shared application data used by all users. | +| /var | Variable data used by system processes. | + +## The Home Directory + +The home folder is the place where all your personal data, and most of your apps are stored. It is a directory that is located under the `/home` directory, followed by your username. It is similar to the `Users` folder in Windows. + +In Linux, the home folder is usually more extensively used than in Windows, as it stores all user-specific data, settings, and the majority of your applications (Flatpaks). The system folders are only used when making system-wide changes or installing applications from DNF or an RPM File. + +## Virtual Memory + +[Virtual memory](https://en.wikipedia.org/wiki/Virtual_memory) is a feature in Linux and other operating systems that allows the system to use a portion of the disk as RAM. This is useful when the system runs out of RAM and needs to use the disk as a temporary storage for data. + +On Windows, this is called a "Page file", and on Linux, it is called a "Swap file". The swap file is usually located at `/swapfile` or as a dedicated partition on the disk. + +Swap comes with many issues, for example, it can reduce the lifespan of lower-cost SSDs, and may be too slow on hard drives. To combat this Ultramarine uses memory compression [(zram specifically)](https://en.wikipedia.org/wiki/Zram). + +By default, we match the amount of physical memory you have. (Which is the maximum) + +Although this may sound magical, it does come at the cost of your CPU working a little bit harder. Luckily this is not very noticeable on modern computers. + +[Learn more about zram →](https://en.wikipedia.org/wiki/Zram) + +## File system formats + +Ultramarine Linux supports a wide variety of file systems, and can be configured to use any of them during installation. + +It currently supports most file systems that are supported by the Linux kernel, including: + +- ext2, ext3, ext4 +- Btrfs +- XFS +- NTFS +- FAT32 + +And extra file system drivers can be installed, such as: + +- ZFS + +The Ultramarine Linux installer will be configured to use the BTRFS file system by default, as it is the most modern file system that is supported by the Linux kernel, and has many features that are useful for desktop users, such as snapshots, virtual volumes, journalling, error correction and compression. + +By default, it will use up all the available space on the disk. It uses a small portion of the spaces for the EFI bootloader partition, and create a BTRFS JBOD array using the rest of all the available space on all selected disks. +It then creates 2 subvolumes, one for the root directory `/`, and one for the home directory `/home`, which will share the same space but have different filesystem settings. + +So unless specified otherwise, the installer will use all your disks to create a JBOD (spanned) array, which may be undesirable if you do not want to risk losing all your data if one of the disks fail. + +Most server installations will use XFS or ZFS, as they have better performance and reliability for servers, and are more suitable for RAID arrays. + +### Remote Filesystems + +Ultramarine Linux can also mount remote file systems from a remote server or NAS, using the NFS, (S)FTP, SMB, and WebDAV protocols. + +#### [← Back To: What is Linux?](../overview) + +#### [Next Up: Device Files →](../devicefiles) diff --git a/src/content/docs/zh_Hant/linux/overview.mdx b/src/content/docs/zh_Hant/linux/overview.mdx new file mode 100644 index 00000000..e2f804a4 --- /dev/null +++ b/src/content/docs/zh_Hant/linux/overview.mdx @@ -0,0 +1,60 @@ +--- +title: What is Linux? +description: "A general overview of Linux concepts." +--- + +import Alert from "../../../../components/Docs/Alert.astro"; + +Linux refers to a family of operating systems with one common feature: the Linux kernel. + +Linux is distributed uniquely compared to Windows or macOS. Multiple (seperate) groups take the Linux kernel and combine it with tons of other software before distrbuting it as a distinct operating system. These compilations are called "distributions" (but we'll shorten that to distro.) + +Ultramarine Linux is based on another disribution of Linux called Fedora. See ["Why does this distro exist?"](/en/welcome#why-does-this-distro-exist-what-difference-does-it-have-other-than-just-fedora-with-rpmfusion) for more on that. + +## Why use Linux? + +People use Linux on the desktop for all sorts of reasons. For our purposes, we'll split this into four categories: Customization, Freedom, Security, Privacy. + +### Customization + +Linux is incredibly customizable. You can change anything from the way your desktop icons look to the way apps load and the behavior of the device itself. Ultramarine provides easy ways to do this, like theme support, power management profiles (in most editions) and the upcoming tweak tool. + +### Freedom + +When we say freedom, we mean it in two ways. This is often described as "free as in beer" V.S. "free as in speech". Linux will cost you no money, and will allow you to do essentially whatever you'd like. + +For example: Edge cannot be removed from a Windows computer. Meanwhile on Linux, there is no such limitation. Essential apps like the file manager can be exchanged for one of many alternatives. Complete freedom. + +### Security + +Linux is more secure by design, with features like Mandatory Access Controls and stricter permissions, you can learn more about those features on the [Permissions](/en/linux/securityprivacy) page. + +Linux is also resistant to many common viruses due to these features (and inexperienced developers.) This is becoming less true as Linux marketshare grows, but you are significantly less likely to get an incidental virus on Linux than Windows. + +### Privacy + +It's no secret that the big three of operating systems are watching what you do in some way. Linux vendors tend not to do this, and even if they do, you can easily switch to a compatible alternative or simply disable the telemetry. + +## How is Ultramarine Different? + +Ultramarine Linux is designed to get a lot of the configuration out of the way. We include extra components (like media codecs and drivers) that many other distrbutions don't include. + +Ultramarine is built on Fedora, the base for Red Hat's Enterprise Linux. This means that the software backing Ultramarine has been built with the stability needed for mission critical systems. + + +
+ If you'd like a crash course on the basics, this video should cover a lot of + what the following pages will cover + +
+
+ +#### [Next Up: The Filesystem →](../filesystem) diff --git a/src/content/docs/zh_Hant/linux/permissions.mdx b/src/content/docs/zh_Hant/linux/permissions.mdx new file mode 100644 index 00000000..c0c76b34 --- /dev/null +++ b/src/content/docs/zh_Hant/linux/permissions.mdx @@ -0,0 +1,30 @@ +--- +title: Permissions +description: "How permissions work on Linux." +--- + +On Linux, permissions are used to determine who can read, write, and execute files, or do certain actions. + +Users are separated into various groups with different IDs, and each file or action can be assigned a permission level. + +A user can be assigned a permission level that is higher than the permission level of the group they are in. And users in a group can do certain things that other users cannot. + +However, users in UNIX-like operating are more akin to a principal, as these "users" may not actually be a person, but a program. + +Files are owned by a user and can be assigned a permission level. The user who owns the file can modify the file and modify the permissions of the file. + +Permission levels are displayed in octal and are represented by several digits. The first digit is the owner, the second is the group, and the third is the other users. Permissions range from 0 to 7, with 0 being no access, and 7 being full access. + +## The Root User + +The root user (or the superuser) is a special user that grants access to all files and actions. It is akin to the Administrator on Windows. + +To execute commands as the root user, use the `sudo` command, followed by the command you want to execute. + +```bash +sudo dnf install vim # This will install vim as the root user +``` + +#### [← Back To: Device Files](/en/linux/devicefiles) + +#### [Next Up: Software and Package Management →](/en/linux/software) diff --git a/src/content/docs/zh_Hant/linux/securityprivacy.mdx b/src/content/docs/zh_Hant/linux/securityprivacy.mdx new file mode 100644 index 00000000..1f1e6526 --- /dev/null +++ b/src/content/docs/zh_Hant/linux/securityprivacy.mdx @@ -0,0 +1,44 @@ +--- +title: Security and Privacy +description: "How Ultramarine keeps you safe" +--- + +import Alert from "../../../../components/Docs/Alert.astro"; + +## Mandatory Access Controls + +Ultramarine Linux uses SELinux, a software that implements Mandatory Access Control. This prevents applications (and users) from accessing files they shouldn't be able to. + +Users will usually be required to have root access to modify system files, and even then, SELinux may prevent you from doing so unless you have set the correct contexts for the files. + +By default, SELinux is in "Enforcing" mode, which means that it will prevent you from modifying system files unless you have the correct permissions. This shouldn't cause any issues. If you would like to disable SELinux you can run`sudo setenforce 0`. We don't recommend this as it makes your system less secure. + +[Learn more about SELinux →](https://www.redhat.com/en/topics/linux/what-is-selinux) + +[Learn more about Permissions →](/en/linux/permissions) + +## Privilege Control + +Ultramarine Linux includes polkit, a tool used to manage privilege elevation. If you've ever gotten a graphical password prompt on your system, you've interacted with polkit. + + + +Use the `pkexec` command instead of `sudo` to give polkit a try. + + + +polkit also manages communication between privileged and non privileged applications. + +## Disk Encryption + +Ultramarine Linux offers the option to encrypt your entire disk at install time. This protects your data from physical attacks and theft. + +## Sandboxing + +When you install an app as a Flatpak, it's contained within a sandbox, meaning it can't see what other apps are doing, and can't see files it isn't allowed to. + +## Restricted Memory Access + +Ultramarine Linux and Fedora restrict access to physical memory. This should prevent most memory injection attacks. + +#### [← Back To: The Shell](/en/linux/shell) diff --git a/src/content/docs/zh_Hant/linux/shell.mdx b/src/content/docs/zh_Hant/linux/shell.mdx new file mode 100644 index 00000000..93181051 --- /dev/null +++ b/src/content/docs/zh_Hant/linux/shell.mdx @@ -0,0 +1,202 @@ +--- +title: The Shell +description: "How the shell works in Linux." +--- + +import Alert from "../../../../components/Docs/Alert.astro"; + +The shell is a command line interface to the operating system. It is a program that allows you to directly execute commands and interact on deeper level. + +You may be familiar with Bash from other Linux distributions. Ultramarine uses the [zsh](https://en.wikipedia.org/wiki/Z_shell) instead of bash. We also use [Starship Prompt](https://starship.rs/) to provide additional convenience features like displaying the current git branch. + + +
+ To learn more about shell scripting, you can watch this Bash introduction + video by Fireship here: + + NOTE: The Z shell is mostly compatible with Bash, so most of the knowledge you + will learn will be mostly applicable in Ultramarine Linux. +
+
+ +## Interacting with the Shell + +To start using the shell, open the Terminal app. + +![The GNOME Terminal](/assets/terminal.png) + +You will be greeted with a prompt, simply type in the command you want to execute, and press `Enter⏎`. + +To change directories, type `cd` followed by the path you want to change to. + +```zsh +cd /home/user/Documents +``` + +To list the contents of a directory, type `ls` followed by the path of the directory of which you want to list the contents of. + +```zsh +ls /home/user/Documents +``` + +The directory path is an optional argument. Running `ls` with no arguments will print the contents of the current working directory (the folder you `cd`ed into). + +The `ls` command, especially, has a lot of useful flags (i.e. execute `ls -a`, `-a` being the flag). Below is a table of the most important flags for `ls`. + +| Flag | Modification | +| :--- | :---------------------------------------------------------------------------- | +| `-a` | List all files in a directory, including hidden files which begin with a `.`. | +| `-d` | List specified directories without listing their content (try `ls -d /`). | +| `-t` | Sort the output in the order of modification time; latest first. | +| `-r` | Sort output in reverse order. | +| `-l` | List one file per line. Also display information about the files listed. | + +The output of `ls -l` includes columns of information about each file in the following order: file type, permissions, number of symlinks, file owner, file size, date of last modification, and file name. + +``` +total 4 +drwxr-xr-x 2 bob bob 4096 Jan 1 13:00 dir +-rw-r--r-- 1 bob bob 0 Jan 1 12:00 file +-rwxrwxrwx 1 ann ann 1337 Jan 1 11:00 file2 +``` + +Symbolic links (symlinks) are, as the name would imply, links between files. Changes to files are synced between symlinks. To create a symlink between two files, type `ln`, followed by the `-s` flag and two arguments: one being the original file, and the other being the path to the new symlink. + +```zsh +ln -s file newfile +``` + +From now on, when `file` is changed, the change will also be applied to the linked `newfile`. + +To read a file to the terminal, type `cat` followed by the path to the file. + +```zsh +cat /home/user/Documents/README.md +``` + +To delete a file, type `rm` followed by the path to the file. + +```zsh +rm /home/user/Documents/README.md +``` + +To delete a full directory, recursively delete it by typing `rm -r` followed by the path to the directory. + +```zsh +rm -r /home/user/Documents +``` + + + Most users will usually execute `rm -rf` instead of `rm -r`. The `-f` flag is + used to force the deletion of a file or directory. + + +To create a new file, type `touch` followed by the path to the file. + +```zsh +touch /home/user/Documents/newfile.txt +``` + +To create a new directory, type `mkdir` followed by the path to the directory. + +```zsh +mkdir /home/user/Documents/newdir +``` + + + To create a new directory inside of another new directory (i.e. + `.../newdir/newdir2`), execute `mkdir` with the `-p` flag. + + +To move or rename a file or directory, type `mv` followed by the path to the file or directory, and then the new path. + +```zsh +mv /home/user/Documents/newfile.txt /home/user/Documents/newfile2.txt +``` + +To copy a file and optionally rename the copy, type `cp` followed by the path of the file, and then the path to the new file. + +```zsh +cp file newfile +``` + + + To copy a directory, type `cp` with the `-r` (recursive) flag. + + +For both the `cp` and `mv` commands, you may move multiple files into a directory at once. The target directory must exist. + +```zsh +mv file file2 dir dir2 /path/to/target/dir/ +cp -r file file2 dir dir2 /path/to/target/dir/ +``` + +To know more about each command, open the manual by typing `man` followed by what you want to learn about + +``` +man sudo +``` + +This will open `less`, an app that allows you to read through long lines of text as a scrollable page. + +To exit `less` press `q`. + +Most commands will also have a `-h` or `--help` flag, which tells you more about the command. + +## The Pipeline + +Linux offers a way for inter-process communication through pipes. + +The pipeline you to transfer data from one process to another, and is used to execute commands in parallel. + +```zsh +echo "Hello World" | wc -w +``` + +This calls the `wc` (word count) command, which counts the number of words in the text. Then pipes the output of `echo` to it, which then outputs the number of words. This is a very simple example of a pipeline. + +A named pipe is created by using `>` instead of `|`. + +```zsh +echo "Hello World" > pipe.txt +``` + +This pipes the output of `echo` to the named pipe `pipe.txt`, which is now a file. + +## Executing a File + +To execute a program, you must first make sure that the file is executable. This is done by using the `chmod` command. + +```bash +chmod +x /path/to/exec +``` + +Then you can execute the file by directly pointing to it. + +```bash +/path/to/exec +``` + +For files in your current folder, you must use `./` before the file name. + +```bash +./exec +``` + + + Executables are often moved into a directories listed in the `$PATH` variable + (run `echo $PATH`). The filenames of executables in `$PATH` can be executed as + commands (i.e. `custom-command` will run `/usr/local/bin/custom-command`) + + +#### [← Back To: Software and Package Management](/en/linux/software) + +#### [Next Up: Security and Privacy →](/en/linux/securityprivacy) diff --git a/src/content/docs/zh_Hant/linux/software.mdx b/src/content/docs/zh_Hant/linux/software.mdx new file mode 100644 index 00000000..b1bd9c25 --- /dev/null +++ b/src/content/docs/zh_Hant/linux/software.mdx @@ -0,0 +1,99 @@ +--- +title: Software and Package Management +description: "How to manage software on Linux." +--- + +import Alert from "../../../../components/Docs/Alert.astro"; + +There are many different ways to install software on Linux. + +## The Package Manager + +Unlike Windows, most software for Ultramarine Linux is stored in online collections of software called repositories. You can browse and install software (packages) from these repositories using something called a package manager. + +### Flatpaks + +Flatpak is the primary package manager for regular apps. It installs applications in a sandbox, keeping them separate from anything they don't need to access. + +Flatpaks can be installed from **Software** on Budgie and GNOME, **AppCenter** on Pantheon, and **Discover** on KDE. + +You can browse the available software in one of these app stores, or on the [Flathub website](https://flathub.org/). + +Despite most applications being installed from Flatpak, some apps may not work properly, or may not be available at all. The following sections will help with software in other formats. + +### Software Downloaded from the Internet + +Sometimes, the software you need may come as a package file downloaded from the internet. + +#### RPM Packages + +To install RPMs on Flagship, GNOME, or KDE, simply double-click it. + +To install an RPM on Pantheon, open a Terminal and run + +``` +sudo dnf localinstall /path/to/package.rpm +``` + +(Replacing `/path/to/package.rpm` with the real path, it's usually `~/Downloads/package.rpm`) + +#### AppImages + +1. Install AppImage Launcher from **Software** or **Discover**. On Pantheon Edition, run + +``` +sudo dnf install appimagelauncher +``` + +2. Double-click the file and you're done! + +We recommend avoiding AppImages as they are not automatically updated and may have compatibility issues. + +### Snap + +Snap is a package manager made by Canonical for Ubuntu. It contains a large amount of proprietary applications that you may not be able to find elsewhere. + + + +Snap may cause your system to run noticeably slower. + + + +To get started, install Snap. + +```bash +sudo dnf install snapd +``` + +Then, verify snap is working + +```bash +sudo snap install helloworld +helloworld +``` + + + +Snap packages load slowly and may not work at all on editions other than GNOME. We recommend avoiding Snaps. + + + +### DNF + +Ultramarine Linux uses the DNF package manager. While this package manager primarily handles system software (like the kernel, and your desktop environment) it can install user apps as well. + +```bash +sudo dnf install steam # Install Steam +``` + +You can also install groups of packages, like full desktop environments or a suite of tools for music production, using the `dnf groupinstall` command. + +```bash +sudo dnf groupinstall "Audio Production" # installs multiple packages at once, in this case a suite of music/audio production tools +``` + +For a full list of available groups, run `sudo dnf group list` + +#### [← Back To: Permissions](/en/linux/permissions) + +#### [Next Up: The Shell →](/en/linux/shell) diff --git a/src/content/docs/zh_Hant/release/errata.mdx b/src/content/docs/zh_Hant/release/errata.mdx new file mode 100644 index 00000000..97cb2da1 --- /dev/null +++ b/src/content/docs/zh_Hant/release/errata.mdx @@ -0,0 +1,104 @@ +--- +title: Errata +description: "Various known bugs and other issues in Ultramarine Linux." +--- + +import Alert from "../../../../components/Docs/Alert.astro"; + +This page contains bugs that we can't solve or that are easily solvable by users. We remove them as they are resolved. + +Releases older than 37 will not have their eratta modified as we do not have records of fixing the issues. + +## All Versions + +- Installer scripts may not work + +This is solved by distributors including Ultramarine as a synonym to Fedora. + +### Ultramarine Linux 40 + +### Xfce Edition + +- Login screen wallpaper is Fedora's + + This is a small issue with our tweaks not being applied. We should have this fixed in an update soon. + +### Pantheon Edition + +- Pantheon is upgraded but login does not work + + We are still debating Pantheon's fate, but as of now Pantheon is not included in Ultramarine 40 and probably will stay that way. + +## Ultramarine Linux 39 + +### Pre-release Images + +- We accidentally released pre-release versions of Ultramarine. + + A small handful of users and reviewers got their hands on these images. These images do not reflect the final release, if you used one and it was buggy, we invite you to try the final release, as many of the bugs were fixed. + +### Budgie Edition + +- Budgie wallpapers may be installed instead of Ultramarine wallpapers. + +### Package Groups + +- Misspelled "environment" as "enviroment". + +This is now fixed in Ultramarine 39 and has been backported to 38. + +## Ultramarine Linux 37 (EOL) + +### Pantheon + +- The wallpaper is not set by default. Please set your own wallpaper. + +## Ultramarine 36 (EOL) + +### Applications + +- Firefox Still Includes Fedora Bookmarks + + Firefox depends on fedora-bookmarks. You can simply remove the bookmarks yourself + +### Installer + +- Anaconda Shows a Warning about the System Being Pre-Release + +Anaconda can't find product information about Ultramarine and assumes it's a pre-release version of Fedora or RHEL. + +### Package Management + +- DNF Tells the User There Are No Repositories Available for a COPR Project + +This is due to the fact that the DNF Copr plugin detects the OS ID `/etc/os-release` file, and Ultramarine uses a custom code instead of `fedora`. + +A workaround is to also specify the Fedora buildroot when trying to add a Copr repository. + +### GNOME Edition + +- Pop!\_Shell launcher + +The Pop!\_Shell launcher is not included. This can be fixed by installing the `pop-launcher` package. + +### Cutefish Edition + +- SDDM Displaying Black Screen + +SDDM may display a black screen when starting up. This is a known issue, but there is no known fix as of yet. (Possibly an upstream bug, help needed.) + +### Pantheon Edition + +- Missing Switchboard (Settings) menus + +This was caused by missing Pantheon Switchboard modules, which are not included in Ultramarine Linux due to time constraints. + +You can help us fix this issue by offering to maintain these packages ourselves, or by [contributing to help submit them to upstream Fedora.](https://fedoraproject.org/wiki/SIGs/Pantheon) + +### OSTree Edition + +- Missing Tweaks from the Standard Releases + +As the standard release includes a script to modify the system, due to the nature of OSTree, we are unable to include these tweaks unless we rebuild all major packages with our custom patches. + +You can help us fix this issue by contributing and maintaining these packages yourself. diff --git a/src/content/docs/zh_Hant/release/upgrade-to-ultramarine-40.mdx b/src/content/docs/zh_Hant/release/upgrade-to-ultramarine-40.mdx new file mode 100644 index 00000000..0da11d0d --- /dev/null +++ b/src/content/docs/zh_Hant/release/upgrade-to-ultramarine-40.mdx @@ -0,0 +1,36 @@ +--- +title: Upgrade to Ultramarine 40 +description: "A temporary notice for the 39 to 40 upgrade path." +--- + +This page is a temporary notice for upgrading Ultramarine 39 to 40. +For this release cycle, we've decided to release an upgrade path before the full distrbution release. +This should let existing users enjoy the new set of packages in 40 sooner. +A full blog post detailing changes will be published for the full distrbution release. + +## Flagship, GNOME, and KDE Editions + +You can use the editon's graphical app store to upgrade your system to 40. +On Flagship and GNOME, this will be GNOME Software, while on KDE, this will be Plasma Discover. + +You might need to update your system normally before the upgrade to 40 shows up in the app store. + +## Pantheon Edition + +The Pantheon upgrade path isn't ready yet. +While all of the required packages are in the UM and Terra repositories, the Pantheon desktop enviroment is broken for a variety of reasons. +We are currently working with upstream and other partners to resolve this, but it's possible that Pantheon may be skipped, deprecated, or defered until mid-cycle. +If you are interested in contributing to Ultramarine Pantheon, please join [our chats](en/community/community) and let us know! + +## Command line + +In case the above doesn't work, you can always upgrade through the command line, using `dnf system-upgrade`. + +Run the following and follow the prompts: + +```sh +sudo dnf upgrade --refresh +sudo dnf install dnf-plugin-system-upgrade +sudo dnf system-upgrade download --releasever=40 +sudo dnf system-upgrade reboot +``` diff --git a/src/content/docs/zh_Hant/usage/gaming.mdx b/src/content/docs/zh_Hant/usage/gaming.mdx new file mode 100644 index 00000000..97cb1f12 --- /dev/null +++ b/src/content/docs/zh_Hant/usage/gaming.mdx @@ -0,0 +1,84 @@ +--- +title: Gaming on Ultramarine +description: "Extra instructions for gaming on Ultramarine Linux." +--- + +import Alert from "../../../../components/Docs/Alert.astro"; + +Sometimes, you may want some downtime from work and have fun. While Ultramarine Linux is not primarily optimized for gaming, it is still a great platform for gaming, as it already has some performance optimizations applied out of the box, and can be further optimized with some tweaks. + +# Performance + +# Gaming Platforms + +## Steam + +[Steam](https://steampowered.com) is a great PC gaming platform, and it has native support for Linux. Many game publishers publish their games on Steam, and some even natively support Linux. Steam offers discounts for games published on their platform, and also has a built-in overlay for chatting with friends, taking screenshots, and more. + +Steam runs on the Chromium Embedded Framework (CEF), which essentially means that most of the UI is created using web technologies. + +You can install Steam in 2 ways: + +1. Install the `steam` package from the RPM Fusion repository. (system-wide) +2. Install the Steam flatpak from Flathub. (user-only) + +The first option is recommended, as it has better system integration. However, the second option is also available if you are running Ultramarine OSTree/Kanopy/CoreOS, or if you want to keep Steam isolated from the rest of the system. + +### Proton + +If your game does not support Linux, or the Linux version happens to be inferior to the Windows version, you can use Steam's Proton compatibility layer to run Windows games on Linux. Proton is based on Wine, and it is developed by Valve. + +If the game you're trying to play doesn't work on Proton, check back in a week, it's quite possible that it will work after Proton updates or active work from Valve. + +### Slow Download Speeds + +There have been recent reports of slow download speeds on Steam due to issues with the Steam client and HTTP/2, see the relevant [Steam for Linux issue](https://github.com/ValveSoftware/steam-for-linux/issues/10248) for more information. + +If you are experiencing slow download speeds and aren't sure why, you can try disabling HTTP/2 in Steam by adding the following lines to the `~/.steam/steam/steam_dev.cfg` file and restarting steam: + +``` +@nClientDownloadEnableHTTP2PlatformLinux 0 +@fDownloadRatelmprovement ToAddAnother Connection 1.0 +``` + +### Apex Legends + +Apex Legends can run on Linux using Steam's Proton compatibility layer, plus the Easy Anti-Cheat runtime. The game has Linux support for anti-cheat, but the game binaries are Windows only. + +## Heroic Games Launcher + +The Heroic Games Launcher is a native Linux client for the Epic Games Store and GOG Galaxy. It supports downloading and installing native Linux games from GOG, and running Windows-only games from both GOG and Epic Games Store using Wine/Proton. + +## Lutris + +Lutris is a game launcher for Linux. It supports installing and managing your game library from various sources, including Steam, GOG, EA Origin, and its own community-provided installers. It also supports running Windows-only games using Wine/Proton. + +### League of Legends + +League of Legends is a popular MOBA game developed by Riot Games. It is available on Windows, macOS, and Android. It is not officially supported on Linux, but it can be run using a special build of Wine by GloriousEggroll. + +### EA Desktop + +Games that use EA's Origin platform or EA Desktop can be run using Lutris. You can install the EA Desktop client using the Lutris installer, and then install your games from there. + +### Epic Games Store + +Please refer to the [Heroic Games Launcher](#heroic-games-launcher) section. + +## Bottles + +Bottles is a tool for managing Wine prefixes. It is similar to Lutris, but is more focused on creating and managing Wine prefixes for multiple applications rather than creating each prefix for a single game or application. + +Installing Bottles is only supported as a Flatpak. Any other version of bottles is not supported by the Ultramarine Linux Team. + +### Overwatch + +Overwatch is a popular team-based FPS game developed by Blizzard Entertainment. It is available on Windows, macOS, PlayStation 4, Xbox One, and Nintendo Switch. It is not officially supported on Linux, but it can be run using Wine/Proton. + +Overwatch 2 can be run in a Bottles prefix, simply install the game using the Blizzard Battle.net app and run it from the Bottles launcher. + +Overwatch 2 is now also on Steam, and can be run using Proton. + +### Valorant + +Valorant is a popular FPS game developed by Riot Games. It is available on Windows. It will not run on Linux, as it uses a kernel-level anti-cheat software that is not compatible with Wine/Proton. diff --git a/src/content/docs/zh_Hant/usage/l10n.mdx b/src/content/docs/zh_Hant/usage/l10n.mdx new file mode 100644 index 00000000..bc80dc96 --- /dev/null +++ b/src/content/docs/zh_Hant/usage/l10n.mdx @@ -0,0 +1,313 @@ +--- +title: Localization, Internationalization and Multilingualization +description: How to make your Linux system support other languages and even improve the support +--- + +import Alert from "../../../../components/Docs/Alert.astro"; + +Localization (l10n) and internationalization (i18n) support in Ultramarine Linux is crucial as +half of the project team speaks something other than English natively. This page contains details on +how i18n works and how it can be set up on Ultramarine. + +# Fonts + +Ultramarine should come with fonts for most if not all languages by default. Fonts for CJKV, Thai, +Indic languages are installed out of the box. If you find any glyphs supported by Unicode not +rendered correctly, [file a bug report]. + +## Font Priorities + +Chinese users might experience issues where Japanese fonts are preferred over Chinese ones simply +because the locale code `ja_JP` is before `zh_*` when sorted alphabetically. To solve this issue, +edit `~/.config/fontconfig/fonts.conf` (or `/etc/fonts/local.conf` for global changes): + +```xml + + + + + sans-serif + + Noto Sans CJK TW + Noto Sans + HanaMinA + + + + serif + + Noto Serif CJK TW + Noto Serif + HanaMinA + + + +``` + +# Inputting in another language + +You may change your key maps / keyboard layout in the settings applet. Refer to documentations for +your chosen Desktop Environment (DE) or Window Manager (WM) for more details. + +## IMFs, IMEs and IMs + +Special tools are required to type in CJKV (Chinese, Japanese, Korean and Vietnamese) and other +specific languages. + +**Input Method Frameworks (IMFs)** are software that enable users to type in numerous different input +methods. They provide a unified experience and user interface between IMEs and the DE/WM. + +**Input Method Editors (IMEs)** are software that convert user inputs into actual texts in different +languages. + +**Input Methods (IMs)** refer to the actual conversion between the input keys and the output text. IMs +are not actual software; there must be an IME that intercepts the inputted keys and map them into +output texts, where the mapping is specified by the IM. + +As an example, a Japanese KDE user would install `fcitx5-mozc` in order to type Japanese. In this +case, Fcitx5 is the IMF, Mozc is the IME, and the IM can be Romaji or Kana input depending on the +user's preference. + +A Cantonese GNOME user from Hong Kong learning Korean would install `ibus-rime` with Jyutping and +Cangjie support alongside `ibus-hangul` for Korean support. Here, IBus is the IMF, Rime IME provides +support for the Jyutping IM and Cangjie IM, while libhangul IME provides support for the Hangul IM. + +In most typical cases, only 1 IMF is installed in a system. However, multilingual users may choose +to install multiple IMEs so that they can type in multiple languages. + +## Fcitx5 vs IBus + +**IBus** (Intelligent Input Bus) is an IMF usually used in GTK-based desktop environments. If you +are using GNOME/Budgie, you most likely will choose IBus over Fcitx5 due to GNOME Desktop's tight +integration with IBus. Even though IBus's initial release was back in August 2008, releases are +still rather frequent and the project is still being maintained. + +**Fcitx5** is a newer IMF implementation and provides support for many different languages with a +slim core extensible with different addons and IMEs. It is the successor to Fcitx. If you are using +DEs that are not GTK-based (such as KDE Plasma which uses Qt) or any WMs, you should choose Fcitx5. + +There are no strict rules on which one to choose, you can install Fcitx5 even though you use GNOME, +and you can also install IBus on a KDE system. Things come down to personal preferences. + + + IBus will not work inside Window Managers. + + +## Setting up Fcitx5 on KDE + +1. Install your chosen IMEs (see the table below) alongside `kcm-fcitx5` and `fcitx5-configtool`. + + - Install `fcitx5-qt` and `fcitx5-gtk` for Qt/GTK support. + +2. Enable Fcitx 5: + + - On Wayland (default), go to _Settings > Input Devices > Virtual Keyboard_, and select _Fcitx 5_. + - If Fcitx 5 does not work even after a reboot, try running `im-chooser` and select _Fcitx 5_. + - On X11, install `fcitx5-autostart`. + - If Fcitx 5 does not work even after a reboot, try setting the following in `/etc/environment`: + ``` + GTK_IM_MODULE=fcitx + QT_IM_MODULE=fcitx + ``` + +3. Head to _Settings > Regional Settings > Input Method_, then start configuring Fcitx 5. + +## Setting up Fcitx5 on other DEs/WMs + +1. Install your chosen IMEs (see the table below) alongside `fcitx5-configtool`, `fcitx5-autostart`. + - Install `fcitx5-qt` and `fcitx5-gtk` for Qt/GTK support. +2. Fcitx 5 should be enabled via the autostart package. If not, + + - try running `im-chooser` and select _Fcitx 5_. + - try setting the following in `/etc/environment`: + ``` + GTK_IM_MODULE=fcitx + QT_IM_MODULE=fcitx + ``` + +3. When Fcitx 5 is running, right click on the new "en" icon on the system tray > Settings. +4. Start configuring Fcitx5. + +## Setting up IBus + +1. Install your chosen IMEs (see the table below). +2. On GNOME, Budgie/Flagship and similar DEs, go into Settings > Keyboard. +3. On other DEs, run `ibus-setup`. +4. If IBus does not work correctly, + - try running `im-chooser` and select _IBus_. + - try setting the following in `/etc/environment`: + ``` + GTK_IM_MODULE=ibus + QT_IM_MODULE=ibus + ``` + +## List of IMEs and IMs + +Credits to Arch Wiki contributors for a [complete list of IMs]. The table is filtered and amended +such that it better represents Ultramarine's support on different IMs: + +``` + ┌─────────────────────┬─────────────────────┐ + ↓IM/IME IMF→ │ Fcitx5 │ IBus │ +┌──────────────┴─────────────────────┴─────────────────────┤ +│ CHINESE │ +├──────────────┬─────────────────────┬─────────────────────┤ +│ Rime │ fcitx5-rime │ ibus-rime │ +├──────────────┼─────────────────────┼─────────────────────┤ +│ Pinyin │fcitx5-chinese-addons│ ibus-pinyin │ +├──────────────┼─────────────────────┼─────────────────────┤ +│ Zhuyin │ fcitx5-chewing │ ibus-chewing │ +│ Libzhuyin │ fcitx5-zhuyin │ ibus-libzhuyin │ +├──────────────┼─────────────────────┼─────────────────────┤ +│ Cangjie │ │ ibus-table-chinese- │ +│ Sucheng/Quick│ fcitx5-table-extra⁵ │ {cangjie,quick,scj} │ +│ SmartCangjie │ (and More…) │ /ibus-table-chinese │ +├──────────────┼─────────────────────┼─────────────────────┤ +│ Haifeng Wubi │ fcitx5-table-extra⁵ │ ibus-table-chinese- │ +│ Jidian Wubi │ (and More…) │wubi-{haifeng,jidian}│ +├──────────────┼─────────────────────┼─────────────────────┤ +│ Others │ fcitx5-table-extra? │ ibus-table-chinese? │ +├──────────────┴─────────────────────┴─────────────────────┤ +│ JAPANESE │ +├──────────────┬─────────────────────┬─────────────────────┤ +│ Mozc │ fcitx5-mozc │ ibus-mozc │ +├──────────────┼─────────────────────┼─────────────────────┤ +│ Anthy¹ │ fcitx5-anthy │ ibus-anthy │ +├──────────────┼─────────────────────┼─────────────────────┤ +│ SKK² │ fcitx5-skk │ ibus-skk │ +├──────────────┼─────────────────────┼─────────────────────┤ +│ KKC³ │ fcitx5-kkc │ ibus-kkc │ +├──────────────┴─────────────────────┴─────────────────────┤ +│ KOREAN │ +├──────────────┬─────────────────────┬─────────────────────┤ +│ Libhangul │ fcitx5-hangul │ ibus-hangul │ +├──────────────┴─────────────────────┴─────────────────────┤ +│ VIETNAMESE │ +├──────────────┬─────────────────────┬─────────────────────┤ +│ Unikey │ fcitx5-unikey │ ibus-unikey │ +├──────────────┼─────────────────────┼─────────────────────┤ +│ ViQR │ fcitx5-m17n │ ibus-table-tv │ +├──────────────┴─────────────────────┴─────────────────────┤ +│ INDIC │ +├──────────────┬─────────────────────┬─────────────────────┤ +│ m17n │ fcitx5-m17n │ ibus-m17n │ +├──────────────┼─────────────────────┼─────────────────────┤ +│ OpenBangla │ fcitx5-openbangla │ ibus-openbangla │ +├──────────────┼─────────────────────┼─────────────────────┤ +│Sayura Sinhara│ fcitx5-sayura │ ibus-sayura │ +├──────────────┴─────────────────────┴─────────────────────┤ +│ OTHERS │ +├──────────────┬─────────────────────┬─────────────────────┤ +│ Thai │ fcitx5-libthai │ ibus-table-tv │ +├──────────────┼─────────────────────┼─────────────────────┤ +│ Math Symbols │ Compose Key⁴? │ibus-table-mathwriter│ +├──────────────┼─────────────────────┼─────────────────────┤ +│ Completion │ *builtin* │ ibus-typing-booster │ +├──────────────┼─────────────────────┼─────────────────────┤ +│ Everything │ fcitx5-m17n │ ibus-m17n │ +└──────────────┴─────────────────────┴─────────────────────┘ +``` + +**Notes**: + +1. Anthy (the IM, not IME) is unmaintained, Mozc is usually preferred. +2. https://github.com/ueno/libskk +3. https://github.com/ueno/libkkc +4. See [#Compose Key](#compose-key). There is also LaTeX support in `fcitx5-m17n`. +5. See below for more IMs supported by `fcitx5-table-extra`. + +### List of IMs supported by `fcitx5-table-extra` + +- boshiamy +- cangjie-large +- cangjie3 +- cangjie5 +- cantonese +- cantonhk +- easy-large +- jyutping-table +- quick-classic +- quick3 +- quick5 +- scj6 +- stroke5 +- t9 +- wu +- wubi-large +- wubi98-large +- wubi98-pinyin +- wubi98-single +- wubi98 +- zhengma-large +- zhengma-pinyin +- zhengma + +### List of packages for `ibus-table*` + +- `ibus-table-code`: Ibus-Tables for Latex, CNS11643 & Emoticons +- `ibus-table-cyrillic`: Ibus-Tables for Cyrillic +- `ibus-table-extraphrase`: Extra phrase for ibus-table +- `ibus-table-latin`: Ibus-Tables for Latin +- `ibus-table-mathwriter`: Ibus-Tables for Unicode mathematics symbols +- `ibus-table-mongol`: Ibus-Tables for Mongol Script +- `ibus-table-others`: Various tables for IBus-Table +- `ibus-table-translit`: Ibus-Tables for Russian Translit +- `ibus-table-tv`: Ibus-Tables for Thai and Viqr (Vietnamese) +- `ibus-table-chinese`: Chinese input tables for IBus +- `ibus-table-chinese-array`: Array input methods +- `ibus-table-chinese-cangjie`: Cangjie based input methods +- `ibus-table-chinese-cantonese`: Cantonese input methods +- `ibus-table-chinese-cantonyale`: Cantonese input method based on yale romanization +- `ibus-table-chinese-easy`: Easy input method +- `ibus-table-chinese-erbi`: Erbi input method +- `ibus-table-chinese-quick`: Quick-to-learn input methods +- `ibus-table-chinese-scj`: Smart Cangjie +- `ibus-table-chinese-stroke5`: Stroke 5 input method +- `ibus-table-chinese-wu`: Wu pronunciation input method +- `ibus-table-chinese-wubi-haifeng`: Haifeng Wubi input method +- `ibus-table-chinese-wubi-jidian`: Jidian Wubi 86 input method, JiShuang 6.0 +- `ibus-table-chinese-yong`: YongMa input method + +### Rime + +[Rime](https://rime.im/) is an input method engine / IME for typing Chinese. It supports a wide +range of IMs and is highly customizable. + +You may refer to [ArchWiki](https://wiki.archlinux.org/title/Rime) regarding how Rime could be +configured. Note that Fedora/Ultramrine does not provide `rime-*` packages in our repositories. +You will need to use [plum](https://github.com/rime/plum) (aka. `rime-install`) to install schemas. +`rime-install` defaults to `ibus`; append `rime_frontend=fcitx-rime` to the front of the command if +you are using Fcitx5: + +``` +rime_frontend=fcitx-rime bash rime-install rime-aca/rime-cangjie6 +``` + +## Compose Key + +See [Compose Key on Wikipedia](https://en.wikipedia.org/wiki/Compose_key) and +[on ArchWiki](https://wiki.archlinux.org/title/Compose_key). + +# Translations + +Users that speak less popular languages might face issues where their system shows text in English +even though the language settings are configured properly. Do not report this issue to us. This is +due to lack of translation efforts from upstream (either the DE/WM or the app in concern). You may +help by visiting the translation platform provided by upstream and be a translator. Your +contributions would improve the entire Linux ecosystem experience for minorities. + +## Ultramarine Components + +If projects / software provided by Ultramarine (such as the Readymade installer) are untranslated +in your language, or you would like to improve the translations, please visit +[our Weblate translation platform](https://weblate.fyralabs.com/). + +There are cases where your language is not shown in the list of languages. This might be because no +one has made efforts on translating the software, or it is not supported by the i18n libraries used +by the software. For example, there is no Cantonese language option in Readymade because the i18n +library provided by GNOME Desktop does not support it. In this case, you should report this issue +to the upstream library. If you have a hard time determining where to report, you may join one of +our communities and reach out. + +[file a bug report]: https://github.com/Ultramarine-Linux/ultramarine/issues/new?assignees=&labels=bug&projects=&template=bug_report.md&title=%5BBUG%5D+Issue+Report +[complete list of IMs]: https://wiki.archlinux.org/title/Input_method#List_of_available_input_method_editors diff --git a/src/content/docs/zh_Hant/usage/um40-dnf5.mdx b/src/content/docs/zh_Hant/usage/um40-dnf5.mdx new file mode 100644 index 00000000..0ec69a61 --- /dev/null +++ b/src/content/docs/zh_Hant/usage/um40-dnf5.mdx @@ -0,0 +1,56 @@ +--- +title: Dnf5 Is The Default Package Manager In Ultramarine Linux 40 +description: dnf5 is the default package manager in Ultramarine Linux 40 +--- + +import Alert from "../../../../components/Docs/Alert.astro"; + +Starting with UM40, `dnf5` will replace `dnf-3` as the default package manager. +This is done via the `dnf5-default-package-manager` package provided by the UM40 repositories. + +## Technical details + +The `dnf5-default-package-manager` package has a `%triggerin` script for `dnf` and `yum`. When these +2 packages get installed/updated, the script will be executed, which will replace `/usr/bin/dnf` and +`/usr/bin/yum` symlinks to point to `/usr/bin/dnf5` instead of `/usr/bin/dnf-3`. + +This change has been proposed on upstream Fedora, but has been delayed to Fedora 41. However, we've +decided this change should be worth a try on UM40. + +## Effects + +By using `dnf5`, users will be able to install, remove and upgrade packages much faster. End-users +shouldn't need to do anything to adapt to this change. + +Since `dnf5` isn't bug-for-bug compatible with `dnf-3`, programs that rely on `dnf-3` should use the +`dnf-3` or `dnf4` command to use the older version of `dnf`. If you are facing compatiblility issues +with some apps that rely on the `dnf` symlink instead of the actual `/usr/bin/dnf-3` binary, you are +advised to report this bug to upstreams (i.e. the apps in concern), not `dnf5` or Ultramarine. + +## FAQ + +### Why `dnf5`? + +- `dnf5` provides better performance over `dnf-3` because it's written in C++ instead of Python. +- We hope this change will push apps in the Fedora neighbourhood to switch to `dnf5` and at the same + time discover apps that are poorly maintained/written and rely on `dnf`/`dnf-3`. + +### Does UM40 remove `dnf`? + +- We do not remove `dnf-3`. We only replace the symlinks for `dnf` and `yum` to point to `dnf5`. + +### Wouldn't that break compatiblility? + +- If changing only 2 symlinks actually breaks your workflows, either your workflows are poorly made, + or there are some apps you use that rely on the 2 symlinks, which evinces that those apps are + unfortunately poorly made. Change your workflows to adapt to `dnf5` or replace `dnf` with the + actual `dnf-3` binary; or in the latter case, report the issue to the upstream apps in concern. + +- We expect `dnf5` in the future to be supposedly much more compatible with `dnf-3`. Upstream Fedora + has been working hard on making `dnf5` the replacement for `dnf-3`. There are works in progress to + adapt GNOME software for `dnf5`, and to make `dnf5` much more feature-complete. + +### But some features are missing in `dnf5`! + +- There are efforts on making `dnf5` more feature-complete compared with `dnf-3`. You may help speed + this up by [contributing to upstream](https://github.com/rpm-software-management/dnf5/). diff --git a/src/content/docs/zh_Hant/welcome.mdx b/src/content/docs/zh_Hant/welcome.mdx new file mode 100644 index 00000000..ff504092 --- /dev/null +++ b/src/content/docs/zh_Hant/welcome.mdx @@ -0,0 +1,160 @@ +--- +title: 歡迎 +description: "This wiki is meant to be the extended documentation for both end users and developers, so it is separated in those two categories." +--- + +歡迎來臨 Ultramarine Wiki!這裏可以令使用者更快有效地使用 Ultramarine Linux。 + +本 Wiki 現正翻譯至中文。若果有興趣成為我們的一份子,請至[本 Wiki 的 GitHub 原碼庫](https://github.com/Ultramarine-Linux/wiki)。 + +開發者及安裝包製作者的檔案位於 [Fyra Developer](https://developer.fyralabs.com) (英)。 +若想開始為 Ultramarine Linux 社羣貢獻,請移玉步至[貢獻部分](/zh_Hant/contributing/contributorguide)。 + +若想安裝 Ultramarine Linux,請閱讀:[取得 Ultramarine](/zh_Hant/installation/getting)。 + +## 主要總準則 + +Ultramarine Linux 由 Korora Linux 啟發而成,目標是成為一個對不同的技術經驗的人也「總之行 (just works)」的作業系統。 + +為了達成這個目標,我們會遵循下列價值觀: + +### 實用 + +Fedora 比較遵循意識形態 (ideology) ——他們提供一個基本上沒有專利軟件的作業系統。 +相比之下,我們遵循「最少阻力」的運作模式——只要能夠改善使用者體驗,不論是否專利軟件,我們都會願意提供它們,讓使用者一開箱就可以享用。 + +### 創新 + +我們相信 Linux 近期的發展能夠大大改善使用者及開發者體驗:Flatpak、xdg-portals 等科技能讓開發者更容易並更快地提供更好的使用者體驗。 +上流的發展能改善使用者體驗的同時,下流我們的發展,包括主題顏色、Chromebook 支援等,能改善整體 Linux 的生態——這不正是雙贏嘛! + +### 使用者體驗 + +雖然對高階使用者來說,改幾個設定和安裝幾個第三者軟件庫的程式可能易如反掌; +但是對 Linux 甚至 Fedora 的新手來說可能就需要好幾個小時才能找到怎麼做。 +Ultramarine 能讓新和舊的使用者快速地準備一個新系統。 + +## 計劃功能 + +- 歡迎程式 (OOBE) +- 像 YaST 的系統設定程式 + +## 常見問題 + +### 遷徙腳本 (migration script) 具體做甚麼? + +它安裝 RPMFusion、Terra、我們的 PGP 證明鍵、並安裝 Ultramarine Linux 的系統基本組件,取代 Fedora 本身的 `release` 軟件包。 + +為了避免令使用者的系統多了不會用到的軟件,它並不會安裝 Ultramarine Linux 基本組件以外的軟件包。 + +遷徙後,您將會得到我們最新的功能! + +### 這不就是 Fedora 加上了 RPMFusion 嘛,又有甚麼存在價值! + +Ultramarine Linux 是對 Fedora 的法律限制下的沮喪,所衍生出來的產物。 +由於 Fedora (以及 Red Hat) 是一個美國實實,在美國的專利權制度下他們並不能提供一些軟件。 +相比之下,基於泰國的 Ultramarine 並沒有這些版權問題。 + +本團隊旨在令 Fedora 有更好的體驗:使用者可以在 FlatHub、RPMFusion 或 Terra 裏維護任何軟件。 + +我們建議使用者貢獻至本計劃,想了解更多請參考[貢獻指南](/zh_Hant/contributing/contributorguide)。 + +### 這不就是 Fedora 加上了幾個新桌面環境嘛! + +No, Ultramarine is not just Fedora with extra desktop environments. We aim to improve the user experience by making the system "just work" for new and advanced users. + +### Does Ultramarine track or collect my data? + +As of now, the only data we collect is a count of how many times a package has been downloaded from Terra or the Ultramarine repository using [DNF Counting](https://docs.fedoraproject.org/en-US/infra/sysadmin_guide/dnf-counting/). This information is not tied to you or your computer. + +Fyra Labs (the company behind Ultramarine) does not collect any data that can be tied to an individual without express consent from the user. + +### Is Ultramarine semi-rolling? + +**No**. Ultramarine and Fedora are not semi-rolling or rolling. Instead, they use a stable release scheme. +Updates with breaking changes are rolled out only for every stable release version. Minor updates / point updates are guaranteed to be backwards-compatible, i.e. system components in Ultramarine are updated if and only if they do not break compatibility. + +However, Ultramarine Linux includes Terra, RPM Fusion and Flathub. + +- Terra is an RPM repository provided by Fyra Labs, and it mainly uses a rolling release scheme. +- RPM Fusion is another (very popular) third party repository for Fedora. It uses a stable release scheme. +- Flathub is a cross-distro Flatpak repository. Updates in this repository have nothing to do with Fedora/Ultramarine's release cycles. Strictly speaking, packages in Flathub are rolling because they are updated once upstream releases a version. + +### If some packages are updated mid-release, doesn't that mean Ultramarine is unstable/insecure compared to, e.g. Debian? + +**No**. That's an incorrect approach to view if a distribution is secure/stable or not. + +- Packages in Fedora/Ultramarine are updated mid-release, but those updates **only include non-breaking changes**. Your computer has virtually a near-zero chance of breaking mid-release due to an update. +- Undeniably, Ultramarine and Fedora has much more frequent updates compared to distros like Debian, and to some extent, they might be more unstable. However, Fedora/Ultramarine's release cycle makes it so that the operating system is still stable enough for normal use. Millions of Fedora devices across the world run fine without breaking, which demonstrate Fedora's high stability. Debian's release cycle is also arguably too slow and can cause more hassles than necessary. +- Some distros choose to take stable release cycles to an extreme. These distros are designed for servers that will stay up for years by delaying updates for months or even a few years. PC users might miss out a lot by using these distros, including new features, bug fixes, security patches, etc. Without the proper knowledge and management, these systems could be even more insecure than Fedora/Ultramarine. + +### Why Ultramarine (instead of other distros) + +- Performance + - Fedora (the distro Ultramarine is based on) has some of the best IO performance over other distros. + - BTRFS is the default file system, a relatively performant file system with features like snapshots. You can backup your files in less than a second (unlike other file systems like ext4). + - We include lightweight desktop environments such as Budgie (Flagship Edition) and XFCE. They look great, work well and are snappy. +- Privacy + - We don't track/collect your private/personal data. + - We don't even know how many Ultramarine devices there are (unlike some companies). +- Security + - Security updates are provided quickly (unlike some other distros). + - SELinux is active by default. +- Customisations + - There are multiple desktop environments for you to choose from. + - We have applets installed out of the box that help you with further desktop customizations. +- Usability + - You never need to touch the command line. + - If there are cases that require the command line, and those situations might arise to other normal users too, you should [report this bug](https://github.com/Ultramarine-Linux/ultramarine). + - Ultramarine has sane defaults. + - Popular programs that you probably need are installed by default, including LibreOffice, Firefox, drivers, etc. + - We include repositories that provide popular software. + - There are many more apps you can installed from an app store. They are verified carefully by dedicated teams. + - The Fedora and RPM Fusion repositories are used and trusted by millions. + - Terra is reviewed by Fyra Labs and the Ultramarine Project. You can also [take a look at our security policy](https://github.com/terrapkg/packages/blob/f39/SECURITY.md). + - Flathub is used by users across the entire Linux/BSD ecosystem. If you install apps from an app store, you are most likely installing apps from Flathub, which are isolated from your system environment when run, making attacks less likely to succeed. + +### Why Ultramarine (instead of Windows) + +- Performance + - Windows bloats your computer with many different potentially unwanted programs that slow down your computer. Ultramarine does not. + - Ultramarine provides a few lightweight desktop environments (namely Budgie/Flagship and XFCE), which run faster and provide a snappier experience. + - Ultramarine uses newer technologies that are not available on Windows because of backwards compatibility. These technologies brings better performance. + - For example, task schedulers, file systems, shells, etc. + - Most modern servers (including giant web servers) use Linux simply because it's much faster. +- Privacy + - We do not collect/track your private data ever because that's a waste of storage. + - We don't even know how many Ultramarine devices there are (unlike some companies). + - When you setup Windows, you need to accept a very long license. Well, we don't even have a license agreement page in our installer. + - Ultramarine is open source. Anyone can check if we track/collect your data by reviewing the source code. We don't. +- Security + - Security updates are much quicker than Windows. + - Updates don't require reboots. + - It's much more unlikely for malware, viruses, etc. to target Linux due to its current low popularity. + - Our open source model makes it very easy for anyone to spot bugs/vulnerabilities and fix them quicker. +- Stability + - Ultramarine uses a stable release cycle. Updates will not break your computer. + - When there is a chance a system upgrade could break your computer, we warn you about it. + - We advise people to contact support to check if the upgrade could actually break the system. + - Our support team can help you solve any potential issues while performing a system upgrade. + - And most importantly, you could just choose not to upgrade at all! The choice is yours. + - Millions of IoT devices use Linux. If something breaks, the entire Internet collapses. If the Internet trusts Linux's stability, you should too. +- Customizations and Usability + - There are multiple desktop environments for you to choose from. Some of them are lightweight, some of them are fancy. + - Ultramarine provides many ways over how you can customize your entire desktop experience. You have full control over your computer. + - We never hide choices from you — in fact, we make it easier for you. + - If you find some specific customizations hard to perform on Ultramarine, it's a design flaw and you should send your feedback to us (e.g. via [GitHub](https://github.com/Ultramarine-Linux/ultramarine)). + - We support reasonably old and new hardware, and we provide many tools for you to setup a performant, personalized system on your computer. + - Default settings on Ultramarine makes it so that you can start using your computer as soon as possible. + - Ultramarine comes with an app store. You can install programs reviewed by dedicated teams very easily. + - If you want some programs to be included in the app stores, you should send us feedback. + +## Core Team + +- 🇹🇭 Pornpipat "Cappy" Popum - Chief Information Officer, Project Lead, Release Engineer +- 🇩🇪 Trobonox - Documentation, Web Developer, UI/UX Designer +- 🇮🇩 Mo - Low-level developer +- 🇵🇱 Toru Ishikawa - Infrastructure support +- 🇭🇰 Mado - VP of DevOps, Package Maintainer + +[Meet the team →](https://fyralabs.com/about/#Meet:~:text=benefit%20of%20all.-,Meet%20the%20Team) From 7a66afaff685129c7994b449143cdde71515328f Mon Sep 17 00:00:00 2001 From: madomado Date: Sun, 2 Jun 2024 23:29:41 +0800 Subject: [PATCH 02/10] feat(zh_Hant): more translations for welcome.mdx --- src/consts.ts | 33 ++++++++++++---------------- src/content/docs/zh_Hant/welcome.mdx | 9 ++++---- 2 files changed, 19 insertions(+), 23 deletions(-) diff --git a/src/consts.ts b/src/consts.ts index 188087b4..012301d5 100644 --- a/src/consts.ts +++ b/src/consts.ts @@ -151,10 +151,10 @@ export const SIDEBAR: Sidebar = { ], 貢獻: [ { text: "貢獻指南", link: "zh_Hant/contributing/contributorguide" }, - { text: "Development", link: "zh_Hant/contributing/hacking" }, + { text: "開發過程", link: "zh_Hant/contributing/hacking" }, ], 硬件: [ - { text: "System Requirements", link: "zh_Hant/hardware/requirements" }, + { text: "系統要求", link: "zh_Hant/hardware/requirements" }, { text: "Ultramarine Anywhere", link: "zh_Hant/hardware/anywhere" }, { text: "NVIDIA", link: "zh_Hant/hardware/nvidia" }, { text: "Microsoft Surface", link: "zh_Hant/hardware/surface" }, @@ -165,32 +165,27 @@ export const SIDEBAR: Sidebar = { { text: "BIOS Keys", link: "zh_Hant/hardware/bioskeys" }, ], "關於 Linux": [ - { text: "What is Linux?", link: "zh_Hant/linux/overview" }, - { text: "The File System", link: "zh_Hant/linux/filesystem" }, - { text: "Device Files", link: "zh_Hant/linux/devicefiles" }, - { text: "Permissions", link: "zh_Hant/linux/permissions" }, - { - text: "Software and Package Management", - link: "zh_Hant/linux/software", - }, + { text: "何謂 Linux?", link: "zh_Hant/linux/overview" }, + { text: "檔案系統", link: "zh_Hant/linux/filesystem" }, + { text: "裝置檔案", link: "zh_Hant/linux/devicefiles" }, + { text: "權限", link: "zh_Hant/linux/permissions" }, + { text: "軟件及安裝包管理", link: "zh_Hant/linux/software" }, { text: "The Shell", link: "zh_Hant/linux/shell" }, - { text: "Security and Privacy", link: "zh_Hant/linux/securityprivacy" }, + { text: "安全及私隱", link: "zh_Hant/linux/securityprivacy" }, ], - Usage: [ - { text: "Gaming on Ultramarine", link: "zh_Hant/usage/gaming" }, - { text: "Localization", link: "zh_Hant/usage/l10n" }, + 用途: [ + { text: "電子遊戲", link: "zh_Hant/usage/gaming" }, + { text: "本地化", link: "zh_Hant/usage/l10n" }, ], - "Release Notes": [{ text: "Errata", link: "zh_Hant/release/errata" }], + 發佈版本通知: [{ text: "勘誤表", link: "zh_Hant/release/errata" }], - Development: [ + 開發: [ { - text: "Developing for Ultramarine", + text: "為 Ultramarine 開發", link: "zh_Hant/development/developing-for-ultramarine", }, - { text: "Using Andaman", link: "zh_Hant/development/anda" }, - { text: "UX Guidelines", link: "zh_Hant/development/ux-guide" }, ], }, }; diff --git a/src/content/docs/zh_Hant/welcome.mdx b/src/content/docs/zh_Hant/welcome.mdx index ff504092..6260ab87 100644 --- a/src/content/docs/zh_Hant/welcome.mdx +++ b/src/content/docs/zh_Hant/welcome.mdx @@ -61,13 +61,14 @@ Ultramarine Linux 是對 Fedora 的法律限制下的沮喪,所衍生出來的 ### 這不就是 Fedora 加上了幾個新桌面環境嘛! -No, Ultramarine is not just Fedora with extra desktop environments. We aim to improve the user experience by making the system "just work" for new and advanced users. +不,我們還會在桌面環境上改善系統的使用者體驗,令 Ultramarine 無論是新手還是進階使用者都能用得上手。 -### Does Ultramarine track or collect my data? +### Ultramarine 會收集我的資料嗎? -As of now, the only data we collect is a count of how many times a package has been downloaded from Terra or the Ultramarine repository using [DNF Counting](https://docs.fedoraproject.org/en-US/infra/sysadmin_guide/dnf-counting/). This information is not tied to you or your computer. +直至現在,使用者被收集的資料只限於從 Terra 以及 Ultramarine 的軟件庫下載安裝包的次數;這使用了 [DNF Counting](https://docs.fedoraproject.org/en-US/infra/sysadmin_guide/dnf-counting/)。 +這個資料並不會與使用者的電腦掛鉤。 -Fyra Labs (the company behind Ultramarine) does not collect any data that can be tied to an individual without express consent from the user. +Fyra Labs (Ultramarine 背後的團體) 並不會在沒有使用者的同意下收集任何掛鉤個人的資料。 ### Is Ultramarine semi-rolling? From 65ecd8619b11a76bc5596c6d64d5d59e595b631f Mon Sep 17 00:00:00 2001 From: madomado Date: Tue, 4 Jun 2024 13:24:49 +0800 Subject: [PATCH 03/10] Update getting.mdx --- src/content/docs/zh_Hant/installation/getting.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/content/docs/zh_Hant/installation/getting.mdx b/src/content/docs/zh_Hant/installation/getting.mdx index cf0a9a82..d4123891 100644 --- a/src/content/docs/zh_Hant/installation/getting.mdx +++ b/src/content/docs/zh_Hant/installation/getting.mdx @@ -5,11 +5,11 @@ description: "Getting started with installing Ultramarine Linux" import Alert from "../../../../components/Docs/Alert.astro"; -## System Requirements +## 系統要求 -If your computer could run Windows 7 well, chances are it'll run Ultramarine Linux. You should check the [System Requirements](/en/hardware/requirements) to make sure +若果您的電腦能夠運行微軟的 Windows 7,它很大可能亦能運行 Ultramarine Linux。您可以檢查電腦是否符合[硬件要求](/zh_Hant/hardware/requirements)。 -## Choosing Your Edition +## 選擇您的 Choosing Your Edition Ultramarine Linux comes in 4 variants: From 8df963f61d8028203f8bf972608a672802d6bdc6 Mon Sep 17 00:00:00 2001 From: madomado Date: Wed, 5 Jun 2024 14:08:36 +0800 Subject: [PATCH 04/10] Update getting.mdx --- src/content/docs/zh_Hant/installation/getting.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/content/docs/zh_Hant/installation/getting.mdx b/src/content/docs/zh_Hant/installation/getting.mdx index d4123891..e6469a3d 100644 --- a/src/content/docs/zh_Hant/installation/getting.mdx +++ b/src/content/docs/zh_Hant/installation/getting.mdx @@ -9,11 +9,11 @@ import Alert from "../../../../components/Docs/Alert.astro"; 若果您的電腦能夠運行微軟的 Windows 7,它很大可能亦能運行 Ultramarine Linux。您可以檢查電腦是否符合[硬件要求](/zh_Hant/hardware/requirements)。 -## 選擇您的 Choosing Your Edition +## 版本 -Ultramarine Linux comes in 4 variants: +Ultramarine Linux 有 4 個版本︰ -- **Flagship Edition**: Our default and most popular variant. Choose Flagship if you'd like a familiar and stylish experience. +- **Flagship**(即 Budgie)︰我們最受歡迎的版本適合,追求一個熟悉及酷的系統的使用者。 - **KDE Edition**: Our second most popular variant. Choose KDE if you'd like a simply customisable experience. - **GNOME Edition**: Elegant and Modern. Choose GNOME if you'd like a simple, unique experience. - **Xfce Edition**: Lightweight and Configurable. Choose Xfce if you'd like a lighter experience. From 73af222fa150622a03e85fe049268decc6e57562 Mon Sep 17 00:00:00 2001 From: madomado Date: Wed, 5 Jun 2024 17:28:47 +0800 Subject: [PATCH 05/10] feat(zh_Hant): translate community.mdx --- .../docs/zh_Hant/community/community.mdx | 41 ++++++++----------- 1 file changed, 16 insertions(+), 25 deletions(-) diff --git a/src/content/docs/zh_Hant/community/community.mdx b/src/content/docs/zh_Hant/community/community.mdx index e19df5ad..31bb873a 100644 --- a/src/content/docs/zh_Hant/community/community.mdx +++ b/src/content/docs/zh_Hant/community/community.mdx @@ -1,50 +1,41 @@ --- -title: Join the Community! +title: 參與社羣! description: "Community Information" --- import Alert from "../../../../components/Docs/Alert.astro"; -Ultramarine Linux has an active community of users, tinkerers, developers, and everyone in between. +Ultramarine Linux 有一個積極的社羣,包括不同的使用者、開發人員等。 -Our community (like our code) is open to everyone. Here's some of the official spaces: +正如我們的軟件,我們的社羣也是開發的。以下是我們其中官方的空間: ### Discord - -
-**Guild Migration** +我們所有的開發項目都在 Fyra Labs Discord。這裏有活躍交流,我們都在這裏做不同的東西。使用者、貢獻人員及開發者都可以在此得到支援。 -We are currently in the process of migrating users from the Ultramarine Linux Discord to the Fyra Labs Discord. Please use the Fyra Discord. - -
-
- -The Fyra Labs Discord is for all of our projects. We have lively discussions and build great things together. You can get support as a user and as a contributor here. - -[Join the Fyra Labs Chat →](https://discord.gg/5fdPuxTg5Q) +[加入 Fyra Labs Discord →](https://discord.gg/5fdPuxTg5Q) ### Matrix -Fyra Labs is on Matrix! You can access the best of the community inside Matrix! +同樣地,您可以到 Matrix 參與 Fyra Labs 的社羣! -All of our development channels are bridged, so you can also start here if you'd like to contribute code. +所有的貢獻頻道亦已經被同步,您可以在這裏加入我們,一起貢獻社羣。 -[Join the Fyra Labs Space →](https://matrix.to/#/#hub:fyralabs.com) +[加入 Fyra Labs Space →](https://matrix.to/#/#hub:fyralabs.com) ### Reddit -The Ultramarine Subreddit is a more asynchronous way to interact with the community. It offers the same great things in a more reddit-y way. +Ultramarine Subreddit 是一個比較非同步的社羣參與方式。 -[Join the Ultramarine Reddit →](https://reddit.com/r/ultramarine) +[加入 r/ultramarine →](https://reddit.com/r/ultramarine) -### Socials +### 其他 -Ultramarine Linux is on Twitter and the Fediverse. These accounts will include important updates about features, bugs, and downtime. +Ultramarine Linux 也在 Twitter 和 Fediverse (聯邦宇宙)中。這些帳號會有重要的即時資訊,例如下網情況、新功能和錯誤等。 -[Follow Ultramarine on the Fediverse →](https://fedi.fyralabs.com/@ultramarine) +[在聯邦宇宙跟蹤 Ultramarine →](https://fedi.fyralabs.com/@ultramarine) -[Follow Ultramarine on Twitter →](https://twitter.com/UltramarineProj) +[在 Twitter 跟蹤 Ultramarine →](https://twitter.com/UltramarineProj) -## Our Philosophy +## 我們的準則 -We believe that the Fyra Community is larger than just Fyra (the organization). Part of this is interacting with the rest of our community. We feel that this allows us to better judge the desires and needs of our users (and we love talking to all of you.) +我們認為 Fyra 社羣遠比 Fyra Labs 的個體大。我們的社羣正是在與其他相關的社羣有不同的交流。我們覺得這可以令我們更容易判別使用者的慾望及需要(我們也很喜歡跟您們談談)。 From c01a105d0380f34baeee72fe72d86eed4f098894 Mon Sep 17 00:00:00 2001 From: madomado Date: Wed, 5 Jun 2024 19:24:11 +0800 Subject: [PATCH 06/10] wip getting.mdx --- .../docs/zh_Hant/installation/getting.mdx | 40 +++++++++---------- 1 file changed, 18 insertions(+), 22 deletions(-) diff --git a/src/content/docs/zh_Hant/installation/getting.mdx b/src/content/docs/zh_Hant/installation/getting.mdx index e6469a3d..cbae78be 100644 --- a/src/content/docs/zh_Hant/installation/getting.mdx +++ b/src/content/docs/zh_Hant/installation/getting.mdx @@ -13,18 +13,17 @@ import Alert from "../../../../components/Docs/Alert.astro"; Ultramarine Linux 有 4 個版本︰ -- **Flagship**(即 Budgie)︰我們最受歡迎的版本適合,追求一個熟悉及酷的系統的使用者。 -- **KDE Edition**: Our second most popular variant. Choose KDE if you'd like a simply customisable experience. -- **GNOME Edition**: Elegant and Modern. Choose GNOME if you'd like a simple, unique experience. -- **Xfce Edition**: Lightweight and Configurable. Choose Xfce if you'd like a lighter experience. +- **Flagship**(即 Budgie)︰我們最受歡迎的版本,適合追求一個熟悉及酷的系統的使用者。 +- **KDE**︰我們第二最受歡迎的版本,適合追求一個容易改製的體驗的使用者。 +- **GNOME**︰優雅而新淨,適合追求一個簡單而獨特的體驗的使用者。 +- **Xfce**︰輕便而容易改製,適合追求一個輕快的體驗的使用者。 -Check the [System Requirements](/en/hardware/requirements) to make sure your hardware is supported. +您可以檢查[系統要求](/zh_Hant/hardware/requirements)以確認您的裝置是否被支持。 -Ultramarine Linux is distributed in various formats available for download from [our website](https://ultramarine-linux.org). +[我們的網站](https://ultramarine-linux.org)裏提供不同格式及不同版本的 Ultramarine Linux。 - Fyra Labs cannot guarantee the safety or quality of images downloaded from - sites other than our website or FOSSTorrents + Fyra Labs 並不能確保上述網站及 FOSSTorrents 以外所提供的映像的安全性。 ### Atomic @@ -53,35 +52,32 @@ These can be found in the [Raw Image](https://images.fyralabs.com/images/ultrama {/* **Ultramarine Kanopy** is an upcoming variant of Ultramarine Linux, which is made for servers and cloud computing. It is currently in development and does not have a release date yet, but we plan to target Qx '2x */} {/* It will be based on Ultramarine OSTree and is designed as a simple and easy-to-use server operating system, with a focus on containerized applications with a simple, easy-to-use web interface as a competitor to TrueNAS SCALE, OpenMediaVault, and other similar operating systems. */} -## Verifying the Safety of an Ultramarine Image (Recommended) +## 確認映像安全性(建議) -Ultramarine images have a matching checksum file that can be checked against the image itself. +每一個映像都各自有一個*核對和*(checksum),供下載後可作映像核對之用。 -They can be downloaded by clicking the `View checksum` button on the [download page](https://ultramarine-linux.org/download/). +在[下載頁](https://ultramarine-linux.org/download/)按下`View checksum`後即可下載核對和。 -### Verifying the Checksum on Linux and macOS +### 在 Linux 和 MacOS 核對 -You can use the following commands to check the integrity of the image: +以下的指令能夠檢查映像是否完整無誤: ```bash -sha256sum -b /path/to/ultramarine.iso # Generate the checksum for the image -cat /path/to/checksum # Check the checksum - -# Now you can compare the checksum +sha256sum -b /path/to/ultramarine.iso +cat /path/to/checksum ``` -### Verifying the Checksum on Windows +### 在 Windows 核對 -In Powershell, run this command: +以 Powershell 執行下列指令: ```powershell CertUtil -hashfile PATH\TO\ULTRAMARINE.ISO SHA256 -# Open the checksum file with Notepad and compare the checksum ``` +再利用 Notepad 打開核對和的檔案進行比較。 - If you're using a Raspberry Pi, stop here and go to the [Raspberry Pi - instructions](/en/installation/rpi) + Raspberry Pi 的使用者請至:[Raspberry Pi 安裝過程](/zh_Hant/installation/rpi) ## Creating the Installer From b436652b4c70057006d16f460d13ce17e21a69ae Mon Sep 17 00:00:00 2001 From: madomado Date: Fri, 7 Jun 2024 19:18:32 +0800 Subject: [PATCH 07/10] feat(zh_Hant): installation.mdx --- .../docs/zh_Hant/installation/getting.mdx | 33 +++++----- .../zh_Hant/installation/installation.mdx | 60 +++++++++---------- 2 files changed, 45 insertions(+), 48 deletions(-) diff --git a/src/content/docs/zh_Hant/installation/getting.mdx b/src/content/docs/zh_Hant/installation/getting.mdx index cbae78be..43c8be2b 100644 --- a/src/content/docs/zh_Hant/installation/getting.mdx +++ b/src/content/docs/zh_Hant/installation/getting.mdx @@ -23,10 +23,10 @@ Ultramarine Linux 有 4 個版本︰ [我們的網站](https://ultramarine-linux.org)裏提供不同格式及不同版本的 Ultramarine Linux。 - Fyra Labs 並不能確保上述網站及 FOSSTorrents 以外所提供的映像的安全性。 + Fyra Labs 並不能確保上述網站及 FOSSTorrents 以外所提供的映射的安全性。 -### Atomic +{/* ### Atomic Ultramarine Linux also comes in Atomic versions. Ultramarine Atomic works similarly to Fedora Silverblue, CoreOS, and other OSTree-based operating systems. This variant is made for users who want a stable, immutable system that is easy to recover from. We see immutability as the future of Linux systems. Ideally, this will become the standard edition in the future. @@ -41,7 +41,7 @@ These builds are currently in beta. If you are planning to test them, please joi Ultramarine is also availible as a raw (or preinstalled) image. These images come with a desktop preinstalled and are intended to be flashed directly to the drive your device will boot from (like an SSD or an SD card.) -These can be found in the [Raw Image](https://images.fyralabs.com/images/ultramarine/40/) sections of the download page. +These can be found in the [Raw Image](https://images.fyralabs.com/images/ultramarine/40/) sections of the download page. */} {/* ### Chromebook Edition */} @@ -52,15 +52,15 @@ These can be found in the [Raw Image](https://images.fyralabs.com/images/ultrama {/* **Ultramarine Kanopy** is an upcoming variant of Ultramarine Linux, which is made for servers and cloud computing. It is currently in development and does not have a release date yet, but we plan to target Qx '2x */} {/* It will be based on Ultramarine OSTree and is designed as a simple and easy-to-use server operating system, with a focus on containerized applications with a simple, easy-to-use web interface as a competitor to TrueNAS SCALE, OpenMediaVault, and other similar operating systems. */} -## 確認映像安全性(建議) +## 確認映射安全性(建議) -每一個映像都各自有一個*核對和*(checksum),供下載後可作映像核對之用。 +每一個映像都各自有一個*核對和*(checksum),供下載後可作映射核對之用。 在[下載頁](https://ultramarine-linux.org/download/)按下`View checksum`後即可下載核對和。 ### 在 Linux 和 MacOS 核對 -以下的指令能夠檢查映像是否完整無誤: +以下的指令能夠檢查映射是否完整無誤: ```bash sha256sum -b /path/to/ultramarine.iso @@ -80,35 +80,34 @@ CertUtil -hashfile PATH\TO\ULTRAMARINE.ISO SHA256 Raspberry Pi 的使用者請至:[Raspberry Pi 安裝過程](/zh_Hant/installation/rpi) -## Creating the Installer +## 製造安裝介質 -Grab a USB stick! Use a flasher program to create an installer from the image. [balenaEtcher](https://www.balena.io/etcher/) is an easy cross-platform choice. +利用一個映射寫入工具,將已下載的映射寫入一個 USB 記憶棒(或其他方便的媒體),以製造安裝介質。建議使用適合不同平台的 [balenaEtcher](https://www.balena.io/etcher/)。 ![](/assets/balenaetcher.png) -You can also use [Fedora Media Writer](https://github.com/FedoraQt/MediaWriter), or the Disks application on Flagship, Xfce, and GNOME editions. +您亦可以使用 [Fedora Media Writer](https://github.com/FedoraQt/MediaWriter),或在 Flagship、Xfce 及 GNOME 版本上的硬盤工具。 - Rufus has been known to cause issues with Ultramarine images. + 已知 Rufus 並不能寫入 Ultramarine 的映射。 -## Booting the Installer +## 啟動安裝介質 -After flashing the image to your installer, you can boot to Ultramarine Linux by plugging in the installer and restarting your computer. +寫入映射後,您可以插入媒體並重啟電腦,以啟動安裝介質。 -Most computers have a special key that can be used to select a boot device, or to enter the setup screen. This varies from brand to brand, check the [BIOS Keys Page](/en/hardware/bioskeys) for how to enter the boot menu on your machine. +大部分電腦有特別的按鍵,以讓使用者選取作啟動用的媒體或進入初始化介面。不同牌子會有不同的按鍵,詳請請至:[BIOS 按鍵](/zh_Hant/hardware/bioskeys)以了解如何進入上述畫面。 - If you're currently using Windows 10 (or newer) head to the recovery section - of settings and select "Advanced Restart". Once there, select "Use a Device". + 如果您正在使用 Windows 10 或更加新的版本,請進入設定中的復原畫面並選擇「進階重啟」。重啟後,請選擇「使用其他媒體」。 - If you're currently using Linux, you may be able to enter the BIOS by running + Linux 的使用者可能可以執行以下指令進入 BIOS︰ `sudo systemctl reboot --firmware` -#### [Next Up: Installation →](/en/installation/installation) +#### [下一頁:安裝過程 →](/zh_Hant/installation/installation) ## Footnotes diff --git a/src/content/docs/zh_Hant/installation/installation.mdx b/src/content/docs/zh_Hant/installation/installation.mdx index 754de826..c6e9781c 100644 --- a/src/content/docs/zh_Hant/installation/installation.mdx +++ b/src/content/docs/zh_Hant/installation/installation.mdx @@ -5,17 +5,17 @@ description: "A guide on how to install Ultramarine Linux" import Alert from "../../../../components/Docs/Alert.astro"; -After booting into the live system, you will see a dialog box asking you whether to start the installer or continue with the live system. +電腦啟動至安裝介質後,您會看見一個視窗詢問您要開始安裝還是要試用 Ultramarine。 ![The Welcome Dialog box](/assets/welcome-window.png) -You can pick whichever you want, and you'll be able to start the installer later by opening the `Install to Hard Drive` application. +若果選擇試用,您可以之後開啟「Install to Hard Drive」的應用開始安裝。 -## Language Selection +## 語言 ![The Language Selection Screen](/assets/anaconda-1.png) -After starting the installer, you will be greeted with a language selection screen. Simply choose the language and keyboard layout you would like to use. +開啟安裝應用後,你可以選擇您想使用的語言及鍵盤配置。 ## The Anaconda Hub & Spoke Model @@ -43,76 +43,74 @@ By default, the time is set from your IP address geolocation. If you're using a -### Storage +### 系統存放位置 ![](/assets/anaconda-5.png) -This is where you select where you want Ultramarine to be installed, you can have the installer automatically partition your disk, or, select a custom layout. +您可以在這裏選擇 Ultramarine 的安裝位置,或者讓安裝應用自動選擇安裝的設定,或者自己設定安裝的配置。 -By default, Ultramarine uses [Btrfs](https://en.wikipedia.org/wiki/Btrfs) on standard computers. We default to ext4 on Chromebooks as Btrfs may shorten the life of the EMMC found in most Chromebooks. +Ultramarine 預設使用 [Btrfs](https://en.wikipedia.org/wiki/Btrfs)。Chromebook 電腦的預設為 ext4,因為 Btrfs 有機會縮短 Chromebook 裏面 EMMC 的壽命。 - We recommend encrypting your disk for added security. Simply select the - "Encrypt" checkbox, you will be prompted to enter a new password after - pressing done, and the password you provided to the installer on every boot. + 建議加密硬盤,以加強安全。選取「Encrypt」之後,再輸入一個新的密碼並按「Done」後,你的硬盤就會被加密。 + 每次啟動電腦時,使用者就需要輸入密碼。 -#### Custom Partitioning +#### 自定義硬盤分割 ![](/assets/anaconda-6.png) -In this mode, you can have Anaconda automatically setup partitions for you, or, manually configure the layout of the disk. +在這個模式中,您可以自行更改硬盤分區的設定。 -On UEFI-based systems, you need a partition mounted as `/boot/EFI` and another mounted as `/`. +在 UEFI 的系統裏,您需要一個分別掛載到 `/boot/EFI` 和 `/` 的分區。 -On BIOS-based systems, you need a `BIOSBoot` partition, a partition mounted as `/boot` and another mounted as `/`. +在 BIOS 的系統裏,您需要一個 `BIOSBoot` 的分區掛載到 `/boot`,以及另一個掛載到 `/` 的分區。 -#### Advanced Partitioning +#### 進階分割 ![](/assets/anaconda-7.png) -In this mode, Anaconda uses a tool called blivet-gui for you to manually partition your drive. This mode provides more freedom, so make sure you know what you're doing. +這個模式允許您利用 blivet-gui 手動分割您的硬盤。這給您更大自由,所以請確保您知道您在做甚麼! -### Networking +### 網絡 ![](/assets/anaconda-8.png) -On this screen, you can configure the hostname for the installed system. This is what other computers call your device. +您可以在這裏設定您的主機名,即是一個網絡中唯一標識您這台機器的名稱。 -### User Accounts +### 用戶 ![](/assets/anaconda-9.png) -In this screen, you must set up a user account. This account will be the administrator for the installed system. +您必須在這裏設定您的用戶。安裝後這將會是系統的管理員。 -You can also click on the `Advanced` button for a more in-depth configuration of your account, such as your user folder location, account ID, and your group membership. +您亦可以按「Advanced」以進行進階設定,包括您的資料位罝、用戶 ID 等。 -You must enter a password. Applications may misbehave without one. +您必須輸入一個密碼,否則一些應用會不能正常運行。 -If you type in an insecure password, you must press the "Done" button twice to continue. +輸入了不安全的密碼就需要按兩次「Done」以繼續。 --- -After completing your system configuration, press the `Begin Installation` button to continue. The installation process will start and may take a few minutes. +完成上述設定後就可以按「Begin Installation」繼續。安裝的過程大約需要幾分鐘。 - This process is **IRREVERSIBLE**. If you manage to stop the installer before - it finishes, you will end up with a broken system.
To fix this, you - will have to reinstall Ultramarine Linux or your preferred operating system. + 這是**不可逆轉**的:在安裝過程中強制停止安裝應用會令你得到一個不能正常運作的系統。
+ 你將會需要重新安裝 Ultramarine Linux 或其他系統,以取得一個正常運行的系統。
-After the installation process is complete, Anaconda will prompt you to reboot your device, simply reboot and enjoy! +安裝完成後,你就可以直接重啟電腦。 -Welcome to Ultramarine Linux! +歡迎使用 Ultramarine Linux! -#### [Next Up: Post-Installation →](/en/installation/postinstall) +#### [下一頁:安裝之後… →](/en/installation/postinstall) -#### [← Back To: Getting Ultramarine](/en/installation/getting) +#### [← 上一頁:取得 Ultramarine Linux](/en/installation/getting) From f70b39570466bba5410a7325d1af39bad17ff78c Mon Sep 17 00:00:00 2001 From: madomado Date: Fri, 7 Jun 2024 19:29:09 +0800 Subject: [PATCH 08/10] feat(zh_Hant): remove some unused docs --- src/content/docs/zh_Hant/development/anda.md | 5 -- .../development/developing-for-ultramarine.md | 68 ------------------- 2 files changed, 73 deletions(-) delete mode 100644 src/content/docs/zh_Hant/development/anda.md delete mode 100644 src/content/docs/zh_Hant/development/developing-for-ultramarine.md diff --git a/src/content/docs/zh_Hant/development/anda.md b/src/content/docs/zh_Hant/development/anda.md deleted file mode 100644 index e49c1289..00000000 --- a/src/content/docs/zh_Hant/development/anda.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Using Andaman -description: "Build and push packages with the Andaman toolchain." ---- -### Andaman Documentations Has Moved to [**Fyra Developer**](https://developer.fyralabs.com/andaman) diff --git a/src/content/docs/zh_Hant/development/developing-for-ultramarine.md b/src/content/docs/zh_Hant/development/developing-for-ultramarine.md deleted file mode 100644 index e518ab72..00000000 --- a/src/content/docs/zh_Hant/development/developing-for-ultramarine.md +++ /dev/null @@ -1,68 +0,0 @@ ---- -title: Developing for Ultramarine -description: "Things to get started on developing in Ultramarine." ---- -### This Page Will Be Moving to [**Fyra Developer**](https://developer.fyralabs.com) Soon! - -Ultramarine Linux aims to be a developer-friendly environment for all kinds of developers. In this article, we will cover the basics of how to get started developing in Ultramarine. - -If you would like to develop your own software, you can get started with the section below. - -If you would like to develop **for** Ultramarine, you can get started with the [Developing for Ultramarine](#developing-for-ultramarine) section. - -## Getting Started - -Ultramarine comes with the [Python programming language](https://www.python.org/) out of the box, which is also required for most Fedora -software, including the DNF package manager itself. - -### Setting up Rust - -To set up Rust in your environment, you can install the Rust and Cargo package from the Fedora repositories. - -```zsh -sudo dnf install rustc cargo -``` - -You can also use the `rustup` installer from the [Rust website](https://www.rust-lang.org/tools/install). This will install Rust in your local environment. - -## Developing for Ultramarine - -Our team uses [Visual Studio Code](https://code.visualstudio.com/), which is an open-source (mostly source-available) IDE that is available for both Windows, macOS, and Linux. - -If you, however, do not prefer to use the official Microsoft distribution of Visual Studio Code, you can also use [VSCodium](https://www.vscodium.com/), which is a free alternative distribution of Visual Studio Code. Or you can also use the [Official open-source build of Visual Studio Code](https://github.com/microsoft/vscode) here. - -There are also other supported IDEs and software we recommend using for development, such as: - -- [JetBrains CLion](https://www.jetbrains.com/clion/) (Native applications with C/C++, or Rust) -- [JetBrains PyCharm](https://www.jetbrains.com/pycharm/) for Python development. -- [GNOME Builder](https://wiki.gnome.org/Apps/Builder) for GNOME and GTK development. -- [Qt Creator](https://www.qt.io/product/development-tools) for Qt development. - -And other text editors you can use, such as: - -- [VIM](https://www.vim.org/) -- [Emacs](https://www.gnu.org/software/emacs/) -- [Micro](https://micro-editor.github.io/) -- [Neovim](https://neovim.io/) -- [Helix](https://helix-editor.com/) - -These text editors come with a minimal set of features, so you may want to install plugins for them, and configure them to your liking. - -Our preferred programming languages are Python, Vala, and Rust, and our preferred GUI library is Helium. - -To build packages for Ultramarine, see [Using Andaman](/en/development/anda). - -### UI development - -It is recommended to follow the [Helium Human Interface Guidelines](https://developer.fyralabs.com/helium/hig/introduction) for UI development for Ultramarine apps. These guidelines should not be considered a be-all end-all, it is perfectly acceptable to deviate from the guidelines (or not follow them at all) if it limits aspects of your app. - -### Build systems - -For build systems, we prefer using the programming language's native build system. For example, if you're using Rust, you can use the Rust's native Cargo build system. And in the case of Python, you can use the standard Python setuptools, which consists of either a `setup.py` file or a `pyproject.toml` file. - -For cases where using a native build system does not fit the needs of the application, we have a prioritized list of build systems that we recommend using: - -- [Meson](https://mesonbuild.com/) -- [CMake](https://cmake.org/) -- [GNU Autotools](https://www.gnu.org/software/automake/manual/html_node/Autotools-Introduction.html) -- A written makefile or simple shell script From 7eb58385d02bb681390fa76910afc933211c6e1c Mon Sep 17 00:00:00 2001 From: madomado Date: Fri, 7 Jun 2024 19:34:59 +0800 Subject: [PATCH 09/10] feat(zh_Hant): wip contributorguide --- src/consts.ts | 2 +- .../zh_Hant/contributing/contributorguide.mdx | 18 ++++++++++-------- .../docs/zh_Hant/contributing/hacking.mdx | 2 +- 3 files changed, 12 insertions(+), 10 deletions(-) diff --git a/src/consts.ts b/src/consts.ts index 012301d5..6315a026 100644 --- a/src/consts.ts +++ b/src/consts.ts @@ -151,7 +151,7 @@ export const SIDEBAR: Sidebar = { ], 貢獻: [ { text: "貢獻指南", link: "zh_Hant/contributing/contributorguide" }, - { text: "開發過程", link: "zh_Hant/contributing/hacking" }, + { text: "原碼貢獻", link: "zh_Hant/contributing/hacking" }, ], 硬件: [ { text: "系統要求", link: "zh_Hant/hardware/requirements" }, diff --git a/src/content/docs/zh_Hant/contributing/contributorguide.mdx b/src/content/docs/zh_Hant/contributing/contributorguide.mdx index 5717004c..68732271 100644 --- a/src/content/docs/zh_Hant/contributing/contributorguide.mdx +++ b/src/content/docs/zh_Hant/contributing/contributorguide.mdx @@ -3,21 +3,23 @@ title: 貢獻指南 description: "Getting started with contributing to Ultramarine Linux" --- -Ultramarine is built with our community. From polls and community engagement to community-built software, we involve our community in everything we do. +Ultramarine 是我們的社羣所建立的。從選票到社羣交流甚至社羣所建立的軟件,社羣永遠都在我們心目中。 -## Code +## 原碼 -Ultramarine Linux is open source. Because of this, anyone can add to, copy, or distribute the code that makes up Ultramarine. +Ultramarine Linux 的原碼是開放的——所有人都能夠更改,複製或發佈屬於 Ultramarine 的原碼。 -This applies to all of the code that Fyra Labs writes with the community, and most of the code from Fedora. +這亦包括 Fyra Labs 與其社羣,以及 Fedora 所建立的原始碼。 -Sadly, some components, especially device drivers, may be (in a way) held hostage by their authors. This means we cannot see or fix the code. +可惜,一些組件(例如驅動程式)可能由它們的原創者所擁有,導致我們無法改善它們的原碼。 -Check out the [Development Page](/en/contributing/hacking) to get started! +詳請可到[原碼貢獻](/zh_Hant/contributing/hacking)開始您的旅程! -## Packaging +## 軟件包 -Ultramarine includes the Terra repository, which is a community collection of software that isn't in Fedora's repositories. Contributing packages for Terra allows you to help Ultramarine and other Fedora-based distro users get the software they need. To get started, see the [Terra documentation](https://developer.fyralabs.com/terra/contributing). +Ultramarine 的系統裏已安裝了 Terra,這是一個社羣維護的軟件庫,裏面有 Fedora 本來沒有的軟件包。 +貢獻至 Terra 能讓您令 Ultramarine 及其他 Fedora 的系統使用者更容易得到需要的軟件。 +詳請可到 [Terra 文檔(英)](https://developer.fyralabs.com/terra/contributing)。 ## Bug Hunting diff --git a/src/content/docs/zh_Hant/contributing/hacking.mdx b/src/content/docs/zh_Hant/contributing/hacking.mdx index 2956f02c..40d32cf6 100644 --- a/src/content/docs/zh_Hant/contributing/hacking.mdx +++ b/src/content/docs/zh_Hant/contributing/hacking.mdx @@ -1,5 +1,5 @@ --- -title: Code Contributions +title: 原碼貢獻 description: "A step-by-step guide to hacking on Ultramarine Linux components" --- From f868f80f749116bd4c130b881ef7af48fc03215b Mon Sep 17 00:00:00 2001 From: madomado Date: Fri, 7 Jun 2024 22:07:09 +0800 Subject: [PATCH 10/10] feat(zh_Hant): contributorguide.mdx --- .../zh_Hant/contributing/contributorguide.mdx | 72 +++++++++---------- 1 file changed, 36 insertions(+), 36 deletions(-) diff --git a/src/content/docs/zh_Hant/contributing/contributorguide.mdx b/src/content/docs/zh_Hant/contributing/contributorguide.mdx index 68732271..cbe6474c 100644 --- a/src/content/docs/zh_Hant/contributing/contributorguide.mdx +++ b/src/content/docs/zh_Hant/contributing/contributorguide.mdx @@ -21,68 +21,69 @@ Ultramarine 的系統裏已安裝了 Terra,這是一個社羣維護的軟件 貢獻至 Terra 能讓您令 Ultramarine 及其他 Fedora 的系統使用者更容易得到需要的軟件。 詳請可到 [Terra 文檔(英)](https://developer.fyralabs.com/terra/contributing)。 -## Bug Hunting +## 錯誤及問題回報 -This part is easy, just use Ultramarine and report bugs as you find them. You can report general issues to [Ultramarine-Linux/ultramarine](https://github.com/Ultramarine-Linux/ultramarine), or ask in [one of our chats] where to report. +這部分最容易了,您只需要使用 Ultramarine 的時候找到問題就可以在 [Ultramarine-Linux/ultramarine](https://github.com/Ultramarine-Linux/ultramarine) 或者以其他[聯絡]方式向我們報告。 -## Design +## 設計 -New and existing Ultramarine-specific components require user-friendly and visually appealing designs. If you would like to help out with design, join [one of our chats] and ask where you can help. +新的以及現有的 Ultramarine 組件亦需要有好的使用者體驗及良好的設計。若果想幫忙設計,請[聯絡]我們。 -## Documentation +## 文檔 -Documentation allows people to understand how to use Ultramarine. Our main source of documentation is the wiki you're currently reading. If you would like to contribute to the wiki, you can make a pull request to the [Ultramarine-Linux/wiki-new](https://github.com/Ultramarine-Linux/wiki-new) repository. If you need help or want to discuss changes, please join [one of our chats]. +文檔能讓使用者了解如何使用 Ultramarine。我們主要的文檔正正就是您現在正在閱讀的 wiki。 +若果想向此 wiki 貢獻,可以到 [Ultramarine-Linux/wiki]。您亦可以以不同[聯絡]方式跟我們討論。 -## Testing +## 測試 -Many parts of Ultramarine need testing before release. Here's a list of our current pre-release programs: +Ultramarine 有很多不同的部件(由其在發佈前)需要林林總總的測試。以下是我們的發佈前程式: -- [ARM Chromebook Beta Program](/en/chromebook/armbeta) +- [ARM Chromebook Beta Program](/zh_Hant/chromebook/armbeta) - [Ultramarine Atomic Open Beta](https://github.com/ultramarine-linux/ostree-config) -We announce new programs frequently, [join our chat] or [follow us on socials] to stay up to date. +我們亦會經常宣佈新的程式,您可以以不同的[聯絡]方式得到最新資訊。 -## Finance +## 資金 -You can [sponsor us on Github](https://github.com/sponsors/FyraLabs)! +您可以在 GitHub [資助我們](https://github.com/sponsors/FyraLabs)。 -Your sponsorship helps us continue and dedicate more time to our work, allowing us to develop and ship technology that can make a difference for you (and many others.) Now, of course, don't forget there's also some sweet and useful benefits (with even more coming soon) in it for you :3 +您的資助可以令我們繼續獻出更多時間工作,促使我們開發並發佈更好的技術,改善不少人的生活。資助人亦會得到不同的福利。 -## Outreach +## 擴展 -Ultramarine is always looking for new users, contributors, and community members. -We employ a variety of channels to reach out to new people, including social media, events, and partnerships. -If you'd like to help us grow, join [one of our chats] and ask where you can help. +Ultramarine 亦不斷尋找更多使用者、貢獻人員以及社羣成員。 +我們以不同方式向不同人溝通,包括社交媒體、參與項目、合夥等。 +有興趣幫忙擴展 Ultramarine 的可以[聯絡]我們。 -## Hardware +## 硬件 -One of Ultramarine's major focuses is to support as many hardware platforms as possible, our formal initiative for this is [Ultramarine Anywhere](/en/hardware/anywhere). -We're always looking for people with knowledge of different and niche hardware platforms to help us expand our support. -Hardware donations are also appreciated, especially Chromebooks and RISC-V boards, as they're a major focus of this program. +Ultramarine 的其中一個目標正是要支持更多的平台,詳見 [Ultramarine Anywhere](/zh_Hant/hardware/anywhere)。 +我們正在尋找對其他較小人用的平台有較深了解、有不同學問的不同人士,以助我們擴展平台支持。 +我們亦非常感謝硬件捐贈,由其是 Chromebook 和 RISC-V,因為它們是這個項目的焦點之一。 -If you'd like to help out in this area please join [one of our chats] and ask where you can help. +有興趣的人請[聯絡]我們。 -## Translations +## 翻譯 -Translations allow Ultramarine to be used by people around the world. You can lend us your expertise to get Ultramarine in your language. +翻譯可令 Ultramarine 能夠被世界各地不同人士使用。您可以令 Ultramarine 得到不同語言的支援。 -### This Wiki +### 這個 wiki -Reach out in [one of our chats] and we'll make you a branch. +你可以[聯絡]我們,或者到 [Ultramarine-Linux/wiki]。 -### The Installer and other Ultramarine Components +### 安裝應用程式及其他部件 -Head to [Fyra Weblate](https://weblate.fyralabs.com) to get started translating. +請到 [Fyra Weblate](https://weblate.fyralabs.com) 進行翻譯。 -### Desktops +### 桌面 -Each desktop environment handles their own translations for the desktop itself and their included apps. Please see the [Upstream Contributions](#upstream-contributions) section for more information. +每一個桌面環境有他們各自的翻譯的地方。請查看[#上流貢獻]。 -## Upstream Contributions +## 上流貢獻 -Ultramarine is built on top of many open source and libre software projects, with similar goals and contribution needs to Ultramarine. Our community regularly contributes to these upstream projects, and we encourage you to do the same. +Ultramarine 是建於很多不同開放原碼、非專利、有近似或共同目標及需要的軟件項目。我們的社羣會定期貢獻至這些上流項目。 -Here is a list of important upstream projects to Ultramarine, with links to their contribution pages: +以下是一些對 Ultramarine 較重要的上流項目: - [Fedora](https://docs.fedoraproject.org/en-US/project/join/) - [Budgie](https://docs.buddiesofbudgie.org/organization/getting-involved/) @@ -91,6 +92,5 @@ Here is a list of important upstream projects to Ultramarine, with links to thei - [KDE](https://community.kde.org/Get_Involved) - [XFCE](https://docs.xfce.org/contribute/start) -[one of our chats]: /en/community/community -[join our chat]: /en/community/community -[follow us on socials]: /en/community/community +[聯絡]: /zh_Hant/community/community +[Ultramarine-Linux/wiki]: https://github.com/Ultramarine-Linux/wiki