Build a powerful Linux computer for newbies
As the Free Software Foundation celebrated 30 years of its establishment, it asked its supporters to help someone they know dump Windows 10 and move to Linux. To that end, this article will focus on building a powerful Linux system that suits most users and is also easy to provide support for.
First impressions are best impressions. When building a Linux system for a Linux newbie, it is important that you go beyond the default installation. You need to add additional software, configure the system for the best combination of convenience and aesthetics, and provide the new user with simple tips and tricks to be self-sufficient.
Linux Distribution
This article recommends Linux Mint. You could however choose whichever distribution you are comfortable with. As Mint is based on Ubuntu (which is based on Debian), it uses the DEB package format and thus benefits from the many software repositories with DEB packages. DEB packages also make it easy to install and uninstall Linux software programs.
When downloading the Mint OS ISO file, download the 64-bit version. The 32-bit version would not be a good choice as the OS would then be not able to access more than 3 GB system RAM.
Another thing to note before downloading the ISO file is the desktop manager. Mint comes in two flavours - Cinnamon and Mate.
Desktop
This article recommends Linux Mint with the Mate desktop. Mate is a fork of the Gnome 2 desktop manager. (Like Windows 8, the Gnome 3 seems to favour visual bling at the expense of features. It relies on extensions to provide settings and features that are considered basic in Gnome 2.) In contrast, the Mate desktop offers all the usability and accessibility benefits of Gnome 2 and looks great with the Nimbus theme.
The Linux Mint Mate desktop uses a custom main menu. The original Gnome 2-style has been made optional and surprisingly described as a "custom menu bar". Go ahead and get rid of the "Main Mate Menu", and add the old Gnome 2-style "Menu Bar".
The Gnome 2-style main menu is neatly organized - all software programs are available under Applications; all important storage locations (important home directories, bookmarks, network locations) and recent documents are under Places; and all settings and administrative tasks are under System. From one corner on the desktop, it provides you with complete control over the entire system. Many new "modern" alternatives do not have this simplicity and force users to scramble all over the screen.
Other things that you might want to add to the panel would be:
- Workspace Switcher
- Notification Area
- Window List
- Show Desktop
You might also want to icons of important programs to the panel - that of the browser, email client, mate-terminal, mate-screenshot and pluma (text editor).
All of these simple enhancements will greatly improve the usability of the desktop and will prove extremely valuable when you are providing support over phone or by email. As mentioned earlier, first impressions are best impressions. Default installations of Linux can look so drab or intimidating that many new users will simply revert to the familiar comforts of their old OS.
User Accounts
The default account in Mint/Ubuntu is an administrator account. Even though admin permissions are available only with sudo
, it is best to create a "desktop" account for the user. Tell the user to log in to the default account only for troubleshooting. You can also tell the user that for simple admin tasks, the admin shell can be accessed by typing su [default-acccount-username]
.
Software Repositories
After the OS is installed and updated, you may have to install proprietary drivers for the graphics card. After that, you should install regular software packages that will be useful to the user.
sudo apt-get install artha ark clamtk mirage inkscape arista audacious easytag ripperx winff bluefish rapidsvn meld dosemu wine samba smbclient wvdial gnome-ppp
The Samba client package adds support for Windows shares in the Caja file manager. In most cases, LAN locations of other computers and devices can be accessed using addresses in the format smb://192.168.x.x/share_name/directory_path
.
If the user would like to share local directories with DNLA media devices, then sudo apt get install ushare
to install ushare. The command ushare -c path-to-shared-directory
will turn the specified directory into a DNLA media server share.
Introduce the new user to the Software Manager or Software Center app in the distro so that they can explore and install applications on their own.
And, just to demonstrate how powerful FOSS can be, open GIMP and show the user how to add filters such as drop shadows to an image.
FFmpeg
With the proliferation of devices such as smartphones and digital cameras, almost everyone has a need to work with a wide variety of audio and media file formats. FFmpeg can be used to convert media files from format to another. Because many of these formats are encumbered by "software patents", the default ISO installation may not add the necessary codecs to play many popular formats.
The [FFmpeg website][3] has a page with steps for manually compiling and installing FFmpeg from source. Follow these steps and ffmpeg binary files will be created in a directory named "bin" in the user's "home" directory. Copy these files to "/usr/bin" directory.
After this, FFmpeg will be available for a variety of programs, such as Arista Transcoder, RipperX (for audio CDs), Pitivi, and WinFF.
To list all codecs supported by that ffmpeg installation, type the command ffmpeg -codecs
in a terminal. It will give you an idea what sort of conversions are possible. Here are a couple of FFmpeg-based media file conversion examples:
ffmpeg -i tank.flv -f mp4 tank.mp4 # converts tank.flv to MP4 format
ffmpeg -i tank.flv -vn -f mp3 tank.mp3 #removes video stream to create an audio file
Caja Actions
The introduction of Gnome 3 broke many Gnome 2 applications. The most affected was the file and desktop manager Nautilus. Hence, the Mate desktop uses Caja, a fork of the old Nautilus program. Nautilus had an extension manager named Nautilus Actions Configurations. For Caja, there is Caja Actionscaja-actions, a fork of Nautilus Actions Configuration.
The following steps allow you to compile and build Caja Actions.
sudo apt-get install checkinstall xclip xsel yelp-tools libglib2.0-dev devscripts build-essential libgtk2.0-dev libunique-dev libgtop2-dev libgtop2-7 libxml2-dev uuid-dev libcaja-extension libcaja-extension-dev docbook-utils
mkdir build-caja-actions
cd build-caja-actions
git clone git://github.com/raveit65/caja-actions.git
cd caja-actions/
NOCONFIGURE=1 ./autogen.sh
./configure --with-gtk=2 --enable-html-manualssudo make
sudo checkinstall --install=no
These steps create a DEB file. Run it to install Caja Actions. If, after this, an option for "Caja-Actions Configuration Tool" does not appear under the "System -> Preferences" menu, then create one manually for the command caja-actions-config-tool
.
After launching this app, you can create context menu options for running your own commands, scripts and programs on files that you select in the Caja file manager. Here are a few scripts to get you started:
- Copy file name
- use parameter %b
- Copy path name
- use parameter %f
printf "$1" | xclip -selection "clipboard" notify-send "$1"
- use parameter %f
- Convert to MP4
- for playing with consumer electronic devices
- use parameter %f
- with basename filters for .3gp, .avi, .flv, .mov, .mpeg, .mpg, .ogv, .vob, .webm, .wmv
- execution mode in a terminal
sBaseName=$(basename "$1") sOutputFileName=~/Desktop/${sBaseName%.*}.mp4 ffmpeg -i "$1" -f mp4 -qscale 0 "$sOutputFileName" notify-send "Saved as $sOutputFileName"
-
Save as MP3
- remove video from a media file so that you can listen to it in an audio player.
- use parameters %d and %f
- with basename filters for .3gp, .avi, .flv, .mov, .mp4, .mpeg, .mpg, .ogv, .vob, .webm, *.wmv
-
execution mode in a terminal
sInputFile=$1/$2 sOutputFileName=$(basename "$sInputFile") sOutputFileName=~/Desktop/${sOutputFileName%.*}.mp3 ffmpeg -i "$sInputFile" -vn -aq 0 "$sOutputFileName" notify-send 'Saved as $sOutputFileName'
-
Rename with datestamp - useful for archiving
- use parameters %d and %b
- with basename filter for *.pdf
-
execution mode in a terminal
sBasename=$(basename "$2") sExtension="${sBasename##*.}" sFilename="${sBasename%%.*}" sTimestamp=`date --reference=$1/$2 +%Y-%m-%d_%H%M-%S` if [ "$sFilename" == "$sExtension" ] then notify-send "Sorry: no extension found." else notify-send "$sFilename-$sTimestamp.$sExtension" mv "$1/$2" "$1/$sFilename-$sTimestamp.$sExtension" fi
-
Remove password from PDF
- useful with bank statements and other such documents
- with parameter %f
-
execution in a terminal
sOutputFileName=$(basename "$1") sOutputFileName=~/Desktop/${sOutputFileName%.*}-unencrypted.pdf stty -echo read -p "Enter password to decrypt PDF: " sPassword stty echo qpdf --password=$sPassword --decrypt "$1" "$sOutputFileName"
Seamonkey and Firefox
The Seamonkey project took off where the old Netscape Internet Suite left off. Seamonkey provides four applications in one program:
- a Firefox-based web browser
- a Thunderbird-based email client, Usenet reader and RSS feed reader
- a WYSIWYG web page editor named Composer
- a IRC client named Chatzilla
The advantage of using Seamonkey, over Firefox and Thunderbird separately, is speed. Web links in the Seamonkey email client are instantly loaded in the Seamonkey browser. Similarly, mail links in the Seamonky browser are instantly handled by the Seamonkey mail client. Add-ons written for Firefox and Thunderbird mostly work without problem in Seamonkey.
Seamonkey does not have the many quirks that Firefox lately has chosen to annoy its fanbase with. For example, when Firefox gets opened after clicking a web link in some program, Firfox will not display the page immediately. It will instead be busy updating all its add-ons first!
Seamonkey stores all its settings and data (including e-mail and bookmarks) in the "~/.mozilla/Seamonkey" directory. If the user is moving to a new Linux installation, just copy this directory to the ".mozilla" directory of the new "home" directory. As Seamonkey (or Thunderbird) is also available for Windows, it is easy to import mail from Windows-based e-mail clients clients such as Outlook. The imported mail (mbox files) can then be easily moved to the Linux OS.
Mate-Terminal
The mate-terminal prompt can be made more informative with this setting in the end of the "~/bashrc" file.
PS1="\a\n\n\e[31;1m\u@\h on \d at \@\n\e[33;1m\w\e[0m\n$ "
"Google Fonts"
If the new user is planning to work with Gimp or Inkscape, then the default set of fonts may not be enough. Get all the fonts from Google repository with these commands:
wget https://googlefontdirectory.googlecode.com/hg/ofl/ -r -nc -nd -np -A.ttf
sudo mkdir /usr/share/fonts/truetype/goog-fonts
sudo cp *.ttf /usr/share/fonts/truetype/goog-fonts
fc-cache -r
Support
While making yourself available for providing support is great, it may also be necessary to make the user feel not totally dependent on you. To achieve that, you can provide links to sites such as AskUbuntu.com, UbuntuForums.org, LinuxQuestions.org and of course Open Source For You. This will make the new user realize that Linux is not some obscure OS and that there is a big community behind it. For totally new computer users, you can provide general precautions against Nigerian scams, the need to avoid shouting in CAPS, and email etiquette tips. Last but not the least, inform the user that many FOSS projects are supported by voluntary donations.
References
-
Free Software Foundation: “Help a friend skip Windows 10 and try GNU”
- Seamonkey Project
This article was originally published in 2016 in the Open Source For You magazine.