环境
操作系统:Ubuntu Kylin 优麒麟 21.10、Debian 11 Bullseye
适用架构:ARM64(鲲鹏 920 x8、飞腾 FT-2000/4)、AMD64(海光、兆芯)、MIPS64EL 龙芯
简介
CuteFishOS 是一款 Linux 桌面操作系统,搭载社区开发的 CDE(Cutefish Desktop Environment)桌面环境,社区也开发一系列系统应用,保证整体设计语言达到统一;社区的目标是为用户提供舒适的界面设计、更好的用户体验,满足在各种景下的使用需求。
官方网站,https://www.cutefishos.com/
源代码托管,https://github.com/cutefishos
源代码镜像,https://kgithub.com/cutefishos
源代码镜像2,https://hub.fastgit.xyz/cutefishos
源代码镜像3,https://gitee.com/cutefishos
对于不能稳定访问 GitHub 网站的用户,可以参考《Github 镜像网站》https://my.oschina.net/chipo/blog/5200659
太长不看版
可爱鱼桌面环境自动编译脚本(适用于无法从Github上克隆Cutefish仓库的用户)
- 作者:Moore、wujunyi、Liupeiming。
https://gitee.com/liu-peiming/CutefishDEBuild.sh_v_gitee
逐项手动编译的准备工作
如果不想用自动编译脚本,自行编译时需要的依赖包,要提前安装好。
sudo apt install \
automake \
autotools-dev \
breeze-dev \
breeze-icon-theme-rcc \
build-essential \
cmake \
cryptsetup \
curl \
debhelper \
devscripts \
equivs \
extra-cmake-modules \
gettext \
git \
gcc \
g++ \
kirigami2-dev \
kwin-dev \
libboost-python-dev \
libcanberra-dev \
libcap-dev \
libcrypt-dev \
libdbus-1-dev \
libdbusmenu-qt5-dev \
libecm1-dev \
libfftw3-dev \
libfreetype6-dev \
libfontconfig1-dev \
libicu-dev \
libkdecorations2-dev \
libkf5config-dev \
libkf5bluezqt-dev \
libkf5codecs-dev \
libkf5coreaddons-dev \
libkf5configwidgets-dev \
libkf5doctools-dev \
libkf5filemetadata-dev \
libkf5globalaccel-dev \
libkf5guiaddons-dev \
libkf5i18n-dev \
libkf5iconthemes-dev \
libkf5idletime-dev \
libkf5kio-dev \
libkf5networkmanagerqt-dev \
libkf5package-dev \
libkf5parts-dev \
libkf5qqc2desktopstyle-dev \
libkf5service-dev \
libkf5syntaxhighlighting-dev \
libkf5screen-dev \
libkf5solid-dev \
libkf5widgetsaddons-dev \
libkf5windowsystem-dev \
libkpmcore-dev \
libmpv-dev \
libpam0g-dev \
libparted-dev \
libpolkit-agent-1-dev \
libpolkit-qt5-1-dev \
libpulse-dev \
libpwquality-dev \
libqapt-dev \
libqqc2breezestyle-dev \
libqt5x11extras5-dev \
libqt5xdg-dev \
libqt5sensors5-dev \
libqt5svg5-dev \
libqt5webkit5-dev \
libsm-dev \
libsystemd-dev \
libx11-dev \
libx11-xcb-dev \
libxcb1-dev \
libxcb-composite0-dev \
libxcb-damage0-dev \
libxcb-dpms0-dev \
libxcb-dri2-0-dev \
libxcb-dri3-dev \
libxcb-ewmh-dev \
libxcb-glx0-dev \
libxcb-icccm4-dev \
libxcb-image0-dev \
libxcb-keysyms1-dev \
libxcb-randr0-dev \
libxcb-record0-dev \
libxcb-shape0-dev \
libxcb-shm0-dev \
libxcb-util0-dev \
libxcb-util-dev \
libxcb-xfixes0-dev \
libxcursor-dev \
libxi-dev \
libxtst-dev \
libyaml-cpp-dev \
lintian \
modemmanager-qt-dev \
os-prober \
pkg-config \
pkg-kde-tools \
policykit-1 \
python3-dev \
qml-module-org-kde-kwindowsystem \
qml-module-qt-labs-platform \
qml-module-qt-labs-settings \
qml-module-qtqml \
qml-module-qtquick-controls2 \
qml-module-qtquick-dialogs \
qml-module-qtquick-layouts \
qml-module-qtquick-privatewidgets \
qml-module-qtquick-window2 \
qml-module-qtquick-shapes \
qml-module-qtquick2 \
qtbase5-dev \
qtbase5-private-dev \
qtdeclarative5-dev \
qtquickcontrols2-5-dev \
qttools5-dev \
qttools5-dev-tools \
sound-theme-freedesktop \
xserver-xorg-dev \
xserver-xorg-input-libinput-dev \
xserver-xorg-input-synaptics-dev
编译安装
新建一个文件夹。
mkdir cutefish
cd cutefish
依次克隆每一个仓库。FishUI 和 LibCuteFish 是基础组件,Core 是核心组件,KWin-Plugins 和 Qt-Plugins 等都应该优先编译。这里以需要第一个编译的 FishUI 为示范。
git clone https://gitee.com/cutefishos/fishui.git
cd fishui
依次按照说明编译各个组件。
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX:PATH=/usr ..
上边这一行命令仅限于 FishUI,其他组件使用 cmake .. 命令即可,不需要参数“-DCMAKE_INSTALL_PREFIX:PATH=/usr”。
make
sudo make install
重复克隆的步骤,直到所有组件都安装完成。每一个仓库克隆完成后,进入相应的文件夹,上述编译命令可以进行合并执行。当然,在所有仓库克隆完成后,进行组件升级时,为了更加便捷,也可以将命令合并。进入某个仓库的本地文件夹后执行以下命令。
git config pull.rebase true && git pull && rm -rf build && mkdir build && cd build && cmake -DCMAKE_INSTALL_PREFIX:PATH=/usr .. && make && sudo make install && cd ../..
遇到 github 连接不太稳定时,可以把网址修改至镜像站。
sed -i 's?//github.com/?//github.com.cnpmjs.org/?g' .git/config
已知的问题
如果遇到窗口的圆角出现黑边。
请修改 ~/.config/kwinrc 将 OpenGLIsUnsafe=true 修改为 false。
sudo nano ~/.config/kwinrc
保存后退出,重启计算机。
详情请参考,https://github.com/cutefishos/kwin-plugins/issues/
如果还是不行,请安装“KDE系统设置”。
sudo apt install systemsetting
然后在“显卡与显示器”、“显示特效混合器”中,勾选“开机时启用显示特效混合器”。
关于新编译的程序不生效的问题
如果安装过较早版本的 CuteFish(0.4 及以前)。在 0.5 版本发布后,编译升级 UI。重启后可能有一些组件并没有更新。原因是,在 /usr/local/bin 和 /bin 中同时存在 CuteFish 组件的二进制文件。将 /usr/local/bin 中的陈旧组件删除后,重启计算机,/bin 中的新组件就成功运行起来了。