最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

嘗試在 Debian 和 Ubuntu 上安裝 Cutefish 可愛魚

2023-06-30 08:59 作者:gracefeld  | 我要投稿

CutefishOS
https://en.cutefishos.com/

CutefishOS · GitHub (kgithub.com)


Cutefish是一個(gè)可愛好看的新 Linux 發(fā)行版,當(dāng)前最新版本為 0.8beta 。這是一個(gè)基于 Debian 的發(fā)行版,從其鏡像源配置就可以明顯地看出來(lái)。它和 Debian 的關(guān)系看起來(lái)就像 Linux Mint 和 Ubuntu 的關(guān)系。


?CutefishOS 雖然基于 Debian ,但是只提供 AMD64 體系結(jié)構(gòu)的官方支持。如果你的設(shè)備恰好不是 x86 的(比如 ARM 或 MIPS),那么你不能使用 CutefishOS 來(lái)體驗(yàn) Cutefish 桌面環(huán)境;反之如果你恰好使用 AMD64 體系結(jié)構(gòu)的 Debian bullseye ,那么你可以心安理得地使用 CutefishOS 的軟件源,這在后面會(huì)再次提到。

CutefishOS 官方在其

github 項(xiàng)目
https://github.com/cutefishos

CutefishOS · GitHub (kgithub.com)


所有倉(cāng)庫(kù)里都提供了構(gòu)建 deb 包所需的配置文件,我們可以輕松地使用 dpkg-buildpackage 來(lái)構(gòu)建其二進(jìn)制軟件包。


我在 Debian12 bookworm 和 Ubuntu 22.04?及以上進(jìn)行了測(cè)試,都是可以正常編譯通過的;在 Debian10 和 Ubuntu20.04 都出現(xiàn)了一些問題,主要是 Qt 版本太低導(dǎo)致的。在 Debian11 上, mips64el (龍芯)和 aarch64 (樹莓派)也都是好的。另外在 Loongarch64 上,你可以選擇在 Loongnix20 上編譯,雖然并沒有測(cè)試過(沒有設(shè)備);至于 mips64el 的 Loongnix20 ,已經(jīng)測(cè)試過 Qt 版本過低(和 Debian10 的情況一致)。

由于這是一個(gè)非常年輕的桌面環(huán)境,只完成了最基本的桌面功能,對(duì)于一些復(fù)雜的配置并不支持,所以暫時(shí)只建議嘗鮮,不太建議日常使用(不過你也可以在每次倉(cāng)庫(kù)出現(xiàn)新的 commit 時(shí)重新構(gòu)建追新)。

使用官方源安裝

如果你恰好使用 AMD64 體系結(jié)構(gòu)的 Debian bookworm ,那么官方源是可以使用的。

這個(gè)部分并沒有被充分測(cè)試(并沒有可供測(cè)試的機(jī)器),特別是在bookworm以上版本中,所以只作為一個(gè)可行的思路。

添加鏡像源和密鑰

只需要將其添加到你的 /etc/apt/sources.list 中:

deb http://packages.cutefishos.com bookworm main

然后添加 cutefishos 的 gpg key 即可,這里給出鏈接:

http://packages.cutefishos.com/key/cutefishos.gpg.key
http://packages.cutefishos.com/key/cutefishos.gpg.key


更新包緩存并安裝

$ sudo apt-get update$ sudo apt-get install cutefish

源碼編譯安裝

正篇開始,這里默認(rèn)你會(huì)使用 git 和 apt 包管理器。

配置網(wǎng)絡(luò)

如果你的網(wǎng)絡(luò)狀態(tài)不佳,那么可能需要借助一些工具。在瀏覽器,你可以通過 SwitchyOmega 來(lái)管理你的網(wǎng)絡(luò)連接;而對(duì)于 git ,你可以考慮設(shè)置?HTTP_PROXY?或?HTTPS_PROXY?環(huán)境變量,這里給出一個(gè)示例,注意這個(gè)設(shè)置是臨時(shí)的:

export HTTPS_PROXY=http://127.0.0.1:7890

需要編譯的包

在 CutefishOS 的

項(xiàng)目倉(cāng)庫(kù)列表
https://kgithub.com/orgs/cutefishos/repositories

,可以看到所有的軟件包倉(cāng)庫(kù),其中大部分都是需要我們編譯的,這里列表如下:


  • statusbar
    https://kgithub.com/cutefishos/statusbar

  • terminal
    https://kgithub.com/cutefishos/terminal

  • updator
    https://kgithub.com/cutefishos/updator

  • fishui
    https://kgithub.com/cutefishos/fishui

  • libcutefish
    https://kgithub.com/cutefishos/libcutefish

  • screenshot
    https://kgithub.com/cutefishos/screenshot

  • screenlocker
    https://kgithub.com/cutefishos/screenlocker

  • settings
    https://kgithub.com/cutefishos/settings

  • core
    https://kgithub.com/cutefishos/core

  • launcher
    https://kgithub.com/cutefishos/launcher

  • icons
    https://kgithub.com/cutefishos/icons

  • daemon
    https://kgithub.com/cutefishos/daemon

  • filemanager
    https://kgithub.com/cutefishos/filemanager

  • kwin-plugins
    https://kgithub.com/cutefishos/kwin-plugins

  • dock
    https://kgithub.com/cutefishos/dock

  • sddm-theme
    https://kgithub.com/cutefishos/sddm-theme

  • debinstaller
    https://kgithub.com/cutefishos/debinstaller

  • texteditor
    https://kgithub.com/cutefishos/texteditor

  • appmotor
    https://kgithub.com/cutefishos/appmotor

  • qt-plugins
    https://kgithub.com/cutefishos/qt-plugins

  • gtk-themes
    https://kgithub.com/cutefishos/gtk-themes

  • cursor-themes
    https://github.com/cutefishos/cursor-themes

  • calculator
    https://kgithub.com/cutefishos/calculator

  • videoplayer
    https://kgithub.com/cutefishos/videoplayer

  • calamares
    https://kgithub.com/cutefishos/calamares

  • plymouth-theme
    https://kgithub.com/cutefishos/plymouth-theme

  • wallpapers
    https://kgithub.com/cutefishos/wallpapers

以上組件的編譯過程全部都是一樣的,所以下面將以 core 為例。

準(zhǔn)備必要的編譯工具

對(duì)于 Debian ,需要安裝?build-essential?和?devscripts?兩個(gè)軟件包:

$ sudo apt-get install build-essential devscripts

對(duì)于 Ubuntu ,除了上面的兩個(gè)包,還需要安裝?equivs?:

$ sudo apt-get install equivs

build-essential

在 Debian 和 Ubuntu 上,該包包含了 libc6-dev 、 gcc 、 g++ 、 make 、 dpkg-dev 等編譯 deb 包所必須的軟件包。不過不包含 cmake 、 pkg-config 等同樣常用的工具。

devscripts

正如其包名所示的,它包含了一些用于輔助進(jìn)行軟件包構(gòu)建的腳本。之后需要用到的?mk-build-deps?命令就出自該軟件包。

mk-build-deps?是一個(gè)輔助安裝編譯依賴的腳本,它讀取 debian/control 并安裝其中列出的編譯依賴。它并不會(huì)直接安裝這些依賴包,因?yàn)橹苯影惭b會(huì)導(dǎo)致它們被標(biāo)記為手動(dòng)安裝,編譯完成以后無(wú)法方便地卸載(畢竟只在編譯時(shí)需要,軟件包運(yùn)行時(shí)大概率不需要它們),而是生成一個(gè)引用這些編譯依賴包的名為?*-build-deps?空軟件包并安裝。這樣做的結(jié)果是所有編譯依賴包被標(biāo)記為自動(dòng)安裝,只要卸載這個(gè)?*-build-deps?,其他軟件包通過?apt-get autoremove?就可以方便地卸載,還給我們一個(gè)干凈的系統(tǒng)環(huán)境。

equivs

在 Debian 下,這個(gè)軟件包被 devscripts 依賴,但是清楚為啥, Ubuntu 的 devscripts 并沒有依賴這個(gè)包并導(dǎo)致了后面的工作出錯(cuò),所以我們只好手動(dòng)安裝之。

以 core 為例

以 core 為例,編譯 deb 包,其他包的過程與此相同。

克隆軟件倉(cāng)庫(kù)

我們克隆該倉(cāng)庫(kù),?--depth=1?的作用是只克隆最近一次 commit ,這樣需要拉取的數(shù)據(jù)不會(huì)過多??寺⊥瓿珊筮M(jìn)入到克隆的目錄,此時(shí)目錄名為?core?。

$ git clone --depth=1 https://kgithub.com/cutefishos/core.git$ cd core

安裝編譯依賴包

通過前面介紹過的?mk-build-deps?來(lái)完成依賴包的安裝。?--install?選項(xiàng)的涵義是生成軟件包后安裝,?--remove?的涵義是安裝軟件包后自動(dòng)卸載,?--root-cmd sudo?的涵義是提權(quán)使用?sudo?命令。但是不知道是不是我理解錯(cuò)了(但是 man 是這么寫的呀),安裝生成的軟件包后并沒有自動(dòng)卸載,需要手動(dòng)卸載?*-build-deps?。

$ mk-build-deps --install --remove --root-cmd sudo

編譯軟件包

使用?dpkg-buildpackage?來(lái)自動(dòng)編譯和構(gòu)建,?-b?的涵義是只生成二進(jìn)制包:

$ dpkg-buildpackage -b -uc -us

如果出現(xiàn)了奇怪的編譯錯(cuò)誤,可以試著關(guān)閉多線程:

$ dpkg-buildpackage -b -uc -us -J1

之前出現(xiàn)了奇怪的鏈接錯(cuò)誤,在 Debian12?穩(wěn)定復(fù)現(xiàn),不知道原理,也不知道為何關(guān)閉多線程就正常了。 Debian sid 沒發(fā)現(xiàn)報(bào)這個(gè)錯(cuò)。

在構(gòu)建完成后,你應(yīng)該在上級(jí)目錄看到多出來(lái)類似如下的四個(gè)文件,將文件名中的 mips64el 替換成你自己的體系結(jié)構(gòu)如 amd64 或 arm64 應(yīng)該就是你得到的文件的名稱:

  • cutefish-core_0.8_mips64el.deb

  • cutefish-core-dbgsym_0.8_mips64el.deb

  • cutefish-core_0.8_mips64el.changes

  • cutefish-core_0.8_mips64el.buildinfo

其中?cutefish-core_0.8_mips64el.deb?是你需要的軟件包,?cutefish-core-dbgsym_0.8_mips64el.deb?是軟件包的 debug symbol ,另外兩個(gè)可以忽略。我們通常只需要保留第一個(gè)即可,其他東西包括克隆下來(lái)的代碼都可以刪除了。

卸載編譯依賴

對(duì)于編譯 core ,你可以通過下面的命令來(lái)卸載編譯依賴:

$ sudo apt-get remove cutefish-core-build-deps $ sudo apt-get autoremove

如果你編譯了所有軟件包,希望卸載全部依賴,首先參考下面的命令搜索所有?mk-build-deps?生成的軟件包名:

$ apt-cache search --names-only "^.*?-build-deps$"

檢查確認(rèn)包名后卸載他們:

$ sudo apt-get remove <package_name> $ sudo apt-get autoremove

安裝軟件包

由于你不清楚他們之間的依賴關(guān)系,我不推薦你逐個(gè)安裝他們,所以將所有生成的軟件包一起安裝:

$ sudo apt-get install ./xxx1.deb ./xxx2.deb ./xxx3.deb ...

或者將他們放到一個(gè)目錄中然后一起安裝:

$ sudo apt-get install ./*.deb

注意如果安裝 cutefish-sddm-theme 時(shí)提示配置文件是選擇打包者提供的版本還是已經(jīng)存在的版本時(shí),請(qǐng)選擇打包者提供的版本,這樣你的 sddm 會(huì)被設(shè)置成 Cutefish 的主題。

自動(dòng)化的編譯腳本

我為了方便自己使用,編寫了自動(dòng)化的編譯腳本。這個(gè)相對(duì)比較自動(dòng)化,會(huì)從 github 逐個(gè)拉取需要構(gòu)建的倉(cāng)庫(kù)并構(gòu)建軟件包,構(gòu)建完成后記錄已經(jīng)編譯的包并清理工作區(qū)。因此,如果編譯出現(xiàn)錯(cuò)誤,你可以解決錯(cuò)誤后重新運(yùn)行腳本,腳本會(huì)從上次出錯(cuò)的軟件包開始繼續(xù)構(gòu)建。對(duì)于需要單線程構(gòu)建的情況,也有?--noparallel?選項(xiàng)實(shí)現(xiàn),具體可以查看腳本的源碼:


https://kgithub.com/weilinfox/miscfiles/blob/master/build_script/cutefish_desktop.sh
https://kgithub.com/weilinfox/miscfiles/blob/master/build_script/cutefish_desktop.sh


使用方法:

$ mkdir cutefish $ cd cutefish $ wget https://raw.githubusercontent.com/weilinfox/miscfiles/master/build_script/cutefish_desktop.sh $ chmod +x cutefish_desktop.sh $ ./cutefish_desktop.sh

默認(rèn)多線程以加快編譯速度,如果需要以單線程的方式:

$ ./cutefish_desktop.sh --noparallel

全部構(gòu)建完成后,可以在 debs 目錄中找到構(gòu)建的軟件包。

注意這個(gè)腳本并不會(huì)幫你安裝這些軟件包和卸載編譯依賴,請(qǐng)參考上面一節(jié)中的“卸載編譯依賴”和“安裝軟件包”手動(dòng)操作。

Loongnix20 for loongarch64 的特別說(shuō)明

在腳本的第 124 行有一行注釋:# package on Loongnix is too old to build cutefish?。但如果你恰好是 loongarch64 版本的 Loongnix20 ,興許你可以嘗試一下編譯。請(qǐng)取消第 125-127 行的注釋(去除行首的?#),然后運(yùn)行腳本。

從 Cutefish 啟動(dòng)

Cutefish 建議從 SDDM 啟動(dòng)。在 SDDM 的啟動(dòng)界面,選擇 Cutefish 作為啟動(dòng)的桌面環(huán)境,直接登陸即可。

不出意外,你會(huì)得到如下圖的桌面環(huán)境。Enjoy it!

by SDUST weilinfox


參考

在 Debian 和 Ubuntu 上安裝 Cutefish 可愛魚 - 易學(xué)編程網(wǎng) (yixuebiancheng.com)

嘗試在 Debian 和 Ubuntu 上安裝 Cutefish 可愛魚的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
孙吴县| 资溪县| 商南县| 牡丹江市| 曲周县| 寿阳县| 马边| 新闻| 自贡市| 长垣县| 寿宁县| 个旧市| 江门市| 宣化县| 建宁县| 汽车| 昭平县| 玉环县| 澎湖县| 岑巩县| 海阳市| 昭苏县| 南康市| 安岳县| 鄂尔多斯市| 顺义区| 佳木斯市| 乳山市| 六枝特区| 渭源县| 阿图什市| 清水河县| 潢川县| 南岸区| 石渠县| 广南县| 新密市| 灵石县| 信宜市| 高州市| 突泉县|