Tag Archives: Linux

After you install Ubuntu 18.04 Bionic Beaver

Installing Bionic Beaver

I’m not going to tell you how to install the latest stable release of Ubuntu’s Linux desktop. For that, just go to Ubuntu and follow the appropriate instructions. I recommend using a bootable USB stick, and how you manage that depends on exactly what computer you are going to make it on. All three major operating systems have their own way of doing it. A quick google search will find simple instructions. The general pattern is to download the “DVD image” onto your hard drive, put a large enough USB stick that contains nothing of value into the slot, open the correct program, and tell it to put the DVD image on that stick in bootable form.

I do have this advice. If you ultimately want a certain desktop (such as XFCE or Mate or KDE or whatever), use the Ubuntu “flavor” for that desktop, things will go more smoothly. For this particular iteration, I decided to install the main Ubuntu desktop, and I’m going to try Gnome 3 for a while and see if I end up liking it.

Ubuntu 18.04 walks away from 32 bit support, and ditches Unity. The default desktop is Gnome, but this is the modern Gnome that is not that different from Unity. I generally prefer a Gnome 2.0 style desktop, so I usually use Mate (pronounced Matt ay).

Post Installation

Most of these suggestions are pretty standard for any install of any Linux system. Also, you can ignore much of this. Continue reading After you install Ubuntu 18.04 Bionic Beaver

I knew it, I saw this coming! (Microsoft-Linux)

Some time ago it dawned on me that a future Microsoft operating system, a version of Windows, would be based on Linux. It only makes sense. There is no better operating system to base a desktop, server, or other specialized OS on, for normal hardware. Eventually, this would dawn on Microsoft. I thought it might have a few years ago when Microsoft went from being openly aggressive against Linux and OpenSource, to being neutral, to being nice, and eventually contributing.

And now… Continue reading I knew it, I saw this coming! (Microsoft-Linux)

Writing Software for Writers

This is especially for writers of big things. If you write small things, like blog posts or short articles, your best tool is probably a text editor you like and a way to handle markdown language. Chances are you use a word processor like MS Word or LibreOffice, and that is both overkill and problematic for other reasons, but if it floats your boat, happy sailing. But really, the simpler the better for basic writing and composition and file management. If you have an editor or publisher that requires that you only exchange documents in Word format, you can shoot your text file with markdown into a Word document format easily, or just copy and paste into your word processor and fiddle.

(And yes, a “text editor” and a “word processor” are not the same thing.)

But if you have larger documents, such as a book, to work on, then you may have additional problems that require somewhat heroic solutions. For example, you will need to manage sections of text in a large setting, moving things around, and leaving large undone sections, and finally settling on a format for headings, chapters, parts, sections, etc. after trying out various alternative structures.

You will want to do this effectively, without the necessary fiddling taking too much time, or ruining your project if something goes wrong. Try moving a dozen different sections around in an 80,000 word document file. Not easy. Or, if you divide your document into many small files, how do you keep them in order? There are ways, but most of the ways are clunky and some may be unreliable.

If you use Windows (I don’t) or a Mac (I do sometimes) then you should check out Scrivener. You may have heard about it before, and we have discussed it here. But you may not know that there is a new version and it has some cool features added to all the other cool features it already had.

The most important feature of Scrivener is that it has a tree that holds, as its branches, what amount to individual text files (with formatting and all, don’t worry about that) which you can freely move around. The tree can have multiple hierarchical levels, in case you want a large scale structure that is complex, like multiple books each with several parts containing multiple chapters each with one or more than one scene. No problem.

Imagine the best outlining program you’ve ever used. Now, improve it so it is better than that. Then blend it with an excellent word processing system so you can do all your writing in it.

Then, add features. There are all sorts of features that allow you to track things, like how far along the various chapters or sections are, or which chapters hold which subplots, etc. Color coding. Tags. Places to take notes. Metadata, metadata, metadata. A recent addition is a “linguistic focus” which allows you to chose a particular construct such as “nouns” or “verbs” or dialog (stuff in quotation marks) and make it all highlighted in a particular subdocument.

People will tell you that the index card and cork board feature is the coolest. It is cool, but I like the other stuff better, and rarely use the index cards on the cork board feature myself. But it is cool.

The only thing negative about all these features is that there are so many of them that there will be a period of distraction as you figure out which way to have fun using them.

Unfortunately for me, I like to work in Linux, and my main computer is, these days, a home built Linux box that blows the nearby iMac out of the water on speed and such. I still use the iMac to write, and I’ve stripped most of the other functionality away from that computer, to make that work better. So, when I’m using Scrivener, I’m not getting notices from twitter or Facebook or other distractions. But I’d love to have Scrivener on Linux.

If you are a Linux user and like Scrivener let them know that you’d buy Scrivener for Linux if if was avaialable! There was a beta version of Scrivener for Linux for a while, but it stopped being developed, then stopped being maintained, and now it is dead.

In an effort to have something like Scrivener on my Linux machine, I searched around for alternatives. I did not find THE answer, but I found some things of interest.

I looked at Kit Scenarist, but it was freemium which I will not go near. I like OpenSource projects the best, but if they don’t exist and there is a reasonable paid alternative, I’ll pay (like Scrivener, it has a modest price tag, and is worth it) . Bibisco is an entirely web based thing. I don’t want my writing on somebody’s web cloud.

yWriter looks interesting and you should look into it (here). It isn’t really available for Linux, but is said to work on Mono, which I take to be like Wine. So, I didn’t bother, but I’m noting it here in case you want to.

oStorybook is java based and violated a key rule I maintain. When software is installed on my computer, there has to be a way to start it up, like telling me the name of the software, or putting it on the menu or something. I think Java based software is often like this. Anyway, I didn’t like its old fashioned menus and I’m not sure how well maintained it is.

Writers Cafe is fun to look at and could be perfect for some writers. It is like yWrite in that it is a set of solutions someone thought would be good. I tried several of the tools and found that some did not work so well. It cost money (but to try is free) and isn’t quite up to it, in my opinion, but it is worth a look just to see for yourself.

Plume Creator is apparently loved by many, and is actually in many Linux distros. I played around with it for a while. I didn’t like the menu system (disappearing menus are not my thing at all) and the interface is a bit quirky and not intuitive. But I think it does have some good features and I recommend looking at it closely.

The best of the lot seems to be Manuskript. It is in Beta form but seems to work well. It is essentially a Scrivener clone, more or less, and works in a similar way with many features. In terms of overall slickness and oomph, Manuskript is maybe one tenth or one fifth of Scrivener (in my subjective opinion) but is heading in that direction. And, if your main goal is simply to have a hierarchy of scenes and chapters and such that you can move around in a word processor, then you are there. I don’t like the way the in line spell checker works but it does exist and it does work. This software is good enough that I will use it for a project (already started) and I do have hope for it.

Using Scrivener on Linux the Other Way.

There is of course a way to use Scrivener on Linux, if you have a Mac laying around, and I do this for some projects. Scrivener has a mode that allows for storing the sub documents in your projects as text files that you can access directly and edit with a text editor. If you keep these in Dropbox, you can use emacs (or whatever) on Linux to do your writing and such, and Scrivener on the Mac to organize the larger document. Sounds clunky, is dangerous, but it actually works pretty well for certain projects.

Scrivener can look like this.

How to share keyboard and mouse between two computers?

I use two different computers, each with a different operating system, to do my stuff. Actually, I use five, but only two where I would ideally like to switch between them while I’m using them. I’ve experimented with some solutions, so I can offer some advice. Continue reading How to share keyboard and mouse between two computers?

What is New in Ubuntu 17.10, the Artful Aardvark

The next release of Ubuntu, the most commonly used and thought of by normal people and a few others version of Linux, is set to be released on Thursday, October 19th. The exact set of changes and improvements is not known, but a few key ones are, and some can be guessed at from the multiple pre-release releases.

This is a momentous occasion because this will be the first version of Ubuntu’s main flavor that does NOT include Unity as its default desktop.

If you don’t know, Unity was a menu and control system for the desktop, your main interface when working with the computer other than, obviously, while using a particular application. It was the look and feel, the essence, of the operating system. Unity was supposed to unify things, like diverse features of a typical desktop, like Ubuntu running on a cell phone, a desktop, a laptop, a whatever.

Unity used a modus operendus that many other interfaces were shifting towards. I hear there are versions of Windows that looked a bit like this, and Gnome from version 3.0 onwards had this basic approach. Continue reading What is New in Ubuntu 17.10, the Artful Aardvark

How To Avoid Future WannaCry Style Ransomware Attacks

This is very simple, and it has more to do with the philosophy and marketing of operating systems than the technology of the operating systems themselves, though the technology does matter a great deal as well. First, lets have a look at how this ransomware attack was allowed to happen to begin with.

The vast majority of affected systems in this latest world wide cyber attack were Windows based computers that were not updated with recently available and easily deployed patch. The attack did not affect other operating systems, and Windows systems that had a recently released security patch were not affected. (I was going to put a link here to direct people to the Microsoft web page with info on what to do if you were attacked, but a minute or two of perusal on the Microsoft site mostly told me about Microsoft’s new products, and I did not find any such page. If you have a link, please place it in a snark free comment below.)

Why was the patch not deployed on so many computers? For several reasons.

Some of the operating systems were running under administrative policies that did not allow patching for some reason or another. I’ve only heard rumors of this but it sounds like a blind-future style pre-decision, in the same category of other bone-headed human processes like no tolerance policies for knives in schools and three strikes you are out sentencing policies. It works like this: You remove thinking from the process by making all decisions in advance, and then get the heck out of there with limited liability and whatever happens happens. If you do this you are probably a member of congress or a school board member planning on retiring soon. It never goes well. Telling security IT people in advance what they can and can’t do because of HR or personnel regulations is like going to a doctor and telling them what your diagnosis and treatment is going to be, in advance. You will die of something curable, eventually, if you do that regularly.

Some of the operating systems were running on computers that are, in theory, never supposed to be turned off. This is similar to the first reason in its stupidity level. For one thing, making it impossible to patch an OS ever is really not smart. For another thing, that computer you plan to never turn off is going to turn itself off now and then. But it is also bad at another level, the level of the operating system. Windows has operated, for years, under the principle that when enough stuff goes wrong, you turn off the computer and start again, and if that does not work you reinstall the operating system from scratch. Now, I know, you Windows lovers will jump in at this point and tell me that “Windows doesn’t work that way any more” but you know what? After decades of hearing how Windows Past is not Windows Present, when it really is, I don’t care what you say. Also, actual on the ground Windows users have been trained, by Microsoft policy, to reboot or reinstall for decades. Anyway, the point is, Windows can not be updated on the fly, and thus, the system utterly fails in a situation where updating is critical, which by the way is all the time and all machines, because even computers you use for nothing but curating recipes for muffins, if hooked to the Internet (where all the good muffin recipes are), can still be the platform for launching a secondary cyber attack.

Some of those operating systems were in health related fields (referring here to both of these first two excuses) and that is why so many health related facilities were hit initially.

Another reason, which is a bit tricky, is the problem with updating stolen software. If you stole the OS it might be hard to get an update or patch. It seems like a good idea for the company making the OS to do this, as it encourages buying the product and discourages stealing it. Yet, many tens of thousands of computers, maybe hundreds of thousands, are currently locked down by WannaCry because they were pirated, and not updated. This becomes a public health (cyber-health, eHealth) risk. It is like vaccination. We all suffer because so many others get the disease, even those of us who did not fail to do the right thing.

This is a moment when we look at something like computer operating systems and realize that they are actually a public good as much as, or more then, they are a commercial product. Think of roads and canals in the old days. Roads and canals were often privately owned (as were fire departments and police forces in many cases) and eventually it became apparent that these are all public goods, so they were essentially taken over by the government. Similarly, power companies and railroads. Not exactly taken over but made into quasi public entities through integration with public agencies and heavy regulation.

I’ve often argued that things like Google, Amazon.com, Facebook, Twitter, etc. have become the equivalent of public goods, like roads and the post office, etc., in a similar way. To some extent, this is also true of operating systems.

There is of course a solution to all of this. What we need is an operating system that is made by the public itself. If all interested parties simply became involved, and maybe large companies with a lot of stake in computers would put aside a meaningful amount of their own software development resources, and a few public and private agencies would provide some grants and bounties and stuff, we could have an operating system that was free, easily installed, updated every week with common updates (like, maybe, on Sunday evenings or something) with a very easy and easily automated system of updating, that would be great.

Ideally most software would come from well maintained and secure repositories that were checked for malicious code. There could be several different such repositories more or less redundant with each other but maybe tweaked to cater to different types of users. The added advantage of several different but similar repositories is this: even if some bad code gets into one repository, the fact that across users, many different repositories are used, would slow its spread.

By making the operating system free, easy, effective, powerful, flexible, and easily updated almost every one of the limitations in the way we do things that allowed WannCry to spread and ruin everything would simply not have happened. A few people would be hit, it would be a minor story.

On top of this, let’s make this new operating system have a few other security related features.

For instance, monitoring code. The way it works now with Windows, is that a finite number of paid and I’m sure brilliant individuals are in charge of coding and maintaining the operating system, and updated and patches, while a much larger number of criminal-minded nefarious but also brilliant individuals are focused on breaking the security. This means that there is an uneven arms race where day to day Microsoft will always be a step ahead of the bad guys, except every now and then when the bad guys jump ahead and make a huge mess.

I propose that this ratio be reversed, that the arms race between the good and the evil become totally one sided in the other direction. Have a very large number of individuals, a proportion of the above mentioned community of private individuals and interested corporations and agencies, working on security, swamping out the nefarious bad guys. There would be very few moments when the bad guys got very far ahead of the good guys.

In addition, the operating system itself could have other security related features. For example, the basic tools inside the operating system could be well maintained, highly traditional, really clean and neat code, and free to use. So, for example, basic tasks that any new software might use are figured out, so you don’t have to add your own new version of the code to do them. This means that new code will generally be fast, effective, clean, easier to maintain, and more secure.

Also, the operating system can work more like a prison than, say, a food court. In a food court, you do what you want to do (eat, meet your friends, hang out) in a rather chaotic environment where you can move freely from place to place. Someone puts their food down on a table to go back to the Azian Kuizine window to get the chopsticks they forgot, and you can grab their pot stickers, sit down at a nearby table, and no one can really figure out that you just sole their food. And so on.

In a prison, you can theoretically leave your cell and walk down the hall to the gym, then go to the cafeteria, then the law library. But, the entire route is blocked by a series of doors that only specific people have permission to open, at specific times, for specific reasons. Everything you do requires having permission at every step of of the way, and it is all constantly being carefully watched.

Life should be more like the food court. What happens inside computers should be more like the prison.

Of course, by now, most of you have figured out that I’m talking about Linux. Linux is an operating system that is already widely used when certain conditions pertain. Since the Android OS is based on Linux, and the majority of servers run Linux, and Linux is becoming the preferred desktop in China, it may well be that Linux is more widely deployed right now than any other operating system, though most Westerners think of it as nearly non-existent on desktops.

Critical tasks are often trusted to Linux or similar operating systems (Unix, BSD, etc.) because of reliability and security. When efficiency is required, Linux is often tapped because it can be deployed in a very efficient manner. Linux acts internally like the prison, not the food court. The system itself is constantly monitored open source code, and most of what runs on it is openly monitored as well. Software is usually distributed via secure repositories. The system is free and easily updated, there is no such thing as a pirated copy of Linux. There is a regular schedule of updates, they come out every Sunday.

Another important feature of Linux is the separation of the operating system and the surface appearance of the system. The operating system itself comes in a number of varieties, but most people use one of two: Red Hat or Debian (there are others). But the surface of the OS, the part the user sees, is not related to that at all. Most people use a “desktop” which provides the windows and stuff, the parts that you interface with, and there are several versions of this, from which users can more or less pick and chose.

Here is why this is important: The desktop provides the user experience, and the user experience sells the product. If you develop a proprietary operating system like Windows, many of your decisions, including when to produce major updates, etc. is driven by the marketing department. The development and deployment of the operating system is a complex process where designers and marketing gurus are at the same table, essentially, as security experts and developers concerned with efficiency.

In the Linux system, the security people and efficiency and functionality developers work most of the time independently from the equivalent of “marketers” or “designers” because of this two layer aspect of the system. It is quite interesting to visit the communities of desktop developers and hear what they are saying to each other, then visit the community of system developers and hear what they are saying to each other. They are pretty much two distinct conversations. There will never be a marketing or design decision about Linux that impacts security.

Linux is the female operating system in a patriarchic world. Refer to the appropriate John Lennon song for a starker analogy. It does a lot of the work, maybe most of the work, but is usually not recognized. When people make comparisons, Linux has to dance backwards and in high heels.

If I say, like I just said here, that “if Linux was widely in use, the WannaCry attack would have been much less severe” people will respond “Linux can be attacked too” and that will be taken by others, and possibly meant to begin with, as stating “Linux and Windows are the same, its just that attackers attack Windows and not Linux.” That is a pernicious falsehood that feels a lot like many sexist comments about the limitations of women. Yes, Linux could in theory be attacked. No, Linux is pretty much not attacked very often or ever, so your fantasy about how it can be attacked has no empirical back up. No, Linux and Windows are not the same in which they are developed, designed, maintained, deployed, updated, or secured, and every single one of those differences gives Linux a huge leg up on security and Windows one or more disadvantages.

If a cyber attack is a mugger, Windows is a physically small drunken person with wads of money sticking out of his pockets, staggering down a dark ally near the convention hall during a mugger’s conference, while Linux is a hundred sober and smart well trained Navy Seals each driving a separate armored car in undisclosed locations.

Yes, you can attack the Navy Seals. But if you do that, they’ll make you wanna cry.

Things to do after installing Ubuntu 17.04

We begin with the usual list of things you pretty much always do after installing every Linux OS. Why these things are not automatically done for you on installation is a bit mysterious, but down deep there are generally reasons (legal reasons) for some of these things. In fact, pretty much everything here, with some minor tweaking you can ignore, is the same as for Ubuntu 16. And 15, probably. If you’ve been upgrading to the latest Ubuntu on a regular basis, this might all be pretty automatic for you by now!

Anyway, after installing Ubuntu 17.04, consider these next moves:

Update and Patch Up

Update your operating system by opening a terminal and typing in these things (sudo will cause the terminal to ask for your password).

sudo apt update
sudo apt upgrade

Turn on the “Canonical Parter” repositories. Canonical is the company that makes and maintains Ubuntu. Go to Software & Updates and under the Other Software tab, check off Canonical Partners.

Go to “software and updates” and pick the tab for “Additional Drivers” and pick the graphics drivers that show up there as options, if necessary.

Most people will want to install media codecs so you can listen to, or better listen to, or watch, things.

It is easiest to do this from the command line (the terminal) by typing:

sudo apt-get install ubuntu-restricted-extras

Install Gdebi package installer, which I think is not already installed on this distro. This is a program that installed the contents of “.deb” packages, which you will occasionally (like, in a bout one minute from not likely) download in order to install some programs. Gdebi allows you to right click, or in some other easy way, deploy the package (which will be a folder with stuff in it) to have it all install automatically.

Find and learn to use the software installation system that comes with Ubuntu.

You will want to install the Unity Tweak tool because it allows you to … tweak Unity in ways the system configuration interface does not. Why are all the tweeky configury things not automatially in one place? I don’t know, and this to me is a major failing of the effort to get people to use the Linux Desktop.

Anyway, type this:

sudo apt-get install unity-tweak-tool

Since Unity is will never be deployed with a distribution again after 17.04, that will be the last time you do that!

Install your favorite additional software

The distribution comes with piles of software already, but there are a few things you may want to install because you use them. Use the software installer to do so, or go to the appropriate web site to download the deb file (which you’ll use gdebi to install).

I install Chrome Browser (others install Chromium, but I don’t think that is the best option). Go to the Google Chrome web site to find it.
I use Dropbox, and if you do, go to the Dropbox site and install the latest version.
Skype is installed from the Skype site as well.
I like GIMP image processing. That should be in your software installer center.
I like VLC as a media player. This should be in your software installer center.

______________________
Book suggestions:

Ubuntu Unleashed 2017 Edition (Includes Content Update Program): Covering 16.10, 17.04, 17.10 (12th Edition)

The Linux Command Line: A Complete Introduction

______________________

Refinements

The Unity Tweak tool lets you change how application windows are managed, including minimizing them. Play around with the tweak too.

Go to the configuration panel and select the theme you like, or leave the theme along. I’m kind of beyond changing my theme all the time but it is fun if you are into it, go for it!

Don’t bother

Many will suggest system cleaning and monitoring tools. I don’t think most of these tools do much or provide much information beyond what you can get by using the command line tools that have always been there. Linux is not Windows. It takes care of itself and is not a crybaby. It is much more like a Mac in this way, and for good reasons: Both are Xnix operating systems, in the same family.

Ubuntu 17.04 and the future

A Zapus is a kind of jumping mouse. A Zesty Zapus is the new Ubuntu Linux operating system, 17.04.

It has just been released and has some important features. But Zesty Zapus is not as interesting at the Artful Aardvark, which I’ll discuss briefly below.

Support of 32 bit hardware is waning across the Linux world, and in this release the 32 pit PowerPC is not supported. The 64 bit PowerPC still is, but I would not be surprised if that support dropped in the not too distant future.

There are various other changes deep under the hood that the average desktop user may not care about, including the use of systemd-resolved for the DNS resolver for networking.

Of special interest is that Ubuntu is now not by default using a swap partition. Swap is a place in your hardware, normally on a drive, that the operating system uses as extra memory, so that when you don’t have enough physical memory, the swap can be used. There are two ways to make swap, one is by dedicating a hard drive or hard drive partition to it, the other is having the operating system use unused disk space on your computer for it. In the past it has been considered faster and more efficient to use a partition, but the non-partition option has always been in the background to use as needed and you didn’t have to have a swap partition. Now, Linux seems to be moving away from the partition and using the swap file instead, and Ubuntu will do this by default.

Zesty Zapus uses Linux 4.10. It has “driverless printing” which is a new thing and works for some printers. There are updates to various software included with the distribution, including LibraOffice (now version 5.3, a fairly significant upgrade).

Several if not all of the major “Ubuntu Flavors” are also updated, including the one I prefer, which is Mate (I’ll write about that elwsewhere).

Otherwise, this new release of Ubuntu will act a lot like the previous release.

But that will not be the case with the next release, 17.10, Artful Aardvark. As the alphabetical cycle of release names comes around full circle, so does the desktop paradigm. Ubuntu, controversially to some, not controversially to most, started out years ago using the Gnome desktop. Over time, Ubuntu created the “Unity Desktop” which was meant to unify the user experience across all devices including the as yet to exist and now never going to exist (I think) Ubuntu phone. In my view, Unity was a bad thing, I did not like the way it worked. On the other hand, the main Gnome people for reasons that are still mysterious to me, decided to copy Ubuntu and make Gnome look and act a lot like Unity.

Now, Ubuntu will kill Unity. The next release of Ubuntu will not included Unity, and will instead use Gnome.

So, to install Ubuntu 17.04, which you may not want to do (I’d wait until 17.10 if you want the Gnome interface) go HERE and follow the instructions. It is possible that you can upgrade your current installation to the new release, but if you have a non-Ubuntu OS or an older version, you may need to download an image and reinstall. Then, when you are done, you may want to do these things.

______________________
Book suggestions:

Ubuntu Unleashed 2017 Edition (Includes Content Update Program): Covering 16.10, 17.04, 17.10 (12th Edition)

The Linux Command Line: A Complete Introduction

______________________

Ubuntu and Linux Books

Ubuntu is a form of Linux. Most references on Linux will be applicable to Ubuntu, but each distribution of Linus has its own features, so if you are going to use a specific operating system (Ubuntu vs. Fedora, for example) you will be happier with a book about that distribution.

This is a selection of what I regard as the best books for the purpose, but if you are reading this post in late 2017 or later, and you click through to a particular book, do look around for more recent editions. Also, check out the book reviews on my other blog, which will include all sorts of science books, some politics, and a good number of computer related books.

For books on programming (in various languages, for kids and adults) check out this post.

Linux: General books

Recently updated:

How Linux Works, 2nd Edition: What Every Superuser Should Know

Unlike some operating systems, Linux doesn’t try to hide the important bits from you—it gives you full control of your computer. But to truly master Linux, you need to understand its internals, like how the system boots, how networking works, and what the kernel actually does.

In this completely revised second edition of the perennial best seller How Linux Works, author Brian Ward makes the concepts behind Linux internals accessible to anyone curious about the inner workings of the operating system. Inside, you’ll find the kind of knowledge that normally comes from years of experience doing things the hard way. You’ll learn:

  • How Linux boots, from boot loaders to init implementations (systemd, Upstart, and System V)
  • How the kernel manages devices, device drivers, and processes
  • How networking, interfaces, firewalls, and servers work
  • How development tools work and relate to shared libraries
  • How to write effective shell scripts
  • You’ll also explore the kernel and examine key system tasks inside user space, including system calls, input and output, and filesystems. With its combination of background, theory, real-world examples, and patient explanations, How Linux Works will teach you what you need to know to solve pesky problems and take control of your operating system.

    Yes, this is good: Linux For Dummies, 9th Edition

    Eight previous top-selling editions of Linux For Dummies can’t be wrong. If you’ve been wanting to migrate to Linux, this book is the best way to get there. Written in easy-to-follow, everyday terms, Linux For Dummies 9th Edition gets you started by concentrating on two distributions of Linux that beginners love: the Ubuntu LiveCD distribution and the gOS Linux distribution, which comes pre-installed on Everex computers. The book also covers the full Fedora distribution.

    Ubuntu Linux

    Ubuntu Unleashed 2019 Edition: Covering 18.04, 18.10, 19.04 (13th Edition)

    … unique and advanced information for everyone who wants to make the most of the Ubuntu Linux operating system. This new edition has been thoroughly updated by a long-time Ubuntu community leader to reflect the exciting new Ubuntu 16.04 LTS release with forthcoming online updates for 16.10, 17.04, and 17.10 when they are released.

    Former Ubuntu Forum administrator Matthew Helmke covers all you need to know about Ubuntu 16.04 installation, configuration, productivity, multimedia, development, system administration, server operations, networking, virtualization, security, DevOps, and more—including intermediate-to-advanced techniques you won’t find in any other book.

    Helmke presents up-to-the-minute introductions to Ubuntu’s key productivity and Web development tools, programming languages, hardware support, and more. You’ll find new or improved coverage of navigation via Unity Dash, wireless networking, VPNs, software repositories, new NoSQL database options, virtualization and cloud services, new programming languages and development tools, monitoring, troubleshooting, and more.

    Other Linux Distributions

    Not at all current, but of historical interest and probably available used: The Debian System: Concepts and Techniques and A Practical Guide to Fedora and Red Hat Enterprise Linux (7th Edition).


    Using the Linux Command Line and bash shell

    The Linux Command Line: A Complete Introduction

    You’ve experienced the shiny, point-and-click surface of your Linux computer—now dive below and explore its depths with the power of the command line. The Linux Command Line takes you from your very first terminal keystrokes to writing full programs in Bash, the most popular Linux shell. Along the way you’ll learn the timeless skills handed down by generations of gray-bearded, mouse-shunning gurus: file navigation, environment configuration, command chaining, pattern matching with regular expressions, and more. In addition to that practical knowledge, author William Shotts reveals the philosophy behind these tools and the rich heritage that your desktop Linux machine has inherited from Unix supercomputers of yore. As you make your way through the book’s short, easily-digestible chapters, you’ll learn how to: Create and delete files, directories, and symlinks Administer your system, including networking, package installation, and process management Use standard input and output, redirection, and pipelines Edit files with Vi, the world’s most popular text editor Write shell scripts to automate common or boring tasks Slice and dice text files with cut, paste, grep, patch, and sed Once you overcome your initial “shell shock,” you’ll find that the command line is a natural and expressive way to communicate with your computer. Just don’t be surprised if your mouse starts to gather dust.

    Linux Pocket Guide: Essential Commands

    If you use Linux in your day-to-day work, this popular pocket guide is the perfect on-the-job reference. The third edition features new commands for processing image files and audio files, running and killing programs, reading and modifying the system clipboard, and manipulating PDF files, as well as other commands requested by readers. You’ll also find powerful command-line idioms you might not be familiar with, such as process substitution and piping into bash.

    Linux Pocket Guide provides an organized learning path to help you gain mastery of the most useful and important commands. Whether you’re a novice who needs to get up to speed on Linux or an experienced user who wants a concise and functional reference, this guide provides quick answers.

    Wicked Cool Shell Scripts, 2nd Edition: 101 Scripts for Linux, OS X, and UNIX Systems>

    Shell scripts are an efficient way to interact with your machine and manage your files and system operations. With just a few lines of code, your computer will do exactly what you want it to do. But you can also use shell scripts for many other essential (and not-so-essential) tasks.

    This second edition of Wicked Cool Shell Scripts offers a collection of useful, customizable, and fun shell scripts for solving common problems and personalizing your computing environment. Each chapter contains ready-to-use scripts and explanations of how they work, why you’d want to use them, and suggestions for changing and expanding them. You’ll find a mix of classic favorites, like a disk backup utility that keeps your files safe when your system crashes, a password manager, a weather tracker, and several games, as well as 23 brand-new scripts…

    The Collapse Of Arctic Sea Ice

    Andy Lee Robinson started the recent trend of making compelling graphics about climate change that move. He did a version of the Arctic Ice Death Spiral (a term coined by Joe Romm), which was highly acclaimed but that did not go as viral as it should have at the time. Then, a version with additive ribbon graphs about three years ago. He called that the “waterfall diagram” and it was picked up and used by the BBC at the time. Not long after, he came up with the disappearing block of ice motif. And now, Andy has an updated version, here:

    This is ice VOLUME, not the oft cited surface area. Surface ice will always reform and melt in the Arctic, but long term there used to be a lot of thick ice that never melted during the summer. This long term thick ice would survive the summer melt, and allow new winter time surface ice to form more easily each year. As that ice disappears from various coastal areas in the high Arctic, new winter surface ice takes longer to get going.

    The first version of this graphic, using ice blocks, was requested by Joe Romm, for Think Progress, in 2013, and appears here. Joe just wanted two ice cubes, side by side, and that is what Andy provided.

    But Andy got thinking about the presentation of this very important climate change related metric. “After a while I thought it would be a nice challenge to try to animate it,” he told me. “To accomplish this, I started from the same camera angle, zooming in, following the line to the minimum and then returning to the original location. This required a way to create hundreds of script files to describe each frame.”

    Andy told me that he is fluent in Perl, so he used that to calculate parameters for the objects he wanted to manipulate and substitute them in a povray script template. “At a resolution of 1920×1080, it takes between 15 minutes and 2 hours to make one, depending on what computer is working on it. I wrote spline and easing routines to calculate the smooth motions of the camera and cube sizing, and to interpolate the progression of the graph series.” The MySQL is a shared database that each server has access to, in order to check out a frame, render and return the results over NFS to a shared directory.

    “The same perl program is run on each server and therefore knows which frame to render next, and after a few days the finished frames can be assembled together using ffmpeg with music, in a wav file.”

    Andy, who is a gifted musician, composed the music himself.

    “This uses 8 machines in total, including a linux laptop at 2 hours per frame! It was very painstaking work, writing all the code and parameters, but once done the images can be replicated automatically as new data appears. If only it would pay the rent!”

    OpenOffice May Close The Door

    The history of what we call “OpenOffice” is complex and confusing. It started as a project of Sun corporation, to develop an office suit that was not Microsoft Office, to use internally. Later, a version became more generally available known as Star Office, but also, a version called “OpenOffice” soon became available as well. The current histories say that Star Office was commercial, but my memory is that it never cost money to regular users. I think the idea was that large corporations would pay, individuals not. This was all back around 2000, plus or minus a year or two.

    In any event, the Open Office project built two things of great importance. First, it made a set of software applications roughly comparable to the key elements in Microsoft’s Office Suite, including a word processor, a spreadsheet, a presentation app, and, depending, something that draws and something that relates to databases.

    The second thing it did was to create and develop an important open source document format.

    But, believe it or not, in the world of software development and programming, even in the happy fuzzy world of OpenSource, there can be fights. And, not just the fun and tongue in cheek fights over which religion you are (vi vs. Linux). These fights often involve differences in points of view between megacorporations that get involved in OpenSource projects, and the unwashed masses of programmers contributing to such things. The majority of code is written and maintained by corporations, much of that in the hands of a very small number, but the contributions from individuals not linked to corporations is extremely important.

    In the case of OpenOffice, the tensions were between the broader Office-interested development community and big corporations shifted in 2010 when Sun corporation which had always been involved in OO development, was purchased by Oracle Corporation. Oracle has not been friendly to OpenSource in the past, so the wider community freaked. There is a side plot here involving Java, which we will ignore. Oracle didn’t end up doing anything clearly bad against the OpenOffice project. But, they also ended up not doing anything good, either, which is essentially a death sentence for a project like this. Later in the same year, an organization called The Document Foundation was created and took on the job of forking OpenOffice.

    Forking is where a given lineage of software is split to create an alternative. Sometimes this is to bring some software in a different direction, perhaps for a more specialized use. Sometimes it is a way of resolving conflict, much as hunter gatherers undergo fission and fusion in their settlement patterns, by separating antagonists or putting a distinct wall between antagonistic goals. In this case, while the latter is probably part of it, the main reason for the fork and its main effect was to get the project under the control of an active development community so work could be continued before the project stagnated.

    That fork became known as LibreOffice. For some time now, it has been recommended that if you are going to install an OpenSource office suite on your Windows, Linux, or Apple Computer, it should be LibreOffice.

    One could argue that the OpenOffice suit or its analog (earlier, Star office, later the LibreOffice fork) is the most important single project in OpenSource, because an office suite is a key part of almost all desktop computer configurations. Of course, most servers don’t need or require an office suite, and there, web servers and database servers, and a few other things, are more important. But to the average end user (in business or private life) being able to open up a “Word Document” (a term misapplied to the category of “wordprocessor document”), or to run a spreadsheet, or to make a presentation, etc. is essential, and that is what an office suit provides. OpenOffice was comparable to Microsoft Office, and now, LibreOffice is comparable to Microsoft Office. By some accounts, better, though many Microsoft Office users have, well, a different religion.

    Now, it is being reported that the mostly ignored, maligned by some, historically important yet now out of date OpenOffice project is about to byte the dust. As it were.

    Dennis Hamilton, VP of the group that runs OpenOffice, “… proposed a shutdown of OpenOffice as one option if the project could not meet the goals it had set. ‘My concern is that the project could end with a bang or a whimper. My interest is in seeing any retirement happen gracefully. That means we need to consider it as a contingency. For contingency plans, no time is a good time, but earlier is always better than later.'” [Source]

    Approximately 160 million copies of LibreOffice have been downloaded to date. The closing of the OpenOffice project, should that happen, will probably have little effect on LibreOffice, since most people had already walked away from the venerable old but flawed grandaddy of OO Suites.

    Things To Do After Installing Ubuntu 16.04 LTS

    This is one of four related posts:

    Should You Install Ubuntu Linux?
    Installing Ubuntu 16.04 LTS
    How to use Ubuntu Unity
    Things To Do After Installing Ubuntu 16.04 LTS

    Some Linux/Ubuntu related books:
    Ubuntu Unleashed 2016 Edition: Covering 15.10 and 16.04 (11th Edition)
    Ubuntu 16.04 LTS Desktop: Applications and Administration
    The Linux Command Line: A Complete Introduction

    If you have already considered your options for installing Linux, done the installation, and learned your way around the Unity Desktop, then you are ready to tweak your system. This will be easiest if you use the terminal for several of the steps. Just copy and paste the lines I give you here. Note that in Linux, unless you change it, to paste into a terminal you hit shift-control-v, not just control-v.

    Most of these commands start with the word “sudo.” This is because these tweaks change the software or the operating system, and Linux needs to know that the person in charge of the computer is doing that. Start a command with “sudo” and after you enter the command, you will be asked for your password. Enter the password, hit Enter, and you are good to go. If the next time you use “sudo” is soon enough, you won’t be asked for your password.

    There is one other thing you might want to know so the rest of this makes sense.

    Software, applications, apps (three words for the same thing) typically come in “packages.” A package is a bunch of stuff that includes information on what needs to be installed to make a piece of software work, what needs to be done to let the system know it is there, etc.

    Packages live in repositories, and they live on the internet. (They can also live on a DVD but that is rarely done for the average user … there were in fact packages on your installation DVD but that’s the last time you’ll probably use DVD or USB stick based packages.)

    Your computer, after installation, is set up to know about certain repositories. This is the great advantage of using Ubuntu or many of the other major distributions. You get that distribution’s repository, and the packages stored there are carefully maintained and secured. Installing off a major repository like this means no viruses, malware, “freeware” or other junk will get onto your computer. It also means that when you issue a general update command, your computer visits the repository and updates all of your installed software based on whatever is new or changed in the repository.

    During the following process, you will likely add some new repositories to your computer’s database of repositories. Just follow the instructions. But note, in order for an added repository to be known about, you add it, then you update the package system. Again, just follow the instructions.

    It is also possible to install software using a downloaded package. In the case of Ubuntu (or any debian based Linux distribution), these are files with the “deb” extention. If you have the right software installed, you should be able to just double click on a deb file and pick an option to install it. I include an example or two of that process in with the tweaks below.

    Finally, as you will see, there are several different software interfaces to this installation system. For the most part, you can install anything from the available repositories using the Ubuntu software center. But the Ubuntu software center is one crappy piece of software, in my opinion. It looks slick, but is slow and clunky and frustrating.

    There is a system that works better (it is more responsive) but harder to use (because it does not hold your hand much) called synaptic.

    Check out:

    UBUNTU AND LINUX BOOKS

    BOOKS ON COMPUTER PROGRAMMING AND COMPUTERS

    But generally, the smoothest, quickest, easiest way to install most software from the repositories that your computer is aware of is with the command line, using the command “sudo apt-get install bla-bla-bla.” As shown below many times.

    So, now, on to the tweaking.

    1. Make the terminal program handy

    First, open a terminal. You may have already placed an icon for the terminal on the Task Panel; if so, click that. If not, hit the “super” key (the Key Formerly Known as the Windows Key) to bring up the Unity dash. Then, type in “terminal” and choose the icon for the terminal program.

    Now that the terminal program is running, you’ll see it in the Task Panel. If you’ve not already locked the terminal icon to the Task Panel, right click on that icon, and opt to have the terminal icon always be in “the launcher” even if it is not running.

    2. Update the software and operating system you just installed

    Even if the system was updating while installing (that was an option you had during the install), there are probably still some things that need updating. If you have not done so yet, type or copy/paste this into the terminal (shift-ctrl-v to paste in a terminal) and hit enter:

    sudo apt-get update

    You will be asked for your password. Type it in and hit “enter.”

    If you are asked a question with a “Y/n” answer, type in “y” and otherwise follow any obvious instructions.

    The updated command is a quick and dirty way of making sure that the software you have installed is updated. Chances are that when you do this after install, almost nothing will happen because little or no software will be ready for an upgrade.

    When all the gobbledygook is done in the terminal, type in:

    sudo apt-get dist-upgrade

    The dist-upgrade command will, in short, do a more thorough job of updating the things that are installed on your sy stem (it does not upgrade you to a new distribution, it just updates the software with more awareness of what the distribution specifies in terms of packages and interrelations between packages). The details are not too important. What you need to know is that “apt-get update” is quick and useful, and “apt-get dist-upgrade” will take much longer to run, but do a much better job of updating things and cleaning up after itself, and should be done now and then.

    If you are asked a question with a “Y/n” answer, type in “y” and otherwise follow any obvious instructions.

    These steps can be fast or slow, depending.

    3. Make installing software easier

    First, enable the Canonical Partners’ Repository. This will allow you easier access to some software. A repository is where software lives, and your installation programs know about only certain repositories, and ignore others.

    Open System Settings (on the Task Panel, the gear and wrench icon)
    Click on “Software and Updates”
    Go to Other Software tab.
    Click the check box for “Canonical Partners”
    You may be asked for your password.
    You will be asked to “reload” the repository info. Do that.

    There are a couple of applications for installing and updating software, and you can have fun with them, but two tools that are really helpful that Ubuntu mysteriously does not install by default should be installed now. One is called “synaptic” and it is a menu drive graphical interface to your repositories, the other is gdebi, which allows you to install software that comes to you via download in a “deb” package.

    sudo apt install synaptic
    sudo apt install gdebi

    If asked to choose Y/n at any point, choose Y

    4. Install Linux graphics drivers

    This may not be important, or it may be, depending on your hardware. So just do it and see what happens!

    Unity Dash >>> Software & Updates >>> Additional Drivers

    Do whatever it says there to install any graphics drivers that may be available.

    5. Allow Workspaces To Work

    I have no idea why a Linux distribution would not have work spaces right there in your face by default, but Unity seems not to. Workspaces is one of those desktop things that makes non-Linux users go “wow, that’s cool, now I want Linux!”

    A workspace is a desktop, and multiple workspaces are multiple desktops, on which one or more applications are running. Macs have something like this now (stolen from Linux, but implemented poorly). The Linux implementation is better. You smoothly sail between desktops with Ctrl Alt Arrow Keys, and Linux does not randomly make new desktops for you like a Mac does.

    System Settings >>> Appearance >>> Behavior

    Check the box to enable workspaces, and the box to Add show desktop icon to the launcher.

    6. Install Java

    Java is required for running many application’s on Linux platform, So should install java using these three commands in sequence (one at a time).

    sudo apt-get install default-jre

    7. Fix app menu problem

    One of the bad things about Unity was to cause application menus to become invisible and to not be on the application. If you want to see the menus where they belong, you can fix that.

    System Settings >>> Appearance >>> Behavior tab >> ‘Show the Menus for a Window’

    Check ‘In the window’s title bar’
    Check ‘Always displayed’

    8. Classic Menu

    One of the things I miss most from an old fashioned Gnome 2.0 style desktop is a simple menu, with submenus, that includes all the software installed on my system. To me, this is really important.

    And, solvable. We can add a Gnome 2.0 style menu thingie to the app panel in Unity.

    sudo apt-get update
    sudo apt-get install classicmenu-indicator

    You will have to log out and back in again for the menu to show up. Use the gear icon in the far upper right of the screen to log out/shut down, etc.

    9. Show Your User Name On The Top Menu Bar

    It may be useful to show your user name on the Top Menu Bar (the strip along the top of your screen). Here is one way to do that, using the terminal.

    gsettings set com.canonical.indicator.session show-real-name-on-panel true

    If you want to turn this back off, do this:

    gsettings set com.canonical.indicator.session show-real-name-on-panel false

    10. What about Adobe Flash? And Therefore, Chrome?

    This is complicated. Flash turns out to be something of a nightmare. Perhaps it was a good idea at the time, but increasingly developers and such are avoiding using it. But you probably need Flash now and then, but almost always in a browser window. So, the way to handle this is to use Google Chrome as your browser. Not Chromium.

    The Firefox browser is installed by default in most Linux distributions. This is cultural, maybe even political. Firefox as a piece of software, and an organization, has been central to the development of OpenSource software, so it is sort of worshiped. I recommend ignoring it. So, when you get to the part below about installing Chrome, do that.

    If you google “how to install Google Chrome on Linux” you get this:

    • Click Download Chrome. Go here to do that.
    • Choose either 32 bit .deb (for 32bit Ubuntu) or 64 bit .deb (for 64bit Ubuntu)
    • Click Accept and Install.
    • Download .deb file to a folder (Downloads is the default folder)
    • Open up your Downloads folder.
    • Double-click the .deb file you just downloaded.
    • This should launch Ubuntu Software Centre.

    NOTE: Google often updates its method of installing. I just installed Chrome and it took fewer steps than indicate above. If you’ve already installed gdebi (as suggested above) this will be very quick and automatic.

    You will be asked if you want to make Chrome your default browser. I recommend doing this. Then, run Chrome and lock the icon to the Task Panel, because you will probably be using it a lot.

    11. Install Dropbox…

    … if you use Dropbox.

    sudo apt install nautilus-dropbox

    Then simply launch Dropbox from Unity Dash and follow the instructions.

    An alternative method for installing Dropbox:

    wget https://linux.dropbox.com/packages/ubuntu/dropbox_2015.10.28_amd64.deb

    This uses the wget command to go on the internet and download a part of a web site, in this case, a file on the web site. This may not work if they changed the name of the file, but this is currently the correct name.

    After downloading the package, install it using the previously installed deb package application:

    sudo dpkg -i dropbox_2015.10.28_amd64.deb

    12. Install VLC

    Linux, and in this case, Ubuntu, comes with various multimedia playing software, but generally not with VLC, which is a very good piece of software. If you want, you can install it this way:

    sudo apt-get install vlc browser-plugin-vlc

    13. Install Gimp Image Editor

    GIMP stands for “GNU Image Manipulation Program.” It is an OpenSource pixel-based image manipulation program for photographs, drawings, etc. In the old days, it was included in most Linux distributions but no longer is. If you want to install it:

    sudo apt-get install gimp gimp-data gimp-plugin-registry gimp-data-extras

    14. Install A Junk Cleaner (Bleachbit):

    I’ve not used Bleachbit. But everyone seems to like it, and you might want to try it out. It cleans up internet histories, destroys temporary files, and other junk that tends to accumulate on your system.

    Linux is not like Windows (or at least, like Windows was in the days I used it). It does not accumulate a lot of junk to the point where it slows down and stops. But it can accumulate some junk, and apparently, Bleachbit helps take care of this.

    I’ve decided to remove the recommendation to install bleachbit. As I already suggested, Linux is designed in such a way that the things a clean-up program like bleachbit does are unnecessary. I suspect bleachbit is a bit like Linux based ant-virus software, something that former Windows users want to see, because such kludges are necessary in Windows.

    So skip this step (I deleted the code for installing it anyway).

    15. Install Skype…

    … if you use it.

    sudo apt-get install skype

    16. Install the Unity Tweak Tool

    You can configure, tweak, and generally mess around with your Unity Desktop using the installed System Settings and various esoteric bits of software, but if you install the Unity Tweak Tool you will probably find most of what you want to do, and more, there.

    sudo apt install unity-tweak-tool

    In the unlikely event that you end up messing up Unity with all your crazy tweaking….

    …you can reset unity like this:

    sudo apt-get install dconf-tools
    dconf reset -f /org/compiz/
    setsid unity
    unity --reset-icons

    Have Fun

    Now, you know how to install software in Ubuntu, and generally, in debian based distributions, and you have some experience with the command line.

    What you can do now is explore all the software that was automatically installed on your system, such as Libra Office (which stands in for Word, Excel, Power Point, etc) and all sorts of other cool stuff. If you installed the traditional style menu applet as described above, that is a good way to explore around among the available software offerings.

    From now on, every now and then, run

    sudo apt-get update

    and

    sudo apt-get upgrade

    Also, on the standard Ubuntu distribution, there is a semi-automatic software updater that will remind you to update software now and then, or that can be set to do it automatically. I don’t like setting it for automatic on a laptop, but maybe on a desktop.

    How to use Ubuntu Unity

    This is one of four related posts:

    Should You Install Ubuntu Linux?
    Installing Ubuntu 16.04 LTS
    How to use Ubuntu Unity
    Things To Do After Installing Ubuntu 16.04 LTS

    Some Linux/Ubuntu related books:
    Ubuntu Unleashed 2016 Edition: Covering 15.10 and 16.04 (11th Edition)
    Ubuntu 16.04 LTS Desktop: Applications and Administration
    The Linux Command Line: A Complete Introduction

    If you have installed Ubuntu with the Unity desktop, you’ll learn how to use it mainly by playing around with it. Discoverability of its various functions is more or less built into the design. But there are a few things you will want to know right away in order to get up to speed efficiently.

    The first thing you need to know about the Unity desktop is that the words people use for the various parts are all over the map. I’ll try to be consistent in my own use of terms, but if you read about Unity in other places, you may need to know, for example, that the “Task Panel” and the “Launcher” and the “Dock” are the same thing.

    Task Panel (Launcher, Dock)

    So, let’s start with the Task Panel (aka Launcher, or Doc). This works much like the doc on a Mac, but placed by default on the left side of your screen, which makes sense for wide screens. The Task Panel has a bunch of icons on it by default. You can remove or add icons as you wish. Most or all of these icons represent software you can run but that is not running now. This is your handy dandy way of running your most commonly used software (apps, applications). Just click on it and it will go.

    Once an application is running, it will have a little thingie on the icon indicating that this is an active application. More than one instance (window, etc.) of an application running will cause the icon to have a slightly different look, and when you click on it you will see small versions of all the windows that are open, so you can pick the one you want to use.

    You can quickly switch between applications by clicking on the icons of running applications.

    If you start an application from somewhere other than the Task Panel, an icon for that application will normally be added to the Task Panel. This is your chance, using right clicking, to tell Unity to keep that icon on the Task Panel, for easy access, even after you shut that application down. Obviously, there is only so much room on the task panel for icons, but you can scroll up and down. You can also make the icons smaller, which will allow more to fit. But really, you should only keep the half dozen or so applications you use most of the time on the task bar.

    Right clicking on an icon, as noted, gives you the option to lock it to, or unlock it from the Task Panel (but that menu item will call it a “launcher.”) But depending on the application, you may have a number of other choices. For example, clicking on the file manager will give you a list of commonly used (according to Unity’s designers) folders you may want to open.

    The Dash

    The top icon on the Task Panel opens the Dash. You can also open the Dash by pressing the Super Key (the key formally known as the Windows Key).

    The Dash is a big giant square thing that comes flying out of the Dash Icon. there is a space on the top that is clearly for searching for things. A common use of the Dash is to open it, and then you start to type in the name of an application. The Dash will show you an ever-narrowing set of choices which you can pick, or, when you end up with only one choice, you just hit enter and that application runs.

    If you have just installed Ubuntu and haven’t done any of the recommended tweaks, try this: Open the dash, and start typing in “terminal”. Once you see the terminal application as your choice, hit enter (or click on it). Now, the Terminal icon is on your Task Panel. Right click on the Terminal icon and lock it to your Task Panel. Once you are set up and using Ubuntu a lot, you may find that you rarely use the terminal, but when you are first installing and tweaking the system, you’ll find it handy to have this icon readily available.

    The Dash has many other powers. It can show you recent files, recent downloads, recently used apps, etc. Searching for apps is pretty smart. Terms that are not in the name of the application but that suggest the application might (depending) show you an icon for the application. For example, the search term “Network” will get you several choices including the “System Monitor,” because the System Monitor monitors, among other things, the network.

    The Dash has what are called “Lenses.” See the bottom of the Dash to find the “home” lens, the “applications” lens, etc. If you select the “music” lens, you see, and search will search among, the music files in your music directory.

    Workspaces

    Workspaces are one of those features of early Linux desktops (before Unity) that makes you look at Linux and go “I want that!!!” This idea has been implemented over the ages in Windows and other systems, with varying degrees of success or longevity, but it was originally implemented in Linux in a way that really works. It is now part of the Mac operating system, though that implementation is rather poor, in my opinion. But it was always there in Linux.

    See this post on tweaks if your workspaces are not turned on. But if they are, there should be an icon in the Task Panel, near the bottom, which is a workspace switcher.

    Here is what a workspace is. Imagine that you open three or four applications and have the windows all visible. That is a workspace. Now, you switch to a different workspace, and those windows are now not visible, because they were on the other workspace. You now have a clean workspace. You can now open other applications (or more instance of the same ones) on this clean workspace. Switching between workspaces allows you to have a handful of applications running and organized on the screen like you want them, but then, you can go to a different workspace and do entirely different work.

    For example, I might have a file manager opened to a particular subdirectory, and a text editor or two, for a writing project, on one workspace. On a different workspace, I have an email client, and a web browser with a tab showing Facebook and another tab showing Twitter. I can ignore the email and social networking while I write, but now and then take a break and go over to the other workspace and screw around on social media and check my email.

    Workspaces are a great way to pretend you are being very efficient!

    When you hit the Workspace Switcher button you get a view of all your workspaces, and can chose among them. You can even drag open applications between workspaces. (And, by the way, you can configure a particular application to always be visible on all workspaces, and otherwise tweak the whole workspace thing quite a bit.)

    But, there is a better way to switch between workspaces …

    Hotkeys and shortcuts

    This is a good point to talk for a moment about hot keys and shortcuts. There is a lot here but I’ll only mention a few features, starting with workspaces.

    In Linux, generally (most desktops) including Unity, you usually move between workspaces by holding down the Alt and Control keys and then manipulating the arrow keys. Also, Alt-Tab moves between windows open on a given workspace. Try alt-tab then hold those keys down for a bit longer, and even more magic happens. So, between these two sets of shortcuts, you can move between all your different work thingies really efficiently.

    There are a lot of shortcut keys available in Unity. To find a cheat sheet of these keys, press the Super Key and hold it down for a moment. The cheat sheet will appear in the middle of the screen.

    All hotkeys and shortcuts can be changed and reconfigured, and you can add shortcuts that don’t exist until you think them up and figure out how to implement them. This is beyond the scope of this post, but you can play around with it later.

    Top Menu bar and Application and System Indicators

    Unless you’ve been living in a command line cave, you already know about Application and System indicators. In Unity, they are located on the Top Menu Bar. Just play around with them. If you click the time/date, you get a little calendar popout. You can see if you are connected to the internet, and what your volume is turned to. Depending on what software is installed, you may see the temperature at your local weather station, or an indicator telling you that you have new mail.

    By default, in Unity, application menus, the menus that go with a specific program, are invisible unless you approach them with the mouse, and then they appear. But they are not located on the application itself, but rather, on the Top Menu Bar. See this post for instructions as to how to move them to the applications and make them not invisible.

    Also, at that link, you’ll find instructions for installing a very cool applet to the Top Menu Bar which will give you an old fashioned menu showing, organized hierarchically, all the software that you have installed on your computer. This is how I usually run software that is not on the Task Panel.

    Now, play

    That’s all the important stuff you need to know right away. There’s more, but you’ll discover it over time. You can go to system settings, and to the various system setting tools suggested here to do things like moving the Task Panel to the bottom of the screen, changing your wallpaper (the image on the desktop) and choosing whether to show icons for hard drives or plugged in devices, the trash can, etc.