Steam ne se lance pas

Ce n’est pas un gros article, mais c’est un problème qui ‘arrive souvent après une MAJ de pilote graphique / steam, alors je poste la solution en tant qu’article qui fera office d’aide mémoire.   quand je lance steam, je reste bloqué avec ceci dans la console : Shell Running Steam on ubuntu 16.04 64-bit STEAM_RUNTIME is enabled automatically Installing breakpad exception handler for appid(steam)/version(0) libGL error: unable to load driver: nouveau_dri.so libGL error: driver pointer missing libGL error: failed to load driver: nouveau libGL error: unable to load driver: swrast_dri.so libGL error: failed to load driver: swrast 12345678 Running Steam on ubuntu 16.04 64-bitSTEAM_RUNTIME is enabled automaticallyInstalling breakpad exception handler for appid(steam)/version(0)libGL error: unable to load driver: nouveau_dri.solibGL error: driver pointer missinglibGL error: failed to load driver: nouveaulibGL error: unable to load driver: swrast_dri.solibGL error: failed to load driver: swrast c’est du a un conflit entre les lib de steam et celle du system. il faut supprimer celle de steam (qui sont outdated) pour utililiser celle du system : Shell find ~/.steam/root/ \( -name "libgcc_s.so*" -o -name "libstdc++.so*" -o -name "libxcb.so*" \) -print -delete find ~/.local/share/Steam/ \( -name "libgcc_s.so*" -o -name "libstdc++.so*" -o -name "libxcb.so*" \) -print -delete 12 find ~/.steam/root/ \( -name "libgcc_s.so*" -o -name "libstdc++.so*" -o -name "libxcb.so*" \) -print -deletefind ~/.local/share/Steam/ \( -name "libgcc_s.so*" -o -name "libstdc++.so*" -o -name "libxcb.so*" \) -print -delete...

Read More

Installer openCV 2.4.12 pour ubuntu et Qt5

Bonjour à tous,   après avoir pas mal galérer à installer openCV 2.4.12 sur ubuntu et le faire fonctionner avec ubuntu, j’ai décidé de partager mon retour d’expérience.   Installer les dépendances :   Shell # install dependencies sudo apt-get update sudo apt-get install -y build-essential g++ sudo apt-get install -y cmake git sudo apt-get install -y libgtk2.0-dev sudo apt-get install -y pkg-config sudo apt-get install -y python-numpy python-dev sudo apt-get install -y libavcodec-dev libavformat-dev libswscale-dev sudo apt-get install -y libjpeg-dev libpng-dev libtiff-dev libjasper-dev sudo apt-get -qq install libopencv-dev build-essential checkinstall cmake pkg-config yasm libjpeg-dev libjasper-dev libavcodec-dev libavformat-dev libswscale-dev libdc1394-22-dev libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev libv4l-dev python-dev python-numpy libtbb-dev libqt4-dev libgtk2.0-dev libmp3lame-dev libopencore-amrnb-dev libopencore-amrwb-dev libtheora-dev libvorbis-dev libxvidcore-dev x264 v4l-utils 1234567891011 # install dependenciessudo apt-get updatesudo apt-get install -y build-essential g++sudo apt-get install -y cmake gitsudo apt-get install -y libgtk2.0-devsudo apt-get install -y pkg-configsudo apt-get install -y python-numpy python-devsudo apt-get install -y libavcodec-dev libavformat-dev libswscale-devsudo apt-get install -y libjpeg-dev libpng-dev libtiff-dev libjasper-dev sudo apt-get -qq install libopencv-dev build-essential checkinstall cmake pkg-config yasm libjpeg-dev libjasper-dev libavcodec-dev libavformat-dev libswscale-dev libdc1394-22-dev libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev libv4l-dev python-dev python-numpy libtbb-dev libqt4-dev libgtk2.0-dev libmp3lame-dev libopencore-amrnb-dev libopencore-amrwb-dev libtheora-dev libvorbis-dev libxvidcore-dev x264 v4l-utils   Ensuite récupérer openCV depuis git Shell mkdir -p ~/dev/ cd ~/dev git clone https://github.com/Itseez/opencv.git 123 mkdir -p ~/dev/cd ~/devgit clone https://github.com/Itseez/opencv.git   Maintenant compilons le tout   Shell cd opencv-2.4.12 mkdir release cd release # compile and install cmake -G "Unix Makefiles" -D CMAKE_CXX_COMPILER=/usr/bin/g++ CMAKE_C_COMPILER=/usr/bin/gcc -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D WITH_TBB=ON -D BUILD_NEW_PYTHON_SUPPORT=ON -D WITH_V4L=ON -D INSTALL_C_EXAMPLES=ON -D INSTALL_PYTHON_EXAMPLES=ON -D BUILD_EXAMPLES=ON -D WITH_QT=ON -D WITH_OPENGL=ON -D BUILD_FAT_JAVA_LIB=ON -D INSTALL_TO_MANGLED_PATHS=ON -D INSTALL_CREATE_DISTRIB=ON -D INSTALL_TESTS=ON -D ENABLE_FAST_MATH=ON -D WITH_IMAGEIO=ON -D BUILD_SHARED_LIBS=OFF -D WITH_GSTREAMER=ON .. make all -j4 # 4 cores sudo make install 12345678 cd opencv-2.4.12mkdir releasecd release # compile and installcmake -G "Unix Makefiles" -D CMAKE_CXX_COMPILER=/usr/bin/g++ CMAKE_C_COMPILER=/usr/bin/gcc -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D WITH_TBB=ON -D BUILD_NEW_PYTHON_SUPPORT=ON -D WITH_V4L=ON -D INSTALL_C_EXAMPLES=ON -D INSTALL_PYTHON_EXAMPLES=ON -D BUILD_EXAMPLES=ON -D WITH_QT=ON -D WITH_OPENGL=ON -D BUILD_FAT_JAVA_LIB=ON -D INSTALL_TO_MANGLED_PATHS=ON -D INSTALL_CREATE_DISTRIB=ON -D INSTALL_TESTS=ON -D ENABLE_FAST_MATH=ON -D WITH_IMAGEIO=ON -D BUILD_SHARED_LIBS=OFF -D WITH_GSTREAMER=ON ..make all -j4 # 4 coressudo make install   dans le dossier /etc/ld.so.conf.d/ créer un fichier « opencv.conf » Et coller ceci dedans : /usr/local/lib Maintenant executer la commande sudo ldconfig   Maintenant ajoutons les dépendances dans notre projet QT (dans le fichier .pro )   Shell INCLUDEPATH += . INCLUDEPATH += /usr/local/include INCLUDEPATH += /usr/local/include/opencv INCLUDEPATH += /usr/local/include/opencv2 INCLUDEPATH += /usr/local/include/opencv2/core INCLUDEPATH += /usr/local/include/opencv2/highgui INCLUDEPATH += /usr/local/include/opencv2/imgproc...

Read More

Lire le format hevc avec vlc (Ubuntu)

Voici une petite astuce toute simple pour lire le format hevc avec vlc sous Ubuntu 14.04 . Lorsqe vous avez ce message avec VLC (désoler, mon VLC est en anglais) No suitable decoder module VLC does not support the audio or video format “hevc. Unfortunately there is no way for you to fix this. Le message d’erreur précédent surviens lorsque vous assez de lire une video dans VLC. Pour résoudre le problème vous devez installer libde265 qui est une implémentation open source d codec h.265. Shell sudo apt-add-repository ppa:strukturag/libde265 sudo apt-get update sudo apt-get install vlc-plugin-libde265 123 sudo apt-add-repository ppa:strukturag/libde265 sudo apt-get update sudo apt-get install vlc-plugin-libde265   Voila, maintenant la vidéo devrais...

Read More

Plus de son après une mise à jour ? [Ubuntu]

Plus de son après une mise à jour ? [Ubuntu]

Bonjour à tous, Aujourd’hui sur irc, j’ai eu quelqu’un qui s’est plaint de ne plus avoir de son avec firefox sur sont ubuntu 14.04 LTS après une mise à jour. Alors, c’était dû au fait que les drivers de la carte son ne s’était pas installé correctement. Rien de bien méchant, cette petite ligne de commande résout le problème : sudo apt-get --reinstall install build-essential linux-headers-`uname...

Read More

Comment faire pour que « apt-get upgrade » utilise moins de ressources ?

Comment faire pour que « apt-get upgrade » utilise moins de ressources ?

Bonjour à tous, Aujourd’hui je vous présente une petite astuce toute simple pour faire en sorte que la mise à jour consomme moins de ressources sous linux. Dans certain cas il peut s’avérer utile que la mise à jour consomme moins de ressource (pour les petites configuration). Par contre la procédure prendra plus de temps. Sur linux, il existe deux commandes très utile qui sont : nice :  permet de changer le niveau de priorité d’un processus déterminé. La priorité la plus élevée correspond à un niveau de -20, tandis que la plus basse correspond à +19 ionice : même chose que nice mais pour la vitesse de lecture/écriture sur le disque. ionice va de 0 à 7, où 0 est la valeur de priorité la plus élevé et 7 la plus faible Pour nice et ionice le principe d’utilisation est le même : nice -n <niceness> <command> niceness étant la valeur de la priorité Pour mettre à jour la priorité d’un processus, il existe la commande renice renice -n <niceness> -p <pid>   Pour lancer la mise à jour avec une faible priorité : Pour les système GNU/Linux basé sur debian : sudo nice -n 19 apt-get upgrade on peut facilement combiner nice et ionice : sudo ionice -n 7 nice -n 19 apt-get upgrade Pour les systèmes basé sous centOS / Fedora sudo ionice -n 7 nice -n 19 yum...

Read More

Récupérer les paroles d’une musique (.mp3, .m4a) et l’enregistrer sous Linux

Récupérer les paroles d’une musique (.mp3, .m4a) et l’enregistrer sous Linux

Bonjour à tous, aujourd’hui nous allons voir un petit script bash bien sympathique qui permet de récupérer tous les fichiers musicaux (.mp3, .m4a ou d’autres – il suffit de les ajouter dans le script-) et d’y ajouter les paroles des chansons. Tout d’abord, nous devons nous assuré de disposer de wget et eyed3 Si vous êtes sur une distribution basé sur debian (ubuntu, elementary os, linux mint, etc …) sudo apt-get install wget eyed3 Si vous êtes sur une distribution basé sur centOS / fedora : yum install python-eyed3 wget   Qu’est-ce que eyed3 ? eyed3 est un petit programme python qui permet de jouer les méta-data ID3 . Elle sont surtout utilisé avec les fichiers .mp3, elle peuvent contenir le nom de l’artiste, de l’album, de la musique et aussi les paroles ! L’idée va être d’extraire de ces méta-datas le nom de l’artiste ainsi que le nom de la chanson pour récupérer les paroles et les stockés dans ces méta-data. Voici un petit script shell qui permet de faire cela automatiquement. Placer-le dans un répertoire (par exemple /home/user/musique) et il se chargera de scruter toutes les musiques des répertoires et sous répertoire pour y mettre à jour les méta-data.   Shell #!/bin/bash _TPL='http://makeitpersonal.co/lyrics?artist=<artist>&title=<title>' _SRY="Desole, il n'y a pas encore de parole pour cette chanson." [ "$1" ] && _PATH="$1" || _PATH=$PWD cd $_PATH for _FILE in {*.mp3,*.m4a}; do if [[ -r $_FILE ]]; then _SONG=$(eyeD3 --no-color "$_FILE" | grep title) _ARTIST="${_SONG#*"artist: "}" _TITLE="${_SONG%"artist: "*}" _TITLE="${_TITLE#"title: "}" echo -n "$_ARTIST - $_TITLE" _ARTIST="${_ARTIST// /+}" _TITLE="${_TITLE// /+}" _URL="${_TPL//"<artist>"/$_ARTIST}" _URL="${_URL//"<title>"/$_TITLE}" _LYRICS=$(wget -qO- $_URL) if [ "$_LYRICS" != "$_SRY" ]; then eyeD3 --lyrics=eng:Lyrics:"$_LYRICS" "$_FILE" 1>/dev/null else echo "pas de paroles trouvé... next!" fi fi done cd $OLDPWD 1234567891011121314151617181920212223242526272829303132333435 #!/bin/bash _TPL='http://makeitpersonal.co/lyrics?artist=<artist>&title=<title>'_SRY="Desole, il n'y a pas encore de parole pour cette chanson." [ "$1" ] && _PATH="$1" || _PATH=$PWD cd $_PATH for _FILE in {*.mp3,*.m4a}; do    if [[ -r $_FILE ]]; then        _SONG=$(eyeD3 --no-color "$_FILE" | grep title)         _ARTIST="${_SONG#*"artist: "}"        _TITLE="${_SONG%"artist: "*}"        _TITLE="${_TITLE#"title: "}"         echo -n "$_ARTIST - $_TITLE"         _ARTIST="${_ARTIST// /+}"        _TITLE="${_TITLE// /+}"        _URL="${_TPL//"<artist>"/$_ARTIST}"        _URL="${_URL//"<title>"/$_TITLE}"         _LYRICS=$(wget -qO- $_URL)         if [ "$_LYRICS" != "$_SRY" ]; then            eyeD3 --lyrics=eng:Lyrics:"$_LYRICS" "$_FILE" 1>/dev/null        else            echo "pas de paroles trouvé... next!"        fi    fidone cd $OLDPWD Merci à Cyprian Guerra pour le...

Read More

Wifiphisher : pirater les réseaux Wifi

Wifiphisher : pirater les réseaux Wifi

Un chercheur en sécurité grec, nommé George Chatzisofroniou, a développé un outil d’ingénierie sociale WiFi qui est conçu pour voler les informations d’identification des utilisateurs via les réseaux WiFi sécurisés. L’outil est baptisé WiFiPhisher et a été publié sur GitHub. « C’est une attaque d’ingénierie sociale qui n’utilise pas la force brute contrairement à d’autres méthodes. C’est un moyen facile d’obtenir les mots de passe WPA d’une cible« , a déclaré George Chatzisofroniou». Cependant, il existe déjà plusieurs outils de piratage sur Internet dédiés au piratage d’un réseau sécurisé WiFi, mais cet outil automatise de multiples techniques de piratage WiFi qui le font se démarquer des autres. WiFiPhisher utilise le scénario d’attaque « Evil Twin »  : l‘outil créer d’abord un faux point d’accès sans fil (AP) et se fait passer pour un AP WiFi légitime. Il déclenche ensuite une attaque par déni de service (DoS) contre le point d’accès WiFi légitime, ou crée des interférences autour de ce dernier, qui déconnecte alors les utilisateurs sans fil. Ces derniers sont ensuite invités à inspecter les réseaux disponibles… le piège se referme ! Une fois déconnecté du point d’accès WiFi légitime, l’outil va forcer les ordinateurs et périphériques hors ligne pour qu’ils se reconnectent automatiquement au jumeau maléfique, permettant au pirate d’intercepter tout le trafic via ce dispositif. La technique est également connu comme AP Phishing, Wi-Fi Phishing, Hotspotter ou Honeypot AP. Ce genre d’attaques font usage de faux points d’accès avec des pages de connexion truquées pour capturer les informations d’identification WiFi des utilisateurs, numéros de carte de crédit, ou encore lancer des attaques man-in-the-middle (ou MiTM) et infecter les hôtes du réseau sans fil. « WiFiPhisher est un outil de sécurité capable de monter des attaques phishing rapides et automatisées contre les réseaux WiFi WPA pour obtenir les identifiants sans brute force« , a déclaré Chatzisofroniou. « WifiPhisher renifle la zone et copies les paramètres du point d’accès cible et créer un point d’accès sans fil voyou qui est modelé sur la cible. » Source : undernews   Je n’ai pas voulu m’embêter à réécrire la partie théorie déjà très bien expliqué par undernews, alors je vous ai lamentablement copié/collé l’article d’undernews.   L’outils est disponible par défaut sur la distribution KALI mais vous pouvez l’installé très facilement sur ubuntu en clonant le dépôt gitHub Shell sudo apt-get install python-scapy tcpdump isc-dhcp-server hostapd git clone https://github.com/sophron/wifiphisher.git 12 sudo apt-get install python-scapy tcpdump isc-dhcp-server hostapdgit clone...

Read More

Comment utiliser le système de notification avec qml et unity

Comment utiliser le système de notification avec qml et unity

Comment utiliser le système de notification d’ubuntu (et d’autres distribution) depuis QML ? Autant que je le sache, il n’existe pas d’API QML pour accéder au système de notification. Pour éviter d’avoir à créer un plugin C++ pour avoir les notifications sur une application desktop, il est plus simple d’utiliser pyotherside et d’appeler un petit module python pour effectuer le travail. Pré-requis : Vous l’aurez compris, il suffit de s’assurer que pyotherside est installé. D’abbord, assuré vous d’avoir les bon ppa Shell sudo add-apt-repository ppa:ubuntu-sdk-team/ppa sudo add-apt-repository ppa:checkbox-dev/ppa sudo apt-get update 123 sudo add-apt-repository ppa:ubuntu-sdk-team/ppasudo add-apt-repository ppa:checkbox-dev/ppasudo apt-get update puis lancer l’installation Shell sudo ap-get install pyotherside 1 sudo ap-get install pyotherside Au boulot : Et voici la petite application QML : JavaScript import QtQuick 2.0 import Ubuntu.Components 1.1 import io.thp.pyotherside 1.2 /*! \brief MainView with a Label and Button elements. */ MainView { // objectName for functional testing purposes (autopilot-qt5) objectName: "mainView" // Note! applicationName needs to match the "name" field of the click manifest applicationName: "com.ubuntu.developer.username.notification" /* This property enables the application to change orientation when the device is rotated. The default is false. */ //automaticOrientation: true // Removes the old toolbar and enables new features of the new header. useDeprecatedToolbar: false width: units.gu(100) height: units.gu(75) Page { title: i18n.tr("Simple") Column { spacing: units.gu(1) anchors { margins: units.gu(2) fill: parent } Label { id: label objectName: "label" text: i18n.tr("Hello..") } Button { objectName: "button" width: parent.width text: i18n.tr("Tap me!") onClicked: { //label.text = i18n.tr("..world!") py.call('notify.pressme', [], function() {}); } } Python { id: py Component.onCompleted: { addImportPath(Qt.resolvedUrl('.')); importModule('notify', function() {}); } } } } } 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 import QtQuick 2.0import Ubuntu.Components 1.1import io.thp.pyotherside 1.2/*!    \brief MainView with a Label and Button elements.*/ MainView {    // objectName for functional testing purposes (autopilot-qt5)    objectName: "mainView"     // Note! applicationName needs to match the "name" field of the click manifest    applicationName: "com.ubuntu.developer.username.notification"     /*     This property enables the application to change orientation     when the device is rotated. The default is false.    */    //automaticOrientation: true     // Removes the old toolbar and enables new features of the new header.    useDeprecatedToolbar: false     width: units.gu(100)    height: units.gu(75)     Page {        title: i18n.tr("Simple")         Column {            spacing: units.gu(1)            anchors {                margins: units.gu(2)                fill: parent            }             Label {                id: label                objectName: "label"                 text: i18n.tr("Hello..")            }             Button {                objectName: "button"                width: parent.width                 text: i18n.tr("Tap me!")                 onClicked: {                    //label.text = i18n.tr("..world!")                      py.call('notify.pressme', [], function() {});                }            }            Python {                  id: py                  Component.onCompleted: {                      addImportPath(Qt.resolvedUrl('.'));                      importModule('notify', function() {});                  }              }        }    }} ensuite créer un fichier nommé notify.py dans le même répertoire que le fichier qml Python #!/usr/bin/env python3 import subprocess def pressme(): subprocess.call(["notify-send", "hello morgan", "http://morgan-durand.com"]) 123456 #!/usr/bin/env python3 import subprocess def pressme():    subprocess.call(["notify-send", "hello morgan", "http://morgan-durand.com"]) Et voila le...

Read More

Configurer apt-get pour un nettoyage automatique après chaque installation

Configurer apt-get pour un nettoyage automatique après chaque installation

Comment configurer apt-get pour un nettoyage automatique après chaque installation   Enfaîte rien de très compliquer, il suffit de tapez cette ligne dans votre terminal : Shell sudo sh -c "echo 'DSELECT::Clean "always";' >> /etc/apt/apt.conf.d/99AutomaticClean" 1 sudo sh -c "echo 'DSELECT::Clean "always";' >> /etc/apt/apt.conf.d/99AutomaticClean" La commande s’exécutera automatiquement après chaque apt-get upgrade. Plus d’information :...

Read More

Nautilus – ajouter l’option « ouvrir le terminal ici »

Nautilus – ajouter l’option « ouvrir le terminal ici »

Nautilus – Ouvrir le terminal ici   Pour ce faire vous avez juste à installer le paquet : nautilus-open-terminal Shell sudo apt-get install nautilus-open-terminal 1 sudo apt-get install nautilus-open-terminal Assurez-vous d’avoir tuer tous les processus de nautilus (il  y a toujours un processus invisible lancé, donc utiliser pgrep nautilus pour trouver le processus et ensuite le tuer avec la commande kill Shell pgrep nautilus | xargs kill 1 pgrep nautilus | xargs kill Relancez nautilus et voila le travail...

Read More