アルクシン

       |    Si vous parlez français, veuillez vous rendre ici.

"CRubuntuNG" is a complete and customized install of Ubuntu+Openbox, inspired by CrunchBang Linux (RIP).

CrunchBang was originally based on Ubuntu from 2008 then migrated to Debian in 2011, and unfortunately disappeared in 2015. Debian now has "BunsenLabs" as a successor, however some people could prefer something built on Ubuntu and close to what CB was in the beginning: dark, nimble (between 250MB-330MB at startup!), minimalistic while still being easy to use.

⇒ Screenshot 1 (default interface)
⇒ Screenshot 2 (default interface)
⇒ Screenshot 3 (ubuntu palette and vertical panel)
⇒ Screenshot 4 (xubuntu palette and compact panel)
⇒ Screenshot 5 (bunsenlabs palette and top panel)

This is not a distro/remix/derivative/whatever, it's just a script to use on a minimal install of Ubuntu (and without any third-party repo either). You keep all the goodness and user-friendliness from the base and take advantage of a light (but usable) environment. There's no need for an umpteenth pseudo-distribution when a simple bash script is enough, moreover it's less difficult to tailor it to your needs from A to Z. Using an official Ubuntu mini iso as a base guarantees something quite solid and fully supported, and I don't have spare time to maintain my own distro anyway. Changelog is available here.

Many included applications are from Xfce, because they don't bring a lot of dependencies and integrate well with Openbox. And unlike LXDE apps (which are going to be unmaintained because of the migration to LXQt) they're still under development.

PS: Thank you Philip "Corenominal" Newborough for CrunchBang and everything else!

Installation

Warning: wired network connection is mandatory until booting to the graphical session.

It's pretty straightforward: download the mini iso of Ubuntu 18.04 LTS and install it like a standard Ubuntu but don't check anything when at package selection screen. This way, only core components will be installed. Don't use a standard Ubuntu iso because while it provides a "minimal install" option too, it's not the same thing at all, it only removes a few packages and still sets a complete desktop environment. Minimal installer is plain text, not graphical, steps are the same though. Use arrows or "Tab" to navigate, "Space" to select/check, and "Enter" to validate. For older computers, everything seems to work well with a 32bits iso too.

Before installing, if you need UEFI, after writing on the installation media (preferably USB key) explore it and copy in its root folder the "efi.img" image located in "/boot/grub" folder then extract it (accept erasing files if asked to). Installation media should now have "efi" folder containing "boot" sub-folder with "bootx64.efi" and "grubx64.efi" files inside. See this bug report .

Once your minimal Ubuntu installed, you'll be prompted to a console (tty) after reboot.

Login (as user), then download and launch the script:

Full edition (shortened url)
wget https://is.gd/cbuben
chmod +x cbuben
./cbuben
Original url: https://alkusin.net/crubuntung/downloads/crubuntung-english.sh

Lite edition (shortened url)
wget https://is.gd/cbubenlt
chmod +x cbubenlt
./cbubenlt
Original url: https://alkusin.net/crubuntung/downloads/crubuntung-lite-english.sh

Differences between Full and Lite are listed here. Using my script is effortless, it will update packages, install graphical session and software, download configuration files from my server, then reboot your computer. Everything is automated.

If you want to make your own script, there is a commented example to guide you.

Notes

- Simple-click is default. If you hate it, feel free to change it in Thunar settings.

- Explore the menu (right-click on desktop or left-click on logo if you use a Tint2 theme with a button). You'll find a lot of items to configure your session easily, select a color palette or a panel layout, and other useful stuff. By the way, you must add/remove entries manually (= fine-grained control), if you want an auto-generated applications menu add <menu id="applications-menu" label="Applications" execute="/usr/bin/obamenu"/> somewhere in your "menu.xml" file.

- There's no GUI tool included for users management, I suggest you to use command-line anyway to avoid unwanted dependencies. Remember to add new users to required groups (see "groups" command on main account).

- While "Full edition" contains almost everything for daily use, I recommend "Reaper" as a DAW (I've tested experimental Linux build and it works flawlessly), "MyPaint" for drawing with a tablet if GIMP isn't enough, "blueman" for Bluetooth. For other technical needs, I'm pretty sure that you already know what you have to install.

- If you install some packages and don't know what are their command, use "appfinder". Don't worry if some apps listed here don't work because "appfinder" scans everything, even software that won't run under a barebone Openbox session.

- Don't forget to modify the "autostart" file to suit your needs. If a program launches at startup while not written in "autostart", check the following folders: "~/.config/autostart/" and "/etc/xdg/autostart/". Some of them also have a box to untick.

- Think about changing GPS coordinates of Redshift (night light mode) in "~/.config/redshift.conf", instructions are given in the file. It's possible to get them automatically thanks to GeoClue but if you are not connected to the internet then Redshift will complain and stop itself...

- You must set the correct audio device by right-clicking on volume icon then "preferences" and "device".

- If you don't want battery icon, untick it in power manager settings, don't disable it in "autostart".

- Laptops brightness and volume keys work (in theory), but don't display any notification.

- If your keyboard doesn't have a numeric pad, feel free to uninstall "numlockx" and remove it from startup with sudo nano /etc/lightdm/lightdm.conf. Regarding pseudo-tiling, you can use Ctrl+Alt+Arrows to grow windows to screen edges, dedicated keybindings are already configurated in "rc.xml", you only have to edit shortcuts indicated in Conky. If you want to go deeper, it's of course possible to replace numpad keys with arrows in "rc.xml" but you won't be able to snap windows in corners (quarter), only sides (half).

- Upgrading to a new release isn't a problem, same tool than standard Ubuntu is provided. I did try to upgrade from 18.04 to 18.10 in a VM and nothing went wrong. Just be careful of what the upgrade does, it may ask to remove some packages for example. If some of my config files are erased/deleted you can find them in "~/.crubuntung-backup" or download them manually. As Openbox and Xfce apps don't evolve that much, I recommend you to stay on LTS. Upgrading is only useful if you want brand new software or latest hardware support, but keep in mind that LTS point releases receive new kernel and mesa stack (HWE).

- Default theme is Numix (gtk/openbox) + Papirus (icons), slightly hacked. They're compiled from source when you use my "color palette" scripts, so don't install them from repositories (or remove the customized ones and don't use my scripts). I suggest you to backup them if anything goes wrong or if GitHub files are deleted someday (there's already a backup in your home folder, created during initial installation). Regarding LightDM, I provide several user pictures matching default wallpapers. If you want LightDM background the same than Ubuntu plymouth theme, set its color to "#28001e" (default is "#0d0d0d").

- "Color palette" scripts require an internet connection. Themes will probably break badly if you use this function offline. Tip: you can use these scripts to update themes in order to get their latest improvements.

- I host a backup of default gtk/openbox and icons in my Dropbox if needed.

- Menu icons are kinda hardcoded, they won't change if you select another icon set. You'll have to edit "menu.xml".

- Notes shown in Conky are refreshed every 15 minutes (900 seconds) as default.

- If you experience screen tearing, try to change "vsync" to "opengl" or "drm" (and "backend" to "glx" too) in "~/.config/compton.conf" then enable the compositor (Compton). It should disable itself while gaming fullscreen, if not, do that manually to have better perfs. If tearing is only in web browsers, in Firefox you can put "layers.acceleration.force-enabled" on "true" in "about:config" page, and if you use Chrom·e·ium enable "chrome://flags/#ignore-gpu-blacklist".

- Snappy is disabled by default, "snapd" "snapd.seeded" "snapd.socket" services must be running to use snap packages.

- Steam' language settings and account credentials could be resetted sometimes, it's an old known bug . If it happens, login and set your language again, then immediately use the following command. Remark: after this, if you quit Steam while a game is installing/updating, it won't resume but start all over again instead.

cd ~/.steam/
chmod a-w registry.vdf

Tips & Tweaks

Security

Using an antivirus under Linux is often useless, because it's way more secure than Windows and less targetted as the desktop marketshare is very low, but you can use ClamAV to scan files shared with Windows computers. I suggest you to check your system once in a while though, with RKhunter and/or Lynis. Both are available in Ubuntu repositories.

RKhunter
sudo rkhunter -c --noappend-log
sudo cat /var/log/rkhunter.log | grep -i "warning"
Almost all "warnings" are false-positives, if you have a doubt check the logfile or ask in Reddit/forums.

Lynis
sudo lynis audit system

Threats essentially come from web browsers. You should install HTTPS Everywhere and µBlock Origin for Firefox or for Chrome . µBlock isn't only an ad-blocker, configure it to your needs then enable the "resource abuse" filter and some privacy filters too. Besides that I strongly advise you to add a list of known coin-miners at the end of your hosts file, use sudo nano /etc/hosts to edit it (scroll and copy-paste with mouse then "Ctrl+O -> Return -> Ctrl+X" to save and quit).

If you don't need them, disable SSH, Samba, and remote desktop (they should be already disabled by default).

DNS servers

Click on network icon in panel to open Wicd, and edit your connection properties. Changing DNS may improve speed, security, privacy, and avoid censorship from local internet providers, but doesn't make you anonymous, for that you should use a VPN (my favourite is ProtonVPN), proxies, Tor... Popular alternative DNS are Google Public DNS , DNS Watch , CloudFlare . There's also OpenNIC but you have to check regularly what are the closest IPs. I don't recommend OpenDNS as it's now owned by Cisco which is known to collaborate with NSA (I have to say that Google isn't the best choice for privacy either).

Connect with a VPN

Wicd doesn't manage VPNs, you have to use command-line. Install OpenVPN :

sudo apt install openvpn

Download configuration file given by your provider (usually ".ovpn") then :

sudo mv FILE.ovpn /etc/openvpn/client.conf
Replace "FILE" by real name of the downloaded file.

If you don't want to type your credentials everytime :

sudo nano /etc/openvpn/.auth.txt
Username at first line and password at second line, then exit.
sudo nano /etc/openvpn/client.conf
Change "auth-user-pass" to "/etc/openvpn/.auth.txt" then exit.

To automatically launch your VPN connection at startup (previous step is mandatory) :

sudo nano /etc/default/openvpn
Uncomment the "AUTOSTART="all"" line by removing the hash sign then exit.

Enable OpenVPN service :

sudo systemctl enable openvpn@client.service

To start and stop manually :

sudo systemctl start openvpn@client.service
sudo systemctl stop openvpn@client.service

Check that you're connected with the VPN using this website .

Install Network-Manager

Wicd is lightweight, standalone, and less annoying than NetworkManager, but also has less options. If you need NM for an atypical network (connect with ethernet before doing anything) :

sed -i 's/wicd/nm-applet/g' ~/.config/openbox/autostart
sudo systemctl disable wicd.service
sudo apt install network-manager network-manager-gnome network-manager-openvpn wicd-
sudo touch /etc/NetworkManager/conf.d/10-globally-managed-devices.conf
sudo sed -i 's/managed=false/managed=true/g' /etc/NetworkManager/NetworkManager.conf
sudo mv /etc/netplan/01-netcfg.yaml /etc/netplan/01-netcfg.yaml.bak
cat << EOF | sudo tee /etc/netplan/01-network-manager-all.yaml
network:
  version: 2
  renderer: NetworkManager
EOF

(indent is important)

sudo systemctl enable NetworkManager

Reboot, NM should be working correctly.

Color profiles

I'm not aware of any standalone screen calibration GUI, so I included "xcalib" ("full edition" only) and "xiccd" tools, use the one you want. "xiccd" is usually already launched in background without having anything to do, while "xcalib" requires you to download a color profile then run xcalib '/path/to/file.icc' and add the same line in "autostart" (and remove "xiccd"). I prefer "xcalib" because it offers more control. For night light, "redshift" is already installed and launched at startup.

Plymouth details

If you want to see system informations at boot instead of Ubuntu logo on a purple background:

sudo apt install plymouth-themes
sudo update-alternatives --install /usr/share/plymouth/themes/default.plymouth default.plymouth /usr/share/plymouth/themes/details/details.plymouth 100
sudo update-alternatives --config default.plymouth
(select number corresponding to "details")
sudo update-initramfs -u

Clock screensaver

If like me you want to have a big clock on your screen when you don't use your computer, you can create a screensaver with terminal and a specific package. On the other hand you'll have to disable Light-Locker automatic locking and delay before black screen in Power-Manager.

sudo apt install tty-clock
xfce4-terminal --fullscreen --hide-menubar --hide-scrollbar --color-bg=#111 --font='Monospace 36' -e 'tty-clock -cDBC 7'
(press Q to quit)

You could add this command in your Openbox menu, above "Lock" for example.

Croscore fonts

Provided by Google, they are open-source fonts metrically compatible with "Arial", "Courier New", and "Times New Roman", the most used fonts in Windows systems. Useful for office documents and most of all web pages. Set them in your browser fonts settings: "Arimo" for sans-serif, "Tinos" for serif, and "Cousine" for monospace.

Touchpad

If you prefer tap-to-click, edit libinput' configuration:

sudo mkdir /etc/X11/xorg.conf.d/
cat << EOF | sudo tee /etc/X11/xorg.conf.d/99-touchpad-tapclick.conf
Section "InputClass"
    Identifier "libinput touchpad catchall"
    MatchIsTouchpad "on"
    MatchDevicePath "/dev/input/event*"
    Option "Tapping" "True"
    Driver "libinput"
EndSection
EOF

Google Chrome

This web browser isn't in the repositories, so if you need some of its features install it manually:

wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
sudo dpkg -i google-chrome-stable_current_amd64.deb

Performance

Mostly for gaming. Be aware that setting perfs to the maximum eats up electricity.

CPU (AMD/INTEL)

>>> Remark: tested on Ryzen 5 1600 and i3 4000, your cpu may require different values.

Check current frequencies:

sudo cpupower -c all frequency-info | grep -P 'current CPU frequency'

Toggle max performances:

sudo cpupower -c all frequency-set -g performance
(use previous command again to see if it worked)

Changes will revert to default after reboot, create this service to make them permanent:

cat << EOF | sudo tee /etc/systemd/system/cpupower.service
[Unit]
Description=CPU performance mode

[Service]
Type=oneshot
ExecStart=/usr/bin/cpupower -c all frequency-set -g performance

[Install]
WantedBy=multi-user.target
EOF

sudo systemctl daemon-reload
sudo systemctl enable cpupower.service

GPU (AMD)

>>> Remark: tested on Radeon RX580, your gpu may require different values.

Check current profiles:

cat /sys/class/drm/card0/device/power_dpm_state
cat /sys/class/drm/card0/device/power_dpm_force_performance_level

Toggle max performances:

echo 'performance' | sudo tee /sys/class/drm/card0/device/power_dpm_state
echo 'high' | sudo tee /sys/class/drm/card0/device/power_dpm_force_performance_level

Make these changes permanent:

cat << EOF | sudo tee /usr/local/sbin/gpupower.sh
#!/bin/bash
echo performance > /sys/class/drm/card0/device/power_dpm_state
echo high > /sys/class/drm/card0/device/power_dpm_force_performance_level
EOF

sudo chmod +x /usr/local/sbin/gpupower.sh

cat << EOF | sudo tee /etc/systemd/system/gpupower.service
[Unit]
Description=GPU performance mode

[Service]
Type=oneshot
ExecStart=/usr/local/sbin/gpupower.sh

[Install]
WantedBy=multi-user.target
EOF

sudo systemctl daemon-reload
sudo systemctl enable gpupower.service

SWAP

Swap is activated when used RAM percentage is at 40% or more. Solliciting swap could slow down your hard drive, so if you have a lot of RAM you should decrease "swappiness" to "10" instead of "60" to make swap trigger at 90% of used RAM.

Check current value:

sudo cat /proc/sys/vm/swappiness

Set swappiness to 10:

sudo sysctl vm.swappiness=10

sudo swapoff -a
sudo swapon -a

Make it permanent:

echo 'vm.swappiness=10' | sudo tee /etc/sysctl.d/99-swappiness.conf

PS: If you have a SSD, reducing "swappiness" will probably help its longevity, however you can use "zRam" too:

sudo apt install zram-config
(just install this, zRam configures itself automatically)

Extras

LINUX MINT THEMES

If you like "Mint-Y" themes (GTK and icons), I offer a script to install them with tiled backgrounds of each color and of course corresponding Openbox themes. You can see a screenshot here.

wget https://alkusin.net/crubuntung/downloads/extras/obminty-install.sh
chmod +x obminty-install.sh
./obminty-install.sh

Documentation


Feel free to message me on Reddit or send me an email if:

While I appreciate suggestions, keep in mind that "CRubuntuNG" is first of all meant for my own use.

Last edit: 13th January 2019