Terminal Activity: Difference between revisions
(30 intermediate revisions by 8 users not shown) | |||
Line 13: | Line 13: | ||
The Terminal is an Activity that allows you to control your XO directly from a command line, similar to the Terminal program in Mac OS X or the Command Prompt in Microsoft Windows. The Terminal allows you to do far more with your XO than running Sugar activities. But '''BEWARE''' it is also possible to delete your data, so be careful. And if you become the [[root]] user, you have full control of the computer and can destroy all software! |
The Terminal is an Activity that allows you to control your XO directly from a command line, similar to the Terminal program in Mac OS X or the Command Prompt in Microsoft Windows. The Terminal allows you to do far more with your XO than running Sugar activities. But '''BEWARE''' it is also possible to delete your data, so be careful. And if you become the [[root]] user, you have full control of the computer and can destroy all software! |
||
See the [http://en.flossmanuals.net/terminal Terminal manual]. |
|||
== Starting Terminal == |
== Starting Terminal == |
||
The Terminal Activity is usually not marked as a favorite, so it does not appear in the Home View Favorites view. |
|||
The Terminal Activity is found in the Activities taskbar at the bottom of your [http://laptop.org/laptop/start/homeview.shtml Home View]. You may need to scroll through the Activities taskbar by using the right arrow icon at the bottom of your screen ([[Image:Frame-scroll-right.gif|25px]]) to find the [[Image:Activity-terminal.svg|35px]] icon. |
|||
In the Home View, press ctrl-2 to select the List view, search for Terminal, and click on it to start. |
|||
You might also mark it as a favorite if you like. |
|||
===Starting a console=== |
===Starting a console=== |
||
Line 23: | Line 29: | ||
== Common '''Terminal''' commands == |
== Common '''Terminal''' commands == |
||
When you start Terminal, it runs the [[wikipedia:bash|Bash]] "shell" program that interprets keystrokes and commands. Its main job is to allow you to run other programs, for example: |
When you start Terminal, it runs the [[wikipedia:bash|Bash]] "shell" program that interprets keystrokes and commands. Its main job is to allow you to run other programs, for example: |
||
* [[Sugar-Control-Panel|sugar-control-panel]] - Change [[Sugar-Control-Panel#nickname|nickname]], [[Sugar-Control-Panel#Color|XO Color]], [[Sugar-Control-Panel#Time|time zone]] and other options |
|||
* [[ifconfig]] - View [[Wifi Connectivity|Wireless Network connections]] |
|||
* [[nano]] for editing text files directly. If you want to edit text files in Sugar, use [[Write]]. |
* [[nano]] for editing text files directly. If you want to edit text files in Sugar, use [[Write]]. |
||
* [[yum]] for automatically installing new software. |
* [[yum]] for automatically installing new software. |
||
Line 34: | Line 38: | ||
=== Users and super-user === |
=== Users and super-user === |
||
Initially Terminal |
Initially Terminal begins as the default user (usually "olpc"). Some programs require that you run them as the [[root]] "super-user. You can prepend <tt>[[sudo]]</tt> to some of these, or press the #_ icon in the Activity menu to become root, or enter <tt>[[su -l]]</tt> to become root. The root user has awesome destructive power, do not run commands as root unless you have to. |
||
== Copy and paste in Terminal == |
== Copy and paste in Terminal == |
||
* Use the Edit menu |
|||
Several options: |
|||
Where is the Edit menu? |
|||
* Use the Edit menu, which is underneath the scissors icon, |
|||
* Press Shift+Ctrl+C to copy, Shift+Ctrl+V to paste, |
|||
* Plug a three-button USB mouse into a port and use the middle mouse button to paste, |
|||
* Click both buttons below the track pad (or click directly between them) to paste. |
|||
* Configure a bluetooth mouse on an XO-4 and use the middle mouse button to paste, |
|||
You can select text in Terminal's window and use the mouse or track pad methods to duplicate it without first copying it to the clipboard. |
|||
* Press Shift+Ctrl+C to copy, Shift+Ctrl+V to paste. (You have to hold the shift key down in addition because Ctrl+C and Ctrl+V are meaningful key combinations in terminal programs.) |
|||
* Plug a three-button mouse into a USB port and use the middle mouse button to paste. |
|||
* Click both buttons below the XO-1's track pad (or click directly between them) to paste. |
|||
== Copy from Wiki and Paste in Terminal == |
|||
You can select text in Terminal's window and use the last technique to duplicate it without first copying it to the Sugar clipboard. |
|||
Many Wiki pages provide commands that are to be pasted into Terminal. For example: |
|||
=== Paste script === |
|||
echo this is a test |
|||
''(This is more relevant to earlier releases where copy and paste did not work in Terminal.'' |
|||
echo hello world |
|||
What you should do is: |
|||
* Start the Terminal activity, |
|||
* Press Alt-Tab to switch to the Browse activity, |
|||
* Use the mouse or touchpad to highlight the text of the commands, |
|||
* Press Ctrl+C to copy, |
|||
* Press Alt-Tab to switch to the Terminal activity, |
|||
* Press Shift+Ctrl+V to paste, |
|||
* Look at the outcome of the commands. |
|||
See also [[Compound_commands#Copy_and_paste|how to copy and paste a compound command]]. |
|||
You can create a command-line script named ''paste'' to paste text from the clipboard into Terminal. |
|||
To create this using the nano text editor, enter |
|||
nano paste |
|||
In the file enter the following |
|||
<pre>#!/usr/bin/python |
|||
import pygtk |
|||
import gtk |
|||
cb = gtk.clipboard_get(selection = "PRIMARY") |
|||
print cb.wait_for_text()</pre> |
|||
su-1 |
|||
wget http://fpdownload.macromedia.com/get/flashplayer/current/flash-plugin-10.0.3.18-release.i386.rpm.rpm-i-flash-plugin-10.0.32-release.i386.rpm |
|||
exit |
|||
chmod a+x paste |
|||
Save and exit, then make the file executable by entering |
|||
chmod a+x paste |
|||
Finally to run the script to paste from the clipboard enter |
|||
./paste |
|||
== Other keystroke commands == |
== Other keystroke commands == |
||
Line 74: | Line 71: | ||
==Change font size in the Terminal activity== |
==Change font size in the Terminal activity== |
||
To |
To change the font size, click on the eye icon, then click on - or +. |
||
* Launch the Terminal activity. |
|||
* Type |
|||
nano ~/.sugar/default/terminalrc |
|||
* Find the line saying |
|||
Font = Monospace 8 |
|||
And change it to |
|||
Font = Monospace 16 |
|||
(or whatever you want—see [[Fonts]] for info on determining available fonts). |
|||
* Press Control+X and answer '''Yes''' to save. |
|||
* Stop the Terminal activity (the stop-sign icon in the top right-hand corner of the Activity menu) |
|||
* Re-open Terminal, the terminal should now be in a larger font. |
|||
'''CAUTION''': When you change to a larger font as described, you may find that the text continues on following lines or wraps around in a confusing fashion. This is particularly true if you try to use the nano editor to make further changes. In that case you may have to use the vi editor which also is supplied with the terminal activity (type: |
|||
vi ~/.sugar/default/terminalrc |
|||
Be sure you understand how the vi editor works. If you make an error in saving the changes, you may render the terminal inoperative. The only way to restore it then may be to do a reinstall of sugar from a USB drive. (this is the writer's experience). |
|||
==The Console== |
==The Console== |
||
Another way to bring up the Linux command prompt is by pressing the Ctrl+Alt+Neighborhood keys at the same time (the Neighborhood view key is represented by a circle with 8 small dots [[Image:Mesh key f1 small.png]]). This will switch to a ''console'' terminal that runs outside the [[Sugar]] UI and X Window System. The console also displays some internal messages during XO operation. |
|||
(Note that many Sugar binding are not available in the console, so commands such as sugar-control-panel will not work there.) |
|||
Another way to bring up the Linux command prompt is by pressing the Ctrl+Alt+F2 keys in sequence. |
|||
By design, not all XOs have the F2 legend on the key, see [[Keyboard#Missing_keys]]. |
|||
There is a second terminal (technically, <tt>/dev/tty2</tt>) outside Sugar that you can switch to by pressing Ctrl+Alt+Group keys ([[Image:Friends key f2 small.png]]). |
|||
Ctrl-Alt-F2 will switch to a ''console'' terminal that runs outside the [[Sugar]] and [http://en.wikipedia.org/wiki/GNOME GNOME]. |
|||
===Logging in to the console === |
|||
In "Ship.1" releases (builds 650, 653, and 656), the console may give you a login prompt and require you to login before you can enter commands. |
|||
If so, type ''<tt>root</tt>'' and press the Enter key, |
|||
xo-''NN-NN-NN'' login: '''root''' |
|||
To return to the [[Sugar]] or [http://en.wikipedia.org/wiki/GNOME GNOME] environment, press Alt+F1. (On releases before 11.2.0, use Alt+F3). |
|||
In more recent builds both virtual terminals log you in as root after you first press Enter. |
|||
Most Sugar or GNOME commands won't work on the console. |
|||
You are now logged in as the [[root]] user, be careful. |
|||
=== |
===Logging in=== |
||
To increase the font size in the console, type: |
|||
setfont ''sun12x22'' |
|||
For a list of other console fonts, look in /lib/kbd/consolefonts/ and type: |
|||
ls /lib/kbd/consolefonts/*.psfu.gz |
|||
(remove the suffix .psfu.gz when used with the 'setfont' command) |
|||
For a permanant change, edit the line: |
|||
" ro ${ROOTDEV} console=ttyS0,115200 console=tty0 fbcon=font:''sun12x22''" expand$ to boot-file |
|||
in /boot/olpc.fth and substitute your font choice for ''sun12x22''. |
|||
Press enter, and the console will log you in as ''root''. |
|||
You are now logged in as the [[root]] user, be very careful. |
|||
== Alternative terminal program== |
== Alternative terminal program== |
||
You can install gnome-terminal: |
|||
[[su -l]] |
|||
[[yum]] install gnome-terminal |
|||
Here are the changes proposed: |
|||
After you press return you may receive a number of lines of text which end with "error 404 Not Found |
|||
Trying other mirror". |
|||
Be Patient: Eventually you should see a download of 4.4 MB then on the next line |
|||
fedora |
|||
then you will see |
|||
primary.squlite.bz 2 6.1MB |
|||
When you receive a -bash-3.2# prompt the load is complete. |
|||
End of change so far: |
|||
Use an existing terminal session to launch a 'gnome-terminal' session. |
|||
COMMENT: |
|||
Here there should be additional guidance. What is done next is not clear. The natural thing to do would be to exit the root into for the normal terminal prompt |
|||
Then enter "gnome" or "gnome-terminal" . |
|||
However neither command yields anything but |
|||
"bash: gnome-terminal (or gnome): command not found. |
|||
You may also switch to the GNOME desktop to use the Terminal program there, in the Applications -> System tools menu. |
|||
So that is all i can contribute at this time. LUDD. |
|||
== See also == |
== See also == |
||
* [[Linux software]] A brief description of <i>some</i> of the linux software that is installed with Sugar. |
* [[Linux software]] A brief description of <i>some</i> of the linux software that is installed with Sugar. |
||
* [http://www.ss64.com/bash/ BASH Reference] A longer list of commands and programs (many are not installed on the XO |
* [http://www.ss64.com/bash/ BASH Reference] A longer list of commands and programs (many are not installed on the XO by default because they aren't needed). |
Latest revision as of 03:09, 5 December 2013
Image:Support-banner-square.png|173px|community support pages rect 0 0 135 204 [1] rect 135 0 345 204 Support FAQ rect 0 205 135 408 [2]
- Comment : there's some whitespace here:
rect 135 205 345 408 Other support
- maybe desc none is better. testing.
desc none
</imagemap>The Terminal activity grants access to the XO's Linux command line.
The Terminal is an Activity that allows you to control your XO directly from a command line, similar to the Terminal program in Mac OS X or the Command Prompt in Microsoft Windows. The Terminal allows you to do far more with your XO than running Sugar activities. But BEWARE it is also possible to delete your data, so be careful. And if you become the root user, you have full control of the computer and can destroy all software!
See the Terminal manual.
Starting Terminal
The Terminal Activity is usually not marked as a favorite, so it does not appear in the Home View Favorites view.
In the Home View, press ctrl-2 to select the List view, search for Terminal, and click on it to start.
You might also mark it as a favorite if you like.
Starting a console
You can also access a Linux command prompt by switching to the console, instead of starting the Terminal activity.
Common Terminal commands
When you start Terminal, it runs the Bash "shell" program that interprets keystrokes and commands. Its main job is to allow you to run other programs, for example:
- nano for editing text files directly. If you want to edit text files in Sugar, use Write.
- yum for automatically installing new software.
- rpm - another way to automatically install new software
- olpc-logbat - log the activity of the battery system. Useful for assisting developers in debugging battery problems.
There are hundreds of Linux commands available in the Terminal, Linux software describes some more of them. The OLPC system software on the XO is a slimmed-down version of Fedora and so its command-line programs come from Fedora. Many command-line programs from Fedora are not available but experienced users can add them using yum or rpm.
Users and super-user
Initially Terminal begins as the default user (usually "olpc"). Some programs require that you run them as the root "super-user. You can prepend sudo to some of these, or press the #_ icon in the Activity menu to become root, or enter su -l to become root. The root user has awesome destructive power, do not run commands as root unless you have to.
Copy and paste in Terminal
Several options:
- Use the Edit menu, which is underneath the scissors icon,
- Press Shift+Ctrl+C to copy, Shift+Ctrl+V to paste,
- Plug a three-button USB mouse into a port and use the middle mouse button to paste,
- Click both buttons below the track pad (or click directly between them) to paste.
- Configure a bluetooth mouse on an XO-4 and use the middle mouse button to paste,
You can select text in Terminal's window and use the mouse or track pad methods to duplicate it without first copying it to the clipboard.
Copy from Wiki and Paste in Terminal
Many Wiki pages provide commands that are to be pasted into Terminal. For example:
echo this is a test echo hello world
What you should do is:
- Start the Terminal activity,
- Press Alt-Tab to switch to the Browse activity,
- Use the mouse or touchpad to highlight the text of the commands,
- Press Ctrl+C to copy,
- Press Alt-Tab to switch to the Terminal activity,
- Press Shift+Ctrl+V to paste,
- Look at the outcome of the commands.
See also how to copy and paste a compound command.
Other keystroke commands
Keyboard shortcuts lists special keys in Sugar. Some of these don't work in Terminal, or require that you press the Shift key as well.
Change font size in the Terminal activity
To change the font size, click on the eye icon, then click on - or +.
The Console
Another way to bring up the Linux command prompt is by pressing the Ctrl+Alt+F2 keys in sequence.
By design, not all XOs have the F2 legend on the key, see Keyboard#Missing_keys.
Ctrl-Alt-F2 will switch to a console terminal that runs outside the Sugar and GNOME.
To return to the Sugar or GNOME environment, press Alt+F1. (On releases before 11.2.0, use Alt+F3).
Most Sugar or GNOME commands won't work on the console.
Logging in
Press enter, and the console will log you in as root. You are now logged in as the root user, be very careful.
Alternative terminal program
You may also switch to the GNOME desktop to use the Terminal program there, in the Applications -> System tools menu.
See also
- Linux software A brief description of some of the linux software that is installed with Sugar.
- BASH Reference A longer list of commands and programs (many are not installed on the XO by default because they aren't needed).