nakeDeb -- nakedWiki

nakedWiki will allow you to get started with your system quickly.
you have several pages to find your happiness:

nakedWiki -- summary

note1: this page concerns the last published version of the nakeDeb. for previous versions, go to the documentation included in your version.

note2: this page is not a detailed beginner's documentation.

note3: this documentation is not exhaustive. nakeDeb is not intended to be accessible to beginner clickophiles. that said, nakeDeb can be used out-of-the-box if your hardware is recognized and does not require any particular configuration :).

testing nakeDeb in live session

nakeDeb is a classic Debian live system: you just need to boot from the USB key or the CDROM to start the system and choose 'live'.

bootmenu legacy
bootmenu in legacy mode

bootmenu uefi
bootmenu in UEFI mode

he principle: a Live CD/USB makes it possible to use a distribution on a computer without risk for your personal data. The Live session also allows you to test the compatibility of your equipment before a potential installation.

the concept: the Debian operating system is compressed into a special file (the squashfs.filesystem) and embedded in the ISO image you downloaded. It is this special file that is decompressed during live use. It will be copied to your hard drive during installation.

nakeDeb requires few resources: in a live session 256 MB of RAM is sufficient to start the OS. on the other hand, to install it, it will take 512 MB.

memo: to transfer the ISO image to a USB key from a GNU/Linux system:

dd if=nakedeb-$VERSION-$ARCH.iso of=/dev/sdX bs=4M status=progress; sync

by replacing "$VERSION" by the current version of nakeDeb, "$ARCH" by the appropriate architecture and "/dev/sdX" by the usb device of your key ;)

in graphical mode, you can use etcher transfer tool (multi-plateforme).

nakeDeb in live rescue mode

nakdeb displays a "hardware tool" function in legacy live session and a "rescue mode" in UEFI live session.

once connected in live session, nakeDeb embeds a series of tools allowing you to format, verify or repair your disks. to some extent, nakeDeb can allow you to recover your supposedly lost data through testdisk & photorec.

for more information, I let you consult the dedicated section.

choose an environment

nakeDeb includes 2 sessions available in live or installed session. fluxbox is the default desktop, it starts directly when starting the live-cd.
to test another desktop, you can use the dedicated entry in the fluxbox menu > "Other WMs". you can also disconnect from the fluxbox session from the fluxbox menu > Exit. you will be redirected to the lightdm login screen: choose your session using the configuration icon at the top right, enter the password "live" then connect to your new session.

session choice

nakeDeb in persistent live mode

nakeDeb is a Debian live and therefore accepts the persistence option. this option will allow you to keep your settings, data and software between two live sessions. to use persistence, you must create a partition next to the one used by the ISO, assign it a mount point and tell the live to use this option.

we start with the persistence partition:
once the ISO image has been transferred to the USB key, you must use the remaining space. to check that there is enough space left, list the partitions of the USB key in administrator mode (here with /dev/sdd to adapt to your situation):

fdisk -l /dev/sdd
Disque /dev/sdd : 3,8 GiB, 4040724480 octets, 7892040 secteurs
Modèle de disque : USB2FlashStorage
Unités : secteur de 1 × 512 = 512 octets
Taille de secteur (logique / physique) : 512 octets / 512 octets
taille d'E/S (minimale / optimale) : 512 octets / 512 octets
Type d'étiquette de disque : dos
Identifiant de disque : 0xbd512129

Périphérique Amorçage Début     Fin Secteurs Taille Id Type
/dev/sdd1    *           64 1302527  1302464   636M  0 Vide
/dev/sdd2              6060   11755     5696   2,8M ef EFI (FAT-12/16/32)

in our example, it remains 3,1G (3,8G - 636M)
creation of the persistence partition with fdisk in administrator mode:

fdisk /dev/sdd

Bienvenue dans fdisk (util-linux 2.33.1).
Les modifications resteront en mémoire jusqu'à écriture.
Soyez prudent avant d'utiliser la commande d'écriture.

Commande (m pour l'aide) : n
Type de partition
   p   primaire (2 primaire, 0 étendue, 2 libre)
   e   étendue (conteneur pour partitions logiques)
Sélectionnez (p par défaut) : p
Numéro de partition (3,4, 3 par défaut) : 3
Premier secteur (1302528-7892039, 1302528 par défaut) :
Dernier secteur, +/-secteurs ou +/-taille{K,M,G,T,P} (1302528-7892039, 7892039 par défaut) :

Une nouvelle partition 3 de type « Linux » et de taille 3,1 GiB a été créée.

Commande (m pour l'aide) : w
La table de partitions a été altérée.
Appel d'ioctl() pour relire la table de partitions.
Synchronisation des disques.

summary of orders made:

formatting the partition in ext4 in administrator mode with the label "persistence":

mkfs.ext4 -L persistence /dev/sdd3
mke2fs 1.44.5 (15-Dec-2018)
En train de créer un système de fichiers avec 823689 4k blocs et 206336 i-noeuds.
UUID de système de fichiers=455c4996-16eb-4dbe-82da-b7f1ebd13e7e
Superblocs de secours stockés sur les blocs :
    32768, 98304, 163840, 229376, 294912, 819200

Allocation des tables de groupe : complété
Écriture des tables d'i-noeuds : complété
Création du journal (16384 blocs) : complété
Écriture des superblocs et de l'information de comptabilité du système de
fichiers : complété

checking the created partition:

lsblk -f /dev/sdd
NAME   FSTYPE  LABEL       UUID
sdd    iso9660 nakedeb-1.0 2020-12-03-02-12-29-00
├─sdd1 iso9660 nakedeb-1.0 2020-12-03-02-12-29-00
├─sdd2 vfat    nakedeb-1.0 9EC9-9685
└─sdd3 ext4    persistence 455c4996-16eb-4dbe-82da-b7f1ebd13e7e

it is now necessary to define the mount points. for more ease, take the root of the live system, thus, any modification carried out in live session will be taken into account.
mounting the partition and setting up the configuration file:

mount /dev/sdd3 /mnt/
echo "/ union" > /mnt/persistence.conf

you still have to unmount your partition:

umount /mnt

your key is ready for data persistence. to use it, at the time of the boot menu, press the Tab key for "Tabulation" in order to edit the command line for launching the live. add "persistence" to the options present as follows:

boot=live components quiet splash username=human hostname=nakedeb locales=fr_FR.UTF-8 persistence

encrypt persistence?
nakeDeb integrate zulucrypt which can create encrypted virtual volumes, allowing you to keep your sensitive data safe, even when using the persistence option.

install nakeDeb on hard disk

nakeDeb is built with live-build and includes the Debian installer by default.

nakeDeb offers 2 installation modes: classic and expert, both in text mode.

classic installation asks you a few questions and takes between 10 and 20 minutes depending on your machine. the restart is automatic at the end of the installation.
here are the questions asked during the installation in classic mode:

  1. keyboard choice
  2. hostname
  3. administrator 'root' password (optional but recommanded)
  4. full name of the main user
  5. login of the main user
  6. password of the main user
  7. choice of partitioning method (assisted, manual ...)
  8. choice of disk to partition
  9. confirmation of the partitioning method
  10. application of modifications and final confirmation before installation
  11. choice of device for GRUB installation

note that during the installation, the firmwares are not loaded: you do not need the network to install nakeDeb. if the network configuration fails during installation, just go to the next step with "do not configure the network".

for a video preview of the installation, go to the dedicated area.

expert mode installation details all the possible options of the Debian installer.

uninstall nakeDeb

nakeDeb is built in a modular fashion: each add-on is integrated into a "classic" debian package, making it easy to clean up your system.
if you want to revert to a near pure version of Debian, run these simple commands as root to remove naked* packages.
note that you will also uninstall the documentation, the walls, the tools ... all naked*:

apt autoremove --purge naked* clarity-icon-theme nordic-gtk-theme dracula-gtk-theme zafiro-nord-dark-icon-theme nordzy-dark-cursor fluxbox-automenu bashmount

you still have to edit your fluxbox and i3wm configuration files to remove the naked commands.

... et voilà, you are on Debian ! debian logo

using nakeDeb

getting started

nakeDeb integrates 2 sessions to manage your desktop.
fluxbox is the default desktop, so it is the one that launches first live, it is also the one that is displayed just after installation without your intervention.

fluxbox, your default desktop manager

fluxbox is an ultra light window manager. it manages the nakeDeb desktop: decoration and arrangement of windows, display of the wallpaper, the panel (the taskbar) and the desktop menu.

fluxbox preview
FluxBox desktop on nakeDeb.

fluxbox is mainly configurable from its menu. but also has files to refine your preferences (keyboard shortcuts or small details).

the fluxbox main menu is triggered by right-clicking on the desktop and presents the main installed applications as well as a very complete configuration section. this menu can be configured from its ~/.fluxbox/menu file.

Fluxbox on nakeDeb has an auto-generated menu entry via fluxbox-automenu (by prx) listing your applications. if this menu is not displayed, simply relaunch fluxbox from its menu > configuration > fluxbox > restart.

more details on the fluxbox dedicated page ;)

i3wm: your alternative desktop manager

i3wm is a rather particular 'tiling window manager': it works on the principle of "containers", several containers can be displayed on the screen in order to fill the total surface and each container has its own layout to optimize the visibility of your open applications.

i3wm preview
i3wm desktop on nakeDeb.

nakeDeb includes a fully preconfigured i3wm version to allow you to discover this window manager.
find all the details in the documentation dedicated to i3wm of this nakedWiki ;)

rofi

rofi is a fully configurable application menu from the command line, your ~/.Xresources file or the included themes. on nakeDeb, rofi is displayed in full screen and lists the applications, the open windows or the last ssh connections.

rofi is accessible from the keyboard shortcuts Alt+d / Alt+p on both sessions. it is the "run" mode that starts by default and allows you to open your applications by typing the first letters of their executables. the popmenu displays application's names by default.
to switch to "search by application name" (drun mode), "search by window" (window mode) or "ssh server" mode, use the keyboard shortcut Shift+/.

rofi is used in several scripts in nakeDeb: nakedwalls, dotcleaner, nakedhelp, nakedquit.

rofi menu
rofi in drun mode with icons

change rofi theme

rofi accepts the -theme /path_to_theme.rasi option which allows you to completely modify the appearance of the menu.
to change the theme, launch rofi-theme-selectorbrowse among the themes, preview Enter, validate with Alt+a.

lxappearance & feh, manage your interface

window decorations are managed by fluxbox 'styles' (i3wm manages its decorations on its own), but the general interface is entrusted to GTK. to configure the appearance of your environment, launch lxappearance in rofi or open fluxbox menu > configuration > interface.

wallpapers are managed by feh: simply launch nakedwalls to set a random wallpaper, to choose one from th list or to view them.

nakedwalls menu

need more walls? visit my cave.

conky & polybar

on nakeDeb each session have their own information system. Fluxbox has a conky which is displayed directly on the desktop while i3wm integrates polybar.
each his own system, that means 2 separate configuration files to edit:

for more information about conky, have a look at your favorite terminal man conky.

for more information on polybar, visit the polybar dedicated section of this wiki.

note that conky behaves differently on the two sessions: fluxbox is a floating wm, so conky is displayed where you want while on i3wm, in tiling mode, conky appears windowed by default.

conky in auto-hide: to have a conky that hides automatically on the fluxbox session, you have to indicate its level. in the configuration file of the concerned conky, modify the appropriate property as follows: own_window_type = 'dock' which will place conky in the fluxbox slit (a part of fluxbox initially planned for WindowMaker docksapps). once conky is in the slit, right-click on it to display the slit configuration menu: select the 'auto-hide' entry (tip by skippythekangoo, thanks :) ).

xtra

nakeDeb is a Debian with some scripts (contained in the nakedtools package), a ~/.bashrc & a ~/.Xresources to facilitate daily work.
feel free to browse and test these scripts (the list in /usr/share/doc/nakedtools/README.debian), to edit your bashrc and to discover aliases and functions present.
your ~/.Xresources will allow you to configure the appearance of your terminal & CLI applications.

more details and the list of specific commands on nakeDeb in the dedicated section of the nakedCLI.

xfce4-power-manager & tlp

for mobile use, nakeDeb will allow you to configure the energy consumption on your laptops with xfce4-power-manager. tlp is also in the game for better battery management.

to configure energy management, go to the fluxbox menu > Configuration > Power, or by launching xfce4-power-manager-settings from a terminal, rofi or fbrun.

redshift & xcalib

for night-time use and to take care of your eyes, nakeDeb integrates redshift a utility which allows you to adjust the temperature of your screen. redshift is enabled by default and runs in the background.

in a more radical version, the xcalib CLI tool will allow you to totally invert the colors of your screen from the bash alias invertcolors.

manage your touchpad

if you want to activate your touchpad and tap2clic, you can go through libinput and a system configuration file in /etc/X11/xorg.conf.d/40-libinput.conf in which you will take care to place this (restart your session for taking into account):

Section "InputClass"
    Identifier "libinput touchpad catchall"
    MatchIsTouchpad "on"
    MatchDevicePath "/dev/input/event*"
    Driver "libinput"
    Option "Tapping" "on"
EndSection

en/disable notifications

notifications are handled by dunst on nakedeb. if you don't want to be disturbed, you can disable notifications with this command:

dunstctl set-paused true

to enable notifications, use the same command with the 'false' option:

dunstctl set-paused false

change DNS resolver

depending on the country you live in, you may wish to change your DNS resolver to protect your browsing, bypass censorship, or for any other reason. to change your DNS resolver, follow this procedure in administrator mode (by Steve S.):

install resolvconf:

apt install resolvconf

put the address of the new DNS resolver in the configuration file (here with CloudFlare DNS):

echo "nameserver 1.1.1.1" >> /etc/resolvconf/resolv.conf.d/head

enable resolver:

systemctl enable resolvconf.service

you need to restart the service in administrator mode to complete the process:

systemctl restart resolvconf.service

to check your DNS resolver, use dig:

dig arpinux.org | grep SERVER

CloudFlare is not the only resolver available, you can choose your own on the public-dns site.

integrated applications

nakeDeb embeds a series of applications for your common tasks. they are available directly from the fluxbox menu or via rofi (triggered with Alt+d on the 2 sessions).

lf & pcmanfm: manage yur data

for mouse fans, nakeDeb offers pcmanfm to allow you to graphically navigate your files. but if you prefer the small black box, nakeDeb embeds lf for data management from your terminal.

lf is a file browser written in Go using vim keyboard shortcuts for navigation and commands. very light, almost spartan, it can also be improved through the use of external scripts.
lf allows you to preview the selected files or archives, however, if you notice a slowdown on an old machine, you can deactivate this option in order to speed up its operation using the zv shortcut.

lf CLI filer
the lf CLI file manager.

lf uses vim shortcuts for actions and navigation as well as the keyboard arrows. lf's got a very complete help center: type :doc for man page.

lf runs on server/client mode. It allow copy/paste between two lf instances. The keybind gn opens a new lf instance.

lf also uses the auto-completion displayed: when you press a key that can form a keyboard shortcut, the possibilities are displayed directly in the lf window, allowing you to complete your order or to abort with Esc.

shortcut or command action
/k, /j, /h, /l browse/open
Space select dir/file
v/u select all / unselect
y copy
d cut
p paste
c clear
/ search
r rename
w shell
a mkdir
:trash / T put selection in trash
:delete / Delete delete
i display file
:doc / F1 help
e edit
C / :edit-config edit ~/.config/lf/lfrc
gh go home
gn open new lf instance
q quit

bashmount: manage your removable media

pcmanfm has an automatic mount option, but if you are in CLI mode, lf does not have tools to automatically mount/unmount removable volumes.
to facilitate the use of USB keys, nakeDeb integrates bashmount, a script by jamielinux which allows you to mount/unmount your volumes on the fly.
to use it, insert your USB key then simply run bashmount or bm in your terminal.

connman: manage the network

network management is entrusted to connman. a simple left click on the fluxbox panel network icon opens the configuration interface. if the icon is not present, you can launch connman from the fluxbox menu > administration > Wifi config.
on i3wm session, launch connman-gtk from rofi.

w3m, tor-browser & weechat: browse or chat on the internet

Internet browsing is entrusted by default to w3m, a text-mode browser which can also display images. it is very fast and is also used to display help on nakeDeb.
you can also use it to browse the net: w3m supports tabs, bookmarks and offers a complete history.

keyboard shortcuts for w3m:

more informations in the official documentation.

the tor-browser is not installed by default on nakeDeb, however, its launcher is. you just have to launch the tor-browser-launcher from the fluxbox menu or from rofi: the latest version of the anonymous browser will be downloaded, installed and then launched ... good surf :)

weechat is a software to connect to IRC servers. on nakeDeb, weechat is pre-configured to join the #nakedeb chat room on oftc, but you can connect to servers other than oftc and join other rooms if you want.

weechat works with commands placed in text mode (more info on the official weechat wiki):

weechat accepts keyboard shortcuts. here are a few to get you started:

lftp: manage ftp transfers

nakeDeb integrates lftp for the management of your transfers via the terminal. lftp is very easy to learn and the magic command will give you all the answers on its use: man lftp.

to connect to an ftp server, use a command of the form:

lftp -u USER,PASSWORD ftp.example.com/directory/

mpv, moc & nsxiv: view multimedia files

an operating system must be able to play multimedia files. nakeDeb embeds mpv which will take charge of audio/video and nsxiv files to display your images.

mpv displays an osd menu on the screen when you move the cursor and is very intuitive to use on the keyboard.

note that the moc audio player is also integrated in order to manage your large music libraries. moc (music on console) is a console music player that allows you to browse your directories, listen to your music, create your playlists...
it is controlled from the keyboard and accepts a ~/.moc/config configuration file.

the main shortcuts of moc player:

nsxiv simply displays your images. it also allows you to view all the images in a folder thanks to its "thumbnail" mode triggered by the Enter key or a right-click on an image being viewed.

nsxiv is piloted from the keyboard. a man nsxiv will give you all of the functions, but here are a few to get you started:

play a commercial DVD

to be able to read protected DVDs, you need the 'libdvdcss2'. the easiest way is to install the 'libdvd-pkg' package which takes care of getting the latest version of the libdvdcss2 library and updating it. to do this, open a terminal then run as root:

apt install libdvd-pkg

you must then configure the package in this way as root:

dpkg-reconfigure libdvd-pkg

geany, nano & zathura: the document editors

nakeDeb comes with nano, a light and fast command line editor. nano has the advantage of displaying the functions on the screen which allows it to be used very quickly.

for mouse fans, nakeDeb integrates geany, the well-known IDE with multiple plugins & possibilities.

for multi-page pdf documents, nakeDeb embeds zathura, an ultra-minimal fast PDF viewer. zathura is intended for viewing PDF and does just that. to take it in hand quickly, man zathura. note that zathura is configured in 'dark-mode' with colors inversion. to restore 'clear-mode', simply press Ctrl+r.

file-roller & dtrx: manage your archives

data sharing, backup, all that takes up less space in compressed version. nakeDeb integrates file-roller, dtrx and some aliases to manage your archives.

in GUI mode, file-roller open and extract your archives in one click.

in CLI mode, lf is preconfigured to decompress archives via :extract, accompanied by dtrx.

nakedlocate & 'ff': search your data

to find your data in your system, nakeDeb integrates nakedlocate which allows you to find your files graphically via rofi and locate. it is triggered using the Super+f shortcut. note that nakedlocate working thanks to locate, it will be necessary to update the database before a search for recent files (those modified/added during the current session).
to do this, run the updatedb command as root.

for CLI use, the ff 'keyword' function of your ~/.bashrc will help you find a keyword in the current directory (recursive) and then list the results in your $PAGER.

htop, iotop, nethogs, ncdu, inxi, neofetch: the small tools

nakeDeb embeds a series of small tools to easily monitor your system.

htop allows you to view and control your running processes.
iotop allows you to view read/write processes on your drives.
nethogs allows you to view network traffic by processes.
note that 'iotop' & 'nethogs' must be launched as root.
ncdu & inxi inform you about the space occupied and the complete specificities of your system and your equipment.
for a quick overview, run neofetch and get the main info about your system.

neofetch CLI infos

gnome-disk & gparted: manage your disks

nakeDeb embeds two powerful and graphical tools to check and/or manage your disks and partitions: gnome-disk-utility et gparted.

 ! warning ! 
handling partitions involves risks:
back up your data before modifying your partitions.

complete documentation on gnome-disks or gparted has no place here: if you are using nakeDeb in rescue mode, you must know what you are doing ;) .

in case, I leave you with the gnome-disks documentation about gnome-disk and the official gparted documentation.

to launch the disk utility or the partition manager on fluxbox, go to the fluxbox menu, section "Administration".

testdisk & photorec: recover your data

nakeDeb also integrates testdisk/photorec which will allow you, in live or installed session, to attempt data recovery from damaged disks.
these recovery applications are not present in the graphic menus: they are launched in console.

secure-delete & wipe: completely erase your data

nakeDeb can also be used to erase your data securely without having to go through formatting or any other cumbersome process. nakeDeb embeds secure-delete & wipefor this purpose.
be careful using these tools, it really erases!
a little man srm or man wipe is essential before any use.

zulucrypt: create encrypted volumes

zulucrypt is a utility that allows you to create encrypted virtual volumes directly on a hard drive, without having to format or use a heavy process. volumes come in the form of files that you can move or delete as you like. once the volume is created, anything you copy into it will be encrypted on the fly.
. you can find a useful documentation on zuluCrypt git page.
note that zulucrypt can manage PLAIN dm-crypt volumes, LUKS encrypted volumes, TrueCrypt encrypted volumes, VeraCrypt encrypted volumes and Microsoft’s BitLocker volumes.

cryptsetup: internal or external volume encryption

LUKS is a "Block Layer Encryption" utility: everything is encrypted on the partition. it is a cross-platform independent method.
cryptsetup is a console application for creating and managing encrypted volumes.

nakeDeb includes the minimum necessary to create, manage, mount and use encrypted volumes.
to create an encrypted volume on a USB key identified as /dev/sdd1 (with bashmount), run the command in administrator mode:

 # cryptsetup -y -v luksFormat /dev/sdd1
WARNING!
========
This will overwrite data on /dev/sdd1 irrevocably.

Are you sure? (Type uppercase yes): YES
Enter LUKS passphrase:
Verify passphrase:
Key slot 0 created.
Successful operation.

once the volume is created, it must be opened to format its contents

 # cryptsetup open /dev/sdd1 usbcrypt
Enter LUKS passphrase for /dev/sdd1:

the volume will be opened in /dev/mapper/usbcrypt (according to the name given in the previous command).
you must now format the content according to your needs. here, we format in FAT for use on GNU/Linux or other workstations:

 # mkfs.fat /dev/mapper/usbcrypt

et voilà ! your key now has a fully encrypted partition.
on nakeDeb, it will be recognized by the bashmount utility and you will be asked for the password directly in the interface. ditto for PCManFM which will open a window to allow you to enter the password.

keepassxc: password manager

keepassxc is a graphic and multi-platform password manager that uses an encrypted database. It will allow you to centralize, save and manage your passwords safely.
you will be able to create or import an existing database and list your passwords by categories.
more informations on the official documentation.

clean your nakeDeb

nakeDeb-nonfree includes non-free-firmware repositories to allow better compatibility when using it. you will certainly want to remove unused firmware from your system.
to clean your nakeDeb as much as possible, two commands are enough: lspci which lists the hardware built into your machine and vrms which lists the 'contrib' and 'non-free' packages included in your system.

typically, firmware is used for network cards. identify your card with this command:

lspci | grep -i "net" | cut -d: -f3

then do a search to find out which firmware you need. finally, use vrms to list your firmware: all you have to do is remove unnecessary packages.

if at the end of the day you don't need the 'non-free', you can remove all the 'non-free' packages.

dress nakeDeb

nakeDeb is built on a Debian base and therefore can potentially become whatever you want by adding or removing debian packages.

if the fluxbox desktop seems too minimal to you and your hardware supports it, you can easily install a full desktop environment like xfce or gnome. for this, open a terminal and simply run (here for the full Xfce desktop):

sudo apt update && sudo apt install task-xfce-desktop xfce4 xfce4-goodies

the new session installed will be recognized by the lightdm connection manager and you can choose your session from the drop-down menu located at the top right of the login screen. for info, adding xfce4 in full version weighs ~100 MB for less than 90 additional packages ;) .

uefi / secure boot

nakeDeb is built with live-build, the Debian tool compatible with uefi & secure boot for both amd64 & i386 releases.