Logging in to and Working with Linux


You can access and use a Linux system in a number of ways. One way is at the console with a monitor, keyboard, and mouse attached to the PC. Another way is via a serial console, either by dial-up via a modem or a PC running a terminal emulator and connected to the Linux PC via a null modem cable. You can also connect to your system through a wired or wireless network using the telnet or ssh commands. The information in this section shows you how to access and use the Linux system using physical and remote text-based logins.

Note

This chapter focuses on text-based logins and use of Linux. Graphical logins and using a graphical desktop are described in the section "Starting X" in Chapter 6.


Text-based Console Login

If you sit down at your PC and log in to a Linux system that has not been booted to a graphical login, you see a prompt similar to this one:

Ubuntu 6.06 LTS optimus login: 


Your prompt might vary, depending on the version of Ubuntu you are using. In any event, at this prompt, type in your username and press Enter. When you are prompted for your password, type it in and press Enter.

Note

Note that your password is not echoed back to you, which is a good idea. Why is it a good idea? Well, people are prevented from looking over your shoulder and seeing your screen input. It is not difficult to guess that a seven-letter password might correspond to the user's spouse's first name!


Working with Virtual Consoles

After logging in, you will be using an interactive command prompt known as a shell in the Linux text-based or console mode. While you are sitting at your command prompt, you can also use one or more virtual consoles or terminals. Virtual consoles allow you to log in to Linux multiple times. (Each login is called a session.) This can be useful if you are not using a graphical desktop, but want to use several interactive programs, such as a text editor and web browser, at the same time. To do so, after you log in, run a program and then jump to another login prompt, log in, and start another session. Linux supports 63 virtual consoles, but only the first 6 are configured for use. (You can use 7 if you do not run X11.) Here's how to use virtual Linux consoles:

1.

Log in. You use the first virtual console, or vt1 by default.

2.

Press F2. You should then see another login prompt. Log in again, and you are then using vt2, the second Linux console.

3.

Press Alt+F1 to jump back to vt1.

4.

Press Alt+F2 to jump back to vt2.

You can jump back and forth between sessions by using the Alt key plus the F key number of the desired session, such as F3, F4, F5, or F6.

One caveat when using virtual consoles is that there is a default limit on the available number (usually six) if an active X Window session is occupying vt7. To jump to a virtual console from an X session, press Ctrl+Alt+F2; you will be at vt2. You can then jump back to your X session from the text console by pressing Alt+F7 (to go to vt7, in use by X). You should also be careful to save any work in progress before you exit each session and to log out of each session when finished. If you do not, you could leave an open login and shell prompt available at the keyboard to anyone who walks by!

Note

In addition to virtual console keystrokes, the Linux console might also recognize the three-fingered salute (or Vulcan neck pinch), Ctrl+Alt+Del. This behavior (and the number of virtual terminals) can be controlled by the system administrator by editing the system's initialization table, /etc/inittab. See the Keyboard and Console HOWTO at http://www.tldp.org/ for more details.


Using Simple Keyboard and Mouse Techniques in a Linux Console Session

Working with Linux in a console-based session usually involves entering commands from the keyboard. However, you can also use simple mouse controls as well. Linux keyboard combinations and mouse support help provide virtual console navigation, start special system actions (such as rebooting or shutting down), provide shortcuts to save typing, and can aid in reading files or viewing program output.

For example, you can scroll the contents of your screen from the console by pressing Shift+PageUp or Shift+PageDown, and can copy and paste text using your mouse buttons. This section shows you how to access default or custom menus at the text console, which can be helpful to get system information or to launch new programs.

If you use a mouse with Linux (and you most likely do), you can use your pointing device for copy and paste operations. This support is provided by gpm, the general purpose mouse server. The gpm server must be enabled or started while booting Linux (see Chapter 15 for more details in the section "Controlling Services at Boot with Administrative Tools"). To copy a section of text, click and drag text with the left mouse button (button 1) held down. To paste text, click an insertion point, and then press the middle mouse button (button 2).

Button assignment, like all mouse controls during text console use, is managed by command-line options given to gpm when it is started. For example, if you look at the gpm startup script named gpm under the /etc/rc.d/init.d/ directory, you will see that it uses the file named gpm.conf under the /etc/ directory to hold options:

# Additional options for gpm (e.g. acceleration), device OPTIONS="" DEVICE="/dev/input/mice" 


You can add options, detailed in the gpm man page, to change how your mouse works, enable or disable features, or assign special commands to a specific mouse button click. For example, to change your button order from 123 (left, middle, and right) to 321, edit the /etc/gpm.conf file using sudo and change the OPTIONS enTRy like so:

OPTIONS="-B 321" 


After saving your changes, restart gpm like so:

$ sudo /etc/rc.d/init.d/gpm restart 


Your mouse buttons will now be reversed!

You can change your keyboard layouts by using the loadkeys command. To use a different font for the console, try the setfont command. Ubuntu comes with nearly 150 different console fonts, which are found under the /lib/kbd/consolefonts directory.

Note

A text-based, dial-up login, also known as a shell account, looks much the same as a text-based login at a PC running Linux. Details about setting up Linux to answer the phone and provide a login prompt via a modem are in Chapter 18. Using dial-up access has some limitations, such as the inability to use virtual consoles. From a shell account, however, you can start programs in the background (using the ampersand, &), run programs after logging out with the nohup command, or use the screen command to simulate virtual terminals (an approach that works much like using virtual consoles). For more information on different shells included with Linux, see Chapter 15.


Logging Out

Use the exit or logout commands to exit your session. Type the command and press Enter. You will then be returned to the login prompt. If you use virtual consoles, remember to exit each console before leaving your PC. (Otherwise, someone could easily sit down and use your account.)

Logging in and Out from a Remote Computer

Although you can happily log in on your computer, an act known as a local log in, you can also log in to your computer via a network connection from a remote computer. Linux-based operating systems provide a number of remote access commands you can use to log in to other computers on your local area network (LAN), wide area network (WAN), or the Internet. Note that not only must you have an account on the remote computer, but the remote computer must be configured to support remote loginsotherwise, you won't be able to log in.

Note

See Chapter 18 to see how to set up network interfaces with Linux to support remote network logins and Chapter 15 to see how to start remote access services (such as sshd).


The best and most secure way (barring future exploits) to log in to a remote Linux computer is to use the ssh or Secure Shell client. Your login and session are encrypted while you work on the remote computer. The ssh client features many different command-line options, but can be simply used with the name of the remote computer, like this:

[andrew@laptop ~]$ ssh 192.168.2.2 The authenticity of host '192.168.2.2' can't be established. RSA key fingerprint is 91:7d:74:4b:1c:a1:96:06:ba:2f:d4:cf:78:44:ff:d7. Are you sure you want to continue connecting (yes/no)? yes 


The first time you connect with a remote computer using ssh, Linux displays the remote computer's encrypted identity key and asks you to verify the connection. After you type yes and press Enter, you are warned that the remote computer's identity (key) has been entered in a file named known_hosts under the .ssh directory in your home directory. You are also prompted to enter your password:

Warning: Permanently added '192.168.2.2' (RSA) \ to the list of known hosts. Password: /usr/X11R6/bin/xauth: creating new authority file /home/winky/.Xauthority [andrew@192.168.2.2 andrew]$ 


After entering your password, you can then work on the remote computer. Again, everything you enter on the keyboard in communication with the remote computer is encrypted. Use the exit or logout commands to exit your session and return to the shell on your computer.

Caution

The next remote access command, telnet, is shown as an example because it is included with most Linux distributions, but you shouldn't use it: telnet transmits your username and password in clear text across the network, posing a huge security risk for your system. Also, note that this service must be explicitly turned on and allowed on the remote computer (by editing the file named telnet under the /etc/xinetd.d directory and then restarting xinetd; see the section "Starting and Stopping Services Manually" in Chapter 15 for more information on starting or restarting a system service).


The telnet command can be used, along with the name of a remote host or Internet Protocol (IP) address, to log in to a remote computer. For example, to log in to the host named desktop from the host named laptop, you would enter the following:

[andrew@laptop andrew]$ telnet desktop 


After you press Enter, you will see some information presented by the remote computer, and you will then be prompted for your username on the remote system:

Trying 192.168.2.70... Connected to desktop.andbhudson.co.uk (192.168.2.73). Escape character is '^]'. Linux 2.6.10-1.741_FC3 (desktop.andbhudson.co.uk) (15:43 on Friday, 4 February 2005) login: andrew 


After you type your username (andrew in this example), press Enter, and you will be prompted for your password on the remote system:

Password: Last login: Fri Jun 4 17:12:35 from 192.168.2.2 [andrew@desktop andrew]$ 


After you type your password and press Enter (your password is not echoed back), you will be informed of the last time you logged in, and you can then work on the remote computer. Use the exit or logout command to exit your session and return to the shell on your computer.

Although it is possible to use telnet to log in to a remote computer over a wired and wireless network, such use is not recommended, especially via the Internet. When you type your username, press Enter, and type your password, your username and password are transmitted without encryption over the network. Transmitting usernames and passwords over a network without encryption is a bad idea for obvious reasons. However, if you have a physically secure internal network not connected to the Internet, have firewall policies in place, and don't use wireless networking, there is nothing wrong with using telnet. In fact, the encryption overhead of using ssh can reduce network transmission rates in some cases.

Note

It is possible to use telnet securely over an encrypted Virtual Private Network (VPN), but that is beyond the scope of this chapter and book. Besides, why bother when you can use SSH?




Ubuntu Unleashed
Ubuntu Unleashed 2011 Edition: Covering 10.10 and 11.04 (6th Edition)
ISBN: 0672333449
EAN: 2147483647
Year: 2006
Pages: 318

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net