$ cat toto  
ceci est une chaine entiere  
celle ci aussi meme avec des espaces 

Le champs séparateur pour le “for”, c’est l’espace:

$ for i in `cat toto`; do echo YOP "$i"; done  
YOP ceci  
YOP est  
YOP une  
YOP chaine  
YOP entiere  
YOP celle  
YOP ci  
YOP aussi  
YOP meme  
YOP avec  
YOP des  
YOP espaces  

Pour faire en sorte que le champs séparateur soit la ligne, on peut passer par “while read”:

$ cat toto | while read i; do echo YOP "$i"; done  
YOP ceci est une chaine entiere  
YOP celle ci aussi meme avec des espaces  
  • Extraits du man:

for nom [ in mot ] ; do liste ; done
La liste de mots à la suite de in est développée, créant une liste d’éléments. La variable nom prend successivement la valeur de chacun des éléments, et liste est exécutée à chaque fois…..

while liste ; do liste ; done
La commande while répète la liste du do tant que la dernière commande de la liste du while renvoie un code de retour nul….

read [-er] [-a nom_a] [-p msg] [nom …]
Une ligne est lue depuis l’entrée standard, puis le premier mot de cette ligne est affecté au premier nom, le second mot au second nom, et ainsi de suite. Les mots restants sont affectés au dernier nom….

Synergy permet de partager son clavier/souris entre plusieurs ordinateurs même avec différents OS.

Comme je dois désormais utiliser un Windows en plus de mon Ubuntu, j’ai enfin installé cette petite appli qui se rend donc indispensable.

Les informations du clavier/souris sont redirigées à travers le réseaux vers l’ordinateur à contrôler. Le passage d’un ordi à l’autre se fait en approchant la souris du bord de l’écran correspondant. Et en plus, il partage aussi le clipboard !

L’image du site de synergy:

warp

J’ai le serveur synergy sur le Windows (et donc le client sur le Gnu/Linux)

  • Configuration sans tunnel SSH
  • Coté serveur (le windows)

FenetreGenerale

Screens

TCP 0.0.0.0:24800 0.0.0.0:0 LISTENING

On voit ici que le port 24800 est ouvert à toutes les machines, c’est pourquoi on utilisera SSH pour sécuriser la connexion…

  • Coté client (le Linux)
synergyc -n lin IpServerSynergyWindows
  • Configuration avec Tunnel SSH

Le serveur synergy sur le Windows
Le serveur SSH sur le Linux

  • Coté serveur (le windows)

avecSSH-interfaceLocalhost

avecSSH-Putty

TCP 127.0.0.1:24800 0.0.0.0:0 LISTENING

De cette manière aucune machine autre que celle remontant le tunnel SSH ne pourra se connecter

Voir mon ancien billet concernant les tunnels SSH avec l’option -R

  • Coté client (le Linux)
synergyc -n lin 127.0.0.1

Des erreurs avec ScreenGrab

j’ai donc essayé PageSaver qui à l’air de bien fonctionner…

Les deux sont des extensions Firefox..

..me demande si je vais pas réduire le nombre de billets par page…

Suite du billet Un peu de couleur dans vi

mkdir -p ~/.vim/colors

Mettre dans ce répertoire les thèmes .vim

Un max de thèmes avec preview pour différents languages sont à cette adresse
Attention, certains sont au format “Windows”?? avec les ^M

strings file.vim > file.vim2 && rm file.vim && mv file.vim2 file.vim

Ensuite dans vi la commande

:colorscheme file

ou mettre dans le fichier ~/.vimrc ou /etc/vim/vimrc les lignes

syntax on
colorscheme file

Le résultat de cette méthode ressemble beaucoup à celui utilisant la commande screen et présenté dans un précédent billet
(La différence étant qu’ici avec script, le 2ème utilisateur ne peut pas agir)

Cette technique peut être utilisée pour montrer à un collaborateur ou un client distant ce qu’on est en train de bidouiller sur le serveur..

  • Création d’un fichier fifo
[yannick@PiouPiou ~] mkfifo /tmp/sortieScript  
[yannick@PiouPiou ~] ll /tmp/sortieScript  
prw-r--r-- 1 yannick yannick 0 Jul 6 02:59 /tmp/sortieScript  
[yannick@PiouPiou ~]

mkfifo - Create named pipes (FIFOs) with the given NAMEs.
A FIFO special file (a named pipe) is similar to a pipe, except that it is accessed as part of the file system.
[…] the FIFO special file has no contents on the file system

  • Lecture du fichier par l’utilisateur distant
[yannick@autre ~] cat /tmp/sortieScript

Attention: tant que le fichier ne sera pas “caté”, il ne pourra pas être utilisé par la commande suivante…

When a process tries to write to a FIFO that is not opened for read on the other side, the process is sent a SIGPIPE signal.

  • Faire sortir script dans ce fichier
[yannick@PiouPiou ~] script -f /tmp/sortieScript  
Script started, file is /tmp/sortieScript

A partir de maintenant tout ce qui est tappé est visible par la personne en train de “caté” le fichier sortieScript y compris les sessions interractives comme vi…

Arrêter de logguer dans le fichier par un CTRL-D

-f Flush output after each write. This is nice for telecooperation […]

  • Petite démo

script-fmkfifo-juillet2006