mardi 23 novembre 2010

Gnome et nautilus

Le but est d'alléger l'interface pour ne pas perdre la mamie dans des milliards de menus, d'options et d'onglets.
Par contre, c'est à faire au dernier moment car pour celui qui configure l'ordinateur, c'est pas très pratique après.

1. Alléger le tableau de bord

L'écran étant 16/9ème il y a plus de place en largeur et en haut de l'écran il y a souvent les menus des programmes, c'est pourquoi j'ai choisi un tableau de bord sur le côté gauche.
Le tableau de bord en haut de l'écran avec l'accès aux programmes, aux paramètres etc... est supprimé (et réinstallé pour la maintenance) .

Sur le nouveau tableau de bord latéral, il n'y a que la zone de notification, pour skype, l'arrivée d'un nouveau mail et les programmes utiles ou en cours d'utilisation.

2. Configurer le bureau

Sur le bureau, le stricte minimum : un raccourci vers le dossier personnel et les photos, les lanceurs pour ouvrir la boîte mail ou écrire un mail et une bonne grosse horloge à aiguille : le widget cairo-clock pour que la mamie retrouve quelque chose qu'elle connaît.

Pour le dossier personnel, le dossier photo et le raccourcis vers le bureau, j'ai modifié les icones pour que ce soit plus parlant :
Icône du Bureau :

Icône dossier images :

Icône dossier personnel :

Bien sûr ces icones s'affichent en plus petit sur le bureau.

J'ai aussi mis le curseur de la souris en très gros 48px (système>préférences>apparences>thèmes>personnaliser>curseur). J'ai essayé de mettre un curseur différent (curseur "hand" ou "aero") grâce au programme gcursor, mais il semble qu'il y ait un conflit sur ma machine et gnome ne prends pas en compte ces modification. Ben tant pis, une grosse flèche c'est déjà bien.

3. Configurer le dossier personnel

Dans le dossier personnel, j'ai tout effacé sauf le dossier bureau et un dossier photo. Tous les dossiers de configuration sont cachés, et j'ai aussi caché mes dossier perso d'administration de l'ordinateur. Pour ça il suffit de changer le nom du dossier en .mondossier , le point (.) cache le dossier. Pour faire apparaître les fichiers et dossiers cachés il suffit de taper ctrl + h (pour hide).


4. Alléger nautilus

J'ai désactiver l'affichage de toutes les barres (latérale, outils, liens, état etc...). J'ai aussi configuré l'ouverture des fichiers et des dossiers en un seul clique ce qui est beaucoup plus intuitif pour un débutant.

J'ai mis l'affichage des dossiers et fichier à 200% comme ça, pour la mamie, il y a des grandes icônes facile à cliquer dessus.

5. Gestion des fenêtres dans le tableau de bord

Pour la gestion des fenêtres ouvertes et des lanceurs d'application utiles j'ai utilisé l'applet talika.
J'aurai bien installé dockbarx mais ça n'a pas l'air de marcher sur l'architecture 64bits.
toutefois, talika remplis très bien son rôle et semble stable (c'est pourtant une béta). Il affiche les applications ouvertes par une grosse icône sans texte, permet la prévisualisation quand on passe la souris dessus et permet d'épingler les programmes pour les avoir tout le temps sur le tableau de bord.

6. Création du raccourcis vers le bureau

Ben pourquoi? Il existe déjà? Oui mais l'applet "Afficher le bureau" du tableau de bord est moche, pas représentatif du bureau, et il affiche seulement le bureau.
Alors qu'il soit moche et pas représentatif ok mais qu'il affiche le bureau c'est bien ce qu'on lui demande ! Mais qu'est-ce que tu raconte???

En fait, ce que je voulais, c'est que quand on clique dessus, il affiche le bureau mais avec le widget cairo-clock ouvert (la grosse horloge qui va beaucoup plaire à ma mamie) et la fenêtre de skype ouverte pour voir les contacts.

Donc j'ai remplacé cet applet par un lanceur perso qui lance le script bash suivant :

Code:
#!/bin/sh
wmctrl -k on
clockpid=`pidof cairo-clock`
kill -9 $clockpid
cairo-clock &
xdotool mousemove 25 87 click 1
exit 0;
wmctrl -k on affiche le bureau
pidof récupère le n° du process de cairo-clock (pid) et le stock dans la variable "clockpid"
kill -9 arrête le process
Ensuite on relance cairo-clock
xdotool permet de déplacer physiquement la souris pour cliquer sur l'icône de skype et afficher la fenêtre des contacts.

L'intérêt de ce script est d'afficher le bureau mais avec l'horloge et skype ouvert (donc d'éffacer toutes les fenêtres sauf ces deux là).
Je n'ai pas trouvé d'autre moyen pour faire réapparaître l'horloge et skype que ce qui est fait ci-dessus.
Si vous connaissez un moyen d'interagir directement avec skype et de demander l'ouverture de la fenêtre quand il est minimisé dans la barre des tâches je suis preneur!
De même pour cairo-clock, mais comme le prog est très léger, c'est aussi rapide de l'éteindre et le relancer.

J'ai donc mis un lanceur vers ce script dans la barre des taches avec l'icône "bureau" personnalisé. J'ai aussi remplacé le lien vers le dossier bureau du dossier perso par ce lanceur ce qui est plus logique et compréhensible que d'afficher le contenu du dossier bureau à mon sens.

EDIT : J'ai trouvé sur le forum skype-linux une solution pour afficher skype sans lancer une deuxième instance de skype.

Il suffit d'utiliser le script suivant (pas de moi) :
Code skype-sigle-instance:
#!/usr/bin/env python
import dbus
import sys
import os

try:
    # Try and set skype window to normal
    remote_bus = dbus.SessionBus()
    out_connection = remote_bus.get_object('com.Skype.API', '/com/Skype')
    out_connection.Invoke('NAME mySkypeController')
    out_connection.Invoke('PROTOCOL 5')
    #out_connection.Invoke('SET WINDOWSTATE MAXIMIZED')
    out_connection.Invoke('SET WINDOWSTATE NORMAL')
    out_connection.Invoke('FOCUS')
except:
    os.system("skype")
    sys.exit() 


Et donc, à la place de la ligne "xdotool mousemove 25 87 click 1" dans le script pour afficher le bureau, je lance le script ci-dessus. Merci les gens qui programment en Python!

EDIT 2 : J'ai encore allégé le script d'affichage du bureau. C'était stupide de fermer l'horloge puis de la redémarrer. J'ai juste utilisé un " wmctrl -a Horloge" pour mettre l'horloge au premier plan. C'est encore plus rapide :

Code bureau.sh :
#!/bin/sh
wmctrl -k on
wmctrl -a Horloge
/home/mamie/.Skype/skype-single-instance
wmctrl -r nomutilisateurskype -e 0,1250,370,337,490
exit 0;


7. Rendu

http://www.medinaresine.ma/     
Ordinateur pour grand-parents, ordinateur pour papy, ordinateur pour personnes âgée, linux pour mamie, linux pour papy, linux pour personne âgée, linux pour grands-parents.

12 commentaires:

  1. Bravo le Floflovétormaticien !
    Ce n'est pas toujours compréhensible pour un néophyte, mais ça a l'air cohérent et ça tient la route !
    La démarche est excellente, bravo encore.

    RépondreSupprimer
  2. Bonjour votre site m ' a encouragée a optimiser ubuntu pour ma grand-mère . Je ne comprends pas où il faut mettre le script skype pour le truc des deux instances car c ' est dérengeant de ne pas pouvoir ouvrir skype avec l icone mais seulement dans la zone de notif' .
    Si vous pourriez m ' expliquez . Merci !!

    RépondreSupprimer
  3. Alors, en fait c'est pas très compliqué et la réponse est dans le code des script ;-)

    Il faut enregistrer le script python "skype-single-instance.py" quelque part (par exemple dans le dossier caché perso : chez moi "/home/mamie/.Skype/"

    Rappel : pour afficher les dossiers cachés (dossier commençant par un point ".mondossiercaché" )il faut faire ctrl+h .

    Ensuite il faut remplacer le lanceur sur le bureau (=l'icone de skype) qui pointe vers la commande "skype" (= lance le programme skype) par un lanceur perso:
    1) clique droit sur bureau "créer un nouveau lanceur"
    2) Type de lanceur = application
    3) Nom = Skype
    4) Commande = "chemin/vers/mon/script/python" (chez moi /home/mamie/.Skype/skype-single-instance)
    5) Cliquer sur l’icône trampoline et mettre à la place l’icône de skype

    Pensez à lancer le script python seul pour vérifier que dans les propriétés du fichier script vous ayez autorisé l'exécution du script et pas seulement l'affichage du fichier texte.

    Voilà, à quelques microdétails près c'est ça (mais là je réponds de tête car je suis sous windaube au boulot et je n'ai pas ubuntu sous les yeux).

    N'hésitez pas à me demander des précisions si ce n'est pas clair!

    RépondreSupprimer
  4. Donc si j ' ai bien compris le script c ' est un fichier ? Je le télécharge ou je le fait comment ?

    RépondreSupprimer
  5. Bonjour,

    Alors, le script, comme tous les scripts sont des fichiers texte qui sont exécutés par le système.

    Plus d'info sur les scripts shell ici : http://doc.ubuntu-fr.org/tutoriel/script_shell

    Pour créer un script il faut :
    1) clique droit sur le bureau > Créer un document > fichier vierge
    2) Nommer le fichier "monscript" (ou monscripte.sh pour script shell et monscript.py pour script python. L'extension n'a pas d'importance et n'est pas nécessaire, c'est juste pour soi, pour se rappeler que c'est un script python ou shell)
    3) Ensuite, clique droit sur le ficher > propriété>permission>cocher la case "exécution : autoriser l'exécution du fichier comme un programme"
    4)Ouvrir le fichier (qui est donc un texte vierge) et coller le code du script.
    5) Fermer et enregistrer, puis essayer le script en cliquant dessus.

    Rappel: ce qui fait que le code du script est exécuté comme un programme c'est la première ligne "#!/bin/sh" = utiliser le programme sh du répertoire bin pour exécuter le code.
    #!/bin/sh = script shell
    #!/bin/bash = script bash (=quasi idem à shell)
    #!/usr/bin/env python = script en python
    etc...

    Voilà, donc tu as bien compris il faut créer un fichier texte, y copier le code du script et rendre ce fichier exécutable.
    Ensuite tu peux créer ton lanceur skype qui pointe vers ton script.

    Je te conseil d'essayer ton script seul pour voir si il marche et d'essayer ton lanceur pour voir si le chemin vers ton script marche.


    Pour un novice ce n'est peut-être pas très clair sur mon blog mais voici comment je programme le fonctionnement de l'ordi :
    1) je crée des tout petits scripts pour remplir une seule fonction à chaque fois.
    2) je lance ces scripts soit avec un lanceur soit avec un autre script.

    En conséquence, parfois c'est un peu complexe car les scripts se lancent les uns les autres à la suite.

    RépondreSupprimer
  6. Bonjour c ' est encore moi , désolé du multi post , donc j ' ai bien suivi fait un fichier vide rendre executable copier coller le script enregistrer mais quand je teste le script sans faire de lanceur ca ne marche pas !
    Merci de m ' éclaircir ^^

    RépondreSupprimer
  7. Le script fonctionne avec skype version 2.1 beta. Je n'ai pas essayé avec skype version 2.2 beta (= la dernière version sortie il y a peu). C'est probablement ça le problème.

    Plus d'info sur ce script en anglais à la page : http://forum.skype.com/index.php?showtopic=332401



    Sinon, il est possible d'écrire un autre script en shell ou bash très simple genre :

    utiliser "pidof skype" qui renvoie le numéro de process de skype si déjà lancé et stocker le résultat dans une variable, sinon ça ne renvoie rien =""

    ensuite utiliser les condition if-then-else pour faire :
    si skype déjà lancé alors utiliser wmctrl (genre wmctrl -r nomutilisateurskype -e 0,1250,370,337,490) pour attraper la fenêtre skype et la mettre au premier plan et à un endroit donné
    si skype pas lancé alors exécuter skype (ou login automatique cf ici : http://ubuntu-pour-mamie.blogspot.com/2010/11/skype-login-automatique.html)
    exit

    voili, il reste plus qu'à mettre la syntaxe et faire un lanceur qui pointe vers ce script.

    RépondreSupprimer
  8. Oups! bah non en fait, je me rappelais plus mais wmctrl marche pas quand skype est réduit dans la zone de notification.

    Quatre solutions alors :
    1) repasser à la version 2.1 de skype
    2) surveiller le forum http://forum.skype.com/index.php?showtopic=332401 jusqu'à ce que quelqu'un ponde un nouveau script python qui marche
    3) modifier le script python
    4) attendre 107 ans que skype ponde une nouvelle version qui gère ce problème!

    Alors? C'est quoi ta version de skype???

    RépondreSupprimer
  9. bonjour,

    J'ai testé le script python avec la version 2.2.0.25 chez moi et cela fonctionne.
    Par contre pour trouver comment rendre le fichier exécutable c'est pas facile :

    clique droit sur le fichier
    Propriétés
    Permissions
    Exécution (en bas, case à cocher)

    Merci pour ce super blog

    RépondreSupprimer
  10. Bonsoir,
    ma configuration avance bien, j'ai résolu le problème de wifi, réussi à configurer thunderbird, à le minimiser au démarrage, installer teamviewer,xscreensaver, pour l'instant pas skype car pas encore la webcam et pas encore speedial je ne sais pas si elle va s'y intéresser à internet! J'ai pas mal fouillé sur ubuntu.org mais il y a des trucs que je n'arrive pas à faire,et que je n'ai pas retrouvé sur ton blog : mettre le simple clic au lieu du double, changer les icônes de ce qu'il y a sur le bureau, créer des raccourcis sur le bureau pour lancer les applis (pour les dossiers c'est simple mais pour le reste il ne veut rien savoir) je crois que c'est tout...Merci

    RépondreSupprimer
  11. Pour speeddial j'ai mis ouest france comme ça elle n'a qu'à cliquer sur l'onglet pour voir les news et marmiton pour les recettes.
    Pour les config, n'hésite pas à installer gnome-pannel et unity tweak. Il y a souvent des logiciel a interface graphique à télécharger et ajouter pour configurer le comportement du bureau. Je te conseil aussi compiz pour la gestion du comportement des fenêtres, c'est très puissant mais beaucoup d'options http://doc.ubuntu-fr.org/compiz_fusion
    Pour le simple clic c'est dans les configuration du gestionnaire de fichier (http://guide.ubuntu-fr.org/desktop/nautilus-behavior.html)
    Pour créer des raccourcis pour les applis et mettre une icone, il faut créer un lanceur : http://doc.ubuntu-fr.org/raccourci-lanceur et http://doc.ubuntu-fr.org/unity_launcher

    ensuite il suffit de faire une image personnalisé en 32x32 ou 48x48 sous un logiciel de dessin et de l'enregistrer (en png de préférence) Il faut indiquer dans le lanceur où se situe l'icone. C'est comme ça que pour l'icone du dossier perso de ma mamie, j'ai mis une photo de sa tête( cf photo du rendu du bureau ci-dessus)

    RépondreSupprimer
  12. Mille merci :) hier impossible d'aller sur doc-ubuntu j'espère que ce sera rétablit aujourd'hui!

    RépondreSupprimer