Twitter Facebook RSS

Accueil > Planet-libre

05
novembre

ArchLinux : Yaourt - erreur 301

Ce matin, je voulais installer Spotify sur ma nouvelle distro sous Manjaro... J'ai été gratifié d'une belle erreur :

jeoffrey@arch ~$ yaourt spotify
The URL http://aur.archlinux.org/rpc.php?type=search&arg=spotify returned error : 301

Cela vient du fait que l'AUR d'ArchLinux est récemment passé en https... Pour y passer vous aussi, éditez le fichier /usr/lib/yaourt/util.sh, et remplacez la ligne suivante :

AURURL='http://aur.archlinux.org'

Par celle-ci :

AURURL='https://aur.archlinux.org'

Relancez votre commande yaourt, et vous pourrez de nouveau installer vos paquets via AUR !

02
novembre

Gnome 3 : icônes manquantes

Je viens tout juste d'installer Archlinux et Gnome 3.6 sur mon tout nouveau Zenbook prime. Au reboot, je me suis rendu compte que toutes les icônes liées à Gnome ne s'affichaient pas :

Image

Sur les forums d'ArchLinux, certains conseillaient de réinstaller librsvg, mais ça n'a rien donné chez moi... En revanche, la commande suivante a résolu ce soucis pour ma part :

/usr/bin/gdk-pixbuf-query-loaders --update-cache

Cela relance le cache des images, et les affiche de nouveau ;).

22
octobre

Mon .vimrc : explications

Allez, puisque j'ai passé un peu de temps ce week-end à faire joujou avec vim, voici le rendu final de mon vimrc :

vimrc

Ce dernier est disponible à cette adresse.

Voici quelques explications sur son contenu. Avant toute chose, sachez qu'un commentaire dans un fichier .vimrc débute par une double-quote : ".

Activer la numérotation des lignes et la coloration syntaxique

set number
syntax on

La première commande permet déjà d'ajouter la numérotation des lignes à gauche de notre vim. C'est très utile, vous verrez. Ensuite, lorsque l'on édite régulièrement des scripts, que ce soit du php, ou du Bash, il est très utile d'avoir la coloration syntaxique de son code, c'est à cela que sert la seconde ligne !

De nouvelles couleurs

colorscheme koehler

La couleur de base de vim ne vous plaisant pas forcément, il ne serait pas du luxe de pouvoir la changer ! Heureusement, vim met à disposition un ensemble de "thèmes", qui se situent dans le dossier /usr/share/vim/vim72/colors/. Pour ma part, j'utilise koehler ! Bien sûr, il est également possible d'installer des thèmes venant d'Internet ;).

Jouer avec la souris

set mouse=a

Inutile si vous êtes sur un serveur, cette directive servira surtout aux desktops users, qui veulent faire de la sélection de texte avec la souris !

Ne pas taper à l'aveugle

set showcmd

Lorsque vous faites un couper-coller, vous utilisez la commande "2dd" ( couper 2 lignes). Seulement, votre "2dd" ne s'affiche nulle part ! Grâce à la commande showcmd, votre instruction s'affichera en bas à droite.

Avec l'autoindentation tu joueras

filetype plugin indent on

Cette ligne permet d'ajouter l'indentation automatique.

De tout, tu te souviendras

set history=100

Vous le savez surement, les commandes utilisables avec sont légions. Si vous voulez récupérer une commande entrée il y a quelques temps, rien ne vaut un bon historique. N'hésitez pas à mettre plus que 100.

Retrouver une parenthèse perdue

set showmatch

Grâce à showmatch, vous pourrez retrouver facilement l'accolade ou la parenthèse que vous avez ouverte quelques milliers de lignes plus haut. Très pratique pour les développeurs !

Bling bling, couleurs !

set hlsearch
set incsearch

La commande hlsearch permet de surligner les éléments recherchés, et incsearch permet de déplacer le curseur dans les résultats au fur et à mesure de la saisie (dans le genre de la recherche sous Firefox).

Bling bling sur la ligne courante

set cursorline
hi Cursorline ctermbg=darkgrey guibg=#771c1c cterm=none

Pour rapidement savoir ou l'on se trouve, on utilise cursorline, qui met en valeur la ligne où le curseur se trouve. Vous pouvez vous amuser avec les valeurs "ctermbg" et "guibg" !

Une recherche sans casse

set ignorecase

Pour désactiver la casse lors des recherches ;). Si vous voulez l'utiliser ocasionnellement, utilisez cette commande : /marecherche\c

C'est le paramètre \c qui spécifie une recherche sans respect de la casse ;).

Détection parfaite

filetype on

Lorsque vous éditez un fichier, VIM peut détecter automatiement le type de fichier, et adapter la coloration synntaxique.

É on écri sent photes !

set spelllang =fr
set spell
set spellsuggest =5

Voici quelques lignes qui vous permettront de corriger automatiquement vos textes...

Quelques raccourcis

iab <? <?php

Pour mettre en place des raccourcis assez sommaires, utilisez "iab". Lorsque vous tapperez "<?", ça sera automatiquement remplacé par "<?pphp" ;).

On se souvient de la dernière édition ?

if has("autocmd")
        filetype plugin indent on
                autocmd FileType text setlocal textwidth=78

        autocmd BufReadPost *
        \ if line("'\"") > 0 && line("'\"") <= line("$") |
                \   exe "normal g`\"" |
        \ endif
 endif

Utilisez ce petit morceau de script pour replacer le curseur là ou il était lorsque vous avez fermé vim. Très pratique en cas d'édition régulière d'un fichier ;).

Amusez-vous bien avec vim !

16
octobre

Lxdm : autologin

Voici comment activer l'autologin sur Lxdm, un gestionnaire de connexion :

Éditez le fichier "/etc/lxdm/lxdm.conf", et, décommentez la troisième ligne :

# autologin=myuser

Comme ceci :

autologin=jeoffrey

Enregistrez, et la prochaine fois que vous allumez votre ordinateur, l'autologin fonctionnera.

20
septembre

Shinken : monitoring d'une imprimante Samsung

Shinken dispose d'un pack pour monitorer une imprimante HP, mais pas une imprimante Samsung... Du coup, voici un petit pack pour ajouter votre imprimante Samsung (CLP-610ND pour ma part) à votre outil de supervision préféré !

Voici les éléments que nous allons monitorer :

Dans notre exemple, on suppose que l'imprimante s'appelle myprinter, et que son IP est 192.168.2.10.

Étape 1 : check_samsung_cartridge

La première étape consiste à récupérer le script "check_samsung_cartridge", qui va vérifier l'état de nos cartouches.

Récupérez le fichier .tar.gz à sur Nagios Exchange, décompressez-le, et placez le fichier check_samsung_cartridge dans le dossier /usr/local/shinken/libexec, et fixez ses permissions :

mv check_samsung_cartridge /usr/local/shinken/libexec
chown shinken:shinken /usr/local/shinken/libexec/check_samsung_cartridge

Puis, on teste notre script :

# ./check_samsung_cartridge -H myprinter -Q cyan -w 40 -c 10
OK: Toner Cyan (Bestell-Nr.: CLP-C600A) - Resttoner: 81%|CYAN=81%;40;10;;

Si vous avez à peu près le même résultat que moi, c'est que l'accès à votre imprimante est bien paramétré, sinon, revoyez l'accès SNMP.

En revanche, il y a une petite coquille dans le script fourni par Nagios Exchange. Éditez le script, et repérez la ligne 55 :

BLACK_LEVEL='1.3.6.1.2.1.43.11.1.1.9.1.2' #BLACK Level

Remplacez le dernier "2" à droite par "4", comme ceci :

BLACK_LEVEL='1.3.6.1.2.1.43.11.1.1.9.1.4' #BLACK Level

Comme le précise ce commentaire, le chemin SNMP pour la vérification du noir correspondait au magenta.

Étape 2 : le pack

Voici le petit pack que j'ai fait, en téléchargement à cette adresse (md5 : 2d3d7ddfff1c318c639532c2fa109515).

Décompressez le fichier tar.bz2, et placez le dossier dans /usr/local/shinken/etc/packs/printers/ afin d'avoir côte à côte le dossier "samsung" et le dossier "hp", si vous ne l'avez pas supprimé.

Faisons un petit tour d'horizon du contenu du dossier samsung :

Normalement, vous n'avez rien à modifier, sauf peut-être le fichier commands.cfg, qui contient notamment les 2 seuils d'alertes : critical et warning.

Étape 3 : définition de l'hôte

Maintenant que notre pack est créé et que notre commande fonctionne, on peut créer la définition de notre hôte : créez un fichier myprinter.cfg dans le dossier /usr/local/shinken/etc/hosts avec ce contenu :

define host{
	name		Myprinter
	host_name	myprinter
	address		192.168.2.10
	use		printer-samsung
}

Et voilà, c'est fini ! Maintenant, il ne reste plus qu'à vérifier notre configuration grâce à cette commande :

# /usr/local/shinken/bin/shinken-arbiter -v -c /usr/local/shinken/etc/nagios.cfg -c /usr/local/shinken/etc/shinken-specific.cfg
...
[1348153167] Info :    Things look okay - No serious problems were detected during the pre-flight check

Si le résultat est concluant, on peut redémarrer l'arbiter :

/etc/init.d/shinken-arbiter

On retourne sur notre la WebUI, et on constate que ça fonctionne :

Shinken Printer

19
septembre

Mettre en forme des scripts Bash

J'ai pour habitude de développer beaucoup de scripts Shell pour automatiser l'administration de mes serveurs sous Linux. Ça faisait un petit moment que je cherchais par quel moyen je pouvais avoir un peu de mise en forme pour mes scripts Bash (couleurs, tabulations, ...).

Et je suis tombé sur la commande "tput", qui permet de mettre en forme certaines parties de mon script.

De la couleur :

Voici comment mettre un peu de couleur dans vos scripts. Ajoutez ceci au début de votre script :

# Mise en forme
#+ Couleur de base
RESETC="$(tput sgr0)"
# Couleurs + Gras
# Rouge
RED="$(tput bold ; tput setaf 1)"
# Vert
GREEN="$(tput bold ; tput setaf 2)"
# Jaune
YELLOW="$(tput bold ; tput setaf 3)"
# Bleu
BLUE="$(tput bold ; tput setaf 4)"

Une fois que vous avez défini vos couleurs, vous n'avez plus qu'à les utiliser :

echo -n "${YELLOW}- Tâche n°1"

Préfixes par "${COULEUR}" chaque phrase que vous souhaitez mettre en forme !

Du placement, des tabulations :

Faites débuter vos scripts par la commande "clear", histoire d'avoir une console propre.

Utilisez la commande suivante, puis votre "echo", comme ceci :

tput cup 2 3
echo -n "${YELLOW}- Tâche n°1"

Cette commande aura pour effet de vous afficher "- Tâche n°1" en jaune, sur la 2ème ligne, et avec un décallage vers la droite de 3 caractères.

Une autre ? La voici :

tput cup 4 10
echo -n "${YELLOW}- Mise à jour de data/configuration/parametres.xml"
sed -i "s/www/dev/g" $DEV_FOLDER/data/configuration/parametres.xml
tput cup 4 80
echo "${GREEN}[OK]"

Cette commande, nous affiche "- Mise à jour de data/configuration/parametres.xml" en jaune, sur la 4ème ligne, et avec un décallage de 10 caractères vers la droite. De plus, nous afficherons un petit "[OK]" avec un décallage de 80 caractères vers la droite !

À partir de maintenant, vous pouvez ajouter des lignes, et organiser le placement comme vous le voulez. Là, que le premier echo fasse 10 caractères ou 20, le echo qui affiche [OK] sera dans tous les cas décallés de 80 caractères, en partant du début !

Si vous voulez partir de la fin, utilisez la commande tput cols, qui vous renvoie le nombre de caractères de large que votre console fait.

Bref, comme d'habitude, RTFM !

06
septembre

ArchLinux : des sous-titres pour vos vidéos en console

C'est grâce à l'ami Korben que j'ai découvert Subliminal, ce petit outil en console permettant de récupérer des sous-titres pour nos séries / films préféré(e)s !

Pour l'installer sous ArchLinux, rien de plus simple, utilisons AUR :

yaourt subliminal

Yaourt va s'occuper de récupérer les dépendances, à savoir :

Puis, pour l'utiliser :

subliminal -l fr Game.of.Thrones.S01E02.720p.BluRay.X264-REWARD.mkv

Remplacez "fr" par la langue choisie pour vos sous-titres. Chez moi, cette commande génère une erreur :

subliminal -l fr Game.of.Thrones.S01E02.720p.BluRay.X264-REWARD.mkv 
Traceback (most recent call last):
  File "/usr/bin/subliminal", line 99, in <module>
    main()
  File "/usr/bin/subliminal", line 83, in main
    force=args.force, multi=args.multi, scan_filter=scan_filter)
  File "/usr/lib/python2.7/site-packages/subliminal/async.py", line 134, in download_subtitles
    subtitles_by_video = self.list_subtitles(paths, languages, services, force, multi, cache_dir, max_depth, scan_filter)
  File "/usr/lib/python2.7/site-packages/subliminal/async.py", line 120, in list_subtitles
    tasks = create_list_tasks(paths, languages, services, force, multi, cache_dir, max_depth, scan_filter)
  File "/usr/lib/python2.7/site-packages/subliminal/core.py", line 57, in create_list_tasks
    scan_result.extend(scan(p, max_depth, scan_filter))
  File "/usr/lib/python2.7/site-packages/subliminal/videos.py", line 231, in scan
    return [(video, video.scan())]
  File "/usr/lib/python2.7/site-packages/subliminal/videos.py", line 138, in scan
    existing = [f for f in os.listdir(folder) if f.startswith(basename)]
OSError: [Errno 2] No such file or directory: ''

Pour contouner cette erreur, ajoutez "./" à votre fichier, comme ci :

subliminal -l fr ./Game.of.Thrones.S01E02.720p.BluRay.X264-REWARD.mkv

Cela me génère toujours des erreurs, mais à la fin vous pouvez constater la ligne Downloaded 1 subtitle(s) for 1 video(s).

subliminal -l fr ./Game.of.Thrones.S01E02.720p.BluRay.X264-REWARD.mkv 
WARNING: subliminal.core Service bierdopje not available: none of available features could be used. One of ['xml'] required
ERROR: subliminal.async Exception raised in worker Thread-2
Traceback (most recent call last):
  File "/usr/lib/python2.7/site-packages/subliminal/async.py", line 47, in run
    result = consume_task(task, self.services)
  File "/usr/lib/python2.7/site-packages/subliminal/core.py", line 131, in consume_task
    result = service.list(task.video, task.languages)
  File "/usr/lib/python2.7/site-packages/subliminal/services/__init__.py", line 154, in list
    return self.list_checked(video, languages)
  File "/usr/lib/python2.7/site-packages/subliminal/services/subswiki.py", line 49, in list_checked
    results = self.query(video.path or video.release, languages, get_keywords(video.guess), series=video.series, season=video.season, episode=video.episode)
  File "/usr/lib/python2.7/site-packages/subliminal/services/subswiki.py", line 81, in query
    sub_keywords = split_keyword(self.release_pattern.search(sub.contents[1]).group(1).lower())
AttributeError: 'NoneType' object has no attribute 'group'
**************************************************
Downloaded 1 subtitle(s) for 1 video(s)
./Game.of.Thrones.S01E02.720p.BluRay.X264-REWARD.srt from tvsubtitles
**************************************************

30
août

Installation de Qemu - KVM

Je ne prétends pas sortir un énième article sur l'installation de l'environnement de virtualisation Qemu KVM, Internet en regorge de toute façon. Cet article va me servir uniquement de pense-bète le jour que je devrais en réinstaller un, donc tant qu'à faire, autant le partager !

Installation de Qemu KVM :

On installe les paquets requis :

apt-get install libvirt-bin kvm qemu virtinst bridge-utils

On paramètre notre bridge :

brctl addbr br0

Éditez /etc/network/interfaces, et commentez-y la définition d'eth0 (auto eth0 et iface eth0 inet static), et ajoutez-y la définition du bridge :

Votre fichier /etc/network/interfaces doit ressembler à ceci :

# The loopback network interface
auto lo
iface lo inet loopback

auto br0
iface br0 inet static
                address 192.168.2.254
                netmask 255.255.255.0
                network 192.168.2.0
                broadcast 192.168.2.255
                gateway 192.168.2.1
                dns-nameservers 192.168.0.1
                bridge_ports eth0
                bridge_maxwait 0
                bridge_hello 0
                bridge_fr 0

Rebootez votre serveur, et vous êtes maintenant prêt à créer des machinese virtuelles !

N'hésitez pas à utiliser virt-manager pour gérer celles-ci !

30
août

Linux : assembler des fichiers splittés

Hier, je cherchais comment assembler des fichiers de ce type :

monfichier.iso.001
monfichier.iso.002
monfichier.iso.003
monfichier.iso.004
monfichier.iso.005
monfichier.iso.006
monfichier.iso.007
monfichier.iso.008
monfichier.iso.009

Au final, c'est plutôt simple, il suffit d'afficher tous les fichiers à la suite, et de rediriger la sortie vers le fichier final, comme ceci :

cat monfichier.iso.* > monfichier.iso

Cela va afficher tous les fichiers commençant par "monfichier.iso.", et rediriger la sortie vers "monfichier.iso".

24
août

Gnome 3 : modifier la taille des icônes du dash

Je cherchais un moyen de réduire la taille du dash de Gnome 3. Le dash, c'est le dock de gauche qui apparaît lorsque vou affichez la liste des fenêtres ou des bureaux.

J'ai trouvé partout comment réduire la taille des icônes de la partie "Applications", mais pas pour modifier les icônes du Dash.

Finalement, voici comment faire :

Editez le fichier /usr/share/gnome-shell/js/ui/dash.js, et cherchez y la ligne suivante :

let iconSizes = [ 16, 22, 24, 32, 48, 64 ];

Supprimez le dernier chiffre, comme ceci :

let iconSizes = [ 16, 22, 24, 32, 48 ];

Enregistrez, et rechargez Gnome Shell :

Alt + F2, puis tapez "r" et entrée.

Si vous voulez encore réduire un peu plus les icônes, supprimez le "48".

précédente page 2 sur 3 suivante

^ Retourner en haut