Tous les articles par rangzen

Bluetooth sous Ubuntu Maverick Meerkat 10.10 avec un casque Motorola S9 et une oreillette Sony Ericsson HBH-PV715

Procédure

– Brancher un adaptateur Bluetooth (un Cellink BTA-6030 dans mon cas)

$ lsusb
Bus 001 Device 003: ID 0a12:0001 Cambridge Silicon Radio, Ltd Bluetooth Dongle (HCI mode)

– Passer les périphériques en pairing (souvent un appui long au démarrage)

– Détecter les avec l’applet Bluetooth

– Dans les préférences son (PulseAudio), configurer l’entrée et la sortie vers les périphériques

Ça marche out of the box. Impressionnant.

Détail

Pour les périphériques qui le supportent, le casque S9 par exemple, dans l’onglet Matériel des préférences du son vous pouvez choisir le profil :
– A2DP pour l’écoute stéréo
– HSP/HFP pour l’écoute mono + micro

Test

Test concluant sous Mumble.

Conclusion

On a beaucoup craché sur le passage OSS/ALSA à PulseAudio (désinstallé complètement sur les deux premières major, souvenir souvenir), Bluez s’est constament amélioré depuis de nombreuses années mais arriver à ce niveau d’intégration sans installation complémentaire, pas de configuration, rien. Impressionant.

Dédicace à tous ces hackers au sommeil court. Merci.

 

Google AI Challenge 2010 : Planet Wars

Et voilà la seconde édition est terminé. Ce fut long, dur et fatigant mais tellement instructif !

La réécriture du bot en Java (et accessoirement l’apprentissage du langage et d’Eclipse …) début octobre m’a couté des places mais je suis très content de mon Top200 : http://ai-contest.com/profile.php?user_id=6919

Surtout que le hasard fait bien les choses, mon dernier combat a été contre bocsimacko (le number one qui a survolé la compet) et j’ai gagné ! (ouverture moins défensive)

Surveiller ce lien pour l’année prochaine : http://ai-contest.com/

Utiliser votre ordinateur portable comme deuxième écran avec synergy et ssh sous ubuntu lucid

Pas de place pour un double écran mais vous avez votre portable sur votre bureau ? Autant l’utiliser, non ?

Beaucoup de solutions sont possibles mais j’ai choisi de partager la souris et le clavier par le réseau grâce à synergy (http://synergy-foss.org) et de lancer les programmes par ssh (http://www.openssh.com) avec la redirection X. Cela limite plusieurs comportements par rapport à un vrai deuxième écran (pas de passage d’une fenêtre d’un écran à l’autre par exemple) mais cette solution convient parfaitement à mon besoin et surtout elle est très simple à mettre en œuvre.

Synergy

Vous pouvez utiliser les paquets synergy et quicksynergy (configuration graphique) sur le serveur (la machine qui va partager sa souris, son clavier et son presse-papiers) et synergy sur le ou les clients (machines qui vont afficher les entrées serveur).

Serveur

Sur le serveur, lancer quicksynergy (Accessoires -> QuickSynergy), entrez le nom de la machine client à l’emplacement que vous voulez. Par exemple pour moi le portable est pile sous l’écran du fixe donc dans l’interface de quicksynergy je rentre le nom du portable dans le champ sous la petite maison qui représente le serveur. Puis cliquez sur Execute.

Client

Sur le client, je préfère lancer synergy à la demande dans un terminal, je peux surveiller les logs et je ne le laisse pas tourner hors de mon réseau local (cf. http://synergy-foss.org/pm/projects/synergy/wiki/UserFAQ#Q-How-secure-is-your-application).

synergy -f 192.168.0.1

-f : pour ne pas passer l’application en daemon
192.168.0.1 : adresse du serveur

SSH

Pour la partie serveur, il vous faut le paquet openssh-server et sur le client openssh-client. C’est trop bien fait.

Serveur

La configuration par défaut suffit.

Client

Là aussi, je préfère lancer à la main le lien SSH pour vérifier les messages, etc.

ssh -X 192.168.0.1

-X : ouverture des programmes sur le serveur mais affichage graphique sur le client
192.168.0.1 : adresse du serveur

Nota

  • Il est possible de configurer un tunnel SSH pour augmenter la sécurité mais l’utilisation est souvent en réseau local @Home.
  • Si le serveur est un nomade également, il faut absolument sécuriser la partie SSH (limitation des IPs de connections, des comptes autorisés, etc.).

Script shell pour forcer la mise à jour d’un timestamp d’accés d’un container TrueCrypt

Lorsque l’on utilise TrueCrypt, le fait de décocher l’option de préservation des dates d’accès de fichier

Preserve modification timestamp of file containers
Option TrueCrypt

provoque le message suivant :

Please note that disabling this option may have no effect on volumes mounted using kernel cryptographic services.
Message TrueCrypt

Or c’est justement le cas sous sous GNU/Linux …

Il est souvent recommandé de ne pas décocher cette case pour conserver la confidentialité des modifications « Non monsieur l’agent représentant une dictature, vous voyez bien, j’ai pas touché ce fichier depuis la dernière élection truquée d’il y a 6 mois. »

Or il y a un inconvénient à cette fonctionnalité, certains programmes de sauvegarde se base sur ces dates pour savoir si le fichier a changé depuis la dernière sauvegarde (les condensats sont plutôt réservés au programme de synchronisation). Nous allons donc aider le sort avec un petit script à lancer à chaque démarrage, toutes les heures, à chaque ouverture de session, etc. Quand vous voulez …

#!/bin/bash
cd /le/répertoire/de/mon/container/
if md5sum --check mon_fichier.md5
then
    echo "Unusefullness ..."
else
    touch mon_fichier.tc
    md5sum mon_fichier.tc > mon_fichier.md5
    echo "Touched!"
fi

md5sum est utilisé pour créer un condensat et vérifier s’il est toujours d’actualité ou non.

touch va modifier le timestamp d’accès du fichier pour le mettre à la date actuelle et donc provoquer la détection d’une modification du fichier par les programmes de sauvegarde.

Easy.

Comment se passer de StumbleUpon pour envoyer un lien avec un combo Firefox et Gmail

  1. configurer Firefox pour utiliser Gmail avec les liens mailto grâce à Monsieur Descary : http://descary.com/firefox-3-comment-configurer-mailto-pour-utiliser-gmail-ou-yahoo-mail/
  2. utiliser Firefox … Ben oui, je viens de découvrir que Firefox intègre par défaut cette fonctionnalité … Dans le menu « Fichier » vous avez « Envoyer un lien vers la page« 

« Oh! Too easy! »

S’afficher des messages, des reminders ou d’autres trucs

Comment afficher tous les vendredis qu’il faut sauvegarder ? Comment afficher à 20h00 de mettre un enregistrement ? Utiliser les outils de base : crontab et zenity.

Installation de gnome-schedule

Rien de compliqué, il y a un paquet : gnome-schedule :)

Création d’un rappel

La seule astuce est l’utilisation du DISPLAY, c’est la variable qui donne aux programmes en ligne de commande l’adresse de l’écran. Et oui puisque X marche à travers le réseau, même si vous n’utilisait pas cette fonctionnalité, il faut dire au programme  d’utiliser l’écran de l’ordinateur local. Vous pouvez donc choisir toutes les options d’heures, etc. et utiliser la commande :

DISPLAY=:0 /usr/bin/zenity --warning --text="relever les compteurs"
Capture de gnome-schedule
Capture de gnome-schedule

Liens

Utiliser un casque Bluetooth (Jabra BT3030) avec Ubuntu Hardy Heron

Comment écouter sa musique avec un casque Bluetooth, en l’occurrence un Jabre BT3030, sous Hardy Heron avec n’importe quelle application qui gère GStreamer. Pour les autres cf. le premier lien.

Référence

Identifier son casque

Lancer cette commande pour identifier votre l’adresse de votre casque, il doit être en mode pairing :

hcitool scan

.asoundrc

Créer le fichier ~/.asoundrc :

pcm.bluetooth {
	type bluetooth
	device 00:1D:82:04:28:78	#optionnel
	profile "hifi"			#optionnel
}

hcid.conf

Rajouter dans /etc/bluetooth/hcid.conf :

device 00:1D:82:04:28:78 {
        name "BT3030";
        auth enable;
        lm master;
        passkey "0000";
}

Gstreamer

Un petit script avec une GUI pour changer d’un profil Bluetooth à vos enceintes par exemple :

#!/bin/bash

answer=$(zenity --text "Bluetooth status by default in GStreamer" --list --radiolist --column "Choice" --column "Status" TRUE enable FALSE disable)

case $answer in
    enable)
        echo "Enabling Bluetooth"
        gconftool -t string -s /system/gstreamer/0.10/default/musicaudiosink "alsasink buffer-time=6000000 latency-time=1000000 device=bluetooth" ;;
    disable)
        echo "Disabling Bluetooth"
        gconftool -t string -s /system/gstreamer/0.10/default/musicaudiosink "autoaudiosink" ;;
esac

Sauvegarde avec rsync dans un container Truecrypt distant monté par ssh avec sshfs

Le but de ce tutoriel est de monter une sauvegarde distante sur un PC ami qui héberge nos données. Les données hébergées sont chiffrées dans un container Truecrypt. Ce container est visible en local grâce à l’accès à distance par sshfs (système de fichier monté par ssh).

Liens

Chiffrement

Synchronisation

Divers

Situation

Voilà comment je range mes données :

  • /donnee/agile : donnée qui change souvent (programmation, certaines conférence, etc.) et qui ne sont pas privées (je publie mon code)
  • /donnee/dormante : données qui changent très peu et n’ont pas de  caractère « trop » privées (photos, sauvegardes de jeux, etc.)
  • /donnee/jetable : données que je garde mais que je peux perdre (fond d’écran, musique, etc.)
  • /donnee/privee : données privées (suivi de budget, correspondance, généalogie, etc.)
  • /donnee/temporaire : téléchargement en cours, photos en trie, test, etc.

Prérequis

Client  (c’est nous !)

  • openssh-client
  • sshfs
  • truecrypt
  • rsync
  • (gtkrsync)

Serveur (celui qui nous héberge)

  • openssh-server

Préparation à la sauvegarde sur le client

  • créer un répertoire où sera monté le système distant par SSH :
mkdir -p /donnee/sauvegarde/ssh
  • créer un répertoire où sera monté le container TrueCrypt accessible lorsque le serveur sera monté sur /donnee/sauvegarde/ssh
mkdir -p /donnee/sauvegarde/truecrypt
  • créer un certificat particulièrement pour cet accès sans passphrase
$ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/home/rangzen/.ssh/id_rsa): /home/rangzen/.ssh/backup
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/rangzen/.ssh/backup.
Your public key has been saved in /home/rangzen/.ssh/backup.pub.
The key fingerprint is:
84:--:--:-a:-n:ic:e-:-f:in:ge:r-:pr:in:t-:--:55 rangzen@myhome

Préparation à la sauvegarde sur le serveur

  • créer un utilisateur avec un home à l’emplacement où le responsable de la machine serveur veut bien vous faire un peu de place
adduser backup-rangzen
  • restreindre l’accès ssh backup-rangzen en éditant /etc/ssh/sshd_config
AllowUsers backup-rangzen
Key Authentification
  • initialiser ssh et ajouter backup.pub dans .ssh_key_authorised
# su backup-rangzen
ssh-keygen
mv /tmp/backup.pub > ~/.ssh/authorized_keys
  • test depuis le client, vous ne devriez pas avoir à fournir de mot de passe et vous retrouver dans le home de backup-rangzen sur le serveur
$ ssh -i /home/rangzen/.ssh/backup.pub backup-rangzen@192.168.0.2

Montage de l’emplacement de sauvegarde par sshfs

  • montage par sshfs sur /donnee/sauvegarde/ssh. /donnee/sauvegarde/ssh doit contenir le home de backup-rangzen.
sshfs -o IdentityFile=/home/rangzen/.ssh/backup backup-rangzen@192.168.0.2: /donnee/sauvegarde/ssh

Préparation de l’emplacement Truecrypt

  • création du container (en gras les réponses utilisateur)
rangzen@myhome:/donnee/sauvegarde/ssh$ truecrypt --text --create
Volume type:
1) Normal
2) Hidden
Select [1]: 1

Enter volume path: backup.tc

Enter volume size (sizeK/size[M]/sizeG): 10G

Encryption algorithm:
1) AES
2) Serpent
3) Twofish
4) AES-Twofish
5) AES-Twofish-Serpent
6) Serpent-AES
7) Serpent-Twofish-AES
8) Twofish-Serpent
Select [1]:(Entrée)

Hash algorithm:
1) RIPEMD-160
2) SHA-512
3) Whirlpool
Select [1]:(Entrée)

Filesystem:
1) FAT
2) None
Select [1]: 2

Enter password:(Votre mot de passe)
Re-enter password:(Encore votre super mot de passe)

Enter keyfile path [none]:(Entrée)

Please type at least 320 randomly chosen characters and then press Enter:(Partie fait du Dance Dance Revolution avec ton clavier)

The TrueCrypt volume has been successfully created.
  • montage du container pour formatage
truecrypt --text --filesystem=none backup.tc
  • formatage en ext2 (trouver le dev dans /dev/mapper/truecryptn)
mkfs.ext2 /dev/mapper/truecrypt1

Fermer truecrypt et sshfs

truecrypt -d
fusermount -u /donnee/sauvegarde/ssh/

Procédure de sauvegarde

  • monter le système
sshfs -o allow_other,IdentityFile=/home/rangzen/.ssh/backup backup-rangzen@192.168.0.2: /donnee/sauvegarde/ssh
  • monter le container
truecrypt --text /donnee/sauvegarde/ssh/backup.tc /donnee/sauvegarde/truecrypt
  • sauvegarde
(gtk)rsync --archive --delete-excluded --compress --stats --progress --verbose --include-from=/donnee/agile/configuration/rsync/pattern /donnee/ /donnee/sauvegarde/truecrypt/
  • tout refermer
truecrypt -d
fusermount -u /donnee/sauvegarde/ssh/