Slint Handbook (14.2.1)

1. Introduction to Slint

1.1. About Slint

Slint is a Linux distribution, based on Slackware, polyglot, easy to install, versatile, beginner friendly and accessible to the visually impaired.

A Slint system is functional out of the box and can be tailored to fit most computing requirements.

1.1.1. Features

The installer can prepare the drive where Slint will be installed or let users do so if they wants more customization. It includes a documentation.

Slint is accessible to visually impaired users, with speech and braille, from installation to usage in a console as in graphical environments.

A wide assortment of software for servers, desktops, and laptops is installed in all Slint systems, which include several graphical desktop environments: MATE and optionally KDE, LXQt and MATE. All graphical environments provide easy access to all applications and system operations, with auto-mounting of removable devices, plus notifications of available updates of installed software, immediate Internet access, halting, rebooting, switching users and DE.and hibernating the system. Slint is also fully fonctional on the console.

The language chosen will be used for internationalized applications.

The Slint Dashboard centralizes access to hardware and system settings, packages, system tools, documentation and utilities.

Slint ships with many applications out of the box to create, edit, view and convert documents in various formats, communicate by email, text and audio chat, play audio and video, send and receive documents peer to peer, edit audio, video and graphical documents, develop applications. It is fully usable as a server on a console and using one of the several included desktops.

Many applications are accessible to visually impaired users, a wide choice of TTS and associated voices is included, if you still need others they are easily installable, usable both in a textual environment (console) as well as on the desktop.

Several in-house tools ease administration and configuration of your Slint system.

Many more applications are easily built installed as software packages through a simple command or a few clicks. Thousands of software packages are at your fingertips!

Slint users are notified about upgrades of installed packages as soon as available, easily installed upon request. This keeps your system safe.

Default preferred applications settings are provided and can be easily customized.

1.1.2. Content, versions and release model.

The Slint installer provides a complete installation including the MATE desktop. It allow to also install other desktops: KDE and/or LXQt and/or XFCE.

Slint being based on Slackware, we tend to provide a new Slint version shortly after the release of a Slackware version.

However Slint follows a "semi-rolling" release models, meaning that during the life cycle of a given version, in addition to updates as security fixes and major bug fixes, some software are selectively updated to bring enhancements, and added to bring new features. This is the case for software contributing to make Slint accessible to the blind, like screen readers.

We recommend that users switch to a new version as soon as possible after its release. So far we have been able to provide instructions and helper scripts allowing to upgrade instead of installing from scratch a new release. We will do our best for that to stay possible with future versions, even though a full backup of users' files, followed by a an installation a new and a restoration of users' files can be easier, especially for a desktop or laptop usage.

1.2. About this book, other sources of information

This book is intended for the Slint newcomer whom it guides through its installation process and usage. The concepts and conventions specific to Slint and common in Linux distributions are presented and a glossary is annexed.

We try to accommodate folks coming from Windows or MacOS as users of another distribution like Ubuntu.

Documentation about installed software is generally available in a Slint system. We will state in this book how to access it.

Other sources of information are available:

  • The information often provided in their website by the authors of software included in Slint.

  • The Slackware documentation project and particularly its HOWTO articles Many are applicable directly to Slint, some adaptations and updates can be necessary.

  • Beyond the Arch distribution, the ArchWiki provides often helpful article on software also shipped in Slint. For instance searching "arch wiki mate" leads to this page about MATE. Caveat: the information provided can need to be adapted as Slint and Arch differ on some regards. For instance Arch uses systemd as init system and a given software can be configured differently by default in Slint and Arch.

  • And of course an Internet search engine can often help find answers to questions and solutions to issues.

1.3. Support

You can get help through these channels:

  • The Slint mailing list is the primary support channel. To register, email slint-request@freelists.org with as subject: 'subscribe' then answer the confirmation email that you will receive. Then, to know more email slint-request@freelists.org with as subject 'commands' or 'help'. After registration, email slint@freelists.org.

  • The archives of the mailing list are available here.

  • On IRC: chat on the #slint channel, server irc.libera.chat, no registration needed.

  • Mumble: server slint.fr (on appointment taken through another channel).

  • The Slint forum kindly hosted by our friends at Salix (another Slackware derivative). Registration needed.

To find out more, see the links under Information in the Slint Dashboard, visit our wiki or just type: slint-doc in a terminal after installation.

1.4. Translation and other contributions to the Slint project

Slint need translators! If you want to participate to the translation effort, read the instructions in Translate Slint.

The translation files are hosted on Crowdin.

If you want to contribute to Slint for other tasks, just post in the mailing list or drop a line to: didieratslintdotfr. Of course translators are welcome on the mailing list too!

1.5. Acknowledgments

The Slint project exists mainly through to the hard work of the Slint translators and other contributors, thanks to all of you!

Thanks to George Vlahavas for his advice and tools, to the contributors to the SlackBuilds.org project, who help building so many additional software.

Slint is based on Slackware, brought by Patrick J. Volkerding and contributors. Thanks! I encourage all Slint users to contribute to Slackware funding, and also to donate to the Salix project.

The Slint repositories are kindly hosted for free by Darren 'Tadgy' Austin. I encourage all Slint users to contribute to funding the host https://slackware.uk/

Links for financial contributions:
Become a Slackware patron or Support Slackware
Follow the links on top of this page to support Slackware UK
Donations to Salix

2. Install Slint

This part of the HandBook walks through the process of downloading Slint, verifying the ISO image with a check-sum, writing the ISO to an installation medium, partitioning your hard disk, and briefly describes the installation process.

2.1. Requirements

The current Slint version can be installed on computers meeting these requirements:

  • Architecture: x86_64 (64-bit CPU), also known as AMD64

  • Free or free-able space on disk (hard drives, SSD, NVME, eMMC): at least 40G in Auto mode. A full Slint installation needs around 27G, without user files or add-ons.

  • RAM: at least 2G, more is better.

  • a DVD drive or an USB slot available, with ability of the firmware to boot a DVD or USB stick. A blank DVD or a 4G or more USB stick can be used as installation media

Note
Secure boot should be disabled to install Slint.

2.2. Features of the installer

  • The installer is a "live system", running in memory: it will not modify an installed system, unless and until you tell it to.

  • For blind users the installer is fully usable with Braille, and speech using the Speakup screen reader.

  • For expert users it includes all needed utilities to prepare the drive on which Slint will be installed.

  • The Auto mode of installation instead just needs user to answer questions and provide a contextual help.

  • The installer can free some space for Slint on a drive where you want to install it alongside another Linux under some conditions.

  • If installed alone on a removable device connected through USB, Slint can be made portable, i.e. usable on any computer able to boot off an USB drive.

  • The installer can encrypt the drive where Slint is installed alone. This prevents the steal of data it contains in case of loss or theft of the machine, or of a removable drive.

  • Slint can be installed in its own drive, or alongside another system.

2.3. Preparation

2.3.1. Download and verify a Slint ISO image

The latest version of the Slint distribution is 15.0

The latest installation ISO image is always available in this directory

Tip

As long as you are running Slint version 15.0 there is no need to re-install when a new ISO is provided, as it only brings new features of the installer and new or and upgraded packages that you can also get keeping your system up to date.

The file name of the ISO indicated below is just an example, that you will adapt to the current name when downloading.

If you are running Windows, an Internet search with as argument "check sha256sum windows" will tell you how to proceed.

If you are running Linux you can download the ISO image and its sha256 checksum typing:

wget https://slackware.uk/slint/x86_64/slint-14.2.1/iso/slint64-15.0.iso
wget https://slackware.uk/slint/x86_64/slint-14.2.1/iso/slint64-15.0.iso.sha256

To check the integrity of the downloaded files type this command:

sha256sum -c slint64-15.0.iso.sha256

The result should be : OK
Else, redo the downloads.

2.3.2. Write the ISO image on an Installation Medium

You can use either a DVD or an USB stick as installation media.

Make a Bootable USB Stick

On a Linux system, plug in the USB stick, and check it’s name with the following command:

lsblk -o model,name,size,fstype,mountpoint
Warning

Carefully review the output of the command to make sure that you will not type the name of a hard disk partition instead of the name of your USB stick. All previous content of the USB stick or a mistaken hard disk partition will be LOST and IRRECOVERABLE.

Let’s assume that the name of the USB stick be /dev/sdb. It could be named otherwise, so don’t copy blindly the following command. The command syntax to write the Slint ISO to a USB stick that resides at /dev/sdb is as follows:

dd if=slint64-15.0.iso of=/dev/sdb bs=1M status=progress && sync
Note

The above command assumes if= points to the path of the Slint ISO and of= points to the name of the USB stick. These values may differ on your system.

On Windows use an application like Rufus. It is free and open source.

  1. Open the Rufus program from where you downloaded it to run it.

  2. Select Create a bootable disk using and choose ISO Image from the drop-down menu. Click the disk icon and browse to your Slint .iso file and select it.

  3. To insure the flash drive is compatible with UEFI, select FAT32 for file system.

  4. To create the flash drive with the "Press any key to boot from USB" prompt, select the Create extended label and icon files option.

  5. When you are done selecting options, click Start When prompted, confirm that you want to erase the flash disk.

  6. The .iso file will start copying to the flash drive (the process can take several minutes). When Rufus is done, close the program, eject and remove the flash drive.

Make a Bootable DVD Disc

On a Linux system insert the DVD and type the following command:

growisofs -speed=2 -dvd-compat -Z /dev/sr0=slint64-15.0.iso

Be sure to enter the full path to the Slint ISO on your filesystem.

On Microsoft Windows 2000/XP/Vista/7 you can write to a DVD using the application InfraRecorder. It is free and open source.

On Microsoft Windows 7/8/10 you can use the Windows Disk Image Burner utility that is shipped with Microsoft Windows.

2.3.3. Make Room for Slint

Dedicate a computer or at least a drive to Slint makes installation easier and is thus recommended. Then, skip this step and proceed directly to run the installer.

But you can also share a drive with an already installed operating system like Windows, Mac OS, *BSD, or another Linux distribution.

Then you will need a free space for Slint at the end of the partition table of this drive (after the last partition). At least 20G is needed for the system itself, but you will need also some space for user files and install other software. Shrinking the last partition of the drive can be done after having started the installer typing Linux commands if you are a Linux power user. This can also be done by the installer in Auto mode if following conditions are fulfilled:

  • The drive is equipped with a GUID Partition Table (GPT)

  • Its last partition has an ext file system.

  • At least 40G can be freed in it.

  • The machine has booted in EFI mode (not Legacy)

Else, you will need to make room for Slint before installation using gparted or from Windows (recommended if Windows if installed). However, under some conditions Slint can do it for you.

How-to free space in a Windows volume

The steps indicated in this document are summarized below.

  1. From Windows, open a command prompt and type:

    diskpart

  2. At the diskpart prompt, type:

    list volume

    Note the number of the simple volume you want to shrink.

  3. Select the volume you want to shrink, which should have a ntfs file system, by typing

    select volume <number>

  4. to know the maximum size of which the volume can be shrunk type:

    shrink querymax

  5. Define the <size> in megabytes of the free space you want to create. It should not be greater than the maximum size found with the previous command. You may want to leave some space available on the Windows volume to be able to store more data in it.

  6. Type this command:

    shrink desired=<size>

    size is a number in MB, for instance for 30 GB, knowing that G=1024M type:

    shrink desired=30720

    Keep enough unused space on the System volume to allow installing a Windows update.

Alternatively you can use the Disk Manager: select the volume you want to shrink, right click on it, select "shrink the volume", wait until the maximum space of which the volume can be shrunk be displayed, adapt the value to leave some space to allow storing more data there as you see fit, then click the shrink button.

How-to free space on Linux

You can use gparted, or a graphical tool for partitions management provided by your distribution.

Tip
If 40G can be freed in the last partition of a drive with a GPT equipped with an ext4 file system the installer can shrink it for you.

2.3.4. Create partitions for Slint

You can let the installer partition the target drive for you, easier for Linux newcomers and if you are not acquainted with the command line: then skip directly to Start of the installation. Else, read on.

If possible install Slint in its own drive.

You may also install it in a drive shared by another system, but then preferably if booting in EFI mode, so that each system, having its own OS loader, will be independent from others and their updates. Then you need to free some space on the drive to install Slint. You can use the 'freespace' command of the Slint installer to do that if the last partition of the drive is has an ext2, ext3 or ext4 file system, else do it from the already installed system.

If possible, allow the machine to boot in EFI mode and set up a GPT (GUID partition table) for the target drive, for maximum flexibility.

The installer uses the GRUB software for both EFI and Legacy booting.

Installing Slint needs:

  • A partition of type Linux, size at least 28G, more is better (at least 40 G recommended). This partition should be formatted, meaning that you will need to create a file system to manage files in it. For Linux partitions the Slint installer can handle these file system types: btrfs, ext4, f2fs, xfs.

  • To boot in Legacy mode with a GPT, a partition of type BIOS Boot (ef02) needed by GRUB in this context. A size of 1M for this partition is enough. It is reserved for GRUB and should not be formatted.

  • To boot in EFI mode a partition of type ESP (EFI System Partition) of size 100M to store the EFI OS loader. This partition should have a vfat file system. This can be a partition already used by another system.

In case of a GPT, we recommend setting both a BIOS Boot partition and an ESP for more flexibility, allowing to boot Slint in EFI as well as in Legacy mode.

You can also dedicate other partitions for specific use cases.

Creating other partitions is optional. If you want a swap partition it should have the type Linux swap.

You can create partitions for Slint either before or after having started the installer.

If you are not accustomed to Linux you will probably find easier to do it before starting the installer. We suggest to use gparted to do that. Gparted can shrink existing partitions to make room, as well as create new partitions in the freed space. If you do not have a system that supports Gparted (Microsoft Windows) you can use Gparted Live.

To create and format partitions after having started the installer, you can use the partitioning utilities it includes: cfdisk, fdisk, sfdisk, cgdisk, gdisk, sgdisk, parted. The utilities with "g" in their name can handle only GPT, parted can handle DOS partition tables as well as GPT. fdisk, cfdisk and sfdisk can handle DOS partition tables. In addition, wipefs (to erase previous partition table and file system signatures) and partprobe (to inform the kernel of a partition table changes) are available. The lsblk utility displays information about block devices and partitions.

To format the partitions the installer includes all mkfs utilities. You need to format them yourself if not yet done so that the installer detects which are available at the beginning of installation.

2.4. Slint Installation

2.4.1. Start of the installation

If need be, setup the firmware of the machine to boot off the DVD or USB stick that you have prepared.

Insert the installation media (DVD or USB stick) and reboot your machine. Blind users will hear a 'beep' when the boot menu is displayed.

Start the installer just pressing Enter.

The installer will first probe you sounds cards.

This can help setting a working one as default, and also is used for speech during installation used by some blind users.

If the installer finds more than one sound card it will say for each:
press Enter to choose this sound board <sound card id>
Press enter as soon as hear that, to confirm that the proposed sound card is working. This setting will be saved in the new system in /etc/asound.conf.

At the next step, when asked you will confirm (typing s) or deny (just pressing Enter) that you want speech during installation. Braille is always available during installation.

You will then choose, confirm or change the language used during installation. Then all screens will be in the chosen language if the translation into this language is complete.

If you need to append additional kernel parameters to the boot command line, before pressing Enter do what follows :

Note

Be aware that the US keyboard map will be in use when typing.
Ctrl+x mean "Press and hold the Ctrl or Control key like if it was a Shift key then press the X key"

Press the e key
Press the down arrow three times
Press the End key
Press the space bar
Type the kernel parameters (examples below)
Press Ctrl+X to boot (do not press Enter!)
Press Enter to boot.

For instance to configure the speakup driver for your hardware synthesizer you could type a kernel parameter like:

speakup.synth=apollo

You can also include in the boot command line the settings for your Braille device, in this form:

brltty=<driver code>,<device>,<text table>

For instance to install with a Papenmeier device connected through USB with a French text table type:

brltty=pm,usb:,fr_FR
Note
a braille device connected through USB should always be recognized, maybe just the text table won’t be the good one if you didn’t enter the settings at first.

In any case, as there is no timeout, booting will only begin when you press [Enter].

Speech and Braille will be available at the beginning of installation.

2.4.2. Usage of the installer

If you are acquainted with the command line, you may skip this topic.

The main installation menu is displayed below:

Welcome to the Slint installer! (version 15.0)

You may now type (without the quotes):

'doc' to know the features and usage of the installer.
'start' to start the installation.

The installer can prepare the drive where Slint will be installed,
creating then formatting the needed partitions. If you prefer you can
do it yourself to customize the installation using command line
utilities available in the installer, then type 'start' when done. You
can also leave the installer and use a tool like gparted for that
then start the installer again.

We recommend that you type 'doc' first in this case, or if you want to
encrypt the drive where Slint will be installed, or if you need to
shrink a partition to make room for Slint alongside another system.
When you finish reading this menu will be displayed again.

As soon as this menu is displayed, you have the hand on the installation process.

You read the screen and type commands in a virtual terminal. The installer includes several virtual terminals sharing the same physical keyboard and screen, that can be used in parallel.

The installer starts in the virtual terminal 1 named tty1 but you can switch to another one. For instance you can switch to tty2 by pressing Alt-F2 then Enter to activate it and later go back to tty1 by pressing Alt-F1, without erasing information displayed in both terminals. Alt-F1 means: press and hold the Alt key then press the F1 key.

This can be useful to continue reading the documentation during installation: for instance you can switch to tty2 to begin installation, switch to tty1 to continue reading the documentation, then switch to tty1 again to proceed to the next installation step.

This can also be used to consult the glossary while reading other documents.

The fourth virtual terminal or tty4 displays messages that provide information useful for debugging, otherwise it is not used.

The installer has several modes of interaction with you, the user:

  1. You type commands at the prompt and read their output.

  2. The installer asks a question, you type the answer and confirm it by pressing Enter.

  3. The installer displays a menu of choices or options: you select one of them using the up and down arrow keys or typing its number, then confirm your choice by pressing Enter, or cancel by pressing Escape.

  4. The installer displays information in a pager. Then use arrow keys to read the next or previous line, press space to display the next page, Q to stop reading the document.

2.4.3. The installation process

The installation process begins when you type 'start' (without the quotes).

The installer first probes the drives, their sizes and partitions and the free space on them.

It then first asks you if you have prepared the drive where you want to install Slint as described above in Create partitions for Slint.

  • If you answer yes, it asks which partitions to use for installation and for each of them the name of the mount point to which associate it.

  • If you answer no, it let you choose then installation drive and if possible let you choose between use the whole drive or only the free space in it.

    • Installation on a whole drive.

      In this installation mode all the previous content of the drive will be erased. If it contains files you want to keep, save them elsewhere first!

    • Installation in a drive shared by another system, using the free space on it. This makes possible to install Slint while keeping the other system using only one drive.

      This is allowed if the drive has at least 40G of space free or that can be freed, has a GPT (GUID partition table), and the installer boots in EFI mode: in this configuration both system will boot without interfering with each other. **You choose the size of the main Slint partition, optionally leaving some free space on the drive for future use.

      In both cases the partition hosting Slint will have a btrfs file system and include two subvolumes: / and /home

The installer can prpose you set up mount points for partitions shared with or used by Windows to allow access them from Slint and also for Linux partitions outside of the Slint system you are installing. these partitions, if of type Linux should have one of the file systems btrfs, ext4, f2fs or xfs, else exfat, vfat or ntfs.

If the drive is removable and connected through USB, the installer can make Slint portable, allowing you to use it on any computer able to boot off an external USB drive.

The drive can optionally be encrypted, to protect your data from theft if the drive or computer is lost or stolen. As there are important associated caveats, carefully read the document Encryption first.

You will review your choices before installation actually begins and be offered to either confirm them or go back to the beginning of the process.

After confirmation the partitions are created if not yet done, then the base packages are installed, which takes a few seconds.

  1. If you opted for an encrypted disk you type the passphrase that will be used to unlock the drive at each boot up.

  2. You choose a password for the user "root." This is the system administrator, who has all privileges. You also create a regular user account, indicate if you will need accessible Braille output, and whether you want to log in to Slint in text or graphical mode.

    Note

    If you used the language English (USA) during installation you choose which language to use for the installed system, else the installer sets the same as during installation.

  3. The installer attempts to establish an Internet connection, allowing to propose a time zone corresponding to your geographical location and later install packages remotely as need be. You set it up or confirm the proposed one.

  4. The installer then creates a swap file in the system partition, which you can easily resize after installation. By default, an additional swap space 1.8 times the size of the physical RAM will be set up in zram every time Slint is booted up.

  5. The packages are installed on the drive (the KDE series of packages is optional). The installer will attempt to establish an Internet connection so it can download and install the most recent version of each package, including those provided since the release of the ISO image. Thus you won’t have to download and install these new or upgraded packages after installation.

    Installation of all packages takes about 10 to 40 minutes depending on the hardware.

  6. Next, the system is configured and the GRUB boot manager installed. If Slint has been installed on a dedicated drive, it can boot in both Legacy and EFI modes. Otherwise, it will boot only in EFI mode. In either case, the boot menu will have an additional "rescue" boot entry to detect and boot installed OS.

  7. You will be prompted to create a rescue boot stick on a USB flash drive. You can use this to boot Slint if it fails to boot otherwise.

Last, remove the installation media and reboot to start your new Slint system. You can display a preview of the boot menu before rebooting.

  • Make a rescue USB boot stick.

  • Install and configure the GRUB boot manager and associated OS loader(s).

  • Choose wether or not to use the mouse on the console.

  • Configure the network.

  • Decide which services should be started at startup.

  • Select if the hardware clock uses UTC or local time, set the time zone.

  • Choose the login manager: console mode or graphical.

  • Choose the default graphical session.

  • Set the default language and regional variant in the installed system. Some packages specific to the language chosen are then installed.

All done, remove the installation media and reboot to start Slint.

2.4.4. Slint in an encrypted drive.

In Auto mode the installer proposes to encrypt the drive where it installs Slint, if you dedicate it to Slint. If you agree, at each boot the GRUB boot loader will ask you the passphrase that you will have typed during installation to unlock the drive, before displaying the boot menu. Be aware that unlocking the drive will take a few seconds (about ten seconds).

Having an encrypted drive prevents the steal of data it contains in case of loss or theft of the machine, or of a removable drive. But this won’t protect you if the computer stays running and unattended, only if the machine has been switched off completely!

During installation the Slint system partition will be encrypted, and also the additional partition that you may request.

A Slint system (or root) partition will the be named: /dev/mapper/cryproot once opened, if it has been encrypted.

This is shown by this command:

lsblk -lpo name,fstype,mountpoint | grep /$

Which gives an output like:

/dev/mapper/cryptroot ext4    /

This command instead:

lsblk -lpo name,fstype,mountpoint | grep /dev/sda3

gives:

/dev/sda3             cryptoLUKS

/dev/sda3 is now a "raw" partition that includes the so called "LUKS header" that you will never need nor ever should access directly. It hosts all that is needed to encrypt or decrypt the partition /dev/mapper/cryptroot, which actually hosts your data (in this example the Slint system).

Warning

If you forget the passphrase all data in the drive will be irrecoverably lost! So write down or record this passphrase and put the record on a safe place as soon as done.

Drives die. If that happens and it is encrypted your data will be lost. So, regularly back up your important data is not optional.

Also, make a backup copy of the luks header which you can restore in case the luks partition is damaged for any reason. The command could be in our example:

luksHeaderBackup /dev/sda3 --header-backup-file <file>

where <file> is the name of the backup file, that you will store in a safe place.

Then would you need to restore the backup, type:

luksHeaderRestore /dev/sda3 --header-backup-file <file>

Don’t resize a partition of an encrypted drive as after that it would be definitively locked and all the data it contains will be lost! If you really need more space, you will need to backup all the files that you want to keep, then install anew and restore the backed up files.

Choose a strong passphrase, so that it would take too much time for a robber to discover for it to be worthwhile.

Never ever fiddle with the so-called "LUKS header" located on the raw partition (the third one, like e.g. /dev/sda3 for the raw partition on top of the Slint system partition). Practically: don’t create a file system in this partition, don’t make it part of a RAID array and generally don’t write to it: all data would be irrecoverably lost!

To avoid weak passphrases the installer requires that the passphrase include:

  1. At least 8 characters.

  2. Only non accented lower case and capital letters, digits from 0 to 9, space and following punctuation characters:

     ' ! " # $ %  & ( ) * + , - . / : ; < = > ? @ [ \ ] ^ _ ` { | } ~

    This guarantees that even a new keyboard will have all characters needed to type the passphrase.

  3. At least one digit, one lower case letter, one capital letter and one punctuation character.

GRUB assumes that "us" keyboard is in use when you type the passphrase. For this reason, if during installation you use an other keyboard map, before asking the passphrase the installer will set the keyboard map to "us", and after having recorded it restore the previously used one. In this case the installer will also spell each typed character of the passphrase, as it may differ from the one written on the key.

The application cryptsetup is used to encrypt the drive. To know more type after installation:

man cryptsetup

and to know even more read: this FAQ.

2.4.5. First steps after installation

Here are the first tasks to perform after installation

In this document, all text after a # character are comments of the suggested commands, not to be typed.

Initial Software update

After installation, the system should be updated to get the most recently provided version of each software, as well as new software provided since the release of the ISO. This is especially necessary if no network connection was available during installation, as then only the packages included in the distribution media were installed, and they could be outdated.

Most commands typed below request administrative right associated to a specific account named 'root', for which you have recorded a a password during installation.

To issue a command as 'root', first type

su -

then issue the password for root and press Enter before type the command.

This replaces 'sudo' used in other distributions.

When you are done issuing commands as 'root', press Ctrl+d or type 'exit' to get back your "regular user" status.

To update, type as root in a console or a graphical terminal:

slapt-get --add-keys # retrieve the keys to authenticate the packages
slapt-get -u # update the list of packages in the mirrors
slapt-get --install-set slint # get the new packages
slapt-get --upgrade # Get the new versions of installed packages
dotnew # lists the changes in configuration files

When running dotnew, accept to replace all old configuration files by new ones. This is safe as you didn’t make any customization yet.

Alternatively, you can use these graphical front-ends: gslapt instead of slapt-get, and dotnew-gtk instead of dotnew.

To learn more about slapt-get, type:

man slapt-get

or as root:

slapt-get --help

and read /usr/doc/slapt-get*/README.slaptgetrc.Slint

Configuration

Here are the utilities that you can use to (re)configure your Slint system after installation. They are presented in further details in chapter Manage your system.

Unless otherwise noted these utilities should be used as root. To become root, i.e. get the 'admin' status and privileges type "su -" then root’s password. To get back the regular user status pres Ctrl+d or type exit.

Most utilities have a command line and a graphical version. The command line version is listed first below. Unless otherwise stated all commands should be typed as root.

General settings

  • To manage users: usersetup or gtkusersetup

  • To change the language and region: localesetup or gtklocalesetup

  • To change the keyboard setup and the input method: keyboardsetup or gtkkeyboardsetup

  • To configure the date, the time or the timezone: clocksetup and gtkclocksetup.

  • To choose which services start at boot: servicesetup and gtkservicesetup.

  • To (re)configure the network: netsetup.

  • To choose to start in text or graphical mode and in the later case the graphical login manager: login-chooser

  • To choose a desktop, or graphical session: session-chooser (as regular user)

  • If KDE is installed to show or hide its applications in other desktop’s menus: show-kde-apps or hide-kde-apps.

Accessibility settings

To choose and enable a console screen reader or disable all of them type as root:

speak-with

From Slint version 14.2.1 onward the first regular user created during installation will have speech and braille already enabled in the installed system, if speech was used and braille requested during installation. Other users will need to check or make additional settings, as indicated below.

To enable braille:

  1. Make /etc/rc.d/rc.brltty executable typing as root:

    chmod 755 /etc/rc.d/rc.brltty
  2. Make yourself member of the braille group, typing as root:

    usermod -G braille -a username

    In the command above, replace username with your login name.

  3. Then edit as root the file /etc/brltty.conf to include your settings.

To enable speech at the system level type as root:

login-chooser

and choose one of the login modes that speak: text, lightdm or gdm

To enable speech in graphical environments as regular user type as this user:

orca-on

Then the Orca screen reader will start speaking next time you start a graphical environment

To disable speech in graphical environments type instead:

orca-off

3. Slint usage

This chapter presents the ways you can interact with your Slint system to have it do what you want.

3.1. What is a Slint system?

Slint is a set of software that roughly fall into these categories:

  • The operating system, made of the Linux kernel and utilities. It acts as an interface between the user, the applications and the hardware.

  • The applications that carry out the tasks that users want to accomplish.

Slint can be used in two modes distinguished by the appearance of the screen and the way to interact with the system:

  • In text mode you type commands interpreted by a shell. These commands can start an utility or an application. The text mode is also called console mode. In this mode the screen only displays the commands and their output in a (usually black) background.

  • In graphical mode graphical elements like windows, panels or icons are displayed on the screen, generally associated to applications or utilities. The user interacts with these elements using a mouse or a keyboard.

Commands can be also be typed in graphical mode inside a window associated with a terminal in which runs a shell.

3.2. How Slint starts

Upon installation, the software shipped in the installation ISO or downloaded from remote repositories is installed in a drive.

When you boot Slint, the firmware first checks the hardware then looks for a program called an OS loader (commonly named a boot loader) which it starts.

There can be several OS loaders in the machine. In this case the firmware allows the user to choose which one to start in a menu.

In Slint the software that makes and install a boot loader is GRUB.Actually the boot loader built by GRUB is also a boot manager, as it allows to choose which OS to start if several are installed.

The OS loader built by GRUB can be installed in a boot sector (in case of Legacy booting) or in an EFI System Partition or ESP (in case of EFI booting).

The aim of the Slint loader is to start the Slint system. To do that it first loads in RAM the kernel, then the initrd, which in turn initializes the Slint system.

In the last step of this initialization the user is invited to "log in", in other words to connect oneself to the system and take the hand on it. To do that the user first type one’s user (or login) name then password, of which validity is checked. Slint as other Linux distributions being multi-users this allows this user to access one’s files but not those of other users.

At time of installation you chose to start Slint in either text or graphical mode.

  • If you chose C for console after initialization of the system you type your user (or login) name then your the password, each input being confirmed pressing the Enter key, then you can type commands.

  • If you chose G (graphical) you type the same information in a display manager or login manager, which then starts the graphical environment.

After installation, you can change the mode typing as root login-chooser, in console mode as well as in graphical mode (in a terminal). This command allows you to choose text (synonym of console mode), or, for graphical mode, among several display managers. Your choice will be effective at next boot of the computer.

We will now present the graphical environments, then how to use a shell.

3.3. The Graphical Environments

A full featured graphical environment includes several components, among which a window manager which draws windows on the screen associated with applications, move, re-size and close these windows.

Slint allows includes several graphical environments: BlackBox, Fluxbox, KDE, LXDE and MATE, TWM, XFCE and WindowMaker. It is a matter of preference which one you choose.

KDE, LXDE MATE and XFCE are are full featured desktops, the other ones mainly window managers but they include a panel with an application menu. All allow you to access your documents and applications, generally opened in a window, include a panel and a menu.

The default graphical environment can be changed typing as regular user session-chooser. In Graphical mode you also can choose when logging in.

We will now briefly describe the components of the Mate desktop, which is the default and is also the most accessible with speech and braille. Other full featured desktops have similar features.

Using the mouse you can discover the features of each component doing or simulating a right, middle or left click. Move or delete most of the components, modify them and add new ones can be done the same way.

These components can be reached moving the mouse and also through keyboard shortcuts. We indicate below inside parenthesis the keyboard shortcuts allowing to reach, in other words put the focus on each element. We will also summarize the key bindings for the Mate desktop (using the default Marco windows manager) and those for the Compiz windows manager.

Tip

You can discover most of the features of applications and other components of Slint with a right, middle, or left click of the mouse. For instance by clicking on the panel, the title bar, the left and right buttons of any window, an icon in the panel, or on an empty space of the screen.

3.3.1. The windows

A window is a rectangular area associated with an application. Windows can be moved, re-sized, maximized, restored reduced, closed (terminating the application it handles) using the mouse or keyboard shortcuts.

3.3.2. The work spaces

To allow having a lot of windows opened in an orderly fashion, the graphical environment provide several work spaces and allow to switch between them. Each work space will display the same desktop and panels, but windows can be placed in specific work space or in all of them. This setting is available with a right click on the top edge of the window. Switching to another workspace can be done clicking on its position on the bottom panel of the screen, in the work space changer, as indicated below.

3.3.3. The desktop

The desktop encompasses the whole screen, on which other components can be be put, in case of Mate and as shipped in Slint a top and a bottom panels, and four icons which from top to bottom allow to open in windows:

  • the root directory in the file manager

  • your home directory in the file manager

  • the Slint Control Center

  • the trash can, where are placed files that you intend to delete but didn’t yet.

Windows of application you start as also put on the desktop.

Mate includes two panels, which presents themselves as slim rectangular horizontal areas, one at the top and one at the bottom of the screen.

Pressing Ctrl+Alt+Tab allow to cycle between the desktop, the top and the bottom panels

Pressing Alt+Tab allows to cycle between the windows on the desktop.

3.3.4. The top panel

It presents, from left to right:

  • Three menus:

    • An Applications menu which can be opened pressing Alt+F1. From there you can open the other menus using the right arrow key. You can use the arrow keys to reach the others menu.

    • A Places menu.

    • A System menu which gives access to a preferences sub-menu, the Mate Control Center and buttons to get help about the desktop, lock the screen, close the session and shut down the computer.

  • Applications launchers for mate-terminal, the file manager Caja, the email client Thunderbird, the web browser Firefox, the text editor Geany.

  • A notification area which can gather applets like a Bluetooth manager, a sound mixer, a network manager, and an "update available" notifier.

  • A clock and calendar.

  • A screen locker.

  • A close session dialog.

  • A shutdown dialog.

Tip
  • To customize the panel to your liking: right click on an empty space on the panel.

  • If you wish to move an item on the panel: Middle-click the element, drag your mouse, and it will follow the mouse until the middle button be released.

  • For a contextual help press F1

3.3.5. The bottom panel

It presents, from left to right:

  • A windows list that can be configured with a right click on the line of three vertical dots at its beginning and choosing preferences. This also allows to start the System monitor in a window.

  • A show desktop button. A left click on it will minimize or hide all windows, clicking once again will restore the windows in their previous state.

  • A work space switcher, or pager. It allows to switch from a work space to another one and also to move windows from a work space to another one by drag and drop.

The window managers are configured in Slint to be usable without changes. However you can reconfigure them to your liking. The way to do so varies from window manager to window manager. For more information, do an internet search.

3.3.6. The Slint Control Center

We will end this introduction to Slint’s usage by presenting the Slint Control Center. You can display it from the application menu on the top panel or clicking on its icon in the desktop or typing qcontrolcenter in a "Run…​" dialog raised with Alt+F2

The goal of the control panel is to gather applications that are useful for system administration, documentation, and settings in a consistent fashion in all window managers. By clicking on a category in the left menu, you can display the corresponding applications in the right pane. We will present them in table format. This will give us the opportunity to present the administration tools that have a graphical user interface as well.

Most administrative tools should be used with administrative privileges. You will be asked for the root account password in order to launch a tool.

Category

Tool

Purpose and comments

Applications

Dotnew

This tool allows you to manage the new (named something.new hence the name of the tool) vs old configuration files after having upgraded some packages. It’s a good habit to run if after an upgrade. It will tell you if there is something to take care of and then present you a choice of actions.

Applications

Gslapt Package Manager

Gslapt is a graphical front-end to slapt-get. It is a handy tool to perform software management in Slint. It allows you to search for, install, remove, upgrade, and configure software packages.

Applications

Sourcery SlackBuild Manager

Sourcery is a graphical front-end to slapt-src. It allows you to search for SlackBuilds scripts that it can then use to automate the build process and installation of software packages. It can also remove and reinstall packages on your system.

Applications

Application Finder

Find and launch the applications installed on your system. The search field is very handy to find applications in comparison to manually searching the application menu.

Hardware

Printer Setup

Used to set up any connected printer. It is a front-end to the CUPS print server, which is running by default in Slint.

Hardware

Cups Print Control

This application allows you to configure the CUPS service, manage printers, and control print jobs through a web browser.

Hardware

Keyboard

This tools allows you to set the keyboard type, key map, and enable the SCIM service. SCIM helps by allowing you to type characters for which there is no key on the keyboard (like in many Asian languages).

Information

SlackDocs Website

The documents in this wiki are primarily intended for a Slackware user, but many of them are useful for a Slint user. Caution: Some of the listed tools, like slackpkg, should not be used in Slint.

Information

Slackware Documentation

This documentation can be also useful for Slint users. Slint is based on Slackware.

Information

Slint Documentation

This gives local access to documents also available on Slint’s website.

Information

Slint Forum

People whose native language is not English may also post in the localized Salix forums.

Information

Slint Website

The Slint website provides documentation, links, and a way to find the ISOs and packages.

Information

System Information

This tool collects information about your computer, such as its connected devices (internal and external), and displays it all in one place. It can also do system bench marking.

Settings

System clock

This tool allows you to set system clock.

Settings

Hostnames

This tool allows you to associate IP addresses with domain names and host names

Settings

System Language

This tool allows you to set the system locale (language and geographic peculiarities), so that the applications you use will display information in this locale (if available).

System

System Clock

This tools allows you to set the time zone, choose if the clock should be synchronized with Internet servers (this is recommended but of course needs an Internet connection), and if not, set the date and time.

System

Hostnames

This tool allows you to configure the system hostname. It is useful if you use your Slint installation as a server, on a local area network, or on the Internet. The hostname helps networked computers identify each other by a common name if a domain name system service is not in use.

System

Rebuild Icon Cache

This utility rebuilds the icon cache, which is a file registering all icons in the system, allowing them faster access. Run it when new icons are installed on your system.

System

System Services

This tool allows you to choose which services will be enabled at startup. For instance, Bluetooth, the CUPS print server, or a web server. Only use it to change the defaults settings if you know what you are doing.

System

Users and Groups

This tool allows you to add, remove, and set up user accounts and groups. It is mostly useful on multi-user systems.

System

GUEFI Boot Manager

This tool is a graphical front end to the efibootmanager command. It allows editing of the EFI firmware’s boot menu. Actions such as adding, removing, or changing menu item order.

System

MATE system monitor<

This tool displays information about the system, like the process, resources usage (RAM, CPU, network traffic) and file systems usage.

3.3.7. Terminals

You can type commands in graphical mode as in console mode, if you open a window with a terminal in it. In Mate you can just press Ctrl+Alt+t, or click on the mate-terminal icon on the top panel, or open a "Run…​ " dialog pressing Alt+F2 then typing mate-terminal in the small window that opens.

Most of the information below about the command line and the shell in Console mode also apply to typing commands in a terminal. You can close mate-terminal pressing Alt+F4 as with any other window.

3.3.8. Key bindings

We present here the default key bindings for the Compiz window manager and the Mate desktop, and how to customize them.

Note

When a key binding includes one or more + sign, press then hold from left to right the keys before the last one like a Shift key, then press the last key.

Key bindings for the Mate desktop

When using Mate in Slint, some key bindings are the same using either the Marco or Compiz window managers. They are listed below:

Alt+Tab               Cycle between windows
Shift+Alt+Tab         Cycle backward between windows
Control+Alt+Tab       Cycle between panels and the desktop
Shift+Control+Alt+Tab Cycle backwards between panels and the desktop

Once in a graphical environment, you can toggle between it and a console. Let’s say you want to use tty2 (tty1 being busy): Press Ctrl+Alt+F2, then login.
Press Ctrl+Alt+F7 to go back to the graphical environment.

The same general key bindings are used in all graphical environments, with a few exceptions, Mod1 being generally the left Alt key:

Mod1+F1 raises the panel's application menu.
Mod1+F2 raises a 'run..." dialog, but in Fluxbox (starts lxterminal instead).

Also in Fluxbox:

Mod1+F3 restarts Fluxbox.
Mod1+F4 closes the focused window.

The panel’s application menu has the same layout in all accessible graphical environments shipped but MATE. From top to bottom:

Terminal emulator: mate-terminal in MATE, elsewhere lxterminal by default
File manager: Caja in MATE elsewhere PCManfm by default
Web browser: Firefox by default
Mail client: Thunderbird by default
Preferences
Slint Dashboard (non accessible yet as it’s a Qt4 app)
Applications sorted by category
Run dialog
Logout dialog (also allows shut down and reboot)

You can use the arrow keys to navigate in the menu.

In MATE, the top panel includes on its left from left to right:

the menus (Applications, then Places, then System)
launchers for mate-terminal, Caja (file manager), Firefox, Thunderbird and the Geany text editor.
On its right still from left to right: a notification area
a screen locker button
a logout button
a halt or reboot buttons.

The bottom panel has from left to right:

a windows list
a "show destktop" plugin
a workspace switcher.

Still in Mate, partially sighted users can use the Compiz window manager instead or Marco which is the default.

As a regular user, type:

gsettings set org.mate.session.required-components windowmanager compiz

To go back to Marco:

gsettings set org.mate.session.required-components windowmanager marco

This setting will take effect at next start of a Mate session.

Or to make the change just for the current session type:

compiz --replace &

and to go back to Marco:

marco --replace &

The replacement will be effective immediately.

This setting is also available graphically from mate-tweak, in the Windows category.

You can access specific Compiz settings just typing:

ccsm &
Key bindings for the Compiz window manager

In the default settings indicated below the key or mouse buttons are named like this:

Super: Windows key on most keyboards
Button1: Left Mouse Button (if used with the right hand)
Button2: Centre Mouse Button, or click with the scroll wheel)
Button3: Right Mouse Button (if used with the right hand)
Button4: Scroll Wheel Up
Button5: Scroll Wheel Down Button6: (I don’t know, I thought that was on mouses for gamers)

The default settings listed below by category can be changed from the CCSM. We indicate the short name of the plugin between square brackets.

  1. Category General

    [core] General options, tab "key bindings":
    close_window_key = Alt+F4
    raise_window_button = Control+Button6
    lower_window_button = Alt+Button6
    minimize_window_key = Alt+F9
    maximize_window_key = Alt+F10
    unmaximize_window_key = Alt+F5
    window_menu_key = Alt+space
    window_menu_button = Alt+Button3
    show_desktop_key = Control+Alt+d
    toggle_window_shaded_key = Control+Alt+s

    [matecompat] Mate Compatibility
    main_menu_key = Alt+F1
    run_key = Alt+F2

  2. Category Accessibility

    [addhelper] Dim inactive (less light on non focused windows)
    toggle_key = Super+p

    [colorfilter] (Filter color for accessibility purposes)
    toggle_window_key = Super+Alt+f
    toggle_screen_key = Super+Alt+d
    switch_filter_key = Super+Alt+s

    [ezoom] Enhanced Zoom Desktop
    zoom_in_button = Super+Button4
    zoom_out_button = Super+Button5
    zoom_box_button = Super+Button2 (zoom out to go back to normal)

    [neg] Negative (toggle inverse colors of the window or screen)
    window_toggle_key = Super+n
    screen_toggle_key = Super+m

    [obs] Opacity, Brightness and Saturation adjustments
    opacity_increase_button = Alt+Button4
    opacity_decrease_button = Alt+Button5

    [showmouse] (Increase visibility of the mouse pointer)
    initiate = Super+k

  3. Category Window Management

    [move] Move window
    initiate_button = Alt+Button1 (hold Button1 while moving the mouse)
    initiate_key = Alt+F7 (Esc to stop moving)

    [resize] Resize window
    initiate_button = Alt+Button 2 (hold Button2 while moving the mouse)
    initiate_key = Alt+F8 (Esc to stop moving)

    [switcher] Application switcher (switch between windows or panels and the desktop)
    next_window_key = Alt+Tab (cycle between windows)
    prev_window_key = Shift+Alt+Tab
    next_panel_key = Control+Alt+Tab (cycle between panels and desktop)
    prev_panel_key = Shift+Control+Alt+Tab

How to add a custom keybinding for Mate.

Let’s take an example: we want that Alt+F3 starts firefox. type in a terminal or in Run command (brought up pressing Alt+F2):

mate-keybinding-properties

In the new window you can use the down and up arrow keys press to navigate in the list of existing key bindings.

To set a new key binding, press Tab twice to put the cursor on Add, then press Enter. In the small dialog box brought up type the name of the custom key binding, like firefox, press Tab, type the name to the associated command, in this case firefox, then press Tab twice to put the cursor on Apply and press Enter.

To activate the new key binding, navigate until you find it on the bottom of the list, pres Enter the press Alt+F3.

Next time you pres Alt+F3 that should start firefox

3.4. The shell

Note
This chapter is a short introduction. More in depth information is provided in the document Shell and bash scripts, mostly borrowed from SUSE.

When the computer starts in console mode, after having logged in typing your user name and password, the shell displays a "prompt" like the one below:
didier@darkstar:~$
In this example:

  • didier is the user name

  • darkstar the machine name

  • the tilde ~ represents the home directory of the user, in this example /home/didier

  • the dollar sign $ indicates that the user is a "regular one" not a "super user" (see below).

The cursor is then positioned after the prompt.

The user can now type a command on the line (hence the name "command line") and confirm it pressing Enter. The shell then analyzes the command and execute it if valid, else output a message like for instance "command not found". You can edit the command before pressing Enter using the left and right arrows and the keys Backspace, Home, End and Del.

During its execution the commands can display an output on the screen or not. In all cases after execution the prompt will be displayed again in a new line, meaning that the shell is waiting for the next command to be typed.

For this to work, the user needs to know which commands are available and their syntax. Some commands are executed by the shell itself, others start external programs. Will will give below several examples of commands, more are listed in Shell and bash scripts

Several shells are available for Linux to choose from; in Slint the shell used by default is named bash.

To allow running several programs at the same time Linux provides several "virtual consoles" sharing then same keyboard and screen, numbered from one. Initially the system starts in the console (or virtual terminal) number one also called tty1 (the name tty is an abbreviation of "teletype"). From there the user can switch to another console or tty; for instance switch to the tty number two pressing Alt+F2, where another shell will ask again the user’s user name and password. To switch back to tty1, just press Alt+F1. By default in Slint six tty are available but this can be changed editing the file /etc/inittab.

When the shell is used in a graphical environment (in a graphical terminal), its behaves the same way but the prompt is slightly different, as illustrated below:
didier[~]$

You can switch back and forth between the console and a graphical environment:

  • From the graphical environment pressing for instance Ctrl+Alt+F3 to go to tty3. The first time you go to a tty you will have to type your login and password.

  • From a console or tty pressing Alt+F7 if the graphical environment is already running, else typing startx to start it.

3.4.1. Typing commands as root

root is the conventional name of the "super user" which have all rights to do administrative tasks, including those that could harm or even destroy the system.

You can (but this is not recommended for beginners) log in directly as root. To do this type root as user, then root’s password. To inform you (and warn you about the associated risks and responsibilities), the prompt will look like this:
root@darkstar:s~#
the character # (number sign, also commonly named hash) indicates that the commands will be typed as root (not as regular user), with the associated rights, but also risks and responsibilities.

If you are already logged as regular user, you can "become root" typing:
su -
then pressing Enter. In this command, su (which stands for "Super User") is the name of the command, and the character - (hyphen-minus, also named minus) tells that you are opening a "login shell": you will first be asked root’s password, then be directed to its home directory /home/root as if you had logged in as root at startup. This will avoid that you inadvertently write files in your home directory as regular user (/home/didier in the example) which cause issues later.

3.5. How-to solve blocking issues

By "blocking issue" we mean "an issue that prevents to use Slint" like:

  • The system fails to boot.

  • The system boots, but the start-up sequence is interrupted before completion. This can happen for instance if the root system partition can’t be mounted because of an error in /etc/fstab, a corrupted root file system or a missing kernel module to mount the root partition, or the system boots successfully but you don’t remember the password for root.

If the system completely fails to boot, try each of the solutions below in sequence, until one works.

  1. If this occurs after a kernel upgrade, try the second boot entry instead of the first one.

  2. Use the last boot entry of the GRUB menu. It could find Slint and allow to start it.

  3. Try to boot off the rescue boot stick that you have requested at end of installation.

  4. Jump into Slint to repair it, as explained below.

  5. Ask for help emailing slint@freelists.org providing all information that could help investigate the issue. If not already done, first subscribe to the list emailing slint-request@freelists.org with the subject 'subscribe', then answer the email you will receive. Only if you have an issue using email, request help in the IRC channel #slint, server irc.libera.chat and stay in the channel until someones answer.

If the start-up up sequence is interrupted, jump into Slint from its installer to try to solve the issue. Insert or plug-in the installation media (USB stick or DVD where you have written the installation ISO) then follow the instructions below.

  1. Start the installer.

  2. As soon as logged in as root, to list the drives and partitions, type:

    lsblk -lpo name,size,fstype
  3. Find in the output the name of the Slint root partition, checking its size and file system type, labeled FSTYPE.

  4. Mount this partition, and check that it be the good one. For instance if it is /dev/sda3, type:

    mount /dev/sda3 /mnt
    cat /mnt/etc/slint-version
    Note

    If the file system of the Slint root partition seems corrupted, don’t mount it yet but try to repair it running this command:

    fsck <name of the root partition>

    And if this succeeds just reboot.

    Assuming that you installed Slint64-14.21 the output should be:

    Slint 14.2.1

    If the output is "file not found" the partition is not the one you looked for. In this case only, type:

    umount /mnt

    then try another one, going back to the list of drives and partitions.

    Else, bind mount the pseudo file systems /dev, /proc and /sys in the Slint system, typing:

    mount -B /dev /mnt/dev
    mount -B /proc /mnt/proc
    mount -B /dev /mnt/sys

    Issue the next command to "jump into" your Slint:

    chroot /mnt

    chroot means "change root (of the system)": we are no more in the installer, but now in Slint itself. From there you can modify the system to solve the issue. Here are some examples:

    • Run "update-grub".

    • Run "grub-emu".

    • Re-install GRUB using the command "grub-install drivename", drivename being the drive where to install Slint. Before doing that, if you will boot in EFI mode type first "mount /boot/efi".

    • Type "passwd" to change the password for root.

    • Remove, install or upgrade packages.

  5. When done, remove the installation media then type:

    exit
    reboot

4. Accessibility

If you chose to keep speech when asked at the beginning installation, it will be enabled from start up in a console as in graphical environments.

4.1. Use Slint with braille

Slint includes the brltty software to handle braille displays.

Your settings, made before booting on the command line or later, are recorded in the installed system in /etc/brltty.conf.

A comprehensive manual for brltty is available in English, French and Portuguese in several formats including plain text (txt) at this URL: https://mielke.cc/brltty/doc/Manual-BRLTTY/

If braille was not enabled during installation or has been disabled, to enable it do this:

  1. Make /etc/rc.d/rc.brltty executable typing as root:

    chmod 755 /etc/rc.d/rc.brltty
  2. Make yourself member of the braille group, typing as root:

    usermod -G braille -a username

    In the command above, replace username with your login name.

To disable braille type as root:

chmod 64 /etc/rc.d/rc.brltty

4.2. Speech in graphical environments

As a reminder speech in graphical environments using the Orca screen reader is enabled typing:

orca-on

To know how to use Orca, including its specific key bindings, type:

man orca

In short, once in a graphical environment, in graphical mode:

Insert+Space: launch the orca Preferences dialog.
Insert+S: activate or deactivate the vocal synthesis.
Insert+H: activate the learning mode. In this mode:
   Press a key to hear its function
   F1: to hear the documentation of the screen reader
   F2: list the keyboard shortcuts for Orca
   F3: list the keyboard for the current application
   Esc: end of the learning mode

4.3. Voices and TTS in Slint.

Following TTS (Text to Speech synthesizers) are shipped in Slint64-14.2.1.2, each with a set of voices, namely:
espeak-ng
flite
pico
mbrola
RHVoice

Most of the time these TTS and the associated voices and languages are managed by speech-dispatcher through its so-called "modules" (roughly, a module is associated to a TTS).

The custom utility spd-list can answer several questions about the synthesizers, voices and languages. Typing spd-list displays this:

This script lists languages and synthesizers available for applications
relying on Speech Dispatcher, like Orca or speech-up. Each command below answers the question following it.
Don't type the quotes surrounding the command.
"/usr/bin/spd-list" usage?
"/usr/bin/spd-list -s" available synthesizers?
"/usr/bin/spd-list -l" available languages codes?
"/usr/bin/spd-list -ls <synthesizer>" languages available for this synthesizer?
"/usr/bin/spd-list -sl <language code>" synthesizers providing voices in this language?
The language code has most often two characters, like 'en' 'es' or 'fr'

All voices listed are available in Orca and speechd-up, and also fenrir if configured to use speech-dispatcher.

You can get additional voices for flite and mbrola, associated with the modules flite-generic and espeak-ng-mbrola-generic.

You can always know which are installed or not typing as root one of these commands:

slapt-get --search mbrola-voice
slapt-get --search flite-voice

then install one of the not-yet installed one, like e.g.

slapt-get -i mbrola-voice-it2

In addition to the free (as in free beer) voices shipped in Slint, you can buy voices for:
voxin, https://oralux.org/voice.php
voxygen, sending an email to contact@hypra.fr

More voices and synthesizers could be made available later, this will be announced on the Slint mailing list and this ChangeLog

The keyboard shortcuts for graphical environments are listed in Key bindings.

4.4. Use the login managers with speech

Two graphical login managers are accessible with speech using Orca: lightdm or gdm, the latter being recommended as fully accessible.

In gdm, the focus is initially in the User field. Type your user. or login name then press Enter and type your password.

You can access other features of gdm through keyboard shortcuts. In English:
Alt+A: Actions (shutdown or reboot)
Alt+E: Session menu
Alt+L: change the language, for the next session and possibly further session, possibly also for gdm itself.
Alt+T: Theme.
You can use the Tab key to navigate among input fields, and the up and down keys to menus.

In lightdm, pressing F4 toggle the sound on or off. Initially the cursor is in the password field. Press Tab leads to the "login push button", then to the user’s list or "combo box". In this list pressing space shows the currently selected user. Use the arrow keys to choose another one then type the corresponding password. Instead, choosing "Other…​" adds a field where you can type the login name of a non listed user. Still in lightdm, F10 brings up a menu allowing to reboot or shutdown, and Alt+F4 brings up directly an UI with shutdown or cancel buttons.

4.5. Choose a console screen reader

Slint provides these console screen readers:
espeakup
speehchd-up
fenrir

Additionally, several hardware speech synthesizers can be used in console mode, using speakup.

To choose a screen reader run as root this command:

speak-with

Here is its output with no argument:

root[~]# speak-with
Usage: /usr/sbin/speak-with <screen reader> or <hard synthesizer> or none
Choose a console screen reader to talk with among:
  espeakup (Console screen reader connecting espeak-ng and speakup)
  fenrir (Modular, flexible and fast console screen reader)
  speechd-up (Console screen reader connecting Speech Dispatcher and speakup)
or use one of the supported hard synthesizers:
  acntsa apollo audptr bns dectlk decext ltlk soft spkout txprt
or type  "/usr/sbin/speak-with none" to mute all screen readers.
root[~]#

The hardware speech synthesizers listed are those available in the running kernel or shipped as modules.

Example of commands and associated output:

root[~]# speak-with speechd-up
Starting speechd-up
Should speechd-up be also started at next boot? [Y/n]
OK
root[~]# Done.

As soon as you type the command, previously used screen readers will be stopped and speechd-up will begin talking.

If you answer Y (the default) to the question:
Should speechd-up be also started at next boot?
spechd-up will be continue to be used at next boot.
If instead you answer n the screen reader used before typing speak-with speechd-up will be used after next boot.

Other examples:

root[~]# speak-with apollo
Stopping speechd-up...
Should apollo be also used at next boot? [Y/n]
OK
root[~]# Done.

root[~]# speak-with none
Do you also want a mute console at next boot? [Y/n]
OK
root[~]#

4.6. Configure a console screen reader.

Slint handle speech hardware synthesizers using speakup and provides the espeakup and speechd-up screen readers.

You can save the settings you make, for instance to increase or decrease the rate of seech or the sound volume. Just type as root: speakup-save. This saves all current settings, including those specific to the hardware synthesizer in use, case occurring.

All these settings will be restored at next boot: the startup scripts rc.espeakup and rc.speechd-up run the command speakup-restore for you.

If you don’t to want to restore the saved settings, type as root:
chmod -x /usr/sbin/speakup-restore

If you the have them restored again type as root:
chmod +x /usr/sbin/speakup-restore

Here are some key bindings for settings speakup as well as speechd-up:

spk key_f9   punctuation_level_decrease
spk key_f10  punctuation_level_increase
spk key_f11  reading_punctuation_decrease
spk key_f12  reading_punctuation_increase
spk key_1    volume_decrease (doesn't work with speechd-up)
spk key_2    volume_increase (doesn't work with speechd-up)
spk key_3    pitch_decrease (doesn't work with speechd-up)
spk key_4    pitch_increase (doesn't work with speechd-up)
spk key_5    rate_decrease
spk key_6    rate_increase

In the table above spk is the speakup key CapLock, or Ins/0 on a numeric keypad. For instance to increase the rate you could press and hold the CapsLock key then press the 6 key.

Some settings available only on specific hardware synthesizers do not have associated key bindings. Then to set a new value you echo it in /sys/accessibility/speakup/<synth>/<parameter>

For instance to change the voice in use by an apollo 2 you could write:
echo 2 > /sys/accessibility/speakup/apollo/voice

speakup-save will also save this setting.

Caveat: I never used a hardware speech synthesizer, so the explanation below is only an assumption based in the speakup_apollo driver, consistent with is manual, found in:
https://archive.org/stream/DolphinApollo2Manual/Dolphin_Apollo_2_Manual_djvu.txt

4.6.1. Speakup desktop keys

Almost all keys listed below are located on the numeric keypad. The Insert or 0 key on the keypad acts like a shift key. For instance, Ins 2 means "hold down the Insert key like a shift key and press 2". Keep numlock off to use Speakup.

Scope: these key bindings can be used with hard synthesizers and with espeakup, and also with speechd-up. However setting the pitch or the speech volume using key bindings is not available when using speechd-up.

First keys to remember:

PrintScreen    Toggle speakup on/off
Ins F1         Speakup Help (press Space to exit the help)

Keys used for screen review:

1/2/3          Say Previous/Current/Next character
Shift PageUp   Say first character
Shift PageDown Say last character
4/5/6          Say Previous/Current/Next word
5 twice        Spell current word
Ins 5          Spell Current Word phonetically
7/8/9          Say Previous/Current/Next line
Ins 4          Say from left edge of line to reading cursor.
Ins 6          Say from reading cursor to right edge of line.
Ins 8          Say from top of screen to reading cursor.
Ins plus       Say from reading cursor line to bottom of screen.
plus           Say entire screen.
Ins r          Say all doument
dot            Say position
Ins dot        Say attributes
Ins minus      Say character hex and decimal value.
minus          Park reading cursor (toggle)
Ins 9          Move reading cursor to top of screen (insert pgup)
Ins 3          Move reading cursor to bottom of screen (insert pgdn)
Ins 7          Move reading cursor to left edge of screen (insert home)
Ins 1          Move reading cursor to right edge of screen (insert end)
Control 1      Move reading cursor to last character on current line.
asterisk       Toggle cursoring
Ins asterisk   n<x|y  go to line (y) or column (x). Where 'n' is any
               allowed value for the row or column for your current screen.
Ins f2         Set window
Ins f3         Clear window
Ins f4         Enable window

Other keys:

Ins f5         Edit some
Ins f6         Edit most
Ins f7         Edit delim
Ins f8         Edit repeat
Ins f9         Edit exnum

Enter          Shut up (until another key is hit) and sync reading cursor.
Ins Enter      Shut up (until toggled back on)

slash          Mark and Cut screen region.
Ins slash      Paste screen region into any console.

4.6.2. Speakup laptop keys

These key bindings (for US keyboard layout) don’t need a numeric keypad. If you have one, use the speakup desktop keys easier to use, especially if you use another keyboard layout than US.

The CapsLock key acts like a Shift key.
For instance, CapsLock 2 means "hold down the CapsLock key like a shift key and press 2".
Keep numlock off to use Speakup.

Scope: these key bindings can be used with hard synthesizers and with espeakup, and also with speechd-up. However setting the pitch or the speech volume using key bindings is not available when using speechd-up.

First keys to remember:

PrintScreen          Toggle speakup on/off
CapsLock F1          Speakup Help (press Space to exit)

Key used for screen review:

CapsLock m/comma/dot Say Previous/Current/Next character
CapsLock PageUp      Say First character
CpasLock PageDown    Say Last character
CapsLock j/k/l       Say Previous/Current/Next word
CpasLock k twice     Spell current word
CapsLock u/i/o       Say Previous/Current/Next line
CapsLock h           Say from left edge of line to reading cursor.
CapsLock semicolon   Say from reading cursor to right edge of line
CapsLock y           Say from top of screen to reading cursor.
CapsLock p           Say from reading cursor line to bottom of screen.
CapsLock apostrophe  Say entire screen.
Capslock r           Read all document.
CapsLock n           Say position
CapsLock slash       Say attributes
CapsLock minus       park reading cursor (toggle)
CapsLock f2          Set window
CapsLock f3          Clear window
CapsLock f4          Enable window

Other keys:

CapsLock f5          Edit some
CapsLock f6          Edit most
CapsLock f7          Edit delimiter
CapsLock f8          Repeat edit
shift CapsLock f9    Edit exnum

4.7. Make emacs speak

You can use either emacspeak or speechd-el. To enable or disable one of them type as regular either one of these commands:

switch-on emacspeak
switch-on speechd-el
switch-off emacspeak
switch-off speechd-el

Then just type:
emacs

Enabling one of these software disables the other one.

5. Manage your system

5.1. Software management in Slint.

5.1.1. The basics

In Slint software is provided in the form of packages. A package is a bundle of files provided in a compressed archive file, put together to provide all that is needed to run the software. Packages are included in the installation ISO and stored in remote servers from which they can be downloaded and installed. Installing a package means extract the files from the archive file and copy them to some directory of the system.

Installation and removal of software are recorded in a database made of text files in these directories:

/var/log/packages
/var/log/removed_packages
/var/log/scripts
/var/log/removed_scripts

The files in the directory record information about the packages, mainly its content: the list of files it includes and where they are installed.

The main commands to manage the packages are listed below. All of them have associated man pages.

These commands require administrative rights, associated to a specific account named 'root', for which you have specified a password during Slint installation.

To issue a command as 'root', first type su - then enter the password for root and type the command.

Commands below can be run from a graphical terminal or in a console, but gslapt that only works in a graphical environment.

installpkg # to install a package stored locally.
removepkg # to remove an installed package.
upgradepkg # to replace an installed package with another one (generally with the same name but at another version).
slapt-get # to install, remove, upgrade packages stored on repositories listed in /etc/slapt-get/slap-getrc

The packages shipped in the installation ISO come from the repositories listed in /etc/slapt-get/slapt-getrc

Do yourself a favor: read the comments in /etc/slapt-get/slapt-getrc and /usr/doc/slapt-get-0.10.2t/README.slapgetrc.Slint in the installed system.

After having installed Slint, you’ll be notified of updates of installed packages coming from repositories listed in /etc/slapt-get/slapt-getrc

You can install additional packages using the command slapt-get or the graphical application gslapt, if stored in a repository listed in /etc/slapt-get/slapt-getrc

slapt-get and gslapt provide a search feature that helps you finding packages.

Warning
you can use slapt-get, gslapt and removepkg to remove installed packages but do not remove packages shipped in the Slint ISO, even if you do not use them at all. Removing an included package will result in no increase in performance and could prevent other applications to run. Also, if you have added a package not included in Slint you may remove it but be careful that the removed package be not a dependency of other ones that you also installed and intend to continue using.

5.1.2. Keep your system up to date

Keep your system safe installing the software updates provided by Slint as soon as they’re available.

All updates are listed in the ChangeLog: http://slackware.uk/slint/x86_64/slint-14.2.1/ChangeLog.txt

After Slint installation or any change in the file /etc/slapt-get/slapt-getr run this command once:

slapt-get --add-keys

To synchronize the local list of available package with that of the repository, this command is automatically run every two hours:

slapt-get -u

You can also run it manually

This of course requires that the machine be connected to the internet.

To download and install the upgraded or rebuilt packages run as root the following command:

slapt-get --upgrade

Alternatively you could also use gslapt, a graphical front-end for slapt-get.

To get new packages listed in the ChangeLog as "Added", type:

slapt-get -i <package name>

or to make sure you have installed all packages shipped in Slint, including those added to the repository after you installed Slint, type:

slapt-get --install-set slint

On the desktops, a small icon is displayed in the notification area of a panel (the top panel in MATE) to notify of available software updates. Just make a left click on it and follow the instructions mentioned there.

Be aware that some packages are blacklisted in /etc/slapt-get/slapt-getrc, i.e. can not be automatically upgraded or installed.

5.1.3. Kernel upgrades

New kernels are provided whenever necessary, either to bring security fixes or enhancements.

Usually no manual intervention from the user is necessary when this happens, but it can be useful to know how the kernel upgrade is done and what to do if something unexpected occurs.

Several packages include files associated with each kernel, namely: kernel-generic, kernel-modules, kernel-source, kernel headers. kernel-source and kernel-headers include files used to build software, only kernel-generic and kernel-modules are needed to run a Slint system.

The package kernel-modules ships files called modules, which are pieces of code that are "plugged in" the kernel to provide a specific feature or handle a specific hardware.

As soon as both a kernel package and the associated kernel-modules package are installed, the script /sbin/wrapupgradepkg builds an initrd associated with this kernel (with modules taken from the package kernel-modules) and installs it alongside the kernel in the /boot directory.

Then previous kernels (not in use at time of upgrade) are removed.

Then the script updates the GRUB configuration file /boot/grub/grub.cfg, read by the OS loader to build the boot when booting.

This boot menu will then include at least two boot entries each indicating, to indicating a kernel and its associated initrd to use. From the top:

  • A boot entry to start Slint using the new kernel that has just been installed.

  • A boot entry to start Slint using the kernel in use at time of upgrade.

This provide kind of a "safety net" in case Slint wouldn’t boot with the new kernel: in this case just arrow down once when the boot menu is displayed to start Slint with the previous kernel

You can preview the new boot menu before rebooting, typing as root:

grub-emu

Then an emulated or "fake" boot menu is displayed, with the same layout as the real one which will displayed at boot.

You can navigate in it with the down and up arrow keys to highlight (put the focus on) a boot entry of which you can display the details pressing 'e'. You can go back to the menu pressing Escape.

To exit from grub-emu press c then type exit and press Enter.

5.1.4. Get additional applications

If the application you want is not installed and also not available in one of the repositories enabled in /etc/slapt-get/slapt-getrc you could make a package for it, using build material provided by volunteers @ https://slackbuilds.org. To know how-to proceed, read https://slackbuilds.org/howto/ and https://slackbuilds.org/faq/

The packages built this way should be compatible with Slint.

Two applications allow you build and install packages using the build material provided at https://slackbuilds.org: slapt-src and sbopkg. Unless you be accustomed to sbopkg, we recommend that you use slapt-src, faster to be acquainted with. However, both should work and provide the same results and should be used as root.

We will describe slapt-src in more details.

Usage of slapt-srcrc

The default configuration script for slapt-src is /etc/slapt-get/slap-getrc and has this content:

BUILDDIR=/tmp/slapt-src
PKGEXT=txz
SOURCE=https://slackbuilds.org/slackbuilds/14.2/

So:

Here is the output of the command slapt-src --help:

Usage: slapt-src [option(s)] [action] [slackbuild(s)]
  -u, --update           update local cache of remote slackbuilds
  -U, --upgrade-all      upgrade all installed slackbuilds
  -l, --list             list available slackbuilds
  -e, --clean            clean build directory
  -s, --search           search available slackbuilds
  -w, --show             show specified slackbuilds
  -i, --install          fetch, build, and install the specified slackbuild(s)
  -b, --build            only fetch and build the specified slackbuild(s)
  -f, --fetch            only fetch the specified slackbuild(s)
  -v, --version
  -h, --help
 Options:
  -y, --yes              do not prompt
  -t, --simulate         show what will be done
  -c, --config=FILE      use the specified configuration file
  -n, --no-dep           do not look for dependencies
  -p, --postprocess=CMD  run specified command on generated package
  -B, --build-only       applicable only to --upgrade-all
  -F, --fetch-only       applicable only to --upgrade-all

Let’s comment some of these options:

  • Use -u or --update every time to update the list of packages that can be built and installed. This commands writes the file /tmp/slapt-src/slackbuilds_data, replacing the previous one case occurring.

  • Use -e to save space on disk, removing most files in /usr/src/slapt-src/

  • do not use -U but to list the possible upgrades or downgrades, without confirming: confirming would lead to replace all Slint packages by one at another version if available in the remote repository, possibly breaking software not compatible with this other version.

  • -i can also upgrade a package already installed from https://slackbuilds.org, if a the maintainer of the SlackBuild script has upgraded it, changing the VERSION variable.

  • Use -f to only download the files in https://slackbuilds.org for the target software. This can be useful if you want to check build material, or customize the build. For instance let’s assume you want to fetch the build material for the software mxml. The command below gives some information about the software and which files are stored in https://slackbuilds.org for it:

    slapt-src --show mxml
    SlackBuild Name: mxml
    SlackBuild Version: 3.1
    SlackBuild Category: libraries/mxml/
    SlackBuild Description: mxml (Lightweight xml parsing library)
    SlackBuild Files:
     README
     mxml.SlackBuild
     mxml.info
     slack-desc

    Now fetch theses files and also the source archive from upstream repository with the next command:

    slapt-get -f mxml

    Knowing from the output of the previous command that the files are stored in the subdirectory libraries/mxml, you can check which files have been downloaded with this command:

    ls -1 /tmp/slapt-src/libraries/mxml
    mxml-3.1.tar.gz
    mxml.SlackBuild
    mxml.info
    slack-desc
  • Use -b if you want to build a package but not install it yet. In the example above it will be stored in /tmp/slapt-src/libraries/mxml, so you will be able to install it afterwards just typing:

    upgradepkg --install-new /tmp/slapt-src/libraries/mxml/xml*txz
  • Use -c if you want to use a custom configuration file instead of the default one /etc/slapt-get/slap-getrc

Usage of sbopkg
Warning
in some cases a software is shipped in Slint and is also available in https://slackbuilds.org but with a different name which can lead to problems. These discrepancies are solved when using slapt-src, but not yet when using sbopkg.

Before using sbopkg, read its help file and its man page typing as root: sbopkg --help and man sbopkg

In brief, if using only the command line, as root:

  • synchronize the local repository with the remote one to update it:

    sbopkg -r
  • write a "queue file" listing the dependencies in the right order to build and install them before the software you want:

    sqg -p <package name>

    A queue file named /var/lib/sbopkg/queues/<package name>.sqf will be written

If there is no dependency no queue file will be written

  • build and install the dependencies then,the wanted software:

    sbopkg -i <package name>

    If a queue file exists for this package choose to use it when asked.

If a package mentioned in the queue file is already installed it will be skipped.

As a consequence, if you want to upgrade a package already installed using sbopkg, you will have to remove it before building and installing the new one.

Be aware that building and installing packages this way can occasionally lead to issues like missing dependencies or conflicts with installed packages: the components used to build the packages are provided by volunteers who can not check the results in every possible configuration.

Warning
If you neither can find a package for a software you want nor stuff to build one @ https://slackbuilds.org, you could be tempted to build and install this software manually by issuing the commands "./configure && make && make install". Avoid to do that, as software built and installed this way will not be manageable by the Slint packages management system and associated tools.

Rather, just post a question or request on the Slint mailing list and we will try to help, possibly adding this package to the repository. When done (this will be announced in the mailing list), to install it type as root one of these comands:

slapt-get -i <package name>
slapt-get --install-set Slint

5.2. Manage users and groups.

Two commands are provided to manage users and groups:

  • The usersetup command (TUI)

  • The gtkusersetup command (GUI), with an icon in the Slint Control Center, System category)

These commands allow you to add or delete users and groups of users, and add users to groups.

Bear in mind that each user account is associated by default to its on space in the /home directory. For instance if you add a user leonie, a /home/leonie folder will be created, to which only this user (and root) will be allowed to access.

5.3. Change the default language of the system

Two commands are provided for that:

  • The localesetup command (TUI).

  • The gtklocalesetup command (GUI), with an icon in the Slint Control Center, Settings category.

Bear in mind that this settings changes the language used by the applications' interfaces if they are internationalized, not the keyboard map (see below).

Also, localized packages (if available) matching the language chosen have been already installed at end of Slint installation. If you change the default language afterwards, you will need to install the corresponding localized packages if you want.

Localized means "provided in a given locale", the locale being a language plus peculiarities associated to a geographic area. For instance Portuguese spoken in Portugal and Brazil differ. In the localized packages names, l10n is an abbreviation of "localization" meaning "letter l, 10 other letters, letter n".

Localized packages are included for many languages. Their name include the base package name, a hyphen, then the language code. We list below the base names of the localized packages:

Base package name

Description

aspell

word lists for spell check

calligra-l0n

localized of the Calligra office suite

kde-l10n

localized KDE desktop

libreoffice-l0n

localized LibreOffice office suite

libreoffice-help

localized help for LibreOffice

To find a localized package, type in a terminal emulator as root (example for kde-l10n):
spi libreoffice

This will display the list of all localized LibreOffice package. Find the one you want and install it. For instance for Persian the language code is fa (short for Farsi), so to install it type:
spi -i libreoffice-l0n-fa

If you prefer you can use gslapt. Then, type the package name in the search field to display all localized libreoffice packages.

5.4. Change the keyboard map

You can change the default keymap used in graphical mode using:

  • The keyboardsetup command (TUI)

  • The gtkkeyboardsetup command (GUI), with an icon in the Slint Control Center, Hardware category.

These commands also allow you to choose if numlock should be enabled when the system is started, and if the SCIM (input method) should be enabled at system startup.

If you use a window manager with a panel, you can also make this setting through a right click on the keyboard applet (displayed by default as the two letters language code of the keyboard map in use). KDE and Xfce have specific tools for that.

On the command line but still for the graphical mode use instead the setxbmap

For instance to set the keyboard layout to Ukrainian in graphical mode, just type as regular user:
setxkbmap -layout ua

To know more, read the man page for setxkbmap.

5.5. Install a printer

In Slint the CUPS print server manages printers and printing tasks. In its default configuration, recorded in the file /etc/cups/cupsd.conf, only users belonging to the sys (short for system) group are allowed to perform administrative tasks, like adding or removing a printer.

For a simple setup (printer attached to a desktop or laptop and not shared between machines), you just need to add one user (who will manage the printers) to the sys group. For instance adding the user didier to the group sys can be done two ways:

  • In console mode or using a terminal emulator, become root with su then type:

    gpasswd --add didier sys

  • In graphical mode from the Slint Control Center click on Users and Groups (System category), select the user and click Properties, then in the Groups tab check sys. Or the other way round (select the group then add the user to it).

There are several ways to add and configure a printer (this has to be done by an user member of the group sys):

  • From the Slint Control Center, category Hardware, click on Printer Setup to display a GUI allowing a simple setup…​

  • …​ Or click on Cups Print Control the display a web interface to the CUPS server. You can also display the web interface to the CUPS server typing localhost:631 in the address field of a web browser.

  • If you have a Hewlett Packard device, make a right click on the hp logo in the notification area of the panel.

Note
To make any print setting the CUPS server should be running. It is started when you start Slint if the service cups in checked among the System Services (it is checked by default in Slint).

5.6. Sound set up

In Slint applications either send their sound output either to ALSA or to PulseAudio.

In the latter case PulseAudio in turn sends the output stream to an ALSA mixer which direct it to the sound cards.

As a result, a setting like an output sound volume can always be done by an ALSA mixer, and also by a PulseAudio mixer but only in case the application sends its sound output to PulseAudio.

We will present now the application that can be used to modify the sound settings

5.6.1. pavucontrol (for PulseAudio)

pavucontrol stands for PulseAudio Volume Control and is a graphical application. You can start it from a terminal or application menu, or doing a right click on the sound mixer icon on the top panel of Mate. Actually it allows more settings than just the volume control, take the time to explore all its features.

You can also use volume control applet in the notification area of the panel: a left click allows to adjust the volume, a right click gives access to other settings and allows to start the pavucontrol mixer.

5.6.2. alsamixer (for ALSA)

alsamixer is a ncurses application, providing a semi-graphical user interface.

To use it type: in a console or in a graphical terminal:

alsamixer

then:

  • Use the page up key to increase the volume by 5%

  • Use the page down key to decrease the volume by 5%

  • press Esc to leave the application.

5.6.3. amixer (for ALSA)

The command is of the form:

amixer <arguments>`

For instance to set the main volume to 70% type:

amixer sset Master 70%

To know more, type one of these commands:

man amixer
amixer -h

5.6.4. sam (the Speech-Friendly Alsa Mixer)

sam allows selection of the sound card to work on when there are more than one such device in your machine.
When there is only one, it directly presents the different mixers for configuration.

All selections, be it sound cards, mixers or a given feature of a specific mixer are selected by scrolling through the available options using the up and down arrows, then entering on the desired one:
q leave the selection list and/or quits.
Shift-q exits the program from anywhere.
F1 Displays any extra information if available.

When the name of the desired option is known, one can instead press its first letter. First-letter navigation is case-insensitive. That will then take you to the first selection starting with the pressed letter. Pressing the same letter again, will move you to the next option starting with that letter ifmore than one option like that exists. Repeating the letter will cycle among all those options starting with that letter.

The settable features of a mixer can be listed by pressing f1.
They are presented as a selection list, showing briefly all relevant information, e.g. "playback volume down from 84 percent" is the option to lower the playback volume setting of the playback volume. As you can see, it also tells you what the current setting is.

Note
sam does not work correctly in a graphical terminal. Use it in a console.

5.6.5. pamixer and ponymix (for PulseAudio)

These itility are similar, with comands in this form:

pamixer <arguments>
ponymix <arguments>

For instance to set the volume to 70% for the default sink type one of these commands:

pamixer --set-volume 7
ponymix set-volume 8O

To know more, type:

pamixer -h
ponymix --help

5.6.6. pacmd and pactl (for PulseAudio)

Both of these command line applications control a running PulseAdio daemon.

Warning
pacmd typed alone brings up an interactive dialog. Press Ctrl+d to exit from it but do not type exit, as that would kill PulseAudio!

To know more:

man pactl
man pacmd
pactl --help
pacmd --help

5.6.7. Save and restore the sound level

Just make the file /etc/rc.d/rc.alsa executable. As root:

chmod /etc/rc.d/rc.alsa

At startup, this script will restore the previous sound settings if they were previously stored, else will set default volumes and store them, so that they will be restored at next reboot.

If you don’t want that this script to set the default volume type as root:

touch /var/lib/alsa/no.asound.state

You can change these default sound levels with alsamixer or amixer then typing as root:

alsactl store

Then at next startup the script will restore them.

To know more:

man alsactl

5.7. Network configuration

If you didn’t set up your network settings during Slint installation, first become root by typing su - either in a console or in graphical terminal like mate-terminal, then type the root password.

Setup of the network is done by the netsetup script. So you would just type the command netsetup in that same terminal, where you’ve just aquired root privileges. You will be first asked for the hostname of your machine. you can choose any name, but mind that it has to be a single word. Then you are asked the domain name. If the machine is not a server you can choose anyone. After that you will be asked how your machine connects to the network. Unless you have a good reason not to (and you know what you are doing), keep the default NetworkManager to automatically configure the network.

For wired connections, that should be enough to be connected on next boot automatically.

To configure a wireless connection, two commands are available using the command line.

Again, you can type the commands directly on the console or in a graphical terminal like mate-terminal. Type them as regular user not as root. If you followed these instructions and became root already, you would just type exit to get back the regular user status.

The two mentioned commands are nmtui (dialog boxes) or nmcli (pure command line), both are accessible.

If you prefer working on the command line, make sure to read the nmcli documentation first. Just type nmcli --help and man nmcli to find out all the details. While nmcli offers more possibilities, in most use-cases the functionality of nmtui will be sufficient for setting up your wireless network, so we will describe it here:

Using nmtui, you can navigate with the Tab and arrow keys. You will be proposed three options:
Edit a connection
Activate a connection
Set system hostname

If no wireless connection has been set yet choose Activate a connection. Starting from top to bottom, first the wired connections (if any) will be proposed, after that all accessible wireless networks will be listed. Navigate with the down and up arrow keys to select the network you want, then just press Enter: you will probably be asked for the password or encryption key. Type it, use the Tab key to confirm, then exit and you are done.

In graphical mode only, instead of nmcli or nmtui you can use the application nm-connection-editor.

5.8. Services configuration

If you used using the Manual mode you were asked which system services activate by default at startup.
If you used the Auto mode default settings were applied

In both cases you can change these settings several ways:

  • Running as root the servicesetup command (TUI)

  • In graphical mode only, using gtkervicesetup, accessible from the Slint Control Center, category System or typing Alt+F2 to raise a "Run…​" dialog then typing gtksetrvicesetup.

  • As root making the relevant script executable (chmod 755 <path to the script> or non executable (chmod 644 <path to the script>). For instance to make fail2ban executable you would type: chmod 755 /etc/rc.d/rc.fail2ban

Important

Only change the default settings if you know what you are doing.

The services are managed by scripts whose name begin with rc. in the directory /etc/rc.d/. For instance the service acpi is managed by the shell script /etc/rc.d/rc.acpi. Most of the services are activated at startup if the corresponding script is executable. In the table below we indicate if it is activated at startup (on in the column A) or not (off in the column A). If the column is blank the activation of the services depends on a choice made during installation. An A in the column indicates that the service is activated in Auto installation mode, else is activated if chosen by the user during installation. The Package column indicate which software package provides the script corresponding to the service, case occurring

Service

A

Package

Purpose and comments

acpi

on

acpid

Advanced Configuration and Power Interface, allows for instance to manage power or reboot pressing a button

alsa

on

alsa-utils

Provide default sound settings or restore those saved

alsa-oss

off

alsa-utils

ALSA OSS kernel modules. Not useful in mot cases, not enabled by default in Slint.

atalk

off

netatalk

Allows Unix-like operating systems to serve as file, print and time servers for Macintosh computers.

autofs

off

autofs

Kernel-based auto mounter for Linux

bind

off

bind

Name server. Most users will rely on a remote one. Enable it if you want to run a name server in this system.

bitlbee

on

bitlbee

BitlBee is an IRC daemon that can talk to instant messaging networks and acts as a gateway. Users can connect to the server with any normal IRC client and see their 'buddy list' in &bitlbee.

bluetooth

on

bluez

Allows to communicate with bluetooth devices

brltty

brltty

Allows to communicate with Braille terminal or screen reader. Activated if requested during installation

cgconfig

on

libcgroups

Runs the cgconfigparser utility that parses /etc/cgconfig.conf to setup the control group hierarchy, including setting the permissions (UID and GID) of the groups and possibly tunable parameters of the controllers. This alleviates doing that ourselves at every startup, for instance running a separate shell script. This script is executable by default but anyway won’t do anything until /etc/cgconfig.conf be edited (all lines are commented out as shipped)

cgmanager

off

cgmanager

Starts the cgmanager daemon that provides an alternate way to manage the control group hierarchy through D-Bus requests possibly through the cgm front-end utility.

cgproxy

off

cgmanager

Starts the cgproxy daemon, that allows programs and users in a container to make cgroup administration requests using DBus calls, sending the user-ids or group-ids as SCM credentials to the cgmanager.

cgred

on

libcgroups

Starts the cgroups rules engine daemon that automatically distributes to appropriate control groups the processes that changes their effective UID or GID, applying the rules found in /etc/cgrules.conf. This allows to continue apply resources control resources on such processes that could otherwise escape it. This script executable by default but anyway won’t do anything until /etc/cgrules.conf be edited (all lines are commented out as shipped)

consolekit

on

ConsoleKit2

This daemon is used by polkit’s console auth agent, to check privileges of user wanting to reboot or shutdown the system, for instance.

cpufreq

on

sysvinit-scripts

Settings for CPU frequency and voltage scaling in the kernel.

cups

on

cups

Startup/shutdown script for the CUPS print server.

cups-browsed

off

cups-filters

Makes remote printers available locally.

dnsmask

off

dnsmask

Start/stop/restart dnsmasq (a small DNS/DHCP server)

espeakup

espeakup

starts/stop/restart the espeakup console screen reader. On if user requested speech during installation or later typed speak-with espeakup

fail2ban

off

fail2ban

start/stops fail2ban which scans log files like /var/log/pwdfail and bans IP that makes too many password failures, and also updates firewall ules to reject the IP address.

font

off

kbd

Sets the console font (used in Console mode, not in Graphical mode)

fuse

on

fuse

Load the fuse module and mount the fuse control filesystem. FUSE is a simple interface for userspace programs to export a virtual filesystem to the Linux kernel. FUSE also aims to provide a secure method for non privileged users to create and mount their own filesystem implementations.

fenrir

off

fenrir

starts/stop/restart the fenrir screen reader, which can be started after installation typing speak-with fenrir.

font

off

kbd

set up a custom console font

gpm

on

gpm

The General Purpose Mouse server allows to cut and paste text from the screen on a Linux console.

httpd

off

https

Starts or stop the Apache web server

inet1

on

network-scripts

This script is used to bring up the various network interfaces.

inet2

on

network-scripts

This shell script boots up the entire network system.

inetd

on

inetd

BSD "super-server" daemon. The user needs to edit /etc/inetd.conf for the services to be actually used.

ip_forward

off

network-scripts

Start/stop IP packet forwarding, needed for your computer to act as a router.

keymap

on

installer

Loads the keybord map used in Console mode.

local

off

sysvinit-scripts

starts daemons not started by /etc/rc.d/rc.M at boot time.

loop

on

sysvinit-scripts

Loads the loop device kernel module.

lxc

off

lxc

This scripts starts (if configured to be auto-started) and stops lxc containers.

mcelog

off

mcelog

Starts the mcelog hardware error logging. This logs and handles CPU hardware errors on x86 systems

messagebus

on

dbus

The D-BUS systemwide message bus. This is a daemon which broadcasts notifications of system events and other messages, providing inter-processes communication.

modules

on

sysvinit-scripts

Compute the kernel modules dependencies and start other scripts that load modules not automatically loaded by eudev, possibly for specific kernel versions

modules.local

on

sysvinit-scripts

Load modules not automatically loaded by eudev

murmur

off

murmur

Starts/stop the murmur voice chat server for mumble

mysqld

off

mariadb

Starts/stop the MariaDB server. MariaDB is a fork of MySQL fully compatible with it

networkmanager

NetworkManager

This is a daemon for automatically switching network connections to the best available connection. Activated if NetworkManager is chosen to configure the network, during or after installation

nfsd

off

nfs-utils

Starts/stop an nfs (Network File Server.qq

ntpd

on

ntp

Starts stop an ntp ( Net’work Time Protocol) daemon.

numlock

salixtools

Activate numlock on the console

pcmcia

off

pcmciautils

Script to initialize PCMCIA subsystem.

php-fpm

off

php

Starts the PHP FastCGI Process Manager daemon.

pulseaudio

off

pulseaudio

Starts pulseaudio system-wide. This is not recommended in Slint.

rpc

off

rpcbind

Start/stop/restart RPC (remote process communications) daemons needed to use NFS. To run an NFS server, starting these is mandatory.

samba

off

samba

Start/stop/restart the Samba SMB CIFS file and print server for CIFS clients. It allows you to make file space or printers on a Samba host available to CIFS clients (such as PCs running Windows).

saslauthd

off

cyrus-sasl

saslauthd is a daemon process that handles plaintext authentication requests on behalf of the SASL library. The CMU Cyrus SASL library is mostly used to authenticate to mail servers.

sendmail

off

sendmail

Start/stop/restart Sendmail MTA (mail transfer agent or mail delivery system).

serial

off

util-linux

Initializes and sets the serial ports on your system

setterm

on

util-linux

Provides the command line for the setterm utility to set the terminal attributes (primarily used for screen blanking and power management).

smartd

off

smartmontools

Start/stop/restart the smartd daemon, which monitors the status of S.M.A.R.T. compatible hard drives and reports any problems.

sshd

on

openssh

Start/stop/restart the secure shell server

snmpd

off

net-snmp

Start/stop the net-snmp SNMP (Simple Network Management Protocol) daemon

syslog

on

sysklogd

Start/stop/restart the system logging daemons, that logd both kernel and system’s messages.

sysstat

on

systat

Reset the system activity logs, used to compute performance statistics

speechd-up

speechd-up

starts/stop/restart the speechd-up screen reader, which can be started after installation typing speak-with speechd-up.

sysvinit

on

sysvinit-scripts

This file provides basic compatibility with SystemV style startup scripts found in many binary packages

swapinzram

on

swapinzram

Configure a swap block device in RAM using zram

syslog

on

syslogd

Start/stop/restart the system logging daemons.

sysstat

off

sysstat

Reset the system activity logs.

timidity

off

TiMidity++

Start/stop/restart the TiMidity ALSA sequencer client. TiMidity is a software synthesizer. It can play MIDI files by converting them into PCM waveform data or other various audio file formats.

udev

on

eudev

This script initializes udev, which populates the /dev directory with device nodes, scans for devices, loads the appropriate kernel modules, and configures the devices.

ulogd

on

ulogd

starts the userspace ulogd daemon for netfilter/iptables related logging.

vde2

on

vde2

Start/stop/restart the VDE switch. VDE is an ethernet compliant virtual network which includes tools such as 'vde_switch' and 'vdeqemu'.

wireless

on

wireless-tools

This script sets up PCI, USB, and 32-bit Cardbus wireless devices. Normally this script is called from rc.inet1 rather than run directly

yp

on

yptools

Start NIS (Network Information Services). NIS provides network-wide distribution of hostname, username, and other information databases.

You can start or stop a service using as root the command service. To know more type man service.

6. Glossary

Several definitions in this glossary are taken or adapted from Wikipedia and POSIX

Application

An application program (application for short) is a computer program designed to carry out a specific task typically requested by end-users.

Applications are not generally considered as part of the operating system, meaning that they can be added to the system after its installation. They perform non-system-related functions, such as word processing, architectural design, mechanical design, workstation publishing, or financial analysis.

Boot

Boot means switch-on a computer to start an operating system. Several operating systems can be installed in the same computer. Select which one to load into RAM and run can be done either by the firmware or by a software named boot manager (GRUB in Slint’s case). The firmware of a computer can support one of following booting mode, or both:

  • In the Legacy or BIOS mode the OS is loaded executing the instructions written in a boot sector.

  • In the EFI mode the OS loader is a program stored in an executable file, located in a directory of an EFI System partition (ESP).

CPU

The CPU or Central Processing Unit executes the instructions of programs.

Command

Command is defined by POSIX as "a directive to a shell to perform a specific task".

The task to perform can be an application or an utility.

The basic structure of shell commands is defined in the chapter 2.9 Shell Commands of the POSIX specification.

Examples of commands are provided in [bash shell].

Console

The word "console" refers to the beginning of computer systems, when the system administrator typed commands on a device including a keyboard and a printer, linked to the computer, the commands typed and the output from the computer being printed on the console, providing a log of both.

In personal computers the user type the commands on keyboard and their output is printed on a screen, that can be separated from or integrated to the computer as in a laptop.

Device

A computer peripheral or an object that appears to the application as such.[POSIX]

Directory

A directory is another name for a folder. File systems use directories to organize files within partitions.

Directories can contain files and also other directories. The resulting structure can be represented as an upside-down tree. The top-level directory of a drive is named the root directory. In Linux the character / separates the levels of the tree. / alone represents the root directory, /home hosts the files belonging to users, /home/didier hosts the files belonging to user didier. /root hosts the files of the user named root (the system’s administrator). Note: 'root' can refer to the top-level directory or the system’s administrator.

Drive

A drive is a device that stores non volatile data, meaning that the data is not erased when the power is turned off. Examples: hard disks, SSD, USB sticks, SD cards readers, eMMC.

The media storing the data can be permanently attached to the drive or removable like SD cards, USB sticks and drives connected through USB.

An operating system installed in a removable media or an external drive is said portable: it can be moved from a computer to another one.

Display manager

A display manager (or login manager) is a software that displays a window on the screen in which it asks the login name and password of the user, then starts the graphical environment chosen by said user.

Encryption

Encryption is the process of converting data to an unrecognizable ("encrypted") form. It is commonly used to protect sensitive information so that only authorized persons can view it. A single file or directory, a partition as well as a whole drive can be encrypted, which make it accessible only after having typed a small text called a passphrase, kept secret.

File

A computer file is a set of digital data gathered under the same name, recorded on a permanent storage medium, called mass storage, such as a hard disk, a SSD, a DVD, a SD card or an USB stick and handled as a unit.

Files can contain data like texts, images, sounds, videos or computers programs.

File System

A file system is a software that manages the files and directories in a partition. It memorizes the location in the physical media of the data contained in the files, allowing to read or writing them. Examples of commonly used file systems are vfat, ntfs, ext4, f2fs. This command lists all file systems allowing to read data contained in a partition from Linux:

cat /proc/filesystems|grep -v nodev
Firmware

A firmware is a software that initializes and checks the hardware, then either selects and load in RAM the operating system, or starts a software called a boot manager that will do that. The firmware is held in non-volatile memory devices such as ROM, EPROM, or flash memory. It is the first software run when booting a computer. It provides a menu allowing to configure the hardware and select in which mode (Legacy or EFI) to boot, and in which order look for the operating system or other application (like the GRUB boot manager) to run.

Kernel

A Linux kernel is the software at the core of a Slint system which handles the interactions between the applications and the hardware.

It presents itself as a single file, installed in the directory /boot. For instance the file /boot/vmlinuz-generic-5.12.11 is a kernel, coming from kernel-generic package.

At startup the kernel is copied into RAM.

Initrd

An initrd (more accurately an initramfs or initial RAM file system for Slint) is a Linux system provided as a compressed archive file. At boot, just after the kernel has been loaded in RAM the inird is loaded in RAM too. Its file /init runs: it loads needed kernel modules in RAM, register the devices, possibly unlock the root device, mount the pseudo file systems then switch to the root file system to actually start the system.

An initrd presents itself as a single file, installed in the directory boot. For instance the file initrd-generic-5.12.11 is an initrd

Live system

A live system is an operating system that, instead of being installed in a device like an hard disk or SSD, lies entirely in RAM.

An initrd is also a live system, and so is a Slint installer wich is basically an initrd.

Partition

A partition is a section of a storage media, such as a hard disk or SSD. It is treated by the operating system as a separate logical volume, which makes it function similar to a separate media.

Partition table

A partition table is the permanent structure recording how information is laid out on a media, mainly recording the beginning and end of each partition on the media.

The most common types of partition tables are the DOS partition table, initially used by the MS-DOS operating system, and the GUID Partition Table or GPT, which allows to handle more partitions and larger drives.

Program

A prepared sequence of instructions to the system to accomplish a defined task. The term "program" encompasses applications written in the Shell Command Language, complex utility input languages (for example, awk, lex, sed, and so on), and high-level languages. [POSIX]

RAM

RAM stands for Random Access Memory. This kind of device stores volatile data, meaning that the data is erased when the power is turned off.

Shell

A program that interprets sequences of text input as commands. It may operate on an input stream or it may interactively prompt and read commands from a terminal. The syntax of the commands that can be interpretd by the shell can vary along the shell in use but are mainly defined in the the chapter 2. Shell Command Language of the POSIX specification.

Slint ships several programs acting as shell, listed in the file /etc/shells. The bash shell is used by default.

Swap

A swap space is used to tentatively store data previously in RAM on a device like a hard disk or SSD, either because else the RAM would become full, or to free space in RAM to store there most frequently used data. The swap space can be a partition on a drive of type 'Linux swap' or a regular file stored in an an existing partition. There is also the 'swap in zram': in this case the data is stored in RAM but in compressed form, to its usable size of the RAM.

Terminal

Historically a terminal was a physical device composed of a keyboard and a screen used to type commands and receives responses from a remote computer.

Nowadays the commands can be typed in console (or text) mode or in graphical mode.

Utility

An utility is a program that can be called by name from a shell (this is also the case of some <application,applications>>).

Utilities are a part of the operating system (but not of the kernel). They perform system-related functions, such as listing directory contents, checking file systems, repairing file systems, or extracting system status information.

An utility may be invoked as a separate program that executes in a different process than the command language interpreter, or it may be implemented as a part of the command language interpreter.

For example, the echo command (the directive to perform a specific task) may be implemented such that the echo utility (the logic that performs the task of echoing) is in a separate program; therefore, it is executed in a process that is different from the command language interpreter. Practically this means this means that in this case the utility is a program distinct from the shell

Conversely, the logic that performs the echo utility could be built into the command language interpreter; therefore, it could execute in the same process as the command language interpreter. Such an utility is said "built-in" the shell.

Virtual terminal

A virtual terminal is a software that simulates a physical terminal, device composed of a keyboard and a screen allowing to communicate remotely with a computer.