Définition de la console/terminal
Un terminal, aussi appelé console, et dans KDE konsole, est un programme rendant possible d'interagir directement avec le système d'exploitation GNU/Linux, au moyen de commandes variées qui s'exécutent ainsi instantannément. Aussi évoqué sous les termes de 'shell' ou de 'ligne de commande', le terminal est un outil très puissant qui vaut la peine d'acquérir un minimum de compréhension de ses usages.
Dans aptosid vous trouverez l'accès à la console/terminal sous la forme d'une icône voisine du menu K, représentant un petit moniteur de PC. En fonction de l'environnement fenêtré que vous préférerez utiliser, cette icône pourra dans certains cas contenir un petit coquillage (shell). Vous trouverez également un accès à la console dans le sous-menu "système" du menu K.
Quand vous ouvrez un terminal vous découvrez le 'prompt', autrement dit l'invite de commande, qui se présente comme ceci:
nomdutilisateur@nomdemachine:~$
Vous devriez reconnaître le nom d'utilisateur grâce auquel vous êtes logué sous linux. Le ~ (tilde) indique que vous vous trouvez dans votre répertoire 'home' et le signe $ indique que vous êtes logué dans la console avec des privilèges d'utilisateur. Le curseur clignote à la suite de cette invite. C'est à cet endroit que vous entrerez vos commandes.
Beaucoup de commandes nécessitent d'être activées avec des privilèges d'administrateur (root). Pour ce faire, entrez :su à la suite de l'invite et appuyez sur la touche "Entrée" (enter). Vous vous trouvez alors invité à entrer votre mot-de-passe d'administrateur. Tapez-le puis appuyez sur "Entrée" (notez que pendant la frappe du mot-de-passe rien n'apparaît à l'écran).
Si le mot-de-passe est le bon, l'invite de commande change et devient alors:
root@nomdemachine:/home/nomdutilisateur#
ATTENTION : durant votre connexion dans la console en tant qu'utilisateur root, le système ne vous empêchera pas d'exécuter toute manipulation potentiellement dangereuse, comme l'effacement définitif des fichiers ou répertoires importants, etc. Vous devez impérativement être sûr de ce que vous faites, car il est parfaitement possible d'endommager sérieusement et définitivement votre système et vos données !
Vous remarquerez que le signe $ a été remplacé par un # (dièse/hash). Dans un terminal/une console, le # indique toujours que vous êtes logué avec des privilèges d'administration (root). Dans la suite de ce manuel tout ce qui constitue l'invite de commande à proprement parler et qui précéderait les signes $ ou # sera omis. Nous comprendrons qu'une commande comme celle-ci:
# apt-get install quelquechose
Signifie: Ouvrez un terminal, devenez root (sux) et entrez la commande au prompt #. (Bien sûr, il ne faut pas taper le dièse ! #)
Il peut arriver qu'une console/un terminal soit corrompue ; dans ce cas entrez-y:
reset
et appuyez sur la touche "Entrée".
Si une console et/ou un terminal s'affiche de manière déformée, vous pourrez dans certains cas y remédier au moyen du raccourci-clavier ctrl+l, qui est sensé redessiner la fenêtre du-dit terminal. De telles distorsions peuvent survenir lorsque vous exécutez des programmes utilisant l'interface ncurses, comme irssi, par exemple.
À l'occasion, il peut également sembler que la console ou terminal soit gelée - mais c'est une illusion et sachez que tout ce que vous seriez susceptibles d'y entrer s'exécuterait. Ce gel apparent peut provenir d'un appui malencontreux de type ctrl+s. Dans un cas pareil essayez d'appuyer sur ctrl+q pour débloquer votre terminal.
Mettre en couleur dans le terminal son prompt utilisateur (user):~$ et administrateur (root):# :
Mettre en couleur les prompts peut vous éviter toute dommageable et irréparrable erreur en tant qu' adminitrateur (root) # alors que vous pensiez être utilisateur (user)~$, ou d'utiliser les prompts coloriés comme marqueur des commandes exécutées quelques 100 lignes plus tôt.
Par défaut, le prompt de l'utilisateur (user)~$ et de l'administrateur (root)# ont la même couleur et il est très aisé de changer la couleur des 2 comptes.
Les couleurs basiques sont:
(la syntaxe est 00;XX) [00;30] Noir [00;31] Rouge [00;32] Vert [00;33] Jaune [00;34] Bleu [00;35] Magenta [00;36] Cyan [00;37] Blanc [Remplacez [00;XX] par [01;XX] pour obtenir des variations dans la couleur].
Pour changer la couleur de votre prompt utilisateur ~$ :
En tantqu'utilisateur (user) $ , à partir de votre éditeur de texte:
$ <editor> ~/.bashrc
Aller à la ligne 39 et décommentez ainsi:
force_color_prompt=yes
Aller à la ligne 53 où se trouve ceci 01;32m, (par exemple), et changer en une couleur qui vous sied.
Par exemple pour la couleur cyan comme prompt utilisateur (user)~:$ , [01;36m\], vous devez changer le code [01;XXm\] en 3 endroits par cette syntaxe:
PS1='${debian_chroot:+($debian_chroot)}\[\033[01;36m\]\u@\h\[\033[01;36m\]:\[\033[01;36m\]\w\[\033[00m\]\$ '
Les changements apparaîtront dans la nouvelle session du terminal.
Pour changer la couleur du prompt administrateur (root)# :
su <mcedit> /root/.bashrc
Aller à la ligne 39 et décommentez ainsi:
force_color_prompt=yes
Aller à la ligne 53 où se trouve ceci 01;32m, (par exemple), et changer en une couleur qui vous sied.
Par exemple pour la couleur rouge comme prompt administrateur (root):# , [01;31m\], vous devez changer le code [01;XXm\] en 3 endroits par cette syntaxe:
PS1='${debian_chroot:+($debian_chroot)}\[\033[01;31m\]\u@\h\[\033[01;31m\]:\[\033[01;31m\]\w\[\033[00m\]\$ '
Les changements apparaîtront dans la nouvelle session du terminal.
Couleur de Fond du terminal
Pour changer la couleur de fond et les options de font du terminal, aller dans les options du menu du terminal.
Il existe une plethore d'options de couleurs disponibles, cependant il est recommandé de faire simple.
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 n'est pas supporté
sudo n'est pas disponible par défaut lors de l'installation en dur. Il n'est disponible que pour une utilisation livecd où aucun mot de passe root n'est requis. La raison, c'est qu'en cas d'attaque et que les mots de passe utilisateurs sont découverts, il n'y aura aucun accès direct aux privilèges de super-utilisateurs qui pourraient permettre d'endommager votre système.
Sudo permet aussi de lancer en tant qu'utilisateur des applications d'administrateur (root), ce qui outrepasse et change les autorisations. Dans certains cas, cela peut irremédiablement rendre une application inutilisable pour l'utilisateur. Utiliser sux2, kdesu, gksu ou su-to-root -X -c or ssh -X root@localhost comme recommandé.
En tant que root
ATTENTION ! Lorsque vous êtes dans la session administrateur, le système ne vous empêche pas de faire des choses potentiellement dangereuses, comme effacer des fichiers importants, etc., vous devez être absolument sûr de ce vous faites, parce qu'il est possible d'endommager définitivement votre système.
Sous aucun prétexte vous ne devrez être administrateur dans le terminal pour lancer les applications qu'un utilisateur ordinaire peut lancer quotidiennement en production, comme envoyer des E-mails, créer des tableaux ou naviguer sur internet, etc.
Aide en ligne de commande
Oui, il existe une telle chose. La plupart des commandes et programmes Linux sont installés avec leur propre manuel d'utilisation, celui-ci appelé "page man" ou "page de manuel", accessible depuis la ligne de commande. La syntaxe d'accès est la suivante :
$ man commande
or
$ man -k <keyword>
Cette entrée ouvre la page de manuel correspondant à la commande concernée. On navigue dans la page man avec les flèches haut et bas du curseur. Par exemple, essayez:
$ man apt-get
Pour sortir de l'aide, un simple appui sur la touche q du clavier suffit.
Un autre outil précieux consiste dans la commande "apropos". Apropos vous permet de rechercher une commande dans les pages man, par exemple si vous ne vous rappelez pas précisément de sa syntaxe complète. Par exemple vous pourriez essayer :
$ apropos apt-
L'entrée vous permet l'affichage de toutes les commandes possibles avec le gestionnaire de paquets 'apt'. L'outil 'apropos' est un utilitaire puissant, mais le décrire en détail excéderait très largement l'objectif du présent manuel. Pour le découvrir en détail, voyez sa page man.
Liste de commandes pour Terminal (extraits)
Un excellent point de départ pour utiliser le terminal BASH se trouve sur 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'
Internet regorge de tutoriaux sur le sujet. Un d'entre eux est l'excellent : A Beginner's Bash
Utilisez sans modération votre moteur de recherche préféré pour en découvrir plus sur le sujet.