blinuxwiki - educational Blinux-minded

 

EduAmc

Page history last edited by Orwell 4 yrs ago

FichesEdu

 

EDU - AMC

 

Utilisation Accessible de MC

 


 

Midnight Commander, abrégé MC, est l'équivalent GNU/Linuxien de NC, Norton Commander (DOS).

 

Cette fiche décrit la méthode que j'ai découverte afin de permettre son utilisation par des non-voyants:

 

POUR COMMENCER

 

A première vue, MC semble bel et bien une application pour les
voyants, ne serait-ce que par sa présentation complexe. Elle est, en
effet, constituée de différents cadres. En voici une rapide description:
1ère ligne: barre de menu
Puis un grand cadre divisé en 2 panneaux, TAB permet de passer d'un
panneau à l'autre, nous verrons l'unique intérêt, qui est de taille,
de ce cadre pour les non-voyants.
Juste en-dessous du cadre, une ligne. C'est la plus importante pour
l'accessibilité de MC: comme le curseur ne se positionne pas sur les
fichiers, il faut bloquer son écran tactile sur cette ligne et lire.
Elle indique la position du curseur (Ex.: .., NomRep, NomFich où
NomRep est le nom du répertoire où se situe le curseur, NomFich,
idem).
Pour les liens symboliques, on vérifie le nom du lien dans le cadre,
en se basant par rapport aux fichiers au-dessus ou en-dessous, car
dans la ligne sous les panneaux est écrit directement le fichier vers
lequel pointe le lien.
De même lorsqu'on fais une sélection, la ligne sous les panneaux
indique la taille en octets des fichiers sélectionnés, faisant
disparaître le défilement.
Enfin, un prompt, où on tape les commandes.

 

L'ACCESSIBILITÉ EN QUELQUES POINTS OU L'HUMANISATION DE MC

 

Je ne décrirai pas ici tout MC, car la page de manuel est bien
faite pour cela. Elle vous permettra d'approfondir ce qui est dit ici.
Mais voici quelques astuces pour l'adapter aux besoins des
non-voyants. Pour ma part, il a remplacé tout le prompt, car en le
configurant correctement, on a (en Français) la puissance de Linux et
l'aisance de Windows. Pas mal non? :-)
Tout d'abord, démarrez  mc  avec l'option  -a  pour que les bords des
cadres apparaissent effectivement, et non avec des  ?  dans BRLTTY. Afin
de rendre cela automatique, dans  .bashrc,  faites un alias du type:
alias mc="mc -a"
Menu Gauche:
-mode de listage: choisir Définie par l'Utilisateur. En-dessous,
indiquez les informations que vous désirez voir sur les fichiers.
Voilà à quoi ressemble ma ligne sous Définie par l'Utilisateur:
type name mark | size | perm owner
Ce qui donne dans le panneau gauche 1ère ligne:
|                  Nom                  |Taille |PermissionPropriét|
et dans la ligne sous les panneaux (celle dont on a besoin):
NomFichier.Extension (si besoin), |    722|-rw-------jp      |
On a bien les permissions, la taille et les propriétaires. D'autres
info peuvent être ajoutées et la présentation personnalisée (voir la
page de manuel ( man mc )).
NB: si mark est avant ou après name, l'astérisque (*) indiquant que le
fichier est sélectionné apparaîtra au début ou sur la fin de la ligne
contenant le nom du fichier, avant la fin du cadre des noms, donc
avant celle des tailles. Noter au passage que la sélection d'un
élément se fait par Insertion. Quand on a appuyé sur cette touche, le
curseur se déplace à l'élément situé dessous. Donc, pour sélectionner
2 fichiers l'un en-dessous de l'autre, on fais 2 fois insertion, et
non insertion flèche bas insertion, la flùche entraînerait le
déplacement au fichier après celui en-dessous. De même dans l'autre
sens, si on va de bas en haut, on fait Insertion sur le premier puis
deux fois Flèche Haut et Insertion, pour sélectionner le fichier juste
au-dessus, car une flèche haut sélectionnerait le même fichier, donc
ne ferait rien.
-Ordre de tri: à vous de voir si vous préférez un tri alphabétique ou
un autre. Pour mes besoins spécifiques, j'ai demandé un tri par date
de modification, avec Tri inversé pour que le plus récent soit en
haut.
-F2: Menu utilisateur.
L'inconvénient d'avoir mc en permanence est que, si on a des aliases
dans le bash, il ne les prend pas en compte.
Ex.: un alias google pour "links www.google.fr" ne marche pas sous mc.
Il faudra taper toute la commande.
En revanche, le menu remplace cela. Mais je conseille de modifier
manuellement, en tant que root, le fichier /etc/mc/mc.menu Contrairement aux
apparences, sa syntaxe est simple. Je vous suggère d'ailleurs de tout
supprimer, sauf les deux premières lignes. Ces 2 premières lignes
ressemblent à:
shell_patterns=0
+ ! t t
Remplacez le reste par des lignes du type:
X      Intitulé commande
Détail commande
X: Lettre à taper pour activer le menu rapidement
Intitulé commande: nom que vous voulez donner à la commande, au
raccourci, qui sera affiché dans le Menu utilisateur.
Commande: commande à exécuter sans guillemets (Ex.: links
www.google.fr).
En 2 lignes vous avez un alias, pas besoin de séparer les groupes de 2
lignes, mc comprend que celles commençant par une lettre ou un chiffre
correspondent à ce qu'il doit afficher, celles avec une tabulation
avant la commande lui indiquent ce qu'il doit faire. La casse est respectée,
de sorte que vous pouvez avoir un  A  et un  a  pour deux commandes.
Quand Mc.menu est modifié, dans Menu utilisateur, vous aurez des
lignes du type:
A Google
Et, en vous positionant dessus, puis en tapant  Entrée  on en tapant
directement  A,  vous exécuterez la commande.
Ex.: dans mon mc.menu j'ai:
D    Monter disquette
mount /floppy
Dans Menu utilisateur j'ai:
D   Monter disquette
Si je tape  D,  la disquette se monte.
NB: il est envisageable d'avoir, sur la 2ème ligne, des commandes
complexes du type  "commande1&&commande2; commande1|commande2"  voir
plus complexes (voir la page de manuel).
-édition des Extensions de fichier: grâce à ce fichier, quand vous
êtes sur un fichier et faites  Entrée,  il l'ouvre avec l'application
adéquate. On peut le modifier de diverses façons mais elles me semblent
complexes, voici celle que j'ai retenue, qui me semble la plus simple:
se placer dans la bonne section, (Ex.: ### Documents ### contient
toutes les extensions de documents et les programmes à exécuter).
Dans la section, rajouter une ligne ou remplacer celle existante par:
shell/.xxx
Open=application %f
xxx=extension (txt, mp3, wav...)
application=noms de l'application
%f est important car cela dit à l'application qu'elle doit ouvrir le
fichier.
Pour info, shell/.mp3 signifie *.mp3, mais mc remplace *.mp3 par shell/.mp3.
La même chose en concret: remarquant que MC ne lisait ni mes MP3 ni
mes WAV avec le fichier mc.ext original, et qu'il n'ouvrait pas Emacs sur mes
fichiers TXT et sans extension, j'ai:
Modifié la section ### Sound files ### en supprimant les quatre
premières lignes, et en les remplaçant par les quatre suivantes:
shell/.wav
Open=play %f
shell/.mp3
Open=mpg321 %f
Dans ### Play lists ###, j'ai remplacé les 2 premières lignes par:
shell/.m3u
Open=mpg321 -Z@ %f
Dans ### Documents ###, section # html, j'ai mis:
shell/.html
Open=links %f
View=%view{ascii} lynx -dump -force_html %f
shell/.htm
Open=links %f
J'ai remplacé les lignes originales.
Section ### Default ###, j'ai ajouté et modifié les choses ainsi:
shell/*.txt
Open=emacs %f
View=
shell/*.
Open=emacs %f
C'est moins élaboré, mais efficace. Quand je fais  Entrée  sur un mp3,
il lance mpg321; sur un m3u idem, sur Wav il lance play, sur txt il ouvre
emacs...
A vous de voir pour d'autres extensions suivant vos besoins.
-Menu Options - Configuration:
Section Pause après l'exécution..., mettre Toujours, car sinon on n'a
pas les messages du bash lorsqu'on tape une commande sur le prompt de
mc. Alors que la pause nous invite à taper une touche, laissant le
temps de lire les messages.
Section Autres Options: j'ai désactivé l'option MEnus autos, car sinon
dès que mc se lance, on a le Menu utilisateur. Ca m'ennuyait, mais
certains peuvent apprécier. A vous de voir.
Je vous suggère aussi de laisser active Utiliser l'éditeur interne et
Utiliser la vue interne, car au moins sur un fichier, Entrée vous
l'ouvre avec votre éditeur favori, et F4 avec celui de mc, bien
inférieur à Emacs mais en Français.
Viennent ensuite 2 étapes importantes:
-Menu Options, Présentation. Comme pour un non-voyant, il est assez
malaisé de gérer deux cadres, quoique cela doit être possible mais peu
commode, voici mes suggestions:
Désactiver l'option "Séparer en deux parties égales"
En-dessous, arrangez-vous pour laisser la taille maximum au cadre
gauche et minimum à celui de droite
(celui de droite ne nous intéresse pas, autant laisser un maximum de place
à celui de gauche, pour qu'il affiche les noms de fichiers en entiers).
La touche  Espace  vous le permet en vous positionnant à gauche ou à droite,
Vous faites monter la valeur d'un cadre et baisser celle de l'autre.
Comme on ne peut cliquer avec les routine-curseur sur la barre de
menu, désactivez-la, ça fera gagner de la place. De toute façon, seule
F9 permet de l'exploiter.
A vous de choisir ensuite ce que vous voulez qui soit affiché.
-Etape essentielle: quand vous avez fini de faire vos sélections dans
Options Configuration ou Options Présentation, cliquez sur
Enregistrer. Valider ne laissera les options actives que pour la
session, et il faudra recommencer à chaque nouvelle session.
De même, pour les paramètres définis dans le menu Gauche, afin qu'ils
ne soient pas à refixer à chaque nouvelle session, allez dans Options
Enregistrer la configuration pour qu'ils soient pris en compte dans
~/.mc/ini
Si vous souhaitez faire des tests, Valider et le non-enregistrement
peuvent être intéressant.
Enfin, pour ceux que j'ai convaincus, j'espère qu'il y en aura, vous
pouvez même lancer mc dès que vous êtes logué en ajoutant dans
.bash_profile  la ligne:
/usr/bin/mc
Au passage, en tapant  startx  vous lanceriez X-Window dès que vous
êtes logué, ce qui peut être intéressant pour un voyant! Ou pour nous-même à
l'avenir!

 

REMARQUES SUR LA COPIE

 

Je finirai en expliquant rapidement l'unique intérêt pour un
non-voyant, à mon avis, du cadre droit. En deux mots, il évite de
taper le chemin complet de l'endroit où on veut copier/déplacer un
fichier. Pour simplifier, prenons un exemple.
Supposons que je veuille copier essai.txt du home affiché dans le
cadre gauche dans un répertoire Linux. On peut le faire de 3 façons:
1. cp essai.txt Linux
Aucun intérêt alors d'avoir Midnight Commander.
2. F5 puis Linux
Mais dans le cas où il y a une grande arborescence avec beaucoup de
sous-répertoires, c'est fastidieux.
3. Faire TAB. Dans le cadre droit, se rendre dans le dossier Linux,
donc là où on veut copier le fichier. Les noms de fichier restent
lisibles malgré la petitesse du panneau droit. Puis TAB pour revenir
au panneau ge gauche et F5. Vous verrez dans le champ Copier vers le
chemin /home/xx/Linux.
C'est très intéressant si on a des copies à faire, comme moi, dans des
répertoires ressemblant à /home/jp/cours/annee/...... ça s'allonge
parfois.
De même pour renommer, si le cadre gauche et droit sont dans le même
répertoire, F6 vous permet de renommer. Sinon, il va le copier là où
est le panneau droit, à moins que vous ne tapiez le même chemin mais
un nom de fichier différent, au quel cas il renommera.
NO`E: le tout s'applique aussi au déplacement de fichier (mv).

 

CONCLUSION

 

Et voilà. D'autres commandes sont, à mon avis, à éviter quand on n'y
voit pas et qu'on dépend d'une ligne sous les panneaux, comme celle
pour Echanger les panneaux. Elle me semble plus gènante qu'utile pour
nous, non-voyants.
Cela paraît complexe à mettre en place mais ensuite c'est un vrai
plaisir. Pour les ex-Windowsiens, je trouve qu'on est pas loin de
l'explorateur Windows et Jaws, mais en plus performant puisqu'on peut
y entrer les commandes Linux. Les opérations classiques de
manipulation de fichiers sur Linux en sont simplifiées (cf. Menu
Fichier, les deux commandes se substituant à  chmod  et  chown.
Mais grâce à ces petites adaptations, mc devient, selon moi, assez
accessible et intéressant, car on peut avoir tout linux en mode texte
mais convivial, sans restriction puisqu'on peut taper des commandes si
besoin.
Pour finir, je préciserai juste que si je me suis concentré sur le
cadre Gauche en choisissant de réduire au maximum le panneau de
droite, c'est parce que sur une plage, on accède au panneau de gauche
systématiquement, alors que celui de droite nous oblige à aller le
chercher, donc il faut aller chercher les informations sur les
fichiers, ce qui prend davantage de temps. Mais vous pouvez, si vous
le souhaitez, inverser les choses en privilégiant le panneau de droite.

 

TELECHARGER AMC - ACCESSIBLE MIDNIGHT COMMANDER

 

Le tarball d'AMC est disponible à l'URL:

http://www.mistigri.org/~yan/projs/amc/

 

FICHIER INI TEMPLATE POUR AMC

 

Le fichier ini de mc/amc doit obligatoirement s'appeler "ini" et être situé dans le répertoire .mc sous votre home, en résumé:

/home/user/.mc/ini

 

Voici ce à quoi pourrait ressembler ce fichier ini:

 

# ----- Début du template -----
[Midnight-Commander]
show_backups=0
show_dot_files=0
verbose=1
mark_moves_down=1
pause_after_run=2
shell_patterns=1
auto_save_setup=1
auto_menu=1
use_internal_view=1
use_internal_edit=1
clear_before_exec=1
mix_all_files=0
fast_reload=0
fast_reload_msg_shown=0
confirm_delete=1
confirm_overwrite=1
confirm_execute=0
confirm_exit=0
safe_delete=0
mouse_repeat_rate=100
double_click_speed=250
use_8th_bit_as_meta=0
confirm_view_dir=0
mouse_move_pages=1
mouse_move_pages_viewer=1
fast_refresh=0
navigate_with_arrows=1
drop_menus=1
wrap_mode=0
old_esc_mode=0
cd_symlinks=1
show_all_if_ambiguous=1
have_fast_cpu=0
max_dirt_limit=10
torben_fj_mode=0
use_file_to_guess_type=1
alternate_plus_minus=0
only_leading_plus_minus=1
show_output_starts_shell=0
panel_scroll_pages=1
xtree_mode=0
num_history_items_recorded=60
file_op_compute_totals=1
vfs_timeout=60
ftpfs_directory_timeout=1800
use_netrc=1
ftpfs_retry_seconds=30
ftpfs_always_use_proxy=0
ftpfs_use_passive_connections=1
ftpfs_use_unix_list_options=1
ftpfs_first_cd_then_ls=0
editor_word_wrap_line_length=0
editor_key_emulation=1
editor_tab_spacing=8
editor_fill_tabs_with_spaces=0
editor_return_does_auto_indent=1
editor_backspace_through_tabs=0
editor_fake_half_tabs=1
editor_option_save_mode=0
editor_option_save_position=1
editor_option_backup_ext_int=-1
editor_option_auto_para_formatting=0
editor_option_typewriter_wrap=0
editor_edit_confirm_save=1
editor_syntax_highlighting=1
nice_rotating_dash=1
horizontal_split=0
[Layout]
equal_split=1
first_panel_size=40
message_visible=0
keybar_visible=1
xterm_title=1
output_lines=0
command_prompt=1
menubar_visible=0
show_mini_info=1
permission_mode=0
filetype_mode=1
[Dirs]
other_dir=/floppy
current_is_left=1
[Misc]
ftpfs_password=anonymous@
ftp_proxy_host=gate
display_codepage=Other_8_bit
[New Left Panel]
display=listing
reverse=1
case_sensitive=0
sort_order=time
list_mode=user
user_format=full mark name size | perm | owner group
user_status0=half type name | size | perm
user_status1=half type name | size | perm
user_status2=half type name | size | perm
user_status3=half type name | size | perm
user_mini_status=0
[New Right Panel]
display=listing
reverse=1
case_sensitive=1
sort_order=time
list_mode=full
user_format=half type name | size | perm
user_status0=half type name | size | perm
user_status1=half type name | size | perm
user_status2=half type name | size | perm
user_status3=half type name | size | perm
user_mini_status=0
[Panelize]
Rechercher les *.orig après un patch=find . -name *.orig -print
Rechercher les programmes SUID et SGID=find . ( ( -perm -04000 -a -perm +011 ) -o ( -perm -02000 -a -perm +01 ) ) -print
Trouver les déchets de patches=find . -name *.rej -print
# ----- Fin du template -----

 

JPH Mengual - 22/03/2005

Publié aux conditions de la FDL free documentation license

Relu et mis en page par O. La rosa - rev. 30-11-2005.

Comments (0)

You don't have permission to comment on this page.