Score:8

How to install Cutefish Desktop in Ubuntu?

us flag

Cutefish is a new desktop environment that resembles the Mac OS UI. It was recently featured in OMG! Ubuntu!.

Cutefish OS image source: The OMG! Ubuntu! article

Cutefish OS is Debian based, so the desktop environment may be installed in Ubuntu without too much hassle.

How to install the Cutefish DE in Ubuntu, let's say in the latest Ubuntu 21.04?

Score:5
zw flag

It is still too early. Currently they do not provide any PPA. However, there is a new Ubuntu based spin-off.

Possible way to install is to use sources from https://github.com/cutefishos or adapt ArchLinux PKGBUILD files for building CuteFish components.

Draft of the installation process ontop of Ubuntu 21.04 is shown below:

sudo apt install -y git devscripts build-essential cmake ninja-build
sudo apt install -y qtbase5-dev qtquickcontrols2-5-dev libkf5networkmanagerqt-dev modemmanager-qt-dev debhelper extra-cmake-modules libkf5kio-dev libkf5screen-dev libqt5sensors5-dev qtdeclarative5-dev qttools5-dev qttools5-dev-tools libxcb-icccm4-dev qtbase5-private-dev kwin-dev libkdecorations2-dev libqt5xdg-dev libdbusmenu-qt5-dev libxcb-ewmh-dev libicu-dev libxcb-randr0-dev libsm-dev libxcb-xfixes0-dev libxcb-damage0-dev libxcb-composite0-dev libxcb-shm0-dev libxcb-util-dev libxcb-image0-dev libxtst-dev libpulse-dev libpolkit-qt5-1-dev libpolkit-agent-1-dev libqt5x11extras5-dev qml-module-qtquick2 qml-module-qtquick-controls2 libkf5bluezqt-dev libkf5bluezqt-dev libqt5opengl5-dev libxcursor-dev

mkdir -p ~/Downloads/cutefish
cd ~/Downloads/cutefish

git clone https://github.com/cutefishos/libcutefish --branch=0.2
cd libcutefish
dpkg-buildpackage -uc -us -b

cd ~/Downloads/cutefish
git clone https://github.com/cutefishos/fishui --branch=0.3
cd fishui
dpkg-buildpackage -uc -us -b

cd ~/Downloads/cutefish
git clone https://github.com/cutefishos/kwin-plugins --branch=0.3
cd kwin-plugins
dpkg-buildpackage -uc -us -b

cd ~/Downloads/cutefish
git clone https://github.com/cutefishos/launcher --branch=0.3
cd launcher
dpkg-buildpackage -uc -us -b

cd ~/Downloads/cutefish
git clone https://github.com/cutefishos/qt-plugins --branch=0.3
cd qt-plugins
dpkg-buildpackage -uc -us -b

cd ~/Downloads/cutefish
git clone https://github.com/cutefishos/wallpapers --branch=0.2
cd wallpapers
dpkg-buildpackage -uc -us -b

cd ~/Downloads/cutefish
sudo apt-get install -y ./*.deb

cd ~/Downloads/cutefish
git clone https://github.com/cutefishos/dock --branch=0.3
cd dock
dpkg-buildpackage -uc -us -b

cd ~/Downloads/cutefish
git clone https://github.com/cutefishos/filemanager --branch=0.3
cd filemanager
dpkg-buildpackage -uc -us -b

cd ~/Downloads/cutefish
git clone https://github.com/cutefishos/settings --branch=0.3
cd settings
dpkg-buildpackage -uc -us -b

cd ~/Downloads/cutefish
git clone https://github.com/cutefishos/statusbar --branch=0.3
cd statusbar
dpkg-buildpackage -uc -us -b

cd ~/Downloads/cutefish
git clone https://github.com/cutefishos/core --branch=0.3
cd core
dpkg-buildpackage -uc -us -b

cd ~/Downloads/cutefish
sudo apt-get install -y ./*.deb

## no debian directory
cd ~/Downloads/cutefish
git clone https://github.com/cutefishos/calculator --branch=0.3
cd calculator
mkdir build
cd build
cmake ..
make
sudo make install

## no debian directory
cd ~/Downloads/cutefish
git clone https://github.com/cutefishos/icons --branch=0.3
cd icons
mkdir build
cd build
cmake ..
make
sudo make install

Then reboot and login to Catfish Desktop

CuteFish session selection

to test it

CuteFish settings

Note: I prefer to run such experiments on-top of mini.iso. So the above was tested today by getting 20.04 LTS mini.iso, upgrading it to 21.04 and then following above guide.

Non-Ubuntu method for testing CuteFish desktop environment is to download ISO from manjaro-cutefish GitHub repository.

us flag
Just noticed that the sources on GitHub have a `debian` directory. One can easily set up Launchpad to mirror the GitHub repo and build daily. I can try that. But I am unsure whether I should register projects for Cutefish from my Launchpad account, as then I would be the administrator of that Launchpad project, and the developers may not be happy with that. The other option is to compile all the source packages locally before uploading to a PPA, which is a much more time consuming job.
N0rbert avatar
zw flag
This is what I tried to do last minutes. Draft version is in the answer above.
us flag
I tried this in a Xubuntu 20.04 VM. It installed a full KDE Plasma Session, and Cutefish still does not show up in lightdm. Thanks for the effort, though.
N0rbert avatar
zw flag
@ArchismanPanigrahi I got success on 21.04, see edited answer above. Currently building of master branch leads to black screen, so I decided to use highest possible releases.
us flag
New versions have been released, and these branches are very old. It may be a good idea to build the master branch instead. Is there a way to download the latest tag?
N0rbert avatar
zw flag
Probably we can [find some script for GitHub](https://www.google.com/search?q=github+get+latest+tag+shell) or write our own. Or parse [AUR table](https://archlinux.org/packages/?q=Cutefish&sort=pkgname)... Really I'm not interested in CuteFish. You are welcome to edit above answer.
us flag
Sure. I will see how to do this.
mangohost

Post an answer

Most people don’t grasp that asking a lot of questions unlocks learning and improves interpersonal bonding. In Alison’s studies, for example, though people could accurately recall how many questions had been asked in their conversations, they didn’t intuit the link between questions and liking. Across four studies, in which participants were engaged in conversations themselves or read transcripts of others’ conversations, people tended not to realize that question asking would influence—or had influenced—the level of amity between the conversationalists.