Aller au contenu principal
Bienvenue sur Forum Puppy Linux - Toutou Linux - Astuces - Aides !
Lorsque vous n'êtes pas connectés vous pouvez visiter la totalité du forum mais avec certaines restrictions : cf le règlement pour les visiteurs non connectés. Vous êtes chaleureusement conviés à vous inscrire afin de bénéficier de toutes les fonctionnalités du forum et de participer aux échanges.
Sujet: Xlock pour vérrouiller son écran au démarrage (et en cours de session) (Lu 608 fois) sujet précédent - sujet suivant
0 Membres et 1 Invitédans ce sujet

Xlock pour vérrouiller son écran au démarrage (et en cours de session)

bonjour les lycophiles,

Xlock est présent sur bon nombre de Puppy et Toutou.
Il l'est dans Toutou Linux SlaXen 6.0.

Je n'utilise pas de pupsave, par principe.
Je mets mes réglages ailleurs et ils s'appliquent au démarrage.

Je me suis penché sur le verrouillage de l'écran au démarrage de Toutou Linux avec Xlock.

Comment ai-je réalisé ceci-cela ?
En trois étapes essentielles.

Première étape
Avec Toutou, en bas de l'écran à droite, on peut voir un cadenas : c'est Xlock.
Un clic-gauche ouvre une petite fenêtre de saisie intitulée "Create key (password)".
À l'intérieur dedans, un mot "Key:" invite à saisir le mot de passe de son choix à confirmer avec une seconde saisie.
Le mot de passe est stocké dans un fichier sous /root : .xlockrc
Mais comme les développeurs sont astucieux, il est crypté.
Par exemple, le mot de passe "toto" devient "ntja31SuXeclQ".
Réservez le mot de passe crypté, nous en aurons besoin dans la deuxième étape.

Deuxième étape
Nous allons créé un fichier bash nommé comme vous voulez.
Pour ma part, j'y ai inséré ceci ou cela ou ceci-cela :

#!/bin/bash
modepass=[votre_mot_de_passe_chiffré]
[ -d $HOME/.config/Xlock ] || mkdir $HOME/.config/Xlock
echo "$modepass" > /root/.xlockrc
echo -n " -mousemotion +echokeys" > /root/.config/Xlock/xlockrootparams
echo -n " -bg black -fg lightgreen -font "-*-courier-medium-r-*-*-17-120-*-*-*-*-*-*" +usefirst -username Utilisateur__ -password Clef -invalid Saisie_incorrecte -invalidCapsLock Touche_Maj_active. -info Pour_quitter_Xlock_entrez_la_clef._Pour_y_rester,_cliquez_sur_la_vignette. -mode spiral" > /root/.config/Xlock/xlockscreenparams
xlock -cpasswd "$modepass" `cat /root/.config/Xlock/xlockrootparams` `cat /root/.config/Xlock/xlockscreenparams`


Légende :
Le mot de passe chiffré, créé lors de la 1ère étape, est recopié après "modepass=".
La ligne suivante vérifie l'existence du répertoire Xlock et s'il n'est pas trouvé, il est créé.
Avec la première ligne "echo", le mot de passe dans la variable "modepass" est envoyé dans le fichier "/root/.xlockrc".
La 2ème ligne "echo...keys" envoie le texte qui suit la commande dans "/root/.config/Xlock/xlockrootparams".
Où :
          -mousemotion pour afficher l'écran de déverrouillage (en plus d'une action au clavier) ;
          +echokeys pour activer la saisie à l'aveugle du mot de passe lors du déverrouillage ;

La troisième ligne "echo...-mode spiral" envoie le texte qui succède la commande dans "/root/.config/Xlock/xlockscreenparams".
Où :
          -bg black : pour la couleur de fond de la fenêtre de déverrouillage ;
          -fg lightgreen : pour la couleur du texte de la même fenêtre ;
          -font... : précise la police à utiliser. Pour en changer, il faudra utiliser xfontsel dans un terminal, définir la police à utiliser, cliquer sur Select et pour l'insérer dans la ligne de commande cliquer avec le bouton médian, ou utiliser Glipper et les touches <Ctrl>+<V> ;
          +usefirst : ignore la première touche enfoncée lorsque l'écran est déverrouillé via le clavier ;
          -username : permet de franciser "User" en "Utilisateur__". Attention, pour ma part et malgré plusieurs tentatives, j'ai rencontré un problème avec les espaces qui ne sont pas reconnus : problème dû à la version de Xlock ou problème du système d'exploitation ? Les espaces ont donc été remplacés par "_" ;
          -password francise "Password" en "Clef". Attention, même remarque que ci-dessus ;
          -invalid Saisie_incorrecte : définit la chaîne de caractères lors de la saisie incorrect du mot de passe. Attention, même remarque que ci-dessus ;
          -invalidCapsLock : si la saisie de la clef est incorrecte et que la touche Majuscule est activée, prévient que ladite touche est verrouillée ;
          -info Pour_... : affiche ce qu'il faut faire lorsque depuis l'écran de déverrouillage ;
          -mode spiral : exécute le mode "spiral". Toutou SlaXen 6.0 propose 11 modes. Ici j'ai choisi spiral. La commande "xclock -help" affichera l'aide et les modes possibles.

                Pourquoi ces deux lignes "echo" vers des fichiers sous /root/.config/Xlock ?
               Afin de pouvoir relancer Xlock grâce au verrou en bas à droite du bureau de Toutou Linux SlaXen. Sinon, les
               paramètres utilisés seraient différents de ceux que vous aurez définis.

Enfin, la ligne "xlock..." lance l'utilitaire où sont récupérés le mot de passe via la variable "$modepass" et les contenus des fichiers "/root/.config/Xlock/xlockrootparams" et "/root/.config/Xlock/xlockscreenparams".

Évidemment, vous pouvez personnaliser à loisir ce fichier.

Troisième étape
Ici, vous ferez comme vous voulez.
Le point de départ reste le même.
Le fichier bash qui contient la commande décrite à la deuxième étape, et rendu exécutable, et sera déplacé dans /root/Startup
Ensuite :
          soit vous remastérisez,
          soit si vous vous servez d'une pupsave, vous la mettez à jour en quittant votre Toutou,
          soit vous le mettez dans un ?drv...sfs (unsquashfs puis mksquashfs) dans lequel vous aurez (re)créé l'arborescence /root/Startup.

Peut-être y a-t-il encore d'autres solutions, vu que je ne suis pas expert très expert :-).

Que va-t-il se passer au démarrage ?
Pour en avoir une idée, vérifiez que votre fichier bash est bien dans /root/Startup, supprimez le répertoire Xlock sous /root/.config et .xlockrc sous /root et puis faites Menu > Session > Relancer X.
Normalement, Xlock se lancera avec les options définies ci-dessus et c'est ce qu'il adviendra lors du prochain démarrage à froid de Toutou.

En fait, après le saut dans le grand bain, Toutou démarre sur l'assistant de configuration.
On peut activer le pare-feu, la mise à l'heure via un serveur de temps et après moins de 30 secondes (avec ma machine qui est lente) l'écran se verrouille.



Voilà, c'est tout !

Amitiés et comme disait la mère Térésa : "Que pouvez-vous faire pour promouvoir la paix dans le monde ? Rentrez chez vous et aimez votre famille !"
ou comme le disait Blaise de son prénom et Pascal de son nom quelques siècles plus tôt : « Tout le malheur des hommes vient de ne savoir pas demeurer en repos, dans une chambre. ».

Sur ces sages paroles je vous souhaite de bien vous amusez avec Toutou ou autres Puppy.

Amitiés.
Vive Toutou Linux
"Tout le monde a le droit de vivre en paix !" dit une dame africaine.

 

Re : Xlock pour vérrouiller son écran au démarrage (et en cours de session)

Répondre #1
Bonjour,

cette histoire d'espaces qui mettent la pagaille semble insoluble.
J'ai tenté l'espace insécable après avoir reconfiguré "keycode 65", mais ça rajoute un À avant l'espace : c'est laid.
Ce qui est surprenant, c'est que lorsque la commande est saisie dans le terminal tout glisse.
Mais lorsque les options arrivent depuis un fichier, xlock ne retrouve plus ses petits et refuse d'obtempérer.

Ça ne m'a pas empêché d'écrire un script un peu différent qui fait appel aux commandes sed et grep.
Vous le trouverez en dessous d'ici :
#!/bin/bash
modepass=[ici_votre_mot_de_passe_chiffré]
fichier=`echo ${0##*/}`
echo "$modepass" > /root/.xlockrc
[ -d $HOME/.config/Xlock ] || mkdir $HOME/.config/Xlock
xlock -cpasswd "$modepass" -mousemotion +echokeys -bg black -fg lightgreen -font -*-courier-medium-r-*-*-17-120-*-*-*-*-*-* +usefirst -username 'Utilisateur=' -password 'Clef...' -invalid 'Saisie_incorrecte.' -invalidCapsLock 'Touche_Maj_active.' -info 'Pour_quitter_Xlock_entrez_la_clef._Pour_y_rester,_cliquez_sur_la_vignette.' -mode spiral
sed -n "/^xlock/p" $fichier | grep -Ewo "\+echokeys|\-mousemotion" > $HOME/.config/Xlock/xlockrootparams
sed -n "/^xlock/p" $fichier | sed -e 's/ -mousemotion//g;s/ +echokeys//g;s/xlock//g;s/ -cpasswd "$modepass"//g' > $HOME/.config/Xlock/xlockscreenparams

L'avantage de ce script tient à ce que la commande xlock tient sur une ligne.
sed fera le tri et le nettoyage avant d'envoyer chacun au bon endroit.

Si quelqu'un connaît la solution de ces scrogneugneux d'espaces, je prends ;)

Amitiés les zazous !
Vive Toutou Linux
"Tout le monde a le droit de vivre en paix !" dit une dame africaine.

 
Simple Audio Video Embedder