Definizione di terminale/konsole

Un terminale, chiamato anche console e "konsole" in KDE, è un programma che rende possibile interagire direttamente con il S.O. Linux immettendo vari comandi che sono poi eseguiti immediatamente. Vi si fa spesso riferimento chiamandolo "shell" o "command line" - "linea di comando", il terminale è uno strumento davvero potente di cui vale davvero la pena di ottenere alcune conoscenze di base sul suo uso.

In aptosid si può trovare il terminale/konsole accanto al K-menu, sotto il simbolo di una schermo nero di un PC. A seconda del tema di icone che si è scelto esso può contenere l'immagine di una shell. Si troverà la stessa icona nel K-menu sotto al voce "Sistema".

Quando si apre una finestra di terminale verrà presentata una riga (chiamata "prompt") che avrà il formato seguente:

username@hostname:~$

Si dovrebbe riconoscere il nome utente (username) come il nome con cui si è entrati nel sistema. Il simbolo ~ (tilde) indica che si è nella cartella home e $ indica che si è nel sistema con i privilegi di utente normale. Alla fine si vedrà il cursore. Questa è la linea di comando dove immettere i comandi che si vogliono eseguire.

Molti comandi devono essere eseguiti con i privilegi di root (amministratore). Per ottenerli si deve digitare: su al prompt e premere invio. Verrà chiesta la password di root. Digitarla e premere ancora invio (si noterà che mentre si digita questa password nulla viene mostrato a schermo).

Se la password è corretta il prompt cambierà così:

root@hostname:/home/nomeutente#

ATTENZIONE: Mentre si è nel sistema come root, esso non si opporrà nel fare cose potenzialmente pericolose come cancellare file importanti, ecc. . Si deve essere assolutamente sicuri riguardo alle cose che si stanno facendo perché è davvero possibile danneggiare seriamente il sistema.

Notare che il $ è cambiato in # (hash). In un terminale/konsole il simbolo # indica sempre che si è nel sistema con i privilegi di root. In questo manuale vengono ritenute implicite le cose da fare che precedono i simboli $ o # negli esempi. Così un comando come:

# apt-get install qualcosa

significa: aprire un terminale, diventare root (con sux) e immettere il comando al prompt #. (non digitare il simbolo #)

Qualche volta la konsole e/o il terminale in esecuzione può corrompersi, allora digitare:

reset

e premere invio.

Se quanto visualizzato da una konsole e/o da un terminale sembra distorto si può intervenire premendo ctrl+l, che ridisegna la finestra del terminale. Questa distorsione si presenta per lo più mentre si lavora con programmi che usano l'interfaccia ncurses, come irssi

Occasionalmente una konsole e/o un terminale può sembrare bloccato, tuttavia non lo è, e qualsiasi cosa si digita verrà poi eseguito in sequenza. Questa situazione può essere causata dalla pressione accidentale di ctrl+s. In questo caso provare ctrl+q per sbloccare il terminale.

Terminale colorato prompt di user:~$ e root:# :

I prompt del terminale colorato possono salvare dal compiere un imbarazzante e forse catastrofico errore mentre si è root # quando invece si vorrebbe essere user~$, oppure usare i colori del prompt come segnali per comandi eseguiti qualche centinaio di linee prima.

Per default, entrambi i prompt user~$ e root# hanno lo stesso colore ed è veramente semplice cambiare i colori per entrambi gli account.

I colori di base sono:

(la sintassi è 00;XX)
[00;30] Black
[00;31] Red
[00;32] Green
[00;33] Yellow
[00;34] Blue
[00;35] Magenta
[00;36] Cyan
[00;37] White
[Sostituire [00;XX] con [01;XX] per ottenere una variazione di colore].
Per cambiare il colore del prompt del proprio nome utente ~$ :

Come $ utente, con il tuo editor di testo preferito:

$ <editor> ~/.bashrc

Scorrere fino alla linea 39 e decommentarla, quindi:

force_color_prompt=yes

Scorrere fino alla linea 53 e dove c'è 01;32m, (per esempio), cambiarlo con un colore che piace.

Come esempio, per un prompt user~:$ colorato cyan , [01;36m\], si deve cambiare il codice [01;XXm\] in 3 posti con la sintassi:

PS1='${debian_chroot:+($debian_chroot)}\[\033[01;36m\]\u@\h\[\033[01;36m\]:\[\033[01;36m\]\w\[\033[00m\]\$ '

Il nuovo look comparirà nelle nuove sessioni di terminale.

Per cambiare il colore del prompt di root # :
su
<mcedit> /root/.bashrc

Andare alla linea 39 e decommentarla, poi:

force_color_prompt=yes

Scorrere fino alla linea 53 e dove c'è 01;32m, (per esempio), cambiarlo con un colore che piace.

Come esempio, per un prompt root: # colorato red user~:$ , [01;36m\], si deve cambiare il codice [01;XXm\] in 3 posti con la sintassi:

PS1='${debian_chroot:+($debian_chroot)}\[\033[01;31m\]\u@\h\[\033[01;31m\]:\[\033[01;31m\]\w\[\033[00m\]\$ '

Il nuovo look comparirà nelle nuove sessioni di terminale.

Colori di sfondo del Terminale

Per cambiare il colore di sfondo e le opzioni di carattere del terminale, vedere le opzioni del menù del terminale.

Terminal colours

Ci sono tante opzioni disponibili per cambiare colori, tuttavia la raccomandazione è di restare sul semplice.

About Xapps whilst in X as root and sux2 as an alias

While the common command for becoming root is <su>, using kdesu <Application> or gksu <Application> will allow you run GUI / X11 applications from the desktop and allow root to start graphical applications.

For those used to using sux , (sux has been broken by a 'login' security update for a long time), will find that sux2, as an alias, is a good option in the meantime otherwise use, as $user:

$ suxterm

In most cases, using an Xapp while in root is to take advantage of a GUI editor like kate, kwrite, mousepad or leafpad to name just a few. X while in root is also required for the GUI partitioning application gparted. (Also see sudo).

Non-gui applications like mcedit, vim, vi, or emacs are highly recommended as editors, with mcedit being one of the intuitive editors of the non-gui applications for use by first time users of a text editor while in root with X. mcedit, vim, vi or emacs are possibly your only choices of an editor while not in X. (mc is an ideal file browser while not in X).

KDE options

To start kdesu in KDE:

Alt+F2

or right-click on the desktop and choose:

Run Command

then:

kdesu <Application>

Some KDE applications require dbus-launch in front of the application:

dbus-launch <Application>

Xfce options

To start Run Command in Xfce:

Alt+F2

or right-click on the desktop and choose:

Run Command

then:

gksu <Application>

Other Desktop Window Manager options

Another keyboard option also generic to all major Desktop Managers is:

Alt+F2

then:

su-to-root -X -c <Application>

Terminal/konsole options

To run kdesu in a terminal:

/usr/lib/kde4/libexec/kdesu

To run gksu in a terminal:

/usr/bin/gksu

Another option is ssh -X root@localhost otherwise use su-to-root -X -c :

ssh -X root@localhost

Whilst ssh is installed by defualt it may not be enabled. To enable ssh, as root:

service ssh start

else:

su-to-root -X -c <application>

Setting up an alias in a the terminal for kdesu, gksu, su-to-root -X -c or ssh -X root@localhost called sux2

Typing a long command line in the terminal all the time is not an ideal, so the solution is to set up an terminal/konsole alias called sux2.

Note: In each of the following examples the command to activate the alias in a terminal will be:

sux2 <application>
Setting an alias

The use of mcedit as $user in the following examples is deliberate. Feel free to use any editor you wish to use:

$ mcedit ~/.bashrc

Note:To enable any changes you have made you need to close the terminal/konsole and restart it.

Add the following code to the file ~/.bashrc by appending the code to the end of the file:

Setting kdesu an alias

alias sux2='/usr/lib/kde4/libexec/kdesu' 

Setting gksu an alias

alias sux2='/usr/bin/gksu'

Setting su-to-root -X -c as an alias

alias sux2='su-to-root -X -c'

Setting ssh -X root@localhost as an alias

alias sux2='ssh -X root@localhost'

You may want to implement a ~/.bash_alias file to contain all the aliases that you find useful. Therefore make a file called ~/.bash_alias. Read the ~/.bashrc file and /usr/share/doc/bash-doc/examples:

apt-get install bash-doc

sudo non è supportato

sudo non è abilitato per default nella installazione su hard disk. È disponibile per l'uso mentre si è avviato da livecd dal momento che non è definita nessuna password di root. La ragione di questa scelta è che se qualcuno ottiene le password degli utenti, non ottiene immediatamente privilegi da super utente e fa cambiamenti potenzialmente dannosi al sistema.

Un altro problema di sudo è che induce l'utente ad avviare una applicazione di root con la configurazione da utente che può causare cambiamenti o sovrascrittura di permessi e questo potrebbe rendere un'applicazione inutilizzabile dall'utente stesso. Utilizzare sux2, kdesu, gksu oppure su-to-root -X -c or ssh -X root@localhost come raccomandato.

Essere root

ATTENZIONE: Mentre si è nel sistema come root, esso non si opporrà nel fare cose potenzialmente pericolose come cancellare file importanti, ecc. . Si deve essere assolutamente sicuri riguardo alle cose che si stanno facendo perché è davvero possibile danneggiare seriamente il sistema.

In nessuna circostanza si dovrebbe essere come root in una console/terminale per lanciare applicazioni che un utente normale usa per il suo lavoro quotidiano, coma spedire posta, creare fogli elettronici o navigare in internet e cosi via.

Aiuto nella Linea di Comando

Ebbene, esiste. Molti comandi e programmi Linux sono forniti con il proprio manuale chiamato "man page" o "manual page" accessibile dalla linea di comando. La sintassi è:

$ man nome-comando

oppure

$ man -k <keyword>

Questo porta in console la "manual-page" per quel comando. Navigare su e giù con i tasti del cursore. Ad esempio provare:

$ man apt-get

Per uscire dalle man-pages digitare semplicemente q

Un'altra utile facilitazione è il comando "apropos". Fondamentalmente abilita a cercare le man-pages per un comando se ad esempio non se ne ricorda la completa sintassi. Per esempio si può provare:

$ apropos apt-

Viene visualizzata la lista di tutti i comandi per il gestore dei pacchetti "apt". L'utilità "apropos" è uno strumento abbastanza potente, ma la sua descrizione in dettaglio è al di là dello scopo di questo manuale. Per i dettagli sul suo uso leggere la sua man-page.

Lista del comandi del terminale Linux (estratti)

Un eccellente sillabario sull'uso di BASH si trova su linuxcommand.org

A very comprehensive list of commands in alphabetical order from An A-Z Index of the Bash command line for Linux and is a 'must bookmark'

Ci sono molti manuali su Internet. Uno molto buono indirizzato ai principianti si trova su: A Beginner's Bash

Oppure usare il motore di ricerca preferito per trovarne altri.

Page last revised 05/03/2013 1326 UTC