DistroWatch Weekly, Issue 678, 12 September 2016

Feature Story (by Jesse Smith)

Apricity OS 07.2016



Apricity OS was added to the DistroWatch database earlier this year and the project launched its first stable release, Apricity OS 07.2016, at the beginning of August. Apricity is based on Arch Linux and features a rolling release model of software updates. The distribution is currently available in two editions, Cinnamon and GNOME, and is available for the 64-bit x86 architecture exclusively. Apart from up to date software, Apricity offers users the ICE site specific browser which makes accessing web apps more like working with locally installed applications.



I decided to download the distribution's Cinnamon edition, which is available as a 1.9GB ISO. Booting from the downloaded media brings up the Cinnamon desktop environment. The wallpaper features a bright landscape image. The desktop's application menu, task switcher and system tray sit at the bottom of the display. There are no icons on the live desktop. We can access the distribution's system installer through a quick-launch icon next to the application menu. We can also launch the system installer through the application menu.





Apricity 07.2016 -- The Cinnamon application menu

(full image size: 1.2MB, resolution: 1280x1024 pixels)



Apricity uses the Calamares graphical installer, which is becoming increasingly popular as a distribution-neutral installation method. Calamares offers a nice, streamlined series of steps. We begin by selecting our preferred language and choosing our time zone from a map of the world. Calamares then gets us to select our keyboard's layout. When it comes to partitioning, the installer will let us either wipe the hard drive and use a default partition layout or we can manually divide up our disk. The manual partitioning method is fairly simple and supports lots of options. We can work with GPT and MBR disk layouts. Apricity can be set up on the ext2/3/4, JFS, XFS or Reiser file systems and the installer supports working with LVM volumes. The next screen gets us to create a user account for ourselves and we can optionally set up our account to automatically login. From there, Calamares shows us a summary of the actions it plans to take and waits for us to confirm its settings are correct. The installer then copies its files to our hard drive and offers to either return us to the live desktop environment or reboot the computer.



My new copy of Apricity booted to a graphical login screen. Attempting to sign into my account caused the screen to go blank for a second before returning me to the login screen. I found I was unable to login using either my normal user account or the root user account. Both the Cinnamon and GNOME desktop environments were listed as possible session options and neither of these worked for me, both returning me immediately to the login screen.



I found it was possible to switch to a text console and sign in from there, accessing both the root account and my regular user account. While the text session worked, the terminal font in the command prompt did not display properly, showing little blocks in place of letters. I could navigate the file system and use command line tools, but I could not launch new graphical desktop sessions from the command line, nor could I find any obvious reason for the lack of a working desktop session. The X server was running and file permissions were correct. The X logs gave no useful clue as to why connections to the display server were not working.



I next decided to install available software updates to see if that would fix the missing desktop issue. Apricity, like its parent distribution, uses the pacman command line package manager. Using pacman, I installed many new packages, totalling 446MB in size. Following a successful update, I rebooted the computer and discovered I was right where I had left off, with a working text console, a graphical login screen and no functional desktop session.



As it seemed I was stuck without a functional desktop on my locally installed copy of Apricity, I decided to shift gears and spend some time using the live desktop on the installation media. The live desktop was surprisingly responsive and the distribution was quick to boot and run applications in the live environment. While a live session does not give a complete picture of how a distribution will run, it can give us clues and what follows are some observations I made while using the live disc.





Apricity 07.2016 -- Running desktop applications

(full image size: 125kB, resolution: 1280x1024 pixels)



I mostly enjoyed Apricity's default desktop theme. I found the icons and desktop to be easy on the eyes. My one complaint with the default theme was that windows tended not to have distinct borders. This made windows, with their white and grey colours, blend into each other. Sometimes I wasn't sure which window's menu I was looking at since two or three windows open at the same time all looked like one big blob.



While most Linux distributions use bash as the default command line shell, Apricity uses zsh. The two shells are similar enough to make the transition fairly easy and I tended to only notice differences when using the Tab key to complete file names.



The distribution uses pacman as the command line package manager and Pamac for its graphical front-end. Pamac presents us with a simple text-based list of package names. Each package is listed with its size and version. There are filters for narrowing down the list of packages, but there are so many software categories the categories could use their own filter. I found Pacman could enable/disable available repositories and there is a Pamac-updater application which will list and install available software updates.





Apricity 07.2016 -- The Pamac software manager

(full image size: 1.2MB, resolution: 1280x1024 pixels)



On the subject of software, Apricity ships with many useful desktop applications. Looking through the live disc's application menu I found the Chrome web browser, the FileZilla file transfer program, the Transmission bittorrent software and the Syncthing file sync application. I don't usually see Syncthing installed by default, but I like the concept of having an easy way to sync and share files. Sharing large files between geographically separate people is still often a non-trivial process and I like that Apricity is offering a solution which does not involve signing up for a third-party cloud service. The distribution further includes the Steam gaming software, PlayOnLinux for people who wish to install Windows software, a document viewer and the LibreOffice productivity suite. Inkscape and the GNU Image Manipulation Program are included along with the Cheese webcam manager.



Apricity ships with a full range of media codecs along with the Rhythmbox audio player and the Totem video player. We also find an archive manager, calculator, text editor and two file managers. There are utilities for setting up printers, monitoring system processes and creating user accounts. In the background I found the GNU Compiler Collection was installed as was Java. Apricity includes systemd 231 and Linux 4.6.4, though since the distribution uses a rolling release model these version numbers will gradually rise over time.



The distribution ships with a useful control panel. Most of the featured configuration modules deal with the look and feel of the Cinnamon desktop. Some deal with extensions and preferred applications. There are modules for managing system settings too. For example, the control panel features modules for configuring the operating system's firewall, creating user accounts and managing printers. I found these worked well, even in the live environment.





Apricity 07.2016 -- The settings panel

(full image size: 1.2MB, resolution: 1280x1024 pixels)



Conclusions



I hesitate to make any sweeping statements about Apricity, its strengths and it weaknesses as I only got to use my installed copy of the operating system in a limited capacity. Almost all of my brief time with the distribution was spent running it from a live disc. That being said, despite my installed copy of Apricity failing to give me a desktop session, most of what I experienced this week I liked.



Apricity had some features I didn't care for. The indistinct window borders weren't ideal, but it's possible to change the theme and experiment with different desktop styles. I don't like using the Totem media player, but there are plenty others to choose from in the repositories.





Apricity 07.2016 -- Running the Syncthing application

(full image size: 997kB, resolution: 1280x1024 pixels)



I do like that Apricity ships with a lot of software without much duplication. There tends to be one program per task available and the distribution covers a lot of tasks. Everything from gaming with Steam to a productivity suite to multimedia codecs is included. A new user can jump into just about anything other than video editing with the default applications available. I especially liked that Syncthing was installed as it is a tool I hope sees more wide-spread use, both for setting up backups and for sharing files.



All in all, I like what Apricity is trying to do. The project is relatively new and off to a good start. There are some rough edges, but not many and I think the distribution will appeal to a lot of people, especially those who want to run a rolling release operating system with a very easy initial set up. * * * * * Hardware used in this review



My physical test equipment for this review was a desktop HP Pavilon p6 Series with the following specifications: Processor: Dual-core 2.8GHz AMD A4-3420 APU

Storage: 500GB Hitachi hard drive

Memory: 6GB of RAM

Networking: Realtek RTL8111 wired network card

Display: AMD Radeon HD 6410D video card

Miscellaneous News (by Jesse Smith)

Mageia adopts DNF, KDE neon to use Wayland, FreeBSD updates Linux compatibility, Adobe to update Linux Flash player



The Mageia distribution has decided to include the Dandified Yum (DNF) high-level package manager, starting with the upcoming release of Mageia 6. For people who already like and prefer Mageia's urpmi command line package manager, it will remain as part of the distribution. " Among the many less-than-visible improvements across the board is a brand new dependency resolver: DNF. DNF (Dandified Yum) is a next generation dependency resolver and high-level package management tool with an interesting history. DNF traces its ancestry to two projects: Fedora's Yum (Yellowdog Updater, Modified) and openSUSE's SAT Solver (libsolv). DNF was forked from Yum several years ago in order to rewrite it to use the SAT Solver library from openSUSE (which is used in their own tool, Zypper). Another goal of the fork was to massively restructure the code base so that a sane API would be available for both extending DNF (via plugins and hooks) and building applications on top of it (such as graphical front-ends and system life-cycle automation frameworks). DNF will be available for those willing to use it, however, urpmi and the current familiar Mageia software management tools will remain as the default in Mageia for the foreseeable future. " More information on package management and how Mageia is making it easier to build .rpm packages for the distribution can be down in the full blog post. * * * * * A few weeks ago we reported the Workstation edition of the Fedora distribution will soon switch to GNOME on Wayland as the project's default desktop environment. Wayland is designed to replace the classic X display software which is currently used by most Linux distributions and other Unix-like operating systems. Fedora is not the only project adopting Wayland. The KDE neon project, which combines a stable base built on Ubuntu with cutting edge KDE packages, has announced it will be switching to Wayland too. " During this year's Akademy we had a few discussions about Wayland, and the Plasma and Neon teams decided to switch Neon developer unstable edition to Wayland by default soonish. There are still a few things in the stack which need to be shaken out - we need a newer Xwayland in Neon, we want to wait for Plasma 5.8 to be released, we need to get the latest QtWayland 5.7 build, etc. " * * * * * The FreeBSD operating system maintains a compatibility layer which allows FreeBSD users to run some Linux programs. FreeBSD previously maintained a port of CentOS 6 software. However, CentOS 6 is several years old now and Linux compatibility is being updated. A new port, introduced on September 5, 2016, offers compatibility with CentOS 7 packages. This should allow FreeBSD users to run more modern Linux software, for which source code is not available. " This port contains packages from a near-minimal installation of CentOS 7 Linux. These packages, in conjunction with the Linux kernel module, form the basis of the Linux compatibility environment. It is designed to provide a nice user experience by using the FreeBSD configuration for corresponding Linux stuff where possible. " * * * * * A few years ago Adobe announced the company would no longer actively develop its traditional NPAPI Flash plugin for Linux. At the time, the NPAPI plugin was scheduled to receive security updates only on Linux through until the year 2017. People who wanted to use more modern versions of Flash, versions newer than 11.2, would need to run a web browser which supported the PPAPI Flash plugin. This was a problem for some users as the PPAPI plugin was supported by a limited number of browsers on Linux. Adobe has changed its mind and the NPAPI Flash plugin will move forward, receiving most of the same features as the PPAPI version of the plugin. The Adobe blog has more information: " Today we are updating the beta channel with Linux NPAPI Flash Player by moving it forward and in sync with the modern release branch (currently version 23). We have done this significant change to improve security and provide additional mitigation to the Linux community. In the past, we communicated that NPAPI Linux releases would stop in 2017. This is no longer the case and once we have performed sufficient testing and received community feedback, we will release both NPAPI and PPAPI Linux builds with their major version numbers in sync and on a regular basis. " * * * * * These and other news stories can be found on our Headlines page.





Questions and Answers (by Jesse Smith)

All about cron jobs



Always-on-time asks: I keep hearing that backups and file clean-ups should be done through something called a cron job. How does this work and what are some best practices for creating cron jobs?



DistroWatch answers: A cron job is a task or process that is run at a specified time. On almost all GNU/Linux and BSD systems there is a background service (or daemon) called cron. The cron daemon runs in the background and runs tasks or commands at a given time. The cron daemon is often used to check for software updates, delete old files, create backups or do any other task which needs to happen periodically without user intervention.



The cron service maintains a list of commands to run in a series of text files. These text files, which list the jobs to be run and at what times, are called crontabs. There are two types of crontab files. There is a system-wide crontab file which can be edited by the system administrator. This file is almost always located at /etc/crontab. On most systems, each user has their own crontab where they can set up scheduled jobs to be run under their own user account.



A crontab is organized with one schedule job per line. Each line contains at least two fields: the time when the task should be performed and the command to be run. The system-wide crontab contains a third field: the user the task will be run as. This allows the administrator to set up tasks to be run as a specific (usually less privileged) user.



The first field in a crontab, the time when the job will be run, is further broken down into five smaller fields. These indicate the minute, hour, day, month and day-of-the-week when the task should be performed. This might be easiest to understand with an example. In the following example we have a one-line crontab file which will run every day at 12:15pm. The job will be run as the root user and will remove (rm) all the files in the /tmp directory. 15 12 * * * root rm /tmp/* The stars in the day, month and day-of-the-week fields indicate that any time will match. This means the job will run every day, once a day, at 12:15. In this next example, we use the rsync command to run a backup at 9:00am every Sunday. The rsync command will backup our files to a remote host, called example.com. Sunday, for most implementations of cron, can be considered either day zero (0) or day seven (7). This job is run as the user "jesse". 0 9 * * 7 jesse rsync -a /home/jesse/Documents/ example.com:Backups/ This next job will create a text file called holiday.txt at 3:02am on January 1st of every year, regardless of what day of the week it is. January is considered month number one (1). 2 3 1 1 * jesse echo "Happy new year!" > /home/jesse/holiday.txt There are more complex examples we could explore. Some implementations of cron will allow us to specify ranges or increments of time. I will not go into using those here, but if you want to experiment with more advanced time settings, check your operating system's crontab manual page.



The system administrator can create new scheduled jobs by adding them to the bottom of the /etc/crontab file. Regular users can create their own scheduled jobs by running the crontab edit command: crontab -e We can confirm a job has been added to our crontab file by listing all scheduled jobs: crontab -l One of the most common questions asked about cron is why a command does not run as expected. Often times a person will (wisely) test a new script by running it from the command line. The script will complete successfully when run manually, but fails when the same script is run as a cron job. The reason is almost always an issue with path names. User accounts are typically set up to look in a variety of places for commands to run. When we run the command rsync, our command line shell looks in the directories /usr/local/bin, /usr/local/sbin, /usr/bin, /bin, /sbin and maybe a few other locations. The cron command is usually less flexible and will look in just one or two places for executable files. This means jobs run from crontabs will often fail to find a command unless its full path is provided. For this reason, I recommend people get in the habit of writing /usr/bin/rsync rather than just rsync or /bin/rm instead of plain rm. It may look more cumbersome, but it can save a lot of time trouble-shooting cron issues.



When in doubt as to where a command is located, the which command line tool will tell you. Running the following displays "/usr/bin/scp": which scp I can offer a few other quick tips that have helped me over the years. For example, do not schedule a job to run more frequently than the time it takes to complete the job. For instance, if you have a backup script which takes two hours to run, scheduling it to run every hour will soon cause problems.



By default, most operating systems tend to schedule jobs to happen in the middle of the night (between 2:00am and 4:00am). This is fine for servers as usage will probably be low in the night, but it might not suit desktop and laptop users. Try to schedule jobs when the computer will likely be turned on, but not in heavy use. For example, a small office might set their desktop machines to backup files at lunch time.



Do not put passwords in your crontab file. The system wide crontab can be read by anyone and, when a job runs, its parameters appear on the command line. This information can be observed by other users.



Finally, I find it helpful to remember that people do not like it when their computers suddenly start running slower. Whenever possible, I recommend running cron jobs with a lowered priority via the nice command. This avoids stealing CPU cycles and disk access time from other applications the user has running. As an example, this cronjob runs with a low priority as the root user and cleans up the /tmp directory, removing files which have not been modified in the past week. The job runs on the first day of every month at noon. 0 12 1 * * root /usr/bin/nice /usr/bin/find /tmp -mtime 7 -exec rm {} \; Cron is a very powerful tool and, when set up correctly, can automate many routine tasks. * * * * * For more questions and answers, visit our Questions and Answers archive.





Torrent Corner

Weekly Torrents



Bittorrent is a great way to transfer large files, particularly open source operating system images, from one place to another. Most bittorrent clients recover from dropped connections automatically, check the integrity of files and can re-download corrupted bits of data without starting a download over from scratch. These characteristics make bittorrent well suited for distributing open source operating systems, particularly to regions where Internet connections are slow or unstable.



Many Linux and BSD projects offer bittorrent as a download option, partly for the reasons listed above and partly because bittorrent's peer-to-peer nature takes some of the strain off the project's servers. However, some projects do not offer bittorrent as a download option. There can be several reasons for excluding bittorrent as an option. Some projects do not have enough time or volunteers, some may be restricted by their web host provider's terms of service. Whatever the reason, the lack of a bittorrent option puts more strain on a distribution's bandwidth and may prevent some people from downloading their preferred open source operating system.



With this in mind, DistroWatch plans to give back to the open source community by hosting and seeding bittorrent files. For now, we are hosting a small number of distribution torrents, listed below. The list of torrents offered will be updated each week and we invite readers to e-mail us with suggestions as to which distributions we should be hosting. When you message us, please place the word "Torrent" in the subject line, make sure to include a link to the ISO file you want us to seed. To help us maintain and grow this free service, please consider making a donation.



The table below provides a list of torrents we currently host. If you do not currently have a bittorrent client capable of handling the linked files, we suggest installing either the Transmission or KTorrent bittorrent clients.



Operating System Torrent MD5 checksum Solus 1.2.0.5 Solus-1.2.0.5.iso 62db7847a247dbe096c93875b1bbdf89 AryaLinux 2016.08 "MATE" aryalinux-mate-2016.08-x86_64-r2.iso 90ff5f969bcea22e925968811b292e62 Frugalware 2.1 fvbe-2.1-basic-x86_64.iso 2061d4dd136e62b90174fd57c74b75d9



Archives of our previously seeded torrents may be found here. All torrents we make available here are also listed on the very useful Linux Tracker website. Thanks to Linux Tracker we are able to share the following torrent statistics.



Torrent Corner statistics:

Total torrents seeded: 235

Total data uploaded: 44.0TB

Released Last Week

Upcoming Releases and Announcements

Opinion Poll

Preferred web browser



Many of us spend a good deal of our time visiting web pages. Whether we are browsing the web for entertainment, work or research, a web browser is an important tool.



Linux users have a lot of choice when it comes to web browsers, from Google's proprietary Chrome browser, to the popular Firefox browser, to lesser known browsers such as Qupzilla and Otter. This week we would like to know which web browser you prefer.



You can see the results of our previous poll on encrypting messages here. All previous poll results can be found in our poll archives.



Preferred web browser



Firefox: 2028 (60%) Chrome/Chromium: 744 (22%) Opera: 138 (4%) Vivaldi: 122 (4%) Konquorer: 22 (1%) Qupzilla: 53 (2%) Otter: 25 (1%) Other: 235 (7%)