Ubuntu Unleashed 2017 Edition (2017)
Part II: Desktop Ubuntu
Chapter 4. On the Internet
In This Chapter
Getting Started with Firefox
Checking Out Google Chrome and Chromium
Choosing an Email Client
Instant Messaging and Video Conferencing with Empathy
Internet Relay Chat
The Internet is everywhere. From cell phones to offices, from game consoles to tablets, we are surrounded by multiple access routes to online information and communication. Ubuntu is no outsider when it comes to accessing information through the Internet; it comes equipped with all the tools you need to connect to other people across the globe.
In this chapter, we look at some of the popular Internet applications that are available with Ubuntu. You find out about Firefox and Google Chrome. The chapter also investigates some of the email clients available. Other topics include RSS feed readers, instant messaging (through IRC and other networks), and reading newsgroups.
A Brief Introduction to the Internet
The Internet itself was first brought to life by the U.S. Department of Defense in 1969. It was called ARPANET after the Department of Defense’s Advanced Research Projects Agency. Designed to build a network that would withstand major catastrophe (this was the peak of the Cold War), it soon grew to encompass more and more networks to build the Internet. Then, in 1991, Tim Berners-Lee of CERN developed the idea of the World Wide Web, including Hypertext Transfer Protocol (HTTP) and Hypertext Markup Language (HTML). This gave us what we now know to be the Internet.
Getting Started with Firefox
One of the most popular web browsers, and in fact the default web browser in Ubuntu, is Mozilla Firefox (see Figure 4.1). Built on a solid code base that is derived from the Mozilla suite, Firefox offers an open-source and more secure alternative to Internet Explorer for surfing the Internet, regardless of your operating system.
FIGURE 4.1 Mozilla Firefox—rediscover the Web. Firefox enables you to add on numerous extensions, further enhancing your experience.
In Ubuntu, you can find Firefox by searching the Dash for firefox.
Beyond the basic program are a wealth of plug-ins and extensions that can increase the capabilities of Firefox beyond simple web browsing. Plug-ins such as Shockwave, Flash, and Java are available for installation instantly, offered to you when first needed, as are multimedia codecs for viewing video content. Extensions provide useful additions to the browsing experience. For example, ForecastFox is an extension that gives you your local weather conditions, and Bandwidth Meter and Diagnostics is a tool that calculates your current bandwidth. There are many more extensions and plug-ins that you can use to enhance your browsing experience (Shift-Ctrl-A).
You can find and obtain these plug-ins and extensions easily because Mozilla developers have created a site dedicated to helping you get more from Firefox. You don’t have to search to find the site as there is a link in the Firefox menu at Tools, Add-ons, Get Add-ons that takes you directly to it. Particular favorites are the Adblock Plus and the StumbleUpon plug-ins. Adblock Plus enables you to nuke all those annoying banners and animations that take up so much bandwidth while you are browsing. StumbleUpon is a neat plug-in that takes you to web pages based on your preferences. Be warned, though, that StumbleUpon can be quite addictive, and you will end up wasting away many hours clicking the [Stumble!] button.
You can easily enable Flash in your browser by installing the flashplugin-installer package, or better yet, you can deal with the whole issue of codecs and functionality for your entire operating system right off by installing ubuntu-restricted-extras. Either way, Ubuntu downloads the official package from Adobe and installs it on your system. A browser restart is required before you try to access any Flash-enabled content. Note: Adobe recently stated it will cease to support Flash on Linux. However, Google Chrome includes Flash support and is doing so with Adobe’s blessing. If you need Flash, you will probably need to use Google Chrome as your browser.
To make things even easier, if you have not yet installed this package and visit a web page that requires Flash, a pop-up window appears with information and a link to help you install it easily.
Another plug-in that gets a lot of use of is Xmarks Sync. If, like us, you work across multiple computers and operating systems, you will no doubt have had to re-create bookmarks at every different computer and try to keep them the same. Xmarks makes this whole process much easier by allowing you to synchronize your bookmarks to multiple browsers (for example, Firefox and Google Chrome) running on different operating systems (Windows, Mac OS X, Linux).
Checking Out Google Chrome and Chromium
Anyone who has been paying attention to tech news has heard about the explosive appearance of Google Chrome (Figure 4.2), which has gone from being the new kid on the block to a firm contender for most popular browser in just a few years. This browser is fast, secure, expandable with extensions, and the hottest new toy on geek desktops. It is based on WebKit and other technologies, and it downloads and renders quickly while being standards compliant. You can learn more about the easy installation of Google Chrome at www.google.com/chrome.
FIGURE 4.2 Google Chrome running in Ubuntu.
Chrome is not completely open-source, but the main foundational parts are open-source and are made available as Google Chromium, shown in Figure 4.3, which has most of the functionality of Chrome, but it is missing the Google branding, automatic updates, and is used as the test and development foundation for Chrome releases. As a point of interest, chromium is the metal from which chrome is made, hence the names.
FIGURE 4.3 Chromium is the source from which Chrome is made, and it works very well.
You can learn more about Chromium at www.chromium.org. It used to be necessary to install Chromium from the Google website or from the Personal Package Archive of the Google Chromium developers. Now, you may simply install chromium-browser from the Ubuntu repositories.
Choosing an Email Client
Back in the earlier days of UNIX there were various text-based email clients such as elm and pine (Pine Is Not Elm). Although they looked basic, they allowed the average user to interact with email, both for composing and reading correspondence, and had some sophisticated and useful features that might not have been expected, such as filtering and searching tools. Still, when computing became mainstream, there was a realization that people wanted friendly graphical user interfaces (GUIs). Soon there came a flood of email clients, some of them even cross-platform and compatible among Linux, Windows, Mac OS X, and even traditional UNIX.
Mozilla Thunderbird (see Figure 4.4) is the sister program to Firefox and the default email application in Ubuntu. Whereas Firefox is designed to browse the Web, Thunderbird’s specialty is communication. It can handle email, network news (see later in this chapter), and RSS feeds.
FIGURE 4.4 The natural companion to Firefox, Mozilla’s lightweight email client, Thunderbird, can be found in use all over the world.
As with Firefox, there are many plug-ins and extensions to enhance your email. You can also use Thunderbird for Usenet news reading.
Up until Ubuntu 11.10, Evolution was the default email client in Ubuntu, although to call it simply an email client is to sincerely underrate its usefulness as an application. Not only does it handle email, but it can also look after contacts and calendars and help you manage your tasks (see Figure 4.5).
FIGURE 4.5 With Evolution you can handle all your email and contacts, as well as make appointments and track tasks.
You need to have the following information to successfully configure Evolution (or any email client):
Your email address
Your incoming email server name and type (that is, pop.email.com, POP, and IMAP)
Your username and password for the incoming mail server
Your outgoing mail server name (that is, smtp.email.com)
As many people are moving to web-based mail options such as Google’s Gmail or Yahoo! Mail, client-side email programs have started to decline in popularity. One thing that sets Evolution apart is that you can still use it for the other features and disable the email portion of the program by selecting “none” as your mail transfer agent instead of POP, IMAP, and so on. In addition, Evolution can interact with an existing web calendar program if it uses one of the common formats, such as CalDAV. This enables you to use your calendar remotely as you are used to, but also permits the Ubuntu desktop to have access to your events and embed them into your desktop panel (which it does by default using Evolution).
Other Mail Clients
The mail clients that we’ve covered are only a few of those available. Claws is very popular because it offers spell check while typing and is well suited for use in large network environments in which network overhead and RAM usage are important considerations. Mutt is an older text-based email program that is still beloved by sysadmins for its configurability and feature set, including the easy use of GPG keys for signing email. Alpine is another text-based program based on the classic Pine, with a few upgrades. Kmail is commonly used by lovers of the KDE desktop that is commonly run as a part of many Linux-based operating systems. All of these and more are available for installation from the Ubuntu software repositories. In addition, all of the web-based email applications work just fine with Ubuntu, such as Gmail, Hotmail, and Yahoo! Mail.
RSS is one of the protocols of Web 2.0, the current generation of Internet content. RSS has really taken off, thanks to adoption by a large number of websites and portals.
The key advantage of RSS is that you can quickly read news from your choice of websites at a time that suits you and from one location, meaning you don’t have to go to each site to view their content. Some services offer just the articles’ headlines, whereas others offer full articles for you to view. RSS feeds can be accessed in various ways, even through your web browser!
Firefox implements RSS feeds as what it calls Live Bookmarks (shown in Figure 4.6), which are essentially bookmarks with sub-bookmarks, each linking to a new page from your chosen website. Some people like to have several news sites grouped together in a folder called News in the Firefox toolbar because this allows them to quickly browse through a collection of sites and pick out articles of interest.
FIGURE 4.6 Live Bookmarks for Firefox, making all your news fixes just a mouse click away.
Of course, not everyone wants to read RSS feeds with the browser. The main problem with reading RSS feeds with Firefox is that you get to see only the headline, rather than any actual text. This is where a dedicated RSS reader comes in handy, and in many peoples opinion, Liferea is one of the best readers out there (see Figure 4.7).
FIGURE 4.7 Read your daily news feeds with Liferea, a fantastic and easy-to-use RSS feed reader.
Read your daily news feeds with Liferea, a fantastic and easy-to-use RSS feed reader. Liferea is not installed by default, but it is available from the repositories under the name liferea. After you install it, you can find it by searching the Dash for Liferea.
By default, Liferea offers a number of RSS feeds, including Planet Debian, Groklaw, and Slashdot. Adding a new feed is straightforward. You select New Subscription under the Feeds menu and paste the URL of the RSS feed into the box. Liferea then retrieves all the current items available through that field and displays the feed name on the left side for you to select and start reading.
Internet Relay Chat
As documented in RFC 2812 and RFC 2813, the Internet Relay Chat (IRC) protocol is used for text conferencing. Like mail and news, IRC uses a client/server model. Although it is rare for an individual to set up and run an IRC server, it can be done. Most people use public IRC servers and access them with IRC clients. IRC is also the favorite and most common form of quick communication among developers in the Ubuntu community, so if that interests you, you will certainly want to learn to use this tool.
Ubuntu provides a number of graphical IRC clients in the repositories, including XChat, Pidgin, and Quassel. Ubuntu also makes the console clients epic and irssi available in the repositories for those who eschew X and a graphical interface. Don’t laugh, there are actually many who do this, and not just server admins, especially because they can be run on a remote server and accessed over Secure Shell (SSH) using Byobu or Screen allowing them to be left running 24/7 on that remote server. For more about Byobu and Screen, see Chapter 12, “Command-Line Master Class Part 2.” If you don’t already have a favorite IRC client, you should try them all.
XChat is a very popular IRC client, and the most common recommendation for IRC newcomers using Ubuntu, so we use it as an example. After you install the program, the documentation for XChat is available in /usr/share/doc/xchat. It is a good idea to read that before you begin because it includes an introduction and covers some of the basics of IRC.
The XChat application enables you to assign yourself up to three nicknames. You can also specify your real name and your username. Because many people choose not to use their real names in IRC chat, you are free to enter any names you desire in any of the spaces provided. You can select multiple nicknames; you might be banned from an IRC channel under one name, and you could then rejoin using another. If this seems slightly juvenile to you, you are beginning to get an idea of the type of behavior on many IRC channels (but not the ones where serious developer and Ubuntu community interactions take place).
When you open the main XChat screen, a list of IRC servers appears, as shown in Figure 4.8. After you choose a server by double-clicking it, you can view a list of channels available on that server by choosing Window, Channel List. The XChat Channel List window appears. In that window, you can choose to join channels featuring topics that interest you. To join a channel, you double-click it. Ubuntu uses irc.freenode.net for the server, and the primary support channel is #ubuntu.
FIGURE 4.8 The main XChat screen presents a list of available public servers from which to select.
The Wild Side of IRC
Do not be surprised at the number of lewd topics and the use of crude language on public IRC servers. For a humorous look at the topic of IRC cursing, see www.irc.org/fun_docs/nocuss.html. This site also offers some tips for maintaining IRC etiquette, which is essential if you do not want to be the object of any of that profanity. Here are some of the most important IRC etiquette rules:
Do not use colored text, all-capitalized text, blinking text, or “bells” (beeps caused by sending ^G to a terminal).
Show respect for others.
Ignore people who act inappropriately.
After you select a channel, you can join in the conversation, which appears as onscreen text. The messages scroll down the screen as new messages appear. For an example, see Figure 4.9. You can continue learning about IRC at https://help.ubuntu.com/community/InternetRelayChat.
FIGURE 4.9 Join in an online chatroom about your favorite distro, with XChat.
You can establish your own IRC server even though Ubuntu does not provide one. Setting up a server is not a task for anyone who is not well versed in Linux or IRC.
A popular server is IRCd, which you can obtain from http://www.irc.org/ftp/irc/server/. Before you download IRCd, look at the README file to determine what files you need to download and read the information at www.irchelp.org/irchelp/ircd/.
The concept of newsgroups revolutionized the way information was exchanged between people across a network. The Usenet network news system created a method for people to electronically communicate with large groups of people with similar interests. Many of the concepts of Usenet news are embodied in other forms of collaborative communication.
Usenet newsgroups act as a form of public bulletin board system. Any user can subscribe to individual newsgroups and send (or post) messages (called articles) to the newsgroup so that all the other subscribers of the newsgroup can read them. Some newsgroups include an administrator, who must approve each message before it is posted. These are called moderated newsgroups. Other newsgroups are open, allowing any subscribed member to post a message. When an article is posted to the newsgroup, it is transferred to all the other hosts in the news network.
Usenet newsgroups are divided into a hierarchy to make it easier to find individual newsgroups. The hierarchy levels are based on topics, such as computers, science, recreation, and social issues. Each newsgroup is named as a subset of the higher-level topic. For example, the newsgroup comp relates to all computer topics. The newsgroup comp.laptops relates to laptop computer issues. Often the hierarchy goes several layers deep. For example, the newsgroup comp.databases.oracle.server relates to Oracle server database issues.
The format of newsgroup articles follows the strict guidelines defined in the Internet standards document Request for Comments (RFC) 1036. Each article must contain two distinct parts: header lines and a message body.
The header lines identify information about when and by whom the article was posted. The body of the message should contain only standard ASCII text characters. No binary characters or files should be posted within news articles. To get around this restriction, binary files are converted to text data through use of either the standard UNIX uuencode program or the newer Multipurpose Internet Mail Extensions (MIME) protocol. The resulting text file is then posted to the newsgroup. Newsgroup readers can then decode the posted text file back into its original binary form.
A collection of articles posted in response to a common topic is called a thread. A thread can contain many articles as users post messages in response to other posted messages. Some newsreader programs allow users to track articles based on the threads to which they belong. This helps simplify the organization of articles in the newsgroup.
The free news server news.gmane.org makes the Red Hat and Ubuntu mail lists available via newsgroups. The beta list is available as gmane.linux.redhat.rhl.beta. It is a handy way to read threaded discussions, and some prefer it to using the Ubuntu mail list archives.
The protocol used to transfer newsgroup articles from one host to another is Network News Transfer Protocol (NNTP), defined in RFC 975. (You can search RFCs at ftp://metalab.unc.edu/pub/docs/rfc/; look at the file rfc-index.txt.) NNTP was designed as a simple client/server protocol that enables two hosts to exchange newsgroup articles in an efficient manner.
Whether or not your Ubuntu machine is set up as a news server, you can use a newsreader program to read newsgroup articles. The newsreader programs require just a connection to a news server. It does not matter whether the news server is on the same machine or is a remote news server on the other side of the world.
Several programs are available to connect to news servers to read and post articles in newsgroups. If you are interested in Usenet, you might want to check out a program from the Ubuntu repositories called Pan. Pan is a graphical newsreader client that can download and display all the newsgroups available on a server and display posted news articles. However, Usenet is an old system that predates the creation of the World Wide Web. It was the place to be in the early days and the source of many great memories, but today is little better than a ghost town with wind-blown tumbleweeds, spam, and illegal exchanges of pirated content. Most Internet service providers used to run free Usenet servers, and connecting was easy and common, but most of the free ones are gone now, and traffic has dwindled. Feel free to experiment or try to relive the glory days, but Usenet is, alas, well past its prime.
www.mozilla.com/—The home page for Mozilla Firefox, Thunderbird, and the Mozilla Suite.
http://en.wikipedia.org/wiki/Usenet—A history of Usenet.