Développeur Web RoR

Aller au contenu | Aller au menu | Aller à la recherche

vendredi 28 octobre 2011

Simuler la pression sur une touche de clavier sous linux

J'avais déjà écrit un post sur le sujet (http://blog.escarworld.com/post/2011/03/03/Simuler-une-pression-de-touche-sur-linux-avec-xsendkeycode) la méthode n'est plus d'actualité car le paquet lineakd n'est plus disponible dans les dépôts.

Voici deux autres méthodes qui fonctionnent sur ubuntu 11.10 :

Méthode 1 : xvkbd

sudo aptitude install xvkbd

# Ceci va simuler la pression sur la touche A

xvkbd -xsendevent -text "a"

Vu sur la doc, la chaine de caractère peut contenir ceci :

\r - Return

\t - Tab

\b - Backspace

\e - Escape

\d - Delete

\S - Shift (modify the next character; please note that modify with ``\S'' will be ignored in many cases. For example, ``a\Cb\ScD\CE'' will be interpreted as a, Control-b, c, Shift-D, and Control-Shift-E.)

\C - Control (modify the next character)

\A - Alt (modify the next character)

\M - Meta (modify the next character)

\[keysym] - the keysym keysym (e.g., \[Left])

\Ddigit - delay digit * 100 ms

\xvalue - move mouse pointer (use "+" or "-" for relative motion)

\yvalue - move mouse pointer (use "+" or "-" for relative motion)

\mdigit - simulate click of the specified mouse button

Site de xvkbd : http://homepage3.nifty.com/tsato/xvkbd/

Méthode 2 : xdotool

sudo aptitude install xdotool

xdotool key a

Si vous souhaitez connaitre les possibilités de xdotool (il fait bien plus que ce que je vous montre là) : 

xdotool --help

Site du mec qui a développé xdotool : http://www.semicomplete.com

Si vous avez d'autres ressources, laissez des commentaires.

vendredi 21 octobre 2011

Barre d'adresse : transformer le chemin de répertoires en chaine avec des slashs sous Nautilus

Bon ça m'arrive de vouloir taper directement dans la "barre d'adresse" par exemple pour accéder à un partage d'une machine windows (smb://machine) sauf qu'avant il suffisait de cliquer sur la barre pour saisir une adresse, maintenant ça n'est plus possible. La solution consiste à faire Ctrl+L dans nautilus

jeudi 13 octobre 2011

Ubuntu 11.10 : une copie web du système d'exploitation

Aujourd'hui c'est aussi la sortie d'ubuntu 11.10. Ubuntu a lancé un site internet qui copie l'interface de ubuntu 11.10 : voici la page web quelques petites choses fonctionne bien shotwell, firefox. Et donc le tout en html css js. Pour tester c'est ici : http://www.ubuntu.com/tour/#surf-the-web

dimanche 28 août 2011

Dual screen virtuel sur un seul écran physique

Ca me trottait dans la tête depuis un bon bout de temps. J'ai comme la plupart des personnes un écran wide. Et ça me désole de perdre de la place à gauche et à droite lorsque je code ou que je surfe sur le web...

Alors j'ai cherché pendant longtemps comment faire pour simuler un dual screen sur un seul écran et je suis tombé sur quelques posts traitant de ce sujet. La bidouille consiste à faire croire à Xinerama (la lib qui s'occupe du dual screen) que l'on a deux écrans physiques.

Voici le code que j'ai tapé dans le terminal (sur ubuntu 10.10 dans une VM) :

sudo apt-get install aptitude
sudo aptitude install build-essential
wget http://web.archive.org/web/20090218233954/http://ktown.kde.org/~seli/fakexinerama/Xinerama.c
sudo aptitude install libx11-dev libxinerama-dev
sudo gcc -O2 -Wall Xinerama.c -fPIC -o /usr/local/lib/libXinerama.so.1.0 -shared
cd /usr/local/lib
sudo ln -s libXinerama.so.1.0 libXinerama.so.1
sudo ln -s libXinerama.so.1 libXinerama.so
sudo ldconfig

Ensuite il faut créer un fichier .fakexinerama dans votre home, avec la syntaxe comme suit : première ligne le nombre de moniteurs virtuels

2

ensuite chaque ligne représente un moniteur virtuel (départ de l'écran virtuel x et y (0,0) étant en haut à gauche de l'écran physique, puis la taille de l'écran virtuel largeur hauteur)

0 0 400 600

400 0 400 600

Ecran 800x600 coupé en deux dans la largeur donc 2 écrans virtuels 400x600, le deuxième étant décalé de 400 pixels à droite du premier) /!\ Attention la syntaxe est très stricte. Le fichier dans son ensemble :

2

0 0 400 600

400 0 400 600

Hop déconnexion et reconnexion et c'est parti ! Bon dans la vidéo ci-dessous j'ai testé dans une virtualbox donc je sais pas ce que ça fait avec un vrai dual screen (avec une TV par exemple).

Voici ce que ça donne sur l'écran :

Ressources et liens traitant du sujet : 

http://www.tiramiseb.fr/2011/02/21/ecran-ultra-large-ubuntu-et-division-par-deux/

http://movingparts.net/2008/10/03/multi-monitor-setup-on-a-single-physical-head-now-better/

http://forum.ubuntu-fr.org/viewtopic.php?pid=5893341

Merci à movingparts.net et kamui57 de m'avoir trouvé le fichier Xinerama.c et merci à seli (Qui est-ce ?) pour avoir écrit fakeXinerama

mardi 14 juin 2011

Indenter un fichier xml en ligne de commande sous linux avec Tidy

Tidy est un utilitaire qui permet d'indenter et de nettoyer du xml, html et xhtml (http://tidy.sourceforge.net/).

Installation :

sudo aptitude install tidy

Utilisation :

tidy -xml -indent -wrap 2000  monfichier.xml > monfichierindente.xml

Votre fichier html/xml est maintenant indenté correctement !

vendredi 13 mai 2011

Ubuntu 11.04 : avoir une barre des taches avec Unity

Bon Unity vous n'étiez pas forcement pour mais vous vous êtes dit "oui of, il faut évolué avec son temps". Mais bon la barre des taches vous manque... tint2 est la solution  !

Vous pouvez l'installer ce cette manière :

sudo apt-get install tint2

Ensuite pour le lancer :

tint2&

Pour l'avoir au démarrage :

Je cite ( http://papillon-butineur.blogspot.com/2011/05/ajouter-une-barre-des-taches-sous-unity.html ) :

Allez dans "Réglages du système", dans la rubrique "Personnel" ouvrez "Applications au démarrage", cliquez sur "Ajouter", dans "Commande" Tapez "tint2" et ce que vous voulez dans les rubriques Nom et Commentaire. Enregistrez.

vendredi 26 novembre 2010

Backup postgresql et installation nouveau serveur

Transfert d'une base de données (structure et données) postgresql.

Prérequis : installation de postgresql sur le nouveau serveur

SUR SERVER 1

#Backup db :

pg_dump -Fc basededonnees > backup_basededonnees.dump

SUR SERVER 2

#Créer la base de données

sudo -s -u postgres

psql

CREATE USER monuser PASSWORD 'monpassword';

CREATE DATABASE basededonnees OWNER monuser;

\q

#Téléchargement du backup (xx.xx.xx.xx c'est l'adresse ip du server 1)

scp riven@xx.xx.xx.xx:/home/riven/backup_basededonnees.dump .

#Ensuite restore

pg_restore -d basededonnees backup_basededonnees.dump

- page 1 de 3