Fedora-Fr - Communauté francophone Fedora - Linux

Planet de Fedora-Fr : la communauté francophone autour de la distribution Linux Fedora

A propos

Cette page est actualisée toutes les heures.

Cette page est une sélection de blogs autour de Fedora. Fedora-Fr.org décline toute responsabilité au sujet des propos tenus par les auteurs des blogs de ce planet. Leurs propos sont leur entière responsabilité.

Le contenu de ce planet appartient à leurs auteurs respectifs. Merci de consulter leur blogs pour obtenir les licences respectives.

Mot-clefs : bureautique

Configurer Mutt pour gmail

Patrice Ferlet

Il est évident que nous ne sommes pas tous accrocs aux outils en mode texte (dans un terminal) mais personnellement j'y trouve mon compte: vitesse, exécution claire, lisibilité... et modularité. Je suis un Google Fan (houuu je vais m'en prendre plein la poire moi) et j'ai beaucoup de mes données sur Google: mail, documents, agenda... Voici donc comment pouvoir envoyer des mails et lire ces derniers convenablement avec Mutt, y compris l'autocompletion des contacts Gmail

La configuration ne sera pas compliqué. Il faudra juste se farcir 3 fichiers de configurations:

  • un pour mutt lui même, configuration du compte
  • un pour permettre les macros de lecture de mail en HTML
  • un fichier netrc pour permettre à goobook de fonctionner

Bref, passons en premier lieu à l'installation proprement dite des logiciels:

su -c "yum install mutt python-setuptools links"
easy_install goobook

Le première commande installe mutt et les utilitaires pytyon pour installer un paquet python, puis links, le lecteur html en console. L'autre installe goobook, un outil qui permet de récupérer un carnet d'adresse google.

Goobook est un outil python que j'ai testé après en avoir essayé plusieurs, c'est de loin le plus pratique et le plus abouti que je connaisse. Vous pouvez voir la page du projet ici: http://pypi.python.org/pypi/goobook...

Maintenant, passons à la configuration de Mutt

#fichier ~/.muttrc

#enregistre les messages envoyés et brouillons dans Gmail
set record="+[Gmail]/Messages envoyés"
set postponed="+[Gmail]/Brouillons"

#configuration du serveur
set hostname=gmail.com
my_hdr From: PRENOM NOM <USER@gmail.com>
set use_envelope_from
set envelope_from_address="USER@gmail.com"

unignore Date Message-ID In-Reply-To

set move=no
set spoolfile=imaps://imap.gmail.com:993/INBOX
set imap_user = "USER@gmail.com"
set imap_pass= "VOTRE MOT DE PASSE"
set imap_authenticators="login"
set imap_passive="no"
set folder="imaps://imap.gmail.com:993"
set imap_check_subscribed="yes"
set imap_list_subscribed="yes"

set smtp_url="smtps://USER:VOTRE MOT DE PASSE@smtp.gmail.com:465"
set ssl_starttls="yes"

set locale="fr_FR"
set date_format="%A %d %b %Y à %H:%M:%S (%Z)"
set attribution="Le %d, %n à écrit:"
set forward_format="[Fwd: %s]"
set forward_quote

mailboxes !

set pager_index_lines="7"
set pager_stop

#gérer un cache
set message_cachedir="~/.mutt_msg_cache"
set header_cache="~/.mutt_header_cache"

#force l'utilisation d'un programme exterieur pour les mails en HTML
auto_view text/html

#et ici la config pour les contacts
set query_command="goobook query '%s'"
bind editor <Tab> complete-query
macro index,pager a "<pipe-message>goobook add<return>" "add the sender address to Google contacts"

Et enfin il faut configurer les commandes pour lire les mails HTML:

#fichier ~/.mailcap
text/html;  links %s; nametemplate=%s.html
text/html;  links -dump %s; nametemplate=%s.html; copiousoutput

Bien. Reste à gérer goobook, on commence par créer un fichier:

#~/.netrc
machine google.com
    login USER@gmail.com
    password Votre Mot de passe

Voilà, testez rapidement que ça passe en tapant:

goobook reload
goobook query un_nom_au_choix

Et bien voilà, lancez maintenant la commande mutt et appréciez un peu la lecture de mail dans un terminal.

Souvenez vous de quelques racourcis:

  • Maj+D pour supprimer un ensemble de mail correspondant à un motif que vous tapez (par exemple si vous tapez microsoft, tout les mails correspondants seront marqué comme "à supprimer")
  • d pour supprimer le message sélectionné
  • m pour envoyer un message (les contacts sont auto complétés via la touche tabulation)
  • r pour répondre
  • c por changer de dossier de mail
  • / pour chercher un mail, selon le nom, le sujet...
  • $ pour valider les changements (suppressions)

Voilà, personnellement j'ai adopté mutt et j'en suis très content. Je classe et nettoie ma boite mail en 4 fois moins de temps qu'avant.

Notez que nous pourrons ensuite utiliser mcabber pour tchater avec nos contacts google :)" class="smiley on en reparlera

EDIT: j'ai supprimé la phase de création de goobookrc qui est inutile en fait...

Carte télé sous Fedora

Patrice Ferlet

J'ai testé de faire marcher la télé avec une carte CINERGY T Stick HD sur mon poste, et alors que tout me paraissait assez clair... impossible de voir une image. La solution est simple: tout est dut au format vidéo utilisé pour la TNT, en loccurrence le MPEG2. Voici un moyen simple de faire marcher votre carte et voir les chaines tourner.

Il vous les dépôts rpmfusion, allez voir http://rpmfusion.org/ ou tapez cette commande:

su -c 'yum localinstall --nogpgcheck http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rpm http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-stable.noarch.rpm'

Ensuit, il faut installer ce qu'il faut. La plus simple et qui marche sans souci est de faire:

su -c "yum install -y me-tv xine-lib-extras xine-lib-extras-freeworld && modprobe bttv"

Cela va faire deux choses:

  • installer les librairies xine nécessaires au décodage mpeg 1/2
  • charger le module bttv nécessaire à la vision de la télé

Ensuite, j'ai dut récupéré le firmware de ma carte, dans mon cas l'erreur apparaissait lorsque je branchais ma carte, un "dmesg" me disait que le fichier "dvb-usb-af9015.fw". En fouillant sur le net, je l'ai trouvé sur un site, faison simple:

cd /tmp
wget http://www.otit.fi/~crope/v4l-dvb/af9015/af9015_firmware_cutter/firmware_files/4.95.0/dvb-usb-af9015.fw
su -c "mv dvb-usb-af9015.fw /lib/firmware/"

On débranche la clef, on la rebranche, et c'est bon.

Voilà reste à lancer "me-tv" et a demander un scan à partir d'un fichier de configuration connu. Pour ma part ce fut le fichier "fr-Lyon-Fourviere". 42 chaines trouvées et les chaines HD passent sans souci, y compris avec l'antenne fournie (pourtant toute petite) avec la carte.

Le seul hic est que (pour le moment) je n'arrive pas à faire marcher la télécommande (irda). Avec un peu de patience je pense y arriver un jour. En espérant que cela vous rende service...

Catpure vidéo écran screencast sous Fedora avec ffmpeg

Patrice Ferlet

La capture vidéo d'écran est un sujet maintes fois soulevé sous Linux et il existe de jolis services fais pour ça. Mais quand ça ne marche pas on a du mal à trouver des solutions simples... Istanbul, gtk-recordMyDesktop, je les ai essayé... mais à chaque fois un souci apparait, soit avec le son, soit avec la vidéo. Alors pourquoi ne pas passer par la ligne de commande ? ffmpeg est juste parfait ! alors on se lance. Encore une fois, si je trouve pas ce qui me plait, je le code :)" class="smiley donc vous aurez un script en bas de billet qui fait tout ça.

En premier lieu, le but est d'avoir: une vidéo de bonne qualité, capture du son depuis un micro, et un contrôle possible de la zone à sauver. Bref, il nous faut chercher tout ça dans les documentations. Comme je suis gentil, je vous donne au fur et à mesure la méthode, et même un petit script qui va vous aider.

Permière tâche à effecturer: capturer l'écran. ffmpeg à un format d'entré nommé "x11grab". Ce format d'entrée permet d'utiliser un port X de capture. Dans la majeur partie des cas on utilise "0.0"

Il faut par contre définir une taille obligatoirement, mon écran est de résoltion 1366x768. On trouve facilement la configuration de cette manière:

xrandr
creen 0: minimum 320 x 200, current 1366 x 768, maximum 1600 x 1600
LVDS connected 1366x768+0+0 (normal left inverted right x axis y axis) 344mm x 193mm
   1366x768       60.0*+
   1360x768       60.0  
   1280x768       60.0  
   1280x720       60.0  
   1024x768       60.0  
   1024x600       60.0  
   800x600        60.0  
   800x480        60.0  
   640x480        60.0  
DFP1 disconnected (normal left inverted right x axis y axis)
CRT1 disconnected (normal left inverted right x axis y axis)

Il faut aussi spécifier la fréquence de frame par seconde, 15 est un minimum, mais 25 ou 30 images par seconde est plus fluide. Bref...

Donc, pour capturer l'écran:

ffmpeg -f x11grab -i 0.0 -s 1366x768 -r 25 -y /tmp/out.avi

Cela fonctionne bien, en pressant "q" dans la console on coupe la capture, voyez ensuite la vidéo:

ffplay /tmp/out.avi

Niveau qualité... moyen... on ajoute alors un débit de lecture pour s'assurer d'un bon rendu. Personnellement j'ai trouvé que 7000kb/s est pas mal du tout:

ffmpeg -f x11grab -i 0.0 -s 1366x768 -r 25 -b 7000k -y /tmp/out.avi

Voilà. Pour le moment on a bien une manière de capturer la vidéo. Reste à capturer du son. ffmpeg sait très bien capturer le son depuis votre interface alsa.

Tout le problème est de savoir quel est l'identifiant alsa à capturer... personnellement j'ai une webcam avec micro, une carte hdmi qui peut sortir du son et une interface interne pour sortir du son sur mes enceintes... bref, 3 cartes...

L'investigation est en fait très simple, Linux a cet avantage de tout faire dans des fichiers ou pseudo fichiers. Nos cartes sons sont en fait interrogeables depuis /proc/asound qui nous donne un paquet d'informations.

Regardons:

D'abords je cherche ma webcam... ne vous fiez pas au nom complètement batard que vous allez voir, c'est juste que cette webcam envoit un nom bien affreux. Dans les autres cas vous verrez certainement des choses plus lisibles.

cat /proc/asound/cards
 0 [U0x46d0x825    ]: USB-Audio - USB Device 0x46d:0x825
                      USB Device 0x46d:0x825 at usb-0000:00:1d.0-1.2, high speed
 1 [Intel          ]: HDA-Intel - HDA Intel
                      HDA Intel at 0xb4100000 irq 44
 2 [Generic        ]: HDA-Intel - HD-Audio Generic
                      HD-Audio Generic at 0xb4020000 irq 45

donc ici on voit mes 3 cartes, La Intel, la Generic et ma webcam avec ce fameux nom "U0x46d0x825". Ce qui nous intéresse ici c'est surtout l'index, le permier chiffre qui apparait sur la première colone. Ma webcam (ou du moins son interface de son) est "0". Cela va vouloir dire que nous utiliserons ce chiffre pour définir la carte à utiliser.

Attention, un carte peut avoir plusieurs interfaces de capture, par exemple une entrée "line in" et "mic"... il faut donc trouver quel est l'interface qui nous convient. Cela se passe dans un second fichier:

cat /proc/asound/devices 
  2:        : timer
  3:        : sequencer
  4: [ 1- 0]: digital audio playback
  5: [ 1- 0]: digital audio capture
  6: [ 1- 0]: hardware dependent
  7: [ 1]   : control
  8: [ 2- 3]: digital audio playback
  9: [ 2- 0]: hardware dependent
 10: [ 2]   : control
 11: [ 0- 0]: digital audio capture
 12: [ 0]   : control

Ce qui est intéressant ici, c'est la seconde colonne, elle spécifie l'index de la carte suivi de l'index d'interface. Dans notre cas, pour ma webcam, je cherche l'index 0, c'est à dire les ligne préfixées par 11 et 12. On voit que l'interface 0-0 est une entré de capture de son... parfait !

La notation alsa est simple: "hw:" suivit de l'index, une virgule, le numéro d'interface. Ma webcam est représentée par "hw:0,0"

ainsi, ffmpeg me permet d'enregistrer du son depuis mon micro de cette manière:

ffmpeg -f alsa -i hw:0,0 -y /tmp/out.ogg

Et de ce fait, /tmp/out.ogg est un fichier son qui a enregistré ma voix depuis ma webcam. Bon, et bien allons y maintenant, on va utiliser les deux flux (vidéo et audio) et on les envoit dans un fichier:

ffmpeg -f x11grab -i 0.0 -s 1366x768 -r 25 -b 7000k -f alsa -i hw:0,0 -y /tmp/out.avi

Evidamment, vous pouvez utiliser d'autres formats de sortie, comme le webm, libx264, ogv, etc...

C'est bien gentil mais chercher ma carte son, etc... pas cool hein ? et bien on va simplifier tout ça via du bash avec zenity... comme ça ce sera plus simple.

On va utiliser un petit programme que j'ai trouvé sur le net qui permet de faire une sélection sur X:

wget https://github.com/lolilolicon/ffcast/raw/master/xrectsel.c --no-check-certificate
$(grep -Eo "gcc(.*)" xrectsel.c)
su -c "install xrectsel /usr/local/bin/"

Cela a installé une commande nommé xrectsel sur votre système, dans /usr/local/bin

Reste à faire un script pour lire les coordonnées, choisir le périphérique de capture et enfin lancer la capture...

Plutôt que de chercher les infos dans /proc/asound/devices et cards, je vais utiliser une autre méthode, plus adapté au scripting, qui consiste à chercher les cartes et leur capacité dans /proc/asound/cardN où N est un numéro. En lisant les fichiers pcmNc/info, j'aurais toutes les informations nécessaires. Par exemple:

cat /proc/asound/card0/pcm0c/info
card: 0
device: 0
subdevice: 0
stream: CAPTURE
id: USB Audio
name: USB Audio
subname: subdevice #0
class: 0
subclass: 0
subdevices_count: 1
subdevices_avail: 1

Voici le script, moins de 100 lignes:

#!/bin/bash
#author Patrice Ferlet - Metal3d@gmail.com - http://www.metal3d.org
#Licence: GPLv3
 
#get Desktop dir for user
DESKTOP=$HOME/Desktop
if [[ -f ~/.config/user-dirs.dirs ]]; then
    source ~/.config/user-dirs.dirs
    DESKTOP=$XDG_DESKTOP_DIR
fi
 
getCards(){
    ## this function seeks every sound card that can be use to capture sound (mic, line in...)
 
    #find cards directory
    i=0
    capdevices=""
    while [[ -d /proc/asound/card$i ]]
    do
        #find pcmNc
        capdevices=$capdevices" "$(find /proc/asound/card$i -name "pcm*c" -type d)
        i=$((i+1))
    done
 
    for cap in $capdevices
    do
        #get options... index, subdevice etc...
        card=$(awk '/^card: /{print $2}' $cap/info)
        dev=$(awk '/^device: /{print $2}' $cap/info)
        subdev=$(awk '/^subdevice: /{print $2}' $cap/info)
        name=$(awk -F":" '/^name: /{print $2}' $cap/info)
        name=$(echo $name | sed 's/ /\-/g')
        echo "hw:$card,$dev,$subdev" "$name"''    
        echo
    done
 
}
 
__ffcast(){
    #lauch ffmpeg with options
    winsize=$1
    off=$2
    asound=$3
    options=$4
    file=$(echo "$options" | awk '{print $NF}')
 
    #run ffpmeg and get pid
    ffmpeg -f x11grab -s $winsize -r 30 -i :0.0+$off  -f alsa -i $asound $options &
    pid=$!
    zenity --notification \
        --window-icon /usr/share/icons/gnome/scalable/actions/media-record-symbolic.svg \
        --text "to stop ffcast, press icon" 2>/dev/null
    kill $pid
    zenity --info --title "Screencast stopped" --text "$file has been saved" 
}
 
chooseFFopts(){
    #this function allows you to choose output formats; it returns options + filename
    file=$DESKTOP/"screencast-"$(date +"%Y.%m.%d-%H:%M")
    ogv="-b 9000k $file.ogv"
    webm="-b 9000k $file.webm"
    avi="-b 9000k $file.avi"
    response=$(zenity --list --column "Format" avi x264 ogv) || exit 1
    echo ${!response}
}
 
main(){
    #main function
 
    captures=$(getCards)
    interface=$(zenity --title "Choose a sound device to capture" \
            --list --column "Port" \
            --column "Interface name" $captures) || exit 1
 
    #run xrectset to get a X rect selection made with mouse
    coords=$(xrectsel | sed 's/\+/ /')
    win=$(echo $coords | awk '{print $1}')
    offset=$(echo $coords | awk '{print $2}' | sed 's/\+/,/')
 
    #get ffmpeg options
    opts=$(chooseFFopts)
 
    #prepare screencast
    zenity --question \
        --title "Capture will begin after you press OK" \
        --text "An icon will appear in notification, press it to stop screencast"\
        --ok-label "Start screencast"\
        --cancel-label "Cancel" || exit 1
 
    #run screencast
    __ffcast $win $offset $interface "$opts"
}
 
#run main function
main

Sauvez ce fichier dans /usr/local/bin/ffmpeg-screencast (en root) et rendez le exécutable

su -c "chmod +x /usr/local/bin/ffmpeg-screencast"

Créez vous un lanceur dans le bureau, c'est plus sympa je trouve...

Vous le lancez, on vous propose de capturer l'audio sur ce qu'on trouve, puis vous faites une boite de sélection... reste ensuite à lancer le screencast. Une icone ronde apparait dans barre de notification, si vous cliquez dessus alors la capture s'arrête. Dans votre bureau apparait alors la capture vidéo que vous vouliez.

Bleachbit et votre PC souffle un peu

Patrice Ferlet

On télécharge, on joue avec des compilations de programme, on se teste au package, on ferme brutalement des éditeurs de texte, on utilise firefox et google-chrome... et puis un jour on se rend compte que son PC est un peu lent, que le disque "craque" et que l'espace disque commence à manquer. Je vais vous présenter l'outil magique qui va vous soulager la douleur.

Bleachbit est un outil très intéressant pour tout utilisateur qui remplis son disque dur très vite, qui navigue énormément sur internet ou encore qui fait pas mal de code... en fait, il est bon pout tout le monde, y compris l'utilisateur bureautique.

Bleachbit vient en fait avec des "plugins" qui s'activent si il découvre une utilisation possible sur votre PC, par exemple si vous utilisez aMule alors l'outil vous proposera de nettoyer votre espace aMule, idem pour Firefox, Google-Chrome, etc...

Pour utiliser ce programme, installez le via l'outil de gestion de paquets ou dans une console:

su -lc "yum -y install bleachbit"

Vous pouvez alors le lancer en tant qu'utilisateur ou root. Pour le second cas, cela sera utile pour nettoyer les cache de yum par exemple... Bref, lancez l'outil avec la commande "bleachbit" (le plus simple étant de presser ALT+F2 et de taper dans l'invite: bleachbit)

S'ouvre alors une fenêtre de ce type: Bleachbit

En cochant des cases, vous activerez alors les opérations possible de bleachbit. En tant qu'utilisateur vous ne pourrez pas toucher à yum, mais par contre les fichiers temporaires (inutiles en général) ou l'optimisation les bases SQLite de firefox ou chrome est une opération qui peut vous faire gagner beaucoup de place.

Personnellement, je code beaucoup sous vim, gedit et geany. J'ai pas mal de compilation dans mon répertoire de rpm (rpmbuild) et j'utilise énormément de cache dans mes navigateurs étant donné le nombre de site que je visite en une journée. J'ai gagné 9 gigas lors de mon dernier nettoyage.

En tant que root, c'est une opération qui peut vous faire gagner quelques centaines de mégas rien qu'en vidant les cache yum et les traduction inutiles (désolé mais les man pages en polonais ça m'aide pas des masses..)

Pour ce dernier cas notez bien que les mises à jour de page de manuels vous feront apparaître un "warning" qui stipule que des fichiers sont manquants. Oui, c'est normal et pas grave du tout...

Voilà, moi je vous conseille d'utiliser cet outil de temps en temps. Commencez toujours par utiliser le bouton "Prévisualiser" qui vous donnera une estimation de l'espace que vous allez retrouver (presque toujours inférieur au gain réél). Et surtout, lisez bien les informations sur la gauche quand vous sélectionner une option pour savoir ce que va faire Bleachbit.

Mais dans l'ensemble, il ne fait rien de bien dangereux.