2014-08-31 11:55

Contribution de Mathilde :

Ce script permet de lancer une recherche par taille de fichier sur opensubtitles.org, par un simple clique droit sur le fichier video.

S’il n’existe pas, créer le dossier .local/share/nautilus/scripts dans votre dossier personnel (depuis Nautilus, vous pouvez utiliser le raccourci Ctrl+H pour afficher les fichiers cachés et visualiser le dossier .local).

Enregistrer le fichier subtitle dans .local/share/nautilus/scripts

Ajouter le droit d’execution au script, dans les propriété du fichier, ou par la commande chmod +x ~/.local/share/nautilus/scripts/subtitle

Ouvrir Nautilus (aka “Fichiers”). Sélectionner le film dont on veut chercher les sous-titres, clic droit et sélectionner dans le menu déroulant ‘scripts’ puis “subtitle”.
Une fenêtre de navigateur s’ouvrira directement sur le site opensubtitles.org avec les résultats de la recherche.

NB :
Par défaut, le script recherche des sous-titre en anglais. Pour changer de langue, ouvrir subtitle et modifier la variable LANG.

Contenu du script subtitle :

#!/bin/bash

LANG=eng
#LANG=fr

FILE=$1
SIZE=$(stat -c %s $FILE)

xdg-open "http://www.opensubtitles.org/eng/search/sublanguageid-$LANG/moviebytesize-$SIZE"
2014-08-31 11:55 · Tags: ,
2014-05-29 18:59

Voici comment mettre à jour le BIOS d’un Thinkpad Lenovo (X1 Carbon Gen 2 dans mon cas).
Il faut télécharger le fichier ISO bootable depuis le site de support Lenovo, le convertir et le copier sur une clé USB.

Il vous faut une clé USB que vous pouvez écraser.

Récupérez le fichier ISO bootable depuis le site de support Lenovo. Pour obtenir votre numéro produit :

sudo dmidecode -t system | grep Product

Pour vérifier la version installée du BIOS: sudo dmidecode -t bios

Récupérez le programme geteltorito depuis vos paquets, ou téléchargez le :

cd /tmp/
wget http://userpages.uni-koblenz.de/~krienke/ftp/noarch/geteltorito/geteltorito
chmod +x geteltorito

Extraire le fichier img depuis l’ISO :

./geteltorito -o bios.img gruj09us.iso

Copier le fichier img sur le périphérique (vérifiez que sdb est bien votre clé USB !!) :

sudo fdisk -l /dev/sdb #vérifiez la taille du disque
sudo dd if=bios.img of=/dev/sdb

Voila. Démarrez sur la clé USB et suivez les instructions pour mettre à jour le BIOS.

2014-05-29 18:59 · Tags: , , , , ,
2014-04-27 14:24

Si vous rencontrez ce problème en pushant vers github par exemple.

Il suffit de vider le paramètre core.askpass :

git config --global core.askpass ''

Voir aussi man git config

2014-04-27 14:24 · Tags: , ,
2014-04-06 17:54

Après quelques recherches je n’ai trouvé aucun guide simple et efficace pour ça.
La méthode suivante devrait fonctionner pour n’importe quelle distribution Linux (Ubuntu, Debian, Manjaro, Archlinux, Fedora…). Les systèmes source et cible doivent être sur la même architecture processeur (mais un transfert depuis 32bit vers 64bit devrait fonctionner).

Il vous faut:

  • 2 clés USB live (ou cds)
  • Pour un transfert plus rapide: des bons câbles ethernet (un seul câble entre les 2 ordis suffit), ou un disque usb avec une GROSSE partition ext4. Vous pouvez essayer en Wifi, mais ça risque d’être lent.

1. Démarrer les machines source et cible sur live USB/CD

N’importe quel clé USB ou CD devrait faire l’affaire.
Sur l’ordinateur cible, vous aurez besoin d’un outil pour partitionner votre disque dûr, comme gparted.
rsync est également nécessaire pour le transfert de données : il est inclus dans la plupart des systèmes live.

Exemples de live USB/CDs : Ubuntu, Manjaro

2. Partitionnez votre disque cible

Utilisez un outil comme gparted pour partitionner votre disque cible, avec les mêmes partitions que votre système source (slash, swap, home…).
Je vous recommande d’affecter des LABELs / étiquettes à vos partitions : c’est plus simple que les UUIDs pour la fstab.

3. Monter toutes les partitions sur les 2 machines

Sur les 2 systèmes, ouvrez un terminal root. Pour chaque partition de données (on ignore la swap) :

mkdir /mnt/slash
mount /dev/sdaX /mnt/slash

Si vous avez une partition home:

mkdir /mnt/home
mount /dev/sdaY /mnt/home

4. Transférer les données (réseau ou usb)

Cette partie peut être complexe. Choisissez la méthode que vous préférez.

Réseau

  1. Configurez le réseau. Testez la connectivité avec la commande ping.
    Le plus simple est de brancher les PCs sur un réseau DHCP (comme la box de votre FAI) pour obtenir des adresses IP automatiques. Si vous reliez les 2 pcs avec un seul cable, vous devrez configurer les IPs avec NetworkManager (ips statiques ou réseau adhoc).
  2. Sur le système source, en root, créez un fichier /etc/rsyncd.conf :
    uid = root
    gid = root
    use chroot = no
    
    [all]
        path = /
    
  3. Lancez le démon serveur rsync : rsync --daemon
  4. Sur le PC cible, pour chaque partition :
    rsync -avHX SOURCE_IP::all/mnt/slash/ /mnt/slash/
    

    N’oubliez pas les ‘/’ à la fin des chemins. -a pour conserver plusieurs attributs comme propriétaire et permissions, -H pour conserver d’éventuels liens en dûr, -X pour conserver les attributs étendus comme setuid. Vous pouvez également ajouter -A si vous utilisez des acls. L’avantage de rsync, c’est que vous pouvez arrêter et relancer le transfert quand vous voulez.

USB

Préparez un disque USB avec une GROSSE partition ext4.

  1. Montez la partition USB sur le système source (mount /dev/sdbX /mnt/usb)
  2. Pour chaque partition :
    rsync -avHX /mnt/slash/ /mnt/usb/slash/
    
  3. Démontez (umount), débranchez et remontez le disque USB sur le système cible.
  4. Pour chaque partition :
    rsync -avHX /mnt/usb/slash/ /mnt/slash/
    

5. Changer la fstab sur le système cible

En tant que root, éditez /mnt/slash/etc/fstab
Pour chaque partition (swap y compris), remplacez le 1er champ avec le nouvel UUID ou LABEL (plus simple avec les LABELs) :
UUID=the-long-uuid, or LABEL=yourlabel

2 méthode pour obtenir les UUIDs / LABELs :

ls -l /dev/disk/by-uuid/
blkid /dev/sdaX

6. Réinstaller Grub

Nous allons utiliser un chroot (environnement avec racine changée) pour lancer l’install grub à l’intérieur du système migré.

Tout d’abord, monter (bind) les répertoires systèmes requis par grub. Lancer ensuite le chroot :

mount --bind /proc /mnt/slash/proc
mount --bind /sys /mnt/slash/sys
mount --bind /dev /mnt/slash/dev
mount --bind /run /mnt/slash/run
chroot /mnt/slash

Enfin, installer grub dans la zone d’amorçage (Master Boot Record) de votre disque dûr, et mettre à jour le fichier de configuration de grub (avec les nouveaux uuids…) :

grub-install /dev/sda
update-grub

7. Redémarrer la machine cible

Voila ! Votre système devrait fonctionner sur le nouvel ordinateur.
N’hésitez pas à commenter en cas de problème.

2014-04-06 17:54 · Tags: , ,
2013-12-05 23:22

Bsync est un outil de synchronisation bidirectionnelle utilisant Rsync pour les transferts. Les fichiers déplacés sont également synchronisés de manière intelligente.

Il utilise rsync pour les transferts de fichiers, find pour générer les snapshots de listes de fichiers, et ssh pour les les transferts distants.

bsync est une alternative à Unison, écrit en Python 3. Une grande force de bsync : il détecte et applique les déplacements de fichiers d’un dossier vers l’autre (Unison utilise des copies pour gérer les fichiers déplacés).

J’ai développé bsync pour synchroniser mon dossier de musique de mon laptop vers mon Raspberry Pi de manière efficace, et pour synchroniser avec le laptop de ma compagne également.

Bsync est publié sous GPL. N’hésitez pas à soumettre bugs et suggestions dans les tickets GitHub.

Infos, Téléchargement et Installation sur le dépôt GitHub.

2013-12-05 23:22 · Tags: , , , , ,
2013-08-15 23:29

http://vickychijwani.github.io/2012/04/15/blazing-fast-application-switching-in-linux/

J’ai fait quelques améliorations sur le script. Plus de fonctionnalités, mais un peu plus complexe.

  • Utilisation de /bin/sh pour pouvoir utiliser dash à la place de bash (plus léger)
  • Utilisation de exec pour lancer la commande pour remplacer le script courant (sinon vous avez des procéssus inutile dans ps)
  • Remonte toutes les fenêtres de la même classe : utile pour remonter tous les terminaux par exemple
  • “Mode bascule” : lancé une seconde fois, les fenêtres sont minimisées. Pour cela le script dépend de xdotool. wmctrl ne sais pas faire encore (à venir dans une version future. L’auteur a commité une option -Y sur github pour ça).

Installez le script /home/USER/bin/run-or-raise et ajoutez quelques raccourcis clavier dans votre gestionnaire de fenêtres et voila!

<Super>f /home/USER/bin/run-or-raise Navigator.Firefox firefox
#!/bin/sh
# syntax: run-or-raise WM_CLASS_name COMMAND
#   WM_CLASS_name : the WM_CALL_name of the window (from wmctrl -lx output)
#   COMMAND : the command to run if nothing to raise

#logfile=/tmp/$(basename $0).log
#exec > $logfile 2>&1

# get windows ids matching WM_CLASS_name
WINIDS=$(wmctrl -lx | awk '{ if ($3 == "'"$1"'") print $1}')

# run if nothing started. exec will end the script
[ -z "$WINIDS" ] && exec "$2"

# if the window is active, we minimize all the windows of the class
ACTIVEWIN=$(wmctrl -a :ACTIVE: -v 2>&1 | sed -n 's/^Using window: \(.*\)/\1/p')
MINIMIZE=false
if echo "$WINIDS" | grep -q "$ACTIVEWIN"; then
        MINIMIZE=true
fi

for ID in $WINIDS; do
        if $MINIMIZE; then
                xdotool windowminimize "$ID"
        else
                wmctrl -i -a "$ID"
        fi
done
2013-08-15 23:29 · Tags: