Tester son clavier avec le navigateur

Ayant eu besoin de tester le clavier d’un ordinateur, j’ai découvert le site https://www.keyboardtester.com/ qui a fait le taff.

Malheureusement, comme l’internet est anglais, pour ne pas dire américain, le clavier ne correspondait pas à la disposition de mon clavier français.

J’ai donc récupéré les sources et adapté pour le clavier français et modifié quelques bricoles. Vous pouvez y accéder et tester votre clavier par l’intermédiaire de votre navigateur en vous rendant sur http://keyboard.absolacom.com.

L’avantage, par rapport à un fichier texte où vous tapez pour tester les touches est que celles ci se colorent et vous confirment qu’elles fonctionnent (y compris les touches mortes). De plus, vous pouvez produire un son (si vous activez l’option dans votre navigateur) à chaque appui de touche, et cela est pratique quand on dépanne un clavier et qu’on ne peut pas surveiller l’écran.

Bref, ça m’est utile, en espérant qu’à vous aussi.

Installer symfony sur ubuntu 8.04

Ne pas utiliser apt, la version qu’il installe va générer des erreurs.

PHP Fatal error: Uncaught Error: Call to undefined method Composer\Package\RootPackage::getConfig() in /home/manu/.config/composer/vendor/fxp/composer-asset-plugin/Config/ConfigBuilder.php:111
Stack trace:
#0 /home/manu/.config/composer/vendor/fxp/composer-asset-plugin/Config/ConfigBuilder.php(74): Fxp\Composer\AssetPlugin\Config\ConfigBuilder::getConfigBase(Object(Composer\Composer), Object(Composer\IO\ConsoleIO))
#1 /home/manu/.config/composer/vendor/fxp/composer-asset-plugin/FxpAssetPlugin.php(82): Fxp\Composer\AssetPlugin\Config\ConfigBuilder::build(Object(Composer\Composer), Object(Composer\IO\ConsoleIO))
#2 /usr/share/php/Composer/Plugin/PluginManager.php(215): Fxp\Composer\AssetPlugin\FxpAssetPlugin->activate(Object(Composer\Composer), Object(Composer\IO\ConsoleIO))
#3 /usr/share/php/Composer/Plugin/PluginManager.php(188): Composer\Plugin\PluginManager->addPlugin(Object(Fxp\Composer\AssetPlugin\FxpAssetPlugin))
#4 /usr/share/php/Composer/Plugin/PluginManager.php(240): Composer\Plugin\PluginManager->registerPackage(Obje in /home/manu/.config/composer/vendor/fxp/composer-asset-plugin/Config/ConfigBuilder.php on line 111

Si vous l’avez déjà installée, supprimez la avec

sudo apt-get remove composer

ensuite, tapez la commande suivante dans un terminal:

curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/bin --filename=composer

Et ça fonctionne

Freecad: erreurs et non fonctionnement

Si vous avez des problèmes avec freecad (astuce: lancez freecad dans une console pour voir les erreurs), il peut s’agir d’un problème de locales.

Traceback (most recent call last):
File "<string>", line 1, in <module>
<type 'exceptions.TypeError'>: Either three floats, tuple or Vector expected

La solution consiste à créer un fichier qui va exporter la lang qui va bien à freecad avant de le lancer.

Créez le fichier /usr/local/bin/freecad.sh avec le contenu suivant:


#!/bin/bash
export LC_ALL=C
freecad $1 $2 $3 $4 $5

rendez le exécutable par sudo chmox +x /usr/local/bin/freecad.sh

Modifiez le lanceur de freecad (/usr/share/applications.freecad.desktop) de la manière suivante:

[Desktop Entry]
Version=1.0
Name=FreeCAD
Name[de]=FreeCAD
Comment=Feature based Parametric Modeler
Comment[de]=Feature-basierter parametrischer Modellierer
GenericName=CAD Application
GenericName[de]=CAD-Anwendung
Exec=/usr/local/bin/freecad.sh %F
Path=/usr/lib/freecad
Terminal=false
Type=Application
Icon=freecad
Categories=Graphics;Science;Engineering
StartupNotify=true
GenericName[de_DE]=Feature-basierter parametrischer Modellierer
Comment[de_DE]=Feature-basierter parametrischer Modellierer
MimeType=application/x-extension-fcstd

Notez la modification de la ligne 9.

C’est tout. Quand vous lancez freecad, cela devrait désormais fonctionner.

Plus d’infos: https://www.freecadweb.org/tracker/view.php?id=2891

Mcdo se libère?

Je ne sais pas si vous avez remarqué, mais moi ça m’a sauté aux yeux dès la première vision. C’est sans doute mon côté barbu…

Dans la dernière pub de Mcdo, vers la fin (à partir de 1’15), on voit des bureaux et des écrans d’ordinateur.

Linux dans la pub mcdo

C’est suffisamment rare pour être signalé.

Bon, ça ne me fera pas plus apprécier leurs produits mais je vais regarder leurs pubs d’un autre œil.

[Résoudre] LibreOffice: document verrouillé par utilisateur inconnu

Parfois, avec LibreOffice, vous obtenez le message d’erreur suivant:

Le document ‘xxx.ods’ est verrouillé pour édition par :

Utilisateur inconnu

Ouvrez le document en lecture seule ou ouvrez une copie du document pour l’édition.

Lorsqu’il y a plusieurs utilisateurs susceptibles d’accéder au document, c’est peut être un poste dont les données d’identité n’ont pas été renseignées dans les options de LibreOffice. Il faut donc s’assurer que tous les postes ont ces informations de renseignées pour pouvoir trouver quel utilisateur accède actuellement au document.

Par contre, si vous êtes le seul à accéder à ce document, le problème vient du fait que votre document est sur un partage réseau (SMB, NFS, …), même si vous l’avez monté en local et que LibreOffice active par défaut le verrouillage du fichier. Sauf que, quand vous fermez celui ci, il ne relâche pas le fichier…

Une solution de contournement, mais seulement si vous êtes le seul utilisateur à accéder à ces documents, consiste à modifier le lanceur de LibreOffice afin qu’il n’active plus cette fonction par défaut.

Éditez le fichier (en root ou avec sudo) /usr/bin/soffice et modifiez:

SAL_ENABLE_FILE_LOCKING=1
export SAL_ENABLE_FILE_LOCKING

en

#SAL_ENABLE_FILE_LOCKING=1
#export SAL_ENABLE_FILE_LOCKING

Enregistrez, fermez. Vous pouvez désormais immédiatement ouvrir et enregistrer vos fichiers.

Ce n’est pas une solution officielle, et il y a un risque important de perte de données si plusieurs utilisateurs accèdent simultanément au même fichier, mais elle a le mérite de fonctionner et de débloquer les utilisateurs uniques qui travaillent sur un NAS.

Gardez cette page dans vos favoris, la mise à jour de LibreOffice risque bien de remplacer le fichier modifié et de faire ré-apparaitre le problème.

[Resolu] L’installation d’Ubuntu (ubiquity) crashe avec une langue autre que l’anglais

Ou « [SOLVED] Ubiquity crashes with non english setup »

Le problème

Lors de l’installation d’Ubuntu (16.04 dans mon cas mais le bug existe avec d’autres versions), ubiquity plante et le message « Nous sommes désolés, l’installateur a planté » apparait. Si vous allez regarder dans le fichier /var/log/syslog vous verrez les lignes suivantes:


Jan 5 11:10:46 ubuntu ubiquity: Setting capabilities for gnome-keyring-daemon using Linux Capabilities failed.
Jan 5 11:10:47 ubuntu /plugininstall.py: log-output -t ubiquity chroot /target mount -t proc proc /proc
Jan 5 11:10:47 ubuntu /plugininstall.py: log-output -t ubiquity chroot /target mount -t sysfs sysfs /sys
Jan 5 11:10:47 ubuntu /plugininstall.py: log-output -t ubiquity mount –bind /dev /target/dev
Jan 5 11:10:47 ubuntu /plugininstall.py: log-output -t ubiquity mount –bind /run /target/run
Jan 5 11:10:47 ubuntu /plugininstall.py: Verifying downloads …
Jan 5 11:10:47 ubuntu /plugininstall.py: Downloads verified successfully
Jan 5 11:10:47 ubuntu /plugininstall.py: Traceback (most recent call last):
Jan 5 11:10:47 ubuntu /plugininstall.py: File « /usr/lib/ubiquity/ubiquity/install_misc.py », line 362, in run
Jan 5 11:10:47 ubuntu /plugininstall.py: self.update_interface()
Jan 5 11:10:47 ubuntu /plugininstall.py: File « /usr/lib/python3/dist-packages/apt/progress/base.py », line 255, in update_interface
Jan 5 11:10:47 ubuntu /plugininstall.py: if float(percent) != self.percent or status_str != self.status:
Jan 5 11:10:47 ubuntu /plugininstall.py: ValueError: could not convert string to float: ‘0,0000’

Jan 5 11:10:47 ubuntu /plugininstall.py:
Jan 5 11:10:49 ubuntu /plugininstall.py: Traceback (most recent call last):
Jan 5 11:10:49 ubuntu /plugininstall.py: File « /usr/lib/ubiquity/ubiquity/install_misc.py », line 954, in do_install
Jan 5 11:10:49 ubuntu /plugininstall.py: cache, fetchprogress, installprogress):
Jan 5 11:10:49 ubuntu /plugininstall.py: File « /usr/lib/ubiquity/ubiquity/install_misc.py », line 889, in commit_with_verify
Jan 5 11:10:49 ubuntu /plugininstall.py: res = cache.install_archives(pm, install_progress)
Jan 5 11:10:49 ubuntu /plugininstall.py: File « /usr/lib/python3/dist-packages/apt/cache.py », line 479, in install_archives
Jan 5 11:10:49 ubuntu /plugininstall.py: res = install_progress.run(pm)
Jan 5 11:10:49 ubuntu /plugininstall.py: File « /usr/lib/ubiquity/ubiquity/install_misc.py », line 409, in run
Jan 5 11:10:49 ubuntu /plugininstall.py: os.write(control_write, b’\1′)
Jan 5 11:10:49 ubuntu /plugininstall.py: BrokenPipeError: [Errno 32] Relais brisé (pipe)
Jan 5 11:10:49 ubuntu /plugininstall.py:
Jan 5 11:10:49 ubuntu ubiquity: PROGRESS STOP
Jan 5 11:10:49 ubuntu /plugininstall.py: log-output -t ubiquity chroot /target umount /sys
Jan 5 11:10:49 ubuntu /plugininstall.py: log-output -t ubiquity chroot /target umount /proc
Jan 5 11:10:49 ubuntu /plugininstall.py: log-output -t ubiquity umount /target/run
Jan 5 11:10:49 ubuntu /plugininstall.py: log-output -t ubiquity umount /target/dev
Jan 5 11:10:50 ubuntu /plugininstall.py: log-output -t ubiquity umount /target/cdrom
Jan 5 11:10:50 ubuntu ubiquity: debconf: DbDriver « config »: /var/cache/debconf/config.dat is locked by another process: Resource temporarily unavailable
Jan 5 11:10:50 ubuntu ubiquity: PROGRESS STOP
Jan 5 11:10:50 ubuntu /plugininstall.py: Exception during installation:
Jan 5 11:10:50 ubuntu /plugininstall.py: During handling of the above exception, another exception occurred:
Jan 5 11:10:50 ubuntu /plugininstall.py: Traceback (most recent call last):
Jan 5 11:10:50 ubuntu /plugininstall.py: File « /usr/share/ubiquity/plugininstall.py », line 1778, in <module>
Jan 5 11:10:50 ubuntu /plugininstall.py: install.run()
Jan 5 11:10:50 ubuntu /plugininstall.py: File « /usr/share/ubiquity/plugininstall.py », line 78, in wrapper
Jan 5 11:10:50 ubuntu /plugininstall.py: func(self)
Jan 5 11:10:50 ubuntu /plugininstall.py: File « /usr/share/ubiquity/plugininstall.py », line 212, in run
Jan 5 11:10:50 ubuntu /plugininstall.py: self.install_language_packs()
Jan 5 11:10:50 ubuntu /plugininstall.py: File « /usr/share/ubiquity/plugininstall.py », line 690, in install_language_packs
Jan 5 11:10:50 ubuntu /plugininstall.py: self.do_install(self.langpacks, langpacks=True)
Jan 5 11:10:50 ubuntu /plugininstall.py: File « /usr/lib/ubiquity/ubiquity/install_misc.py », line 964, in do_install
Jan 5 11:10:50 ubuntu /plugininstall.py: installprogress.finish_update()
Jan 5 11:10:50 ubuntu /plugininstall.py: File « /usr/lib/ubiquity/ubiquity/install_misc.py », line 439, in finish_update
Jan 5 11:10:50 ubuntu /plugininstall.py: self.db.progress(‘STOP’)
Jan 5 11:10:50 ubuntu /plugininstall.py: File « /usr/lib/python3/dist-packages/debconf.py », line 62, in <lambda>
Jan 5 11:10:50 ubuntu /plugininstall.py: lambda *args, **kw: self.command(command, *args, **kw))
Jan 5 11:10:50 ubuntu /plugininstall.py: File « /usr/lib/python3/dist-packages/debconf.py », line 83, in command
Jan 5 11:10:50 ubuntu /plugininstall.py: status = int(status)
Jan 5 11:10:50 ubuntu /plugininstall.py: ValueError: invalid literal for int() with base 10:  »

Suivies ou non de plein d’autres lignes d’erreur.

Ce qui nous intéresse ici, ce sont les premières lignes d’erreurs (puisque les autres en découlent), a savoir celles en gras ci dessus.
On voit que le programme essaie de convertir en float la valeur 0,0000, ce qui est une valeur numérique pour nous, européens, mais pas pour des programmes informatiques où ce même nombre s’écrit « 0.0000 » (Notez le point à la place de la virgule). Du coup, le programme plante et plein d’autres erreurs arrivent.

La solution

La solution pour corriger ce problème, va être de rajouter une ligne dans le programme « /usr/lib/python3/dist-packages/apt/progress/base.py ».

Ouvrez ce fichier avec les droits root dans votre éditeur préféré. Aux alentours de la ligne 255, vous devriez voir ceci:

elif status == "pmstatus":
    # FIXME: Float comparison
    if float(percent) != self.percent or status_str != self.status:
        self.status_change(pkgname, float(percent), status_str.strip())
        self.percent = float(percent)
        self.status = status_str.strip()

Modifiez ce bloc pour qu’il soit ainsi:

elif status == "pmstatus":
    # FIXME: Float comparison
    percent = str(percent).replace(',', '.') #<---------- Ajouter cette ligne
    if float(percent) != self.percent or status_str != self.status:
        self.status_change(pkgname, float(percent), status_str.strip())
        self.percent = float(percent)
        self.status = status_str.strip()

Dans le détail, on définit que percent est lui même mais en remplaçant la virgule par un point. Ainsi, la conversion en float du nombre ne plante plus.

Cela ne règle pas toutes les erreurs de l’installateur, mais les autres sont négligeables. Ces fonctions ne servent qu’à l’affichage de la barre de progression de l’installation et ne sont pas bloquantes, au contraire de celle que nous venons de corriger.

Maintenant, l’installation devrait se passer sans problème et aller jusqu’au bout.

PS: Vous noterez quand même que les développeurs sont conscinet du problème puisqu’il ont marqué « # FIXME: Float comparison » …

Mettre à jour une ancienne version d’ubuntu

Si vous avez une vielle version d’ubuntu qui n’est plus soutenue, il vous est encore possible d’installer certains logiciels ou d’effectuer un upgrade vers une version plus récente.

Les dépôts des anciennes releases qui ne sont plus supportées (comme la 10.04, 11.04, 11.10 et 13.04) sont déplacés vers un serveur d’archives. Ces dépôts sont accessible à  http://old-releases.ubuntu.com

La raison en est qu’elles sont désormais « hors support » et ne reçoivent plus ni mises à jour, ni correctifs de sécurité.

Si vous souhaitez continuer à utiliser une version périmée, alors éditez votre fichier /etc/apt/sources.list et modifiez archive.ubuntu.com en old-releases.ubuntu.com

Vous pouvez le faire avec sed en tapant la commande suivante dans un terminal:

sudo sed -i -re 's/([a-z]{2}\.)?archive.ubuntu.com|security.ubuntu.com/old-releases.ubuntu.com/g' /etc/apt/sources.list

puis upgradez avec:

sudo apt-get update && sudo apt-get dist-upgrade

Parfois, il est plus rapide de faire une sauvegarde des données importantes et d’installer une version récente que de faire la mise à jour ainsi.

Cependant, cela peut vous permettre d’installer des logiciel provisoirement ou de passer sur une LTS plus récente pour vous laisser le temps de planifier une réinstallation.

Enfin un FabLab à Perpignan!

Internet est une mine d’information sur tous les domaines, on y trouve des infos, des tutoriels, des conseils, des forums où demander de l’aide, des documentations techniques, des catalogues, des vidéos explicatives, …
Tout ce qui peut se verbaliser ou se rédiger.
Mais si internet est si vaste, il est aussi rapide de s’y perdre (et finir par regarder des vidéos de chatons troooop mignons), de mal comprendre les informations rédigées souvent dans une autre langue, ou de trouver des informations périmées.
Et puis internet fonctionne à sens unique: de l’internet vers vous. Impossible de dire à la vidéo « hé! Attend, comment tu as fais ton truc, là? Moi j’y arrive pas. » et d’obtenir une réponse rapide.
Ensuite, internet ne vous apporte pas, malgré tous les amis que vous pourriez vous y faire, une chose importante qui est le contact humain.

C’est pour ça que les FabLab sont une chose importante. On peut y partager bien plus que des connaissances: un café, une relation privilégiée autour d’un objectif commun, un enrichissement personnel sur un domaine qu’on n’aurait pas abordé spontanément sans accompagnement. Et tout un tas d’autres choses.
Sans compter la mise à disposition (accompagnée) de matériel souvent hors de portée financière ou pour un besoin ponctuel.
Lorsqu’on est seul sur un projet, il est courant de perdre du temps sur un problème mineur qui peut être bloquant. Un œil extérieur, une écoute intéressée ou un conseil technique permettent souvent de débloquer la situation. Et dans une bonne ambiance!

Bref, si vous êtes convaincus, ou simplement curieux, et que les nouvelles technologies vous intéressent, je ne peux que vous encourager à faire un saut à Squaregolab. Ils sont situés dans la ZI Saint charles (derrière Méca Précis).
J’y suis passé hier (et je repasserai par là, comme dit la chanson) découvrir ce qu’ils avaient; j’ai été très bien accueilli et assez impressionné du matériel disponible: ploteur, imprimantes 3D, fraiseuses numériques, coin électronique, boutique de petit matériel, ordinateurs, … et plein d’autres choses que je vous laisse découvrir sur place!

FabLab Perpignan

Squaregolab, un endroit clair et spacieux dédié aux nouvelles technologies

Vous trouverez sur leur site toutes les informations (horaires, projets, …), mais aussi sur place avec des choses en plus.

Firefox ouvre mes pièces jointes avec Gedit

Lorsque vous téléchargez un document, souvent depuis le webmail d’Orange, firefox vous propose simplement d’ouvrir celui ci avec gedit ou d’enregistrer le fichier.

Si vous le téléchargez et que vous double-cliquez sur celui ci, il s’ouvre bien avec le logiciel adéquat. Mais il serait plus simple de l’ouvrir directement depuis Firefox (pas dans Firefox) avec le logiciel adapté.

L’exemple que je vais vous donner concerne les fichiers pps, mais c’est adaptable à d’autres types de fichiers.

Ouvrez le fichier ~/.local/share/applications/mimeapps.list (qui associe les types de fichiers avec le logiciel adapté) avec votre éditeur de textes préféré.

Recherchez la ligne application/octet-stream=geany.desktop; et commentez la en mettant un dièse devant( #application/octet-stream=geany.desktop;)

Rajoutez la ligne suivante juste en dessous: application/octet-stream=libreoffice-calc.desktop;gedit.desktop;

Ainsi, Firefox vous proposera libreoffice en premier choix. Peu importe qu’on dise au pps de s’ouvrir avec calc, libreoffice s’adaptera automatiquement et l’ouvrira bien avec impress.

Enregistrez votre fichier, ça devrait fonctionner immédiatement pour le prochain téléchargement sans avoir à relancer quoi que ce soit.

En bonus, je vous met mon fichier mimeapps.list, ce qui peut vous être utile.

[Default Applications]
x-scheme-handler/mailto=thunderbird.desktop
message/rfc822=thunderbird.desktop
application/x-extension-eml=thunderbird.desktop
text/x-python=geany.desktop
application/x-php=geany.desktop
x-content/blank-cd=brasero-nautilus.desktop
application/x-designer=designer-qt4.desktop
text/x-gettext-translation=poedit.desktop
audio/mpeg=totem.desktop
text/html=firefox.desktop
x-scheme-handler/http=firefox.desktop
x-scheme-handler/https=firefox.desktop
x-scheme-handler/about=chromium-browser.desktop
x-scheme-handler/unknown=chromium-browser.desktop
application/pdf=evince.desktop
x-scheme-handler/ftp=firefox.desktop
x-scheme-handler/chrome=firefox.desktop
application/x-extension-htm=firefox.desktop
application/x-extension-html=firefox.desktop
application/x-extension-shtml=firefox.desktop
application/xhtml+xml=firefox.desktop
application/x-extension-xhtml=firefox.desktop
application/x-extension-xht=firefox.desktop
application/msword=libreoffice-writer.desktop
application/vnd.ms-excel=libreoffice-calc.desktop
application/vnd.openxmlformats-officedocument.spreadsheetml.sheet=libreoffice-calc.desktop
audio/x-vorbis+ogg=vlc.desktop
application/vnd.openxmlformats-officedocument.wordprocessingml.document=libreoffice-writer.desktop
application/x-ms-dos-executable=wine.desktop
application/xml=geany.desktop
[Added Associations]
x-scheme-handler/mailto=thunderbird.desktop;
message/rfc822=thunderbird.desktop;
application/x-extension-eml=thunderbird.desktop;
text/x-python=geany.desktop;
application/dicom=gedit.desktop;
application/octet-stream=geany.desktop;libreoffice-calc.desktop;gedit.desktop;
application/x-php=geany.desktop;firefox.desktop;
audio/x-mod=gedit.desktop;
application/x-ms-dos-executable=wine.desktop;
text/plain=gerbv.desktop;libreoffice-writer.desktop;
application/vnd.oasis.opendocument.presentation=libreoffice-writer.desktop;
x-content/blank-cd=brasero-nautilus.desktop;
application/x-designer=designer-qt4.desktop;
text/x-gettext-translation=poedit.desktop;
audio/mpeg=totem.desktop;
text/css=geany.desktop;
application/x-netcdf=gedit.desktop;geany.desktop;
application/x-trash=gedit.desktop;
application/pdf=evince.desktop;
application/vnd.ms-powerpoint=file-roller.desktop;
x-scheme-handler/http=firefox.desktop;
x-scheme-handler/https=firefox.desktop;
x-scheme-handler/ftp=firefox.desktop;
x-scheme-handler/chrome=firefox.desktop;
text/html=firefox.desktop;
application/x-extension-htm=firefox.desktop;
application/x-extension-html=geany.desktop;firefox.desktop;
application/x-extension-shtml=firefox.desktop;
application/xhtml+xml=firefox.desktop;
application/x-extension-xhtml=firefox.desktop;
application/x-extension-xht=firefox.desktop;
application/msword=libreoffice-writer.desktop;
application/vnd.ms-excel=file-roller.desktop;libreoffice-calc.desktop;
application/vnd.openxmlformats-officedocument.spreadsheetml.sheet=libreoffice-calc.desktop;
audio/x-vorbis+ogg=vlc.desktop;
application/xml=wine-extension-msp.desktop;wine-extension-vbs.desktop;geany.desktop;
application/vnd.openxmlformats-officedocument.wordprocessingml.document=libreoffice-writer.desktop;
image/jpeg=inkscape.desktop;
application/x-mono-extension-cb=cambam.desktop;
application/x-crossover-msg=geany.desktop;
application/x-wine-extension-vbs=gedit.desktop;
application/x-config=gedit.desktop;
text/x-vb=gedit.desktop;
image/vnd.dxf=inkscape.desktop;
image/png=inkscape.desktop;

Cigarette électronique

Aujourd’hui un article ayant peu de rapports avec l’informatique, quoique.
Beaucoup d’informaticiens sont fumeurs. A vrai dire, tous ceux que je connais, ceux dont le métier est de travailler avec les ordinateurs, fument.
Les risques pour la santé sont connus, mais ceux pour les ordinateurs le sont peut être moins.

La fumée des cigarettes est grasse et collante. Ceux qui fument en voiture le constatent sur leurs vitres, ceux qui fument chez eux le constatent sur leurs rideaux. Les ordinateurs, qu’ils soient en tour ou portables, brassent de l’air pour refroidir le processeur, ce même air chargé de fumées et de poussières, ce qui favorise le colmatage des radiateurs. Provoquant un échauffement de l’ordinateur, un ralentissement des performances, du bruit de ventilation important et un risque de surchauffe pouvant amener à la panne.

Les quelques photos suivantes vous donneront l’aperçu de ce que l’on peut trouver en ouvrant un ordinateur… La couleur marron/orangé est caractéristique de la nicotine (même si ce n’est pas flagrant dans toutes les photos). Cliquez dessus pour les voir en grand. Ce sont les poumons des ordinateurs.

20150203_172152 20150515_110805
20102010314 20102010307

Mais la base de cet article n’est pas ici.
Je suis passé à la cigarette électronique depuis 2 ans et demi. Sans plus jamais retoucher une cigarette, et sans en avoir envie, sans manque aucun. Mais, systématiquement, lorsqu’on me voit vapoter, on me demande si je ne suis pas inquiet de ne pas connaître les effets sur ma santé d’un produit nouveau. Et ce sont les fumeurs qui insistent le plus.

Pour ne pas avoir à répéter encore et encore ce que j’en pense (et ce n’est que mon avis personnel qui n’engage que moi), voici mes références.

1- Le tabac

source: http://www.sciencesetavenir.fr/sante/20120525.OBS6581/tabac-la-liste-des-93-produits-toxiques-de-la-fumee-de-cigarette.html

Liste des 93 constituants de la fumée de tabac dangereux ou potentiellement dangereux pour la santé humaine.

Liste des 93 constituants de la fumée de tabac dangereux ou potentiellement dangereux pour la santé humaine.

 

 

2 – La cigarette électronique

Voici des extraits de cet article: http://www.cancer-environnement.fr/392-Cigarette-electronique.ce.aspx dans lequel j’ai mis en couleur ce qui me semble important.

Les trois substances cancérogènes détectées dans l’étude de 60 millions de consommateurs sont le formaldéhyde, l’acroléine et l’acétaldéhyde.

Le formaldéhyde est en effet classé cancérogène avéré (Groupe 1) par le CIRC. Les résultats de l’étude de la revue montrent que dans 3 cas sur 10, « les teneurs relevées flirtent avec celles observées dans certains cigarettes conventionnelles ». Aucun chiffre n’est cependant communiqué ; il est donc difficile de quantifier de manière solide cette information, qui ne s’applique en outre pas à la majorité des produits testés. Dans son rapport, l’OFT rapporte des concentrations de formaldéhyde de 8 à 16 ppm de formaldéhyde dans les e-cigarettes, contre 86 dans une cigarette conventionnelle, soit au moins 5 fois moins de formaldéhyde dans l’e-cigarette que dans la cigarette classique.

L’acroléine est produite par déshydratation à haute température de la glycérine qui peut être contenue dans le liquide de l’e-cigarette. C’est une molécule très irritante. Selon le CIRC, l’acroléine est inclassable quant à son pouvoir cancérogène (Groupe 3), ce qui signifie que les données actuellement disponibles ne permettent pas d’établir si cette substance est cancérogène chez l’Homme. D’après « 60 millions de consommateurs », elle n’a été détectée en quantité importante (chiffre non communiqué) que dans un des dix modèles testés. D’après le rapport de l’OFT, l’acroléine n’est pas détectable dans la vapeur des cigarettes électroniques ; la température de l’atomiseur est inférieure à la température nécessaire à la formation d’acroléine, bien que des contrôles sur ce point soient justifiés.

L’acétaldéhyde est classé cancérogène possible (Groupe 2B) par le CIRC, c’est-à-dire que les données de cancérogénicité disponibles actuellement sont limitées chez l’Homme et insuffisantes chez l’animal, ou insuffisantes chez l’Homme et suffisantes chez l’animal. 60 millions de consommateurs affirme qu’il est émis à « des teneurs parfois loin d’être négligeables, qui restent très inférieures à celles observées avec des cigarettes conventionnelles », sans donner de quantification chiffrée, ce qui limite l’interprétation possible de ce résultat. Le rapport de l’OFT indique quant à lui des concentrations de 2 à 3 ppm dans les cigarettes électroniques testées, contre 119 ppm dans la cigarette conventionnelle.

La cigarette électronique semble donc en effet contenir des substances cancérogènes ou potentiellement cancérogènes, mais toujours en quantités très inférieures à celles des cigarettes conventionnelles. D’après l’INCa, les concentrations de produits cancérogènes retrouvés dans les e-liquides sont « très faibles » et « sans signification clinique », impliquant que la « vapeur des e-cigarettes n’est pas directement cancérogène ». Les produits présents dans le tabac et responsables de sa cancérogénicité (benzène, arsenic, chrome, etc.) ne sont pas présents à des concentrations significatives dans la vapeur des e-cigarettes.
Le propylène glycol et le glycérol, contenus en quantité importante dans le liquide des e-cigarettes, ne sont pas cancérogènes.

En résumé, si certains atomiseurs de mauvaise qualité (ou à bas prix) peuvent s’avérer dangereux, les produits à risque présents dans la vapeur des cigarettes électroniques sont de toute façon en quantité moindre que dans une vraie cigarette.

Pour améliorer les choses, la profession des revendeurs de e-cig a mis en place une norme Afnor en coordination avec des médecins (source: http://www.santemagazine.fr/actualite-cigarette-electronique-deux-normes-pour-vapoter-sans-risque-60252.html) montrant que les défauts de jeunesse peuvent être améliorés.

(MA) Conclusion

Personne ne dit que vapoter est sans danger, moi y compris puisque je ne suis ni médecin ni expert dans un quelconque domaine médical.

Mais en tant qu’humain je sais que rester dans les bouchons derrière un bus est néfaste pour ma santé, faire un basket sur le terrain de sport à côté du périph est néfaste pour ma santé, utiliser des savons ou shampoings dont tous les composants sont dérivés du pétrole (sauf la graisse d’origine animale!) est néfaste pour ma santé, que manger un hamburger avec un clown est néfaste pour ma santé, que …

Et ça ne fait pas scandale.

 

Bref, de deux maux, il faut choisir le moindre. Faites votre choix, j’ai fait le mien.

PS: pour vos produits d’hygienes, soyez curieux, faites une recherche internet sur tous les composants écrits en petit dans la composition, en particulier sur le Methylchloroisothiazolinone… Et apprenez à fabriquer vos savons.

M.A.J du 12/09/2017: https://www.sciencesetavenir.fr/sante/l-aerosol-d-e-cigarette-n-est-pas-15-fois-plus-cancerogene-que-la-fumee-de-tabac_116172

Résoudre l’erreur de screen « Cannot open your terminal ‘/dev/pts/0’ – please check »

En utilisant screen, il est possible que vous ne puissiez démarrer une session en obtenant l’erreur suivante:
Cannot open your terminal '/dev/pts/0' - please check

C’est parce qu’un autre utilisateur (probablement vous) a lancé le terminal actuel. Vous avez sans doute effectué un sudo su vers l’utilisateur avec lequel vous essayez de lancer screen, n’est ce pas?
Il y a deux manières de corriger ceci:

  • Déconnectez vous et connectez vous proprement avec l’utilisateur que vous souhaitez utiliser
  • Lancez script /dev/null dans le shell de l’utilisateur et relancez screen, ce qui devrait fonctionner.

Important: n’effectuez pas de chmod sur le terminal virtuel comme suggéré sur beaucoup de sites du web. Cela fonctionnera mais donnera aux autres utilisateurs les droits de lecture et d’écriture dans la session du terminal!

Tester sa vitesse de connexion Internet depuis le terminal

speedtest-cli permet de tester sa vitesse de connexion sans utiliser de navigateur, et sans les problèmes liés au flash nécessaire pour utiliser les sites de test. C’est un outil écrit en python fonctionnant sur Debian et dérivées, ainsi que sur Fedora et dérivées.

Pour l’installer, il vous faudra python-pip et lancer la commande suivante:

sudo pip install speedtest-cli

Ensuite, il suffit de lancer speedtest-cli pour avoir une idée du débit descendant et ascendant de votre ligne. Les valeurs obtenue sur la mienne sont variables (dépend de l’utilisation de la ligne, du PC, de l’heure) mais restent dans une fourchette qui permet de voir quel est le débit moyen.


usage: speedtest-cli [-h] [--bytes] [--share] [--simple] [--list]
[--server SERVER] [--mini MINI] [--source SOURCE]
[--timeout TIMEOUT] [--version]
Command line interface for testing internet bandwidth using speedtest.net.
--------------------------------------------------------------------------
https://github.com/sivel/speedtest-cli
optional arguments:
-h, --help show this help message and exit
--bytes Display values in bytes instead of bits. Does not affect
the image generated by --share
--share Generate and provide a URL to the speedtest.net share
results image
--simple Suppress verbose output, only show basic information
--list Display a list of speedtest.net servers sorted by
distance
--server SERVER Specify a server ID to test against
--mini MINI URL of the Speedtest Mini server
--source SOURCE Source IP address to bind to
--timeout TIMEOUT HTTP timeout in seconds. Default 10
--version Show the version number and exit

Résultat chez moi
Retrieving speedtest.net configuration...
Retrieving speedtest.net server list...
Testing from Free SAS (78.207.166.41)...
Selecting best server based on latency...
Hosted by Altanetica SL (Calonge) [80.18 km]: 188.878 ms
Testing download speed........................................
Download: 7.35 Mbit/s
Testing upload speed..................................................
Upload: 0.99 Mbit/s

Si vous utilisez l’option –share, vous obtiendrez l’adresse d’une image, montrant les résultats, que vous pourrez partager.

Pour faire la mise à jour, utilisez:

sudo pip install speedtest-cli --upgrade

LinuxCNC – Contrôler la machine avec in joystick ou une manette de jeu

Utiliser une manette ou un joystick pour contrôler linuxcnc

Voici la suite de la série sur LinuxCNC

On peut vraiment tout faire avec Linux, y compris détourner l’utilisation première de certains matériel. J’avoue que c’est un peu du gadget, mais c’est tellement pratique que ce serait dommage de s’en passer.

Dans l’atelier, le clavier n’est pas vraiment nécessaire, la plupart des actions se font à la souris. De plus, clavier et poussière ne font pas forcément bon ménage et le clavier prend de la place là où on en manque toujours…

L’idée est de remplacer (au moins de l’avoir en parallèle) le clavier par une commande moins imposante pour contrôler la CNC.
Et puis ça fait tellement geek et futuriste de piloter la machine avec un joystick que je vois l’admiration et le respect s’allumer dans les yeux des spectateurs qui me voient leur créer les pièces demandées, un peu comme si je pilotais la navette spatiale. Priceless!

Tout d’abord, il vous faudra une manette ou un joystick de jeu, de préférence USB. Cherchez dans les occasions si vous n’en avez pas, faites le tour des dépôts ventes ou sur le bon coin, mais on en trouve entre 2 et 10 €, selon l’état et le modèle. On trouve même des adaptateurs pour mettre en USB la plupart des manettes, cherchez sur la baie ou amazon.

J’utilise un joystick Microsoft SideWinder Precision 2 (acheté chez cashtruc pour 5 €) qui a un fil de 2m de long, ce qui est très bien pour déplacer le joystick à l’endroit voulu. En plus il a plein de boutons qui me permettent de paramétrer ce que je veux dessus.
Autant je suis très critique sur les logiciels estampillés Microsoft, autant je considère les matériels portant cette marque comme solides et fiables, mais c’est mon avis personnel.
On peut aussi utiliser des manettes sans fil, ce que je faisais au début, mais la baisse de puissance des piles ou des parasites amènent des problèmes dans la commande de la machine. C’est suffisamment risqué pour que je vous le déconseille, rien de tel que les fils.


Le joystick dans le bureau pour la rédaction de ce tuto.

==== Installation du logiciel de contrôle ====

Il va falloir installer auparavant une dépendance afin que le logiciel fonctionne correctement. Pour cela, il va falloir ajouter un dépôt au système.
– Ouvrez le gestionnaire de paquets Synaptic (Applications/Système/Gestionnaire de paquets synaptic)
– Allez dans le menu Configuration/Dépots
– Cliquez sur l’onglet Other Software
– Cliquez sur le bouton Add
– Entrez la ligne suivante: deb http://http.debian.net/debian wheezy-backports main
– Validez, fermez
– Cliquez sur le bouton Recharger
– Cliquez sur le bouton de recherche, tapez libsdl2 et installez libsdl2-2.0-0 (clic droit, sélectionner pour installation). Faites la même chose pour libqt4-network
– Cliquez sur appliquer
– Fermez synaptic

Le programme permettant de mapper les touches s’appelle Antimicro. Il est disponible à cette adresse:
https://github.com/Ryochan7/antimicro/releases

Téléchargez le paquet antimicro_2.14-1.jessie_i386.deb, c’est celui qui va bien pour wheezy (votre version de Debian), et enregistrez le paquet sur votre ordinateur.

On peut l’installer graphiquement, mais je vais vous apprendre comment installer un paquet deb téléchargé avec le terminal.
– Ouvrez un terminal (Applications/Emulateur de terminal)
– tapez la commande suivante en adaptant ce qui doit l’être: sudo dpkg -i /home/votre_utilisateur/Téléchargements/antimicro_2.14-1.jessie_i386.deb (pensez à la complétion (voir dans les posts précédents) pour vous aider à taper la commande)
– Validez, entrez votre mot de passe
– Le logiciel est installé!

==== Lancement du logiciel antimicro ====

On peut lancer le logiciel au démarrage de la session. Pour cela, il suffit de créer un script de démarrage comme on l’a fait précédemment pour le serveur VNC.
Mais je préfère faire autrement, car je n’ai pas envie qu’un coup de coude dans le joystick déplace la broche par accident.

J’ouvre un terminal( Applications/Emulateur de Terminal ou clic droit sur le bureau Ouvrir un terminal ici) et je tape la commande antimicro que je valide par entrée. Si je ferme le terminal par la suite, le joystick est désactivé (et j’en suis certain). Si j’en ai besoin de nouveau, je recommence.

==== Paramétrage du joystick ====

Au lancement de antimicro, choisissez le français et validez tout par défaut; la fenêtre de configuration s’ouvre. Je ne vais pas entrer dans les détails, juste vous expliquer quelques petites choses, le reste est assez simple.
* Lorsque vous aurez créé votre configuration, sauvegardez là. Si vous n’en avez qu’une, elle sera automatiquement rechargée au démarrage du logiciel
* Testez les boutons et axes de votre manette/joystick, vous les verrez s’éclairer
* La première fois que vous lancez le logiciel, mettez à jour les manettes (CTRL+U ou menu Options). C’est important sinon des choses peuvent ne pas fonctionner.

* cliquez sur le bouton que vous voulez modifier et réglez les options
* Si vous donnez un nom (Axe X, ou Arrêt d’urgence) vous pouvez afficher les noms à la place des boutons si vous cliquez sur le bouton Noms
* Il y a des options déjà prévues pour les axes (haut/bas, ou gauche/droite, etc) Utilisez les, même si on peut les modifier autrement.

* Enregistrez votre configuration en lui donnant le nom de votre contrôleur à la racine de votre home (votre dossier personnel)
* Enfin, cachez le logiciel (ne le fermez pas, sinon il n’agira pas sur LinuxCNC) par CTRL + H
* Le logiciel est placé en haut à droite, à côté de l’heure. Un clic sur l’icone le fait réapparaître.

Personnellement, j’ai paramétré les axes X et Y sur le joystick, l’axe Z est sur la rotation du joystick, la gâchette est la touche SHIFT (avance rapide sur linuxcnc), ce qui me permet de commander toute la broche avec le joystick. Les autres boutons me permettent d’arrêter l’AU (F1), démarrer/arrêter la machine (F2), ouvrir un fichier gcode (o) et de marquer la prise d’origine de l’axe en cours (orig). Je ne me sers pas des autres boutons et axes, mais rien ne dis que je n’en aurai pas besoin plus tard. Il suffit de laisser le curseur sur un bouton de linuxcnc pour connaître la touche correspondante et la paramétrer dans antimicro.

Je n’ai pas de quoi vous faire une vidéo, mais croyez moi sur parole, ça fonctionne très bien. Maintenant, le clavier est rangé et je ne le sors que lorsque j’en ai besoin, tout le reste se fait au joystick.

LinuxCNC – contrôle par VNC

Voici la suite de la série sur LinuxCNC
L’ordinateur qui contrôle la CNC se trouve au garage, mais je ne reste pas toujours devant et mon bureau est au 2e étage. Si je veux voir l’avancement, il faut descendre 2 étages en traversant la maison, aller au garage, constater que tout va bien (ou mal) puis refaire le trajet en sens inverse.

Je vais donc vous apprendre à paramétrer votre ordinateur pour vous y connecter avec VNC
Les étapes sont:

  1. – Installation du serveur VNC sur l’ordinateur
  2. – Activation du serveur VNC
  3. – Paramétrage du serveur VNC
  4. – Lancement du serveur VNC
  5. – Lancement du serveur vnc avec la session

1-Installation du serveur

Suivez les instructions au dessus pour installer les paquets x11vnc et x11vnc-data. N’installez pas d’autre serveur vnc, il vous ouvrent une nouvelle session et vous ne verrez pas celle qui est en cours sur la machine CNC.
Vous pouvez aussi ouvrir un terminal (applications/Accessoires/Terminal) et taper la commande suivante, ce qui revient au même:

sudo aptitude install x11vnc x11vnc-data

2-Activation du serveur

Il faut autoriser les connexions entrantes vers la session graphique. Nous allons modifier un fichier que nous avons déjà modifié pour la connexion automatique. Mais maintenant, nous allons le lancer en ligne de commande.
Dans le terminal, tapez (ou copiez collez avec la molette, voir au dessus) la commande suivante:

sudo geany /etc/lightdm/lightdm.conf

Ce qui demande d’ouvrir en root (le sudo) avec geany le fichier /etc/lightdm/lightdm.conf
En bas du fichier, décommentez et modifiez les lignes sous [VNCServer] pour obtenir ceci:

[VNCServer]
enabled=true
port=5900
width=1024
height=768
depth=8

Notez le true à la place du false. Ne modifiez pas les valeurs pour l’instant. Sauvegardez le fichier et fermez geany.

3-Paramétrage du serveur VNC

L’ordinateur qui contrôle ma CNC est sur mon réseau local, qui n’est pas accessible depuis l’extérieur par VNC, je pourrai donc me permettre de ne pas mettre de mot de passe. MAIS, je n’ai pas envie que quelqu’un, en local ou à distance, s’amuse à démarrer la broche pendant que je change une fraise! Donc, nous allons mettre un mot de passe au serveur VNC qui n’autorisera pas les connexions sans celui ci.

Ouvrez un terminal, ou réutilisez celui ouvert, et tapez la commande suivante (validez par entrée):

x11vnc -storepasswd

Il vous demande ensuite quel mot de passe vous désirez mettre. Il n’affiche pas les retours de frappe, c’est normal, alors concentrez vous sur le mot de passe. Validez à chaque fois, et les messages suivant. Le mot de passe sera stocké dans /home/votre_login/.vnc/passwd.

4-Lancement du serveur

Dès maintenant, nous allons pouvoir lancer le serveur, mais pour éviter d’avoir à retaper une longue ligne de commande à chaque fois, nous allons l’enregistrer dans un fichier.
Dans le terminal, entrez la commande suivante:

geany /home/votre_login/serveur_VNC.sh

Remplacez votre_login par le login de l’utilisateur sur l’ordinateur.
Copiez le code suivant dans le fichier, puis enregistrez:

#!/bin/bash
x11vnc -auth guess -forever -loop -noxdamage -repeat -rfbauth /home/manu/.vnc/passwd -rfbport 5900 -shared

On demande de lancer le serveur vnc (x11vnc) avec les options d’authentification invité (-auth guess) qui tournera en permanence (-forever) en local (-loop) et ne plantera pas si une application graphique se crash (-noxdamage) et se ralancera (-repeat) en utilisant les mots de passe stockés dans le fichier (-rfbauth /home/manu/.vnc/passwd) sur le port donné (-rfbport 5900) en session partagée (-shared).
Vous voyez qu’on peut paramétrer finement le serveur…
Enregistrez et fermez geany.

On va donner l’autorisation à ce fichier d’être lancé comme un programme en tapant la commande suivante dans le terminal:

chmod +x /home/votre_login/serveur_VNC.sh

C’est fait, vous venez de créer votre premier script! Vous pouvez le lancer pour tester l’accès VNC depuis un autre ordinateur par la commande:

bash /home/votre_login/serveur_VNC.sh

Plein de choses s’affichent dans la console: ce sont les logs du serveur VNC qui vous tient au courant de tout ce qui se passe. En cas de problème, il indique ce qui s’est passé et pourquoi.
Allez sur un autre ordinateur et lancez une visualisation VNC. Je vous laisse trouver tout seul un client VNC pour votre ordinateur. Comme on est en réseau local, montez la profondeur de couleur au maximum, ainsi que la qualité.

Notez que si vous lancez dans un terminal la commande x11vnc sans les options, vous aurez accès sans mot de passe au serveur VNC, mais dès que vous fermerez la connexion, le serveur s’arrêtera et vous ne pourrez plus vous y reconnecter.

Arrêtez le serveur VNC par CTRL+C ou en fermant le terminal dans lequel il est lancé.

5 – Lancement automatique du serveur VNC avec la session

Actuellement, il faut lancer le script manuellement pour pouvoir se connecter à l’ordinateur CNC. Pas très pratique quand on est déjà en haut et qu’on a oublié de le faire…

On va le faire graphiquement.
Allez dans le menu Applications/Paramètres/Session et démarrage. Dans l’onglet Démarrage automatique cliquez sur le bouton Ajouter.
Une fenêtre vous demande les détails:

  • – Le nom: vous mettez ce que vous voulez. Mettez un truc parlant comme « Serveur VNC »
  • – La description: Libre aussi, mais soyez précis, ça aide par la suite. « Lancement du serveur VNC au démarrage de la session »
  • – La commande: cliquez sur le petit dossier à droite du champ et naviguez jusqu’au script que vous avons créé. Vous le trouverez dans votre_login puisque c’est là qu’on l’a placé. Une fois le fichier validé, vous devriez avoir /home/votre_login/serveur_VNC.sh.

Validez la fenêtre, fermez tout et redémarrez. Vous pouvez désormais vous connecter au serveur, voir ce qui s’y passe et agir sur la session ouverte.

Linux CNC – Ajouter un panneau supplémentaire à Axis

De base, l’interface d’Axis suffit pour la plupart des opérations. Je vais vous montrer comment ajouter un panneau avec des boutons qui peuvent vous simplifier la vie.
Nous allons modifier les fichiers correspondant au paramétrage de votre machine mais si vous relancez stepconf par la suite, vos modifications seront perdues. Sachez que, en général, une fois la machine paramétrée, il est plus simple d’aller modifier directement le fichier de configuration que de passer toutes les étapes de l’assistant. Donc on ne relance plus stepconf après quelques semaines d’utilisation.

Nous allons le relancer une dernière fois pour lui dire que nous voulons ajouter un nouveau panneau. Sélectionnez la modification de machine, sélectionnez votre machine et cochez les cases tel que sur l’image suivante lorsque vous arrivez à la partie concernée:

Allez jusqu’au bout de l’assistant.

Ouvrez maintenant geany que nous avons installé précédemment (Applications/Developpement/Geany) . Ouvrez le fichier votre_utilisateur/linuxcnc/configd/nom_de_machine/custompanel.xml

Collez le texte suivant dedans:

<?xml version='1.0' encoding='UTF-8'?>
<pyvcp>
<!-- 
Include your PyVCP panel here.
The contents of this file will not be overwritten when you run stepconf again.
-->

<labelframe text="Boutons de Jog">
      <font>("Helvetica",16)</font>

       <!-- le bouton de jog de l'axe X -->
       <hbox>
           <relief>RAISED</relief>
           <bd>3</bd>
           <button>
               <font>("Helvetica",20)</font>
               <width>2</width>
               <halpin>"x-plus"</halpin>
               <text>"X+"</text>
           </button>
           <button>
               <font>("Helvetica",20)</font>
               <width>2</width>
               <halpin>"x-moins"</halpin>
               <text>"X-"</text>
           </button>
       </hbox>

       <!-- le bouton de jog de l'axe Y -->
       <hbox>
           <relief>RAISED</relief>
           <bd>3</bd>
           <button>
               <font>("Helvetica",20)</font>
               <width>2</width>
               <halpin>"y-plus"</halpin>
               <text>"Y+"</text>
           </button>
           <button>
               <font>("Helvetica",20)</font>
               <width>2</width>
               <halpin>"y-moins"</halpin>
               <text>"Y-"</text>
           </button>
       </hbox>

       <!-- le bouton de jog de l'axe Z -->
       <hbox>
           <relief>RAISED</relief>
           <bd>3</bd>
           <button>
               <font>("Helvetica",20)</font>
               <width>2</width>
               <halpin>"z-plus"</halpin>
               <text>"Z+"</text>
           </button>
           <button>
               <font>("Helvetica",20)</font>
               <width>2</width>
               <halpin>"z-moins"</halpin>
               <text>"Z-"</text>
           </button>
       </hbox>

       <!-- le curseur de vitesse de jog -->
       <vbox>
           <relief>RAISED</relief>
           <bd>3</bd>
           <label>
               <text>"Vitesse de Jog"</text>
               <font>("Helvetica",16)</font>
           </label>
           <scale>
               <font>("Helvetica",14)</font>
               <halpin>"jog-speed"</halpin>
               <resolution>1</resolution>
               <orient>HORIZONTAL</orient>
               <min_>0</min_>
               <max_>80</max_>
           </scale>
       </vbox>


       <vbox>
           <relief>RAISED</relief>
           <bd>3</bd>
           <button>
               <font>("Helvetica",20)</font>
               <width>2</width>
               <halpin>"rapid-to-home"</halpin>
               <text>"Home"</text>
           </button>
       </vbox>

   </labelframe>

<labelframe text="Temps écoulé">
   <font>("Helvetica",10)</font>
   <hbox>
       <relief>RAISED</relief>
       <bd>1</bd>
           <label>
               <text>"Time:"</text>
               <font>("Helvetica",10)</font>
           </label>
       <u32>
           <halpin>"elaps_hour"</halpin>
           <font>("Helvetica",10)</font>
           <format>"02d:"</format>
       </u32>
       <u32>
           <halpin>"elaps_min"</halpin>
           <font>("Helvetica",10)</font>
           <format>"02d:"</format>
       </u32>
       <u32>
           <halpin>"elaps_sec"</halpin>
           <font>("Helvetica",10)</font>
           <format>"02d"</format>
       </u32>
   </hbox>

   </labelframe>

</pyvcp>

Sauvegardez.

Le panneau est désormais présent dans l’interface, mais il n’est connecté à rien, donc les boutons ne fonctionneront pas. On va faire la liaison entre le programme et l’interface en modifiant le fichier custom_postgui.hal. Ouvrez le avec geany et copiez le code suivant dedans:

# Inclure vos commandes HAL personnalisées ici
# Les commandes contenues dans ce fichier seront lancées après quel'interface graphique AXIS (PyVCP inclus) aura démarré.

sets spindle-at-speed true

# connecte les boutons PyVCP pour X
net my-jogxmoins halui.jog.0.minus <= pyvcp.x-moins
net my-jogxplus halui.jog.0.plus <= pyvcp.x-plus

# connecte les boutons PyVCP pour Y
net my-jogymoins halui.jog.1.minus <= pyvcp.y-moins
net my-jogyplus halui.jog.1.plus <= pyvcp.y-plus

# connecte les boutons PyVCP pour Z
net my-jogzmoins halui.jog.2.minus <= pyvcp.z-moins
net my-jogzplus halui.jog.2.plus <= pyvcp.z-plus

# connecte le curseur de vitesse de jog PyVCP
net my-jogspeed halui.jog-speed <= pyvcp.jog-speed-f


net remote-rapid-to-home halui.mdi-command-00 <= pyvcp.rapid-to-home
net remote-rapid-to-home halui.mdi-command-01 <= pyvcp.rapid-to-home


# Elapsed time
# Charge le composant timer
loadrt time
# Ajoute le fil de servo
addf time.0 servo-thread
# Dès que le programme démarre, le timer se lance
net prog-is-running <= halui.program.is-running
net prog-is-running => time.0.start
# Affiche l'heure dans le paneau
net cycle-seconds time.0.seconds => pyvcp.elaps_sec
net cycle-minutes time.0.minutes => pyvcp.elaps_min
net cycle-hours time.0.hours => pyvcp.elaps_hour

C’est presque fini. Il faut maintenant dire à Axis qu’on veut utiliser ce panneau. Ouvrez avec geany le fichier votre_machine.ini. Vous constaterez que tous les réglages effectués avec stepconf y sont notés de façon simple.

Nous allons ajouter certaines choses:
Dans le section DISPLAY ajoutez une ligne PYVCP = custompanel.xml (indique à Axis d’utiliser ce panneau)
Dans la section HAL assurez vous d’avoir POSTGUI_HALFILE = custom_postgui.hal et HALFILE = custom.hal, sinon, ajoutez les lignes (commandes à lancer après Axis)
Dans la section HALUI ajoutez les lignes MDI_COMMAND = G0 Z30 et MDI_COMMAND = G0 X0 Y0 Z30 (commandes qui seront effectuées par le retour au home: en premier lieu montée de la broche à 30, puis retour à X0 et Y0 et Z30. Modifiez la valeur de Z au besoin)

Enregistrez et relancez Linuxcnc, vous devriez avoir un beau panneau fonctionnel supplémentaire.

LinuxCNC – astuces supplémentaires

Appli android pour controler linuxCNC

http://www.androidpit.fr/application/com.cncpendantforlinuxcnc.app (8.99€)

Cambam plus n’utilise pas toutes les fonctionnalités de EMC

Cambam est incapable de générer toutes les valeurs possibles des Gcodes G61/G64 pour le paramètre d’usinage global ‘Velocity mode’ et on n’atteint pas la vitesse maximale possible lors de l’usinage

Solution
Il faut ajouter un post-processeur “rapide” qui permettra d’utiliser les codes manquants.

Les post processeurs sont dans c:\Documents dans Settings\all users\application data\cambam plus 0.9.8\post.
et dans /home/votre_utilisateur/.config/CamBam plus 0.9.8/post sous Linux

Dupliquer EMC2.cbpp en EMC2-speed.cbpp, et modifier la ligne:
{$units} {$distancemode} {$velocitymode} {$cuttercomp(off)}

Pour la transformer en :
{$units} {$distancemode} {$velocitymode} P0.05 {$cuttercomp(off)}\\

Ici, la précision a été fixée à 5 centièmes de mm, ce qui est très largement suffisant pour de la gravure, mais vous pourrez avoir à trouver votre valeur pour vos besoins.

Source: http://www.usinages.com/emc2/emc2-tuto-complet-t18768.html

Exporter directement en ngc

source: http://id-conception.fr/Forum/viewtopic.php?f=24&t=1067

Voici un petit modif, qui évite pas mal de manipulation durant l’utilisation de CamBam avec LinuxCNC EMC2 (qui veut du NGC).

Dans beaucoup (Peut-être bien tous) des Tutos, il est indiqué de sauvegarder le fichier Gcode dans CamBam (Extension nc) et ensuite de le renommer sous linux avec l’extension .ngc.

Alors qu’il suffit simplement dans CamBam de faire les manipulations suivante pour que votre fichier Gcode aie automatiquement la bonne extension :

– Aller dans le menus « Outils »
– Puis sélectionner « Options »
– Aller dans la Partie « Génération du Gcode » de la nouvelle fenêtre qui c’est ouverte.
– Modifier la ligne : « Extension Gcode par défaut » en remplaçant le .nc par .ngc
– Et enfin, quitter la fenêtre, et si tout c’est bien passé, vos fichier Gcode auront directement la bonne extension.

Problème: Cambam crash avec l’utilisation de textes

Lors de l’utilisation d’options de texte, cambam se crashe. Soit lors de la demande d’utiliser du texte, soit à l’ouverture de fichier cb contenant du texte.

Le message d’erreur éventuel indique juste ./libcambam64.so

Explication
Ce problème survient quand on lance cambam par mono chemin/cambam.exe. Il ne trouve pas le fichier libcambam64.so dans son chemin. Il suffit de se rendre à l’emplacement d’installation de cambam AVANT de lancer cambam.
Solution

créer un fichier /usr/local/bin/cambam contenant le texte suivant (en admettant que cambam soit installé dans /home/manu/CamBam0.9.8):


#!/bin/bash
cd /home/manu/CamBam0.9.8
mono CamBam.exe

Rendre ce fichier exécutable par sudo chmod +x /usr/local/bin/cambam

Créer un lanceur dans /usr/share/applications/cambam.desktop contenant le texte suivant:


[Desktop Entry>
Name=Cambam
Comment=Dessiner en gcode
Exec=/usr/bin/cambam
Icon=/home/manu/CamBam0.9.8/cambam.png
Terminal=false
Type=Application
Categories=GTK;Graphics;
StartupNotify=true
X-Ubuntu-Gettext-Domain=CamBam

Attention à remplacer le nom de l’utilisateur (ici manu) par le votre dans les codes ci dessus

Revenir à la position 0 à la fin du cycle

http://www.metabricoleur.com/t1437p180-aide-cambam

Attention! Le retour de la broche à 0 peut faire des dégats à la pièce ET à la broche qui s’arrête de tourner!

Personnaliser un peu LinuxCNC

Quelques paramétrages pratiques

Suite à l’installation de LinuxCNC, on peut dores et déjà apporter quelques modifications au fonctionnement pour le rendre plus agréable.

Ajouter des logiciels

Nous allons ajouter un logiciel qui va nous servir par la suite et qui servira d’exemple pour ajouter ou supprimer des logiciels.
J’aime utiliser un éditeur de textes puissant plus évolué que le simple bloc note fourni par défaut. Sous Linux, on ne va pas chercher un logiciel sur le site de l’éditeur pour l’installer, on demande à Linux de le faire et d’installer la dernière version, point.

Allez dans le menu des applications/système/Gestionnaire de paquets Synaptic. Indiquez votre mot de passe et lisez l’explication.
Cliquez sur le bouton recharger pour mettre à jour la base des logiciels, sinon Synaptic ne saura pas où trouver les logiciels.
Cliquez sur le bouton avec une loupe pour rechercher le logiciel geany et validez.
Dans la liste qui apparait, faites un clic droit sur le premier (geany tout court) et sélectionnez Sélectionner pour installation . Descendez dans la liste et faites de même pour le paquet geany-plugins validez les logiciel associés (dépendances) qu’il est nécessaire d’installer.
Cliquez ensuite sur Le bouton Appliquer de la barre des boutons, validez le résumé avant installation et attendez. Vous venez d’installer un nouveau logiciel.
Promenez vous dans Synaptic, vous comprendrez rapidement ce qu’on peut faire pour installer des logiciels.

Pour désinstaller un logiciel, il faut faire les mêmes étapes mais Sélectionner pour désinstallation dans le clic droit.

Connexion automatique

Inutile de passer par l’écran de connexion si on est seul utilisateur de l’ordinateur. On va donc indiquer que l’on veut être connecté au démarrage. Nous allons modifier un fichier système important, une erreur peut empêcher le démarrage de votre ordinateur, faites attention.

Comme l’utilisateur n’a pas le droit d’agir sur les fichiers du système, nous allons lancer les actions en root (administrateur).
Lancez Applications/Accessoires/Terminal administrateur. Vous êtes administrateur dans ce terminal, toutes les co….eries que vous lui direz de faire, il les fera, faites attention.

Lancez le logiciel geany que nous venons d’installer en tapant geany puis entrée. Geany se lance. Ne fermez pas le terminal, cela fermerait aussi geany.
Ouvrez le fichier Système de fichier/etc/lightdm/lightdm.conf. C’est lui que nous allons modifier.
Ligne 82 environs, ajoutez les lignes suivantes:


autologin-user=manu
autologin-user-timeout=0

Bien sûr, si vous avez choisi un autre login que manu, modifiez le code en conséquence!
Enregistrez le fichier, fermez geany et le terminal, puis redémarrez. Vous serez automatiquement connecté au démarrage.

Présentation et installation de LinuxCNC

Je vais tenter ici de démystifier un peu Linux/LinuxCNC en expliquant simplement les choses de base à connaître. Par conséquent, je vais employer des raccourcis que les puristes pourront me reprocher, mais il sera toujours temps d’apporter des précisions par la suite une fois que les idées de bases auront été intégrées.
Je ne vais parler que de ce que je connais, le fraisage en CNC, n’ayant jamais fait de tournage numérique.

1- Présentation de Linux

Linux (on devrait dire GNU/Linux, mais par commodité, je ne dirais que « Linux » ici) est un système alternatif à Microsoft pour faire l’interface entre l’utilisateur et l’ordinateur.
Il est développé par une communauté d’utilisateurs, mais aussi par de grands groupes (en particulier HP et Google) qui utilisent Linux sur leurs systèmes.
Il n’existe pas UN Linux, mais une multitude. D’ailleurs, une fois que vous aurez personnalisé votre ordinateur sous Linux, vous aurez VOTRE Linux.
Son rôle est exactement le même que Windows : il sert d’intermédiaire entre vous (et votre manière de penser) et l’ordinateur (et sa logique). C’est un outil qui répond à un besoin, et par conséquent, il n’est pas si différent de Windows, puisque le besoin est le même. Par contre, il a une philosophie différente, et c’est ce qui peut perturber l’utilisateur habitué à Windows.
Comme Linux n’appartient à personne (pas de société commerciale), il n’y a pas d’impératifs de vente ; par conséquent, l’idée est de fournir le meilleur logiciel (seul ou à plusieurs) en apportant la meilleure réponse possible au besoin de l’utilisateur. Une des idées est aussi celle ci : ne faire qu’une chose, mais la faire bien.

Par contre, pour les mêmes raisons, et parce que beaucoup de développeurs travaillent sur leur temps libre (et vous savez que c’est une denrée rare), l’avancée des logiciels ou la correction de bugs peut parfois prendre un peu de temps. Par contre, une faille de sécurité mobilise l’ensemble de la communauté et le correctif apparaît dans les jours qui suivent l’apparition du programme. C’est aussi une des raisons de la solidité de Linux.

2-Les distributions Linux

Une distribution est une « base Linux » sur laquelle l’éditeur (au sens large du terme) va faire des choix à votre place pour proposer un ensemble complet et cohérent de logiciels. Un peu comme un fabriquant de voiture va choisir un châssis, un moteur, une carrosserie et des accessoires pour proposer un modèle de voiture. Beaucoup d’éléments sont commun à d’autres modèles, mais l’ensemble des choix en fait un modèle à part. Le plus grand choix, en tout cas le plus visible étant le gestionnaire de l’interface (KDE, Gnome, Mate, XFCE, OpenBox, …), ayant chacun ses avantages et ses inconvénients.
Les distributions vont intégrer tel ou tel logiciel, interface, thème, choix de fonctionnement pour être une distribution différente des autres. Parfois, on prend une distribution existante, on modifie certaines choses, on apporte d’autres choix et logiciels, et cela devient une autre distribution.

Par exemple, Ubuntu, Mint, LinuxCnc, et bien d’autres, sont basées sur Debian qui est reconnue pour sa stabilité.
Suse, slackware, Handylinux, RedHat, … sont aussi des distributions linux. Je ne parle pas des distributions basées sur BSD pour rester dans la simplicité,
Comme on peu tout personnaliser sur Linux, on trouve des distributions spécialisées pour une fonction : le développement, le hacking, les firewall, les serveurs de fichiers, les routeurs, l’automatisme, l’embarqué, …. La liste est infinie puisqu’il suffit de personnaliser Linux avec les outils désirés.

À la maison, j’utilise plusieurs distributions, adaptées au rôle que j’en attend : Debian sur mes serveur, Ubuntu sur le poste de ma femme, XBMC (maintenant kido) sur le media center, SLAX sur le poste des mes enfants, Ipcop sur le firewall, … C’est déjà adapté au besoin, il suffit de faire confiance aux choix des développeurs. Et sinon, je fais mes propres choix (et modifications).
Sur Linux, tout est personnalisable et modifiable.Tellement qu’on peut aussi lui donner l’aspect strictement identique à XP, W7 ou MacOs !

L’important est de choisir l’outil adapté au besoin. Vous n’iriez pas utiliser un couteau à la place d’un tournevis, n’est ce pas ? De même, on n’utilise pas une distribution bureautique pour commander une machine numérique, même si c’est faisable.

Sachez aussi que la ligne de commande n’est plus obligatoire avec les distributions modernes de Linux, mais c’est un outil extrêmement puissant même s’il n’est pas toujours simple à maîtriser. Prenons l’exemple d’un ciseau à bois et d’une défonceuse. Il peut paraître plus simple d’utiliser la défonceuse (force, rapidité) et que le ciseau paraisse plus simpliste. Mais si le ciseau est bien affûté (angle, finesse) et bien utilisé (angle, force appliquée, sensations) on obtient le même résultat, voire mieux qu’avec la défonceuse. La ligne de commande est un outil (parmi d’autres) qui offre un large éventail de possibilités quasiment sans limite, une rapidité et une précision terrible. Mais il n’est pas obligatoire de savoir l’utiliser, d’autres outils sont présents pour l’utilisateur.

Vous trouverez plein d’informations sur le site des cousins de QuebecOS concernant toutes les distributions existantes : quebecos.com

3-LinuxCNC

LinuxCNC est un logiciel de commande de machine numérique. Pour fonctionner, il a besoin d’une chose particulière : un noyau en temps réel.
Il en existe plusieurs, mais ils intègrent toujours les lettres RT (pour Real Time) dans leur nom.

Sur un ordinateur, même si vous avez l’impression que plusieurs chose fonctionnement en même temps (le navigateur sur youtube, le son qui sort des enceintes, l’affichage, les frappes clavier, la commande de la CNC, …) sachez qu’en fait un ordonnanceur se charge d’effectuer les tâches les unes après les autres quitte à en mettre parfois en pause un temps, certes court, mais pouvant poser problème aux machines numériques. Si l’ordinateur est occupé à traiter l’arrivée d’un nouveau mail et ne voit pas le signal de fin de course de votre machine, que pensez vous qu’il va arriver ? Pensez vous que le système d’un 747 puisse mettre en attente une commande du pilote pour actualiser le plan de vol ? Ou que les freins de votre voiture soient en pause le temps de mettre à jour les stations de radio ? Même une micro seconde ?

C’est à ça que sert le noyau en temps réel, ne pas mettre d’opération en pause et les traiter quand elle arrivent. C’est pour ça aussi que la machine qui sert à la commande ne devrait pas faire autre chose pendant le fonctionnement, voire même servir à autre chose.
Windows n’intègre pas de noyau en temps réel, il faut donc un paramétrage très fin pour éviter les problèmes (désactiver les tâches planifiées, les mises à jour, les programmes en arrière plan, les services inutiles, …). Et même avec ça, le système lui même peut décider d’autres priorités que la commande de la CNC.

Si vous installez LinuxCNC sur un Linux qui ne tourne pas sur un noyau en temps réel, le logiciel ne fonctionnera qu’en mode démo, pour éviter qu’on vienne dire que ça ne fonctionne pas et qu’un accident ne se produise. C’est la raison pour laquelle il faut faire attention lors des mises à jour afin que le noyau ne soit pas remplacé par un autre plus récent mais pas en temps réel. Mais même si ça se produit, ce n’est pas insoluble, il suffit d’être guidé une fois pour résoudre le problème seul si ça vous arrive à nouveau.

LinuxCNC est le logiciel de commande, mais ce n’est pas lui que vous voyez, c’est AXIS qui lui sert d’interface. Il en existe d’autres, mais Axis est simple et paramétrable (bon, j’admets, personnaliser l’interface d’Axis n’est pas aussi simple que ça, mais de base elle est suffisante pour tout).
LinuxCNC est accompagné d’un assistant qui vous permet de paramétrer le logiciel en fonction de votre machine (vitesse d’avance maximale, accélération, limites, …) et une fois ceci réalisé, c’est fonctionnel. Il faudra certainement affiner certaines choses, mais ça fonctionne quasiment tout de suite !

Auparavant, LinuxCNC était basé sur Ubuntu puisque c’était la distribution montante que les gens connaissaient. Mais Ubuntu s’est mis à choisir d’installer de plus en plus de choses de base pour répondre aux besoins des utilisateurs et être universelle. Par conséquent, elle s’est éloignée des besoins en commande numérique. Ce n’est pas une critique, elle est destinée aux Linuxiens débutants ou ne voulant pas mettre les mains dans le système, donc moins destinée à une spécialisation telle que la commande CNC.

La dernière version de LinuxCNC est revenue à la base de Ubuntu, à savoir Debian dont la stabilité n’est plus à démonter. Une nouvelle version de Debian sort quand elle est prête, pas à une date définie. Il se passe parfois du temps, certains logiciels ne sont pas les plus récents, mais c’est éprouvé et donc stable. Et c’est ce qu’on recherche sur une commande numérique, pas d’avoir la dernière version de flash.
Comme l’ordinateur qui va commander la CNC doit être dédié à cet usage, il est encore plus simple d’installer LinuxCNC en même temps que le système. L’image basée sur Debian wheezy installe le système (Debian) sur un noyau temps réel, LinuxCNC et Axis, soit un système de commande complet.

4-Installation de Linux

Si vous désirez installer Linux sur votre poste de travail, je vous renvoie aussi sur le site de Ubuntu et son forum où vous trouverez toute la documentation et l’assistance nécessaire, J’y suis aussi sous un autre pseudo, mais moins souvent, le temps manque pour tout faire…

5-Essayer LinuxCNC

Téléchargez l’image iso d’installation à cette adresse :http://www.linuxcnc.org/binary.hybrid.iso

Gravez l’image sur un disque ou avec une clef usb bootable (demandez à google) et démarrez votre ordinateur sur ce support.

Une fois l’ordinateur démarré, vous obtenez l’image suivante qui vous demande quel système démarrer. C’est le premier qui nous intéresse pour tester si votre ordinateur pourra faire tourner le système,

demarrage
Appuyez sur Entrée, le système se lance, plein de choses blanches s’écrivent sur l’écran noir, n’en tenez pas compte en temps normal. Sachez que si le système ne peut pas démarrer, toutes ces choses écrites permettent de savoir ce qui se passe, et donc de dépanner pour arriver à l’interface. Je trouve ça beaucoup plus pratique que Windows qui cache tout ce qui se passe.

Le système se lance dans la mémoire de l’ordinateur et tout ce que vous ferez (sauf écritures sur les disques) disparaîtra lorsque vous éteindrez l’ordinateur.
Vous arrivez sur le bureau du système LiveCD. Cela vous permet aussi de tester le système (pas pour la commande de la CNC, hein, ça reste risqué même si c’est faisable tant que l’on ne profite pas de toute la mémoire en ayant installé le système).

bureau

Ne vous inquiétez pas, lorsque le système sera installé, tout sera en français de chez nous.

Testez ce que vous désirez, mais si vous arrivez sur le bureau, vous pouvez donc installer LinuxCNC.

6-Installation de LinuxCNC

ATTENTION : si c’est votre première installation, je vous conseille de le faire sur un ordinateur dédié n’ayant aucune donnée importante sur le disque, on va tout remplacer, y compris si un windows est installé sur l’ordinateur !
Il est parfaitement possible d’installer Linux en dual boot sur l’ordinateur, mais je vais rester dans le cas général, sur une machine dédiée.

Vous pouvez vous faire la main en l’installant dans une machine virtuelle, mais vous ne pourrez pas commander de CNC depuis celle ci.

Redémarrez l’ordinateur en cliquant sur la porte de sortie en haut à gauche et cliquez sur restart. Refaites ensuite un démarrage comme précédemment, puis sélectionnez Install(Graphical) avec les flèches et validez par entrée.

Un assistant d’installation va se lancer. Utilisez la souris et cliquez sur continuer à chaque fois.
– Choisissez la langue qui vous intéresse, la région et le clavier que vous utilisez.
– Donnez le nom que vous voulez à la machine (il vous propose debian par défaut)
– Indiquez le domaine ou laissez vide
– Donnez un login qui sera l’utilisateur de la machine (obligatoire), puis l’identifiant.
– Indiquez son mot de passe (obligatoire). Il servira pour l’administration par la suite.
– Indiquez le type de partitionnement. A moins de savoir ce que vous faites, choisissez la première option (assisté – utiliser un disque entier). Attention, tout ce qui est sur le disque sera perdu !
– Validez l’application des changements sur le disque.
– Laissez le système s’installer (environ 10 minutes). Redémarrez, et c’est tout !

Redémarrez, ne touchez à rien, et vous arriverez sur l’écran de connexion suivant :

connexion

Indiquez l’identifiant et le mot de passe choisi pour l’installation en validant à chaque fois.

Lorsque le système vous demande le paramétrage du premier tableau de bord, choisissez d’utiliser les paramètres par défaut.

7-Mises à jour

Dès la connexion, le système vous informe qu’il y a des mises à jour par une petite bulle en haut à droite, et par une icône de point d’exclamation dans un triangle rouge au même endroit.
Il faut bien sûr les faire, et nous allons voir comment.

Cliquez sur l’icone triangulaire. Il vous demande votre mot de passe, puisque nous allons modifier des choses sur le système lui même. Ça évite que n’importe qui fasse n’importe quoi, même si Rémi Gauillard vient rarement dans mon atelier.

Debian vous indique les mises à jour disponibles que vous allez pouvoir installer. Utilisez l’ascenseur pour les parcourir et vérifier qu’il ne va pas remplacer le noyau, cherchez donc linux-image ou linux-kernel. Normalement, cette version basée sur Debian ne vous proposera pas de changer le noyau par une version non RT, au contraire de la version sur Ubuntu.
S’il vous propose un noyau qui ne contient pas RT dans son nom, décochez la case correspondante. Ensuite, cliquez sur Install Updates pour installer les mises à jour. Le temps dépend du nombre de mises à jour, mais cela prend en général une quinzaine de minutes, c’est très rapide comparé à d’autres systèmes.
Quand des mises à jour seront disponibles, vous serez prévenu de la même manière.

L’interface graphique que vous voyez est basée sur Xfce qui a l’avantage d’être très légère en occupation mémoire tout en restant intuitive. D’autres interfaces sont plus légères encore, mais il faut prendre le temps de les découvrir pour les apprécier. La légèreté de l’interface laisse plus de mémoire disponible pour le système et la commande de la CNC, ce qui est le but recherché. Si vous voulez encore plus léger, renseignez vous sur OpenBox.

Vous avez désormais un ordinateur tournant sous Debian Linux qui vous donnera un aperçu de ce qu’on peut faire sous linux. Gardez en tête que cette version est destinée à faire fonctionner une CNC et que si vous n’arrivez pas à faire quelque chose (genre installer un jeu), c’est que vous n’êtes pas sur un système destiné à être un poste de travail. Tournez vous vers l’installation d’une Debian ou Ubuntu classique avant de décider que Linux ne fonctionne pas ou que c’est compliqué.

8-Paramétrage de LinuxCNC

Le paramétrage dépendra de la machine que vous avez à commander, c’est à vous de connaître les paramètres à appliquer. Je vais vous montrer celui correspondant à MA machine.

Allez dans le menu des applications en haut à gauche, placez vous sur le menu CNC et lancez le programme Latency Test permettant de connaître la latence de votre ordinateur. Celle ci dépendant de beaucoup de paramtètres, elle est propre à chaque ordinateur.
Cette valeur permettra à LinuxCNC de savoir à quel moment envoyer les commandes avant le moment voulu pour qu’elle arrive exactement quand il faut.
Commencez par faire un reset des statistiques puis utilisez abusivement l’ordinateur, déplacez des fenêtres à travers l’écran, surfez sur le web, faites tourner plein de programmes pour occuper votre PC. Notez ensuite la valeur la plus élevée de Max Jitter qui nous servira pour la configuration de LinuxCNC.

Si vous souhaitez commander un tour numérique, vous devrez ensuite utiliser LinuxCNC Pncconf Wizard, mais je m’arrêterai là pour l’aide à vous apporter n’ayant pas de tour.

Si vous avez une fraiseuse numérique, vous utiliserez LinuxCNC Stepconf Wizard. Il est en anglais, mais c’est assez simple à configurer.
Cliquez sur start à la première fenêtre pour commencer la configuration.
stepconf1

A partir d’ici, vous pouvez créer une nouvelle configuration (Create new configuration) ou modifier une configuration déjà existante (Modify a configuration).
Laissez les cases du bas cochées, cela vous créera une icône directement sur le bureau, ce qui sera plus pratique pour lancer Axis avec votre configuration. Cliquez sur Forward (suivant).

stepconf2

– Donnez un nom à votre machine (par exemple fraiseuse1)
– Sélectionnez le nombre d’axes que vous avez sur cette machine. Dans mon cas XYZ.
– Indiquez votre unité de mesure (inch ou mm)
– Indiquez vos drivers de moteur pas à pas. S’ils ne sont pas présents, choisissez Autre et renseignez – les champs nécessaires, les infos étant disponibles avec vos drivers.
– Dans base period maximum jitter, indiquez la valeur relevée précédemment, ou relancez le test en cliquant sur le bouton Test base period jitter.

stepconf3

Paramétrez les sorties du port parallèle. Les choix de droite permettent de paramétrer les entrées depuis la CNC vers le port parallèle, souvent utilisées pour les fin de courses, les origines ou l’arrêt d’urgence (pin 10 dans mon cas)

stepconf4

Laissez tel quel pour l’instant, cochez la case du bas pour qu’il vous informe à l’écran quand un changement d’outils est nécessaire.

stepconf5

Ici nous allons régler chaque axe de la machine. Indiquez le nombre de pas par tour de votre moteur (200 pour moi), les micropas du driver (16 dans mon cas), le rapport des poulies (1:1 s’il s’agit d’une vis), l’avance par tour de moteur (1,5mm dans mon cas).
La vitesse et l’accélération maximum sont à définir en cliquant sur le bouton Test Axis

stepconf6

Vitesse et accélération pourront (dans une certaine variation) être changées pendant le test. Utilisez les flèches du jog pour déplacer votre axe a mi-course.
Modifiez la valeur de test Area pour faire la moitié de la course de votre axe puis cliquez sur Run. L’axe va faire des aller retour sur la longueur que vous avez indiqué. Vous pouvez modifier la vitesse et l’accélération jusqu’au maximum où vous perdez des pas. Diminuez ensuite et gardez une marge de sécurité puis cliquez sur Valider. Les valeurs retenues sont copiées dans les champs correspondants.

Affinez les réglages sur toute la course de la machine pour vous assurer que tout va bien.
Si l’augmentation ou la diminution des valeurs pendant le test n’est pas assez importante (il bloque et on ne peut plus aller au-delà), validez et recommencez le test, la butée précédente devient la valeur de départ à faire varier. C’est difficile à expliquer, mais vous comprendrez en le faisant.
Entrez les dimensions de votre axe, l’emplacement des fin de courses si vous en avez défini à l’étape précédente et passez à l’axe suivant.

Effectuez la même chose pour tous les axes.

stepconf7

Sur la dernière fenêtre, vous pouvez régler la commande de broche. Je ne l’utilise pas et je ne serai pas d’une grande aide sur ce point. Rabattez vous vers google.

Validez la dernière étape et vous avez sur le bureau une icône qui s’appelle lancer le_nom_de_machine_choisi. Double cliquez dessus pour lancer Axis.

linuxcnc_machine

9-Utilisation d’Axis

Il se peut que vous ayez des messages d’erreur au démarrage. Comme c’est le premier lancement, n’en tenez pas compte et fermez les.

Axis

– Au lancement, la machine est en arrêt d’urgence (icône rouge en haut à gauche). Cliquez sur l’icone pour débloquer l’AU ou appuyez sur F1.
– La machine est arrêtée (deuxième icône en haut à gauche). Cliquez dessus pour activer la communication ou appuyez sur F2.
– Allez chercher votre fichier Gcode en faisant fichier/ouvrir ou directement la lettre O (comme Ouvrir). Un premier fichier gcode d’exemple est chargé au démarrage pour que vous puissiez faire des essais.

Placez votre nez de broche à l’endroit voulu en utilisant les flèches du clavier (gauche droite pour X, haut bas pour Y, page up/ page down pour Z). Une fois à la position désirée, cliquez sur le bouton POM des axes, en cochant l’axe à chaque fois. Pour vous déplacer en vitesse rapide, appuyez sur SHIFT(majuscule) avant d’utiliser les flèches de direction.

Vous pouvez vous déplacer dans la vue en cliquant dessus avec les boutons gauche, clic molette et droite de la souris, je vous laisse trouver comment ça fonctionne.

Naviguez dans les menus, si vous avez déjà utilisé une CNC, vous comprendrez à quoi ils servent. Si c’est votre première fois, faites des tests, mais soyez prudent.

Cliquez sur le bouton Play (la flèche bleue) pour lancer l’usinage.

Toute la doc de LinuxCNC en français se trouve ici :http://www.linuxcnc.org/docs/html/index_fr.html

Elle n’est pas forcément à jour mais elle est complète et répondra à toutes vos questions. Si ce n’est pas le cas, demandez de l’aide sur les forums ou utilisez google, c’est ainsi que j’ai démarré avec LinuxCNC et la CNC.

Votre machine est désormais une Debian wheezy faisant tourner le gestionnaire de fenêtres Xfce4. Utilisez ces mots clefs lors de votre recherche.

[Mémo] Désactiver la mise en veille sur un ordinateur portable

Portable ferméJ’ai eu besoin d’utiliser un ordinateur en tant que serveur (DHCP et fichiers) sur un réseau et, pour diverses raisons, j’ai préféré utiliser un ordinateur portable pour rendre ces services.

Cependant, la fermeture de l’écran mettait l’ordinateur en veille, et les services n’étaient plus rendus. Normal.

Pour désactiver ce fonctionnement qui est normalement désiré lors de l’utilisation en tant que poste de travail, il suffit d’aller modifier une variable dans un fichier.

Sur Ubuntu et Debian, éditez le fichier /etc/systemd/logind.conf , dé-commentez et modifiez la valeur de la ligne HandleLidSwitch.

Il suffit ensuite de mettre la valeur voulue pour le comportement désiré, dans le cas présent, ignore pour ignorer la fermeture de l’écran.

HandleLidSwitch=ignore

source: http://ubuntuhandbook.org/index.php/2013/12/change-behavior-when-lid-is-closed/

[Memo] Thunar a les menus en anglais

Thunar-about-logoFaisant des tests avec XFCE, je me suis retrouvé avec Thunar (et d’autres applications) avec des menus en anglais, alors qu’à l’installation de Xubuntu tout était bien en français.

Comme la gestion de la langue est automatique et que chez tout le monde ça fonctionne, j’ai eu du mal à trouver la solution.

Je vous donne la mienne ici, si ça peut servir:

Le logiciel localepurge supprime trop de choses et vous vous retrouvez avec des menus en « franglais ». Il suffit de désinstaller ce logiciel et de réinstaller les logiciels de la liste suivante (avec un sudo apt-get install –reinstall paquet) pour que tout rentre dans l’ordre.

  • gtk2-engines-xfce (moteur de thème Xfce)
  • libxfce4menu-0.1-0 (gestion du menu)
  • libxfcegui4-4
  • xfce4-appfinder
  • xfce4-mixer
  • xfce4-panel (panneau Xfce)
  • xfce4-places-plugin
  • xfce4-screenshooter
  • xfce4-session (c’est celui là pour le dialogue de déconnexion)
  • xfce4-settings (gestionnaire de configuration)
  • xfce4-terminal (le terminal Xfce)
  • xfdesktop4 (gestionnaire du bureau)
  • xfwm4 (gestionnaire de fenêtres)
  • thunar (gestionnaire de fichiers)
  • mousepad (éditeur de texte)
  • xfconf (démon de configuration)
  • thunar-data (contient les fichiers de traduction de thunar)
  • orage (calendrier Xfce)
  • xfce4-clipman-plugin (Gestion du presse-papier)
  • exo-utils
  • xfdesktop4-data (contient les fichiers de traduction de xfdesktop)
  • thunar-media-tags-plugin
  • thunar-archive-plugin
  • thunar-volman
  • thunar-thumbnailers

source: http://forum.ubuntu-fr.org/viewtopic.php?id=349559

[Memo] Supprimer une règle Iptables

Lister les règles avec un numéro de ligne :
iptables -L INPUT -n --line-numbers

Supprimer une ligne particulière (avec le numéro de la colonne de gauche) :
iptables -D INPUT numeroDeLaLigneASupprimer

 

Source: http://nicolasolivero.wordpress.com/2010/01/24/supprimer-une-regle-iptables/

Désactiver l’environnement graphique sur Ubuntu Desktop

Une petite astuce rapide pour me rappeler comment désactiver le lancement de lightdm sur une machine qui n’a pas besoin d’environnement graphique permanent, sans avoir à désinstaller quoi que ce soit.

Dans /etc/default/grub, modifier la ligne

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"

en

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash text"
puis lancer la commande sudo update-grub dans un terminal.

L’ordinateur démarrera désormais en mode texte, sans lancer lightdm. En effet, dans /etc/lightdm.conf, on trouve ceci:


# Check kernel command-line for inhibitors, unless we are being called
# manually
for ARG in $(cat /proc/cmdline); do
if [ "$ARG" = "text" ]; then
plymouth quit || :
stop
exit 0
fi
done

qui indique de quitter plymouth si le mot text est dans les arguments.

  • Il suffit d’effectuer l’opération inverse (supprimer le mot « text » du fichier de configuration de grub) pour réactiver le lancement graphique.
  • Une fois l’ordinateur démarré, il suffit de se logguer en console et de lancer la commande startx pour activer l’interface graphique.
  • Notez qu’il est possible de modifier les arguments de grub lors du menu de sélection en appuyant sur la touche « e » et de supprimer le mot « text » de la ligne adéquate pour lancer ponctuellement l’ordinateur avec l’environnement graphique automatique.

source: http://askubuntu.com/questions/16371/how-do-i-disable-x-at-boot-time-so-that-the-system-boots-in-text-mode

Une extension Chrome pour les daltoniens

Selon l’American Academy of Ophthamology, environ 7 % de la population mondiale, soit des centaines de millions de personnes, ne distinguent pas le rouge et le vert car elles sont daltoniennes.

Ce léger handicap peut être contourné en appliquant un algorithme spécifique pour remplacer dynamiquement le vert et le rouge par d’autres couleurs plus adaptées. Il existe même un outil, Color Oracle, qui permet de simuler la vision d’un daltonien pour adapter au mieux le design d’un site web. Mais trop peu d’éditeur s’attache à ce « détail ».20140213160110-Screen_Shot_2014-02-14_at_5.30.31_AM-small.fullPragmatique, Animesh propose donc d’adresser le problème directement dans le navigateur, sans tenir compte de la capacité des entreprises à améliorer le niveau d’accessibilité de leur site. Il développe donc actuellement une extension pour Chrome, le navigateur de Google. Cette dernière permettra à l’internaute de choisir et régler les paramètres en fonction de sa vision.

Lire la suite sur http://www.greenit.fr: http://www.greenit.fr/article/logiciels/une-extension-chrome-pour-les-daltoniens-5171

Windows XP: clap de fin

Windows XP est amené à disparaître le 8 avril prochain. C’est en tout cas ce qu’on lit un peu partout. Cela amène un questionnement dont je vous apporte des réponses ci dessous, ce qui me libérera du temps actif.xp-rip

Que va t-il se passer le 8 avril 2014?

A cette date, Microsoft publiera la dernière mise à jour du système d’exploitation. Il n’y en aura définitivement pas d’autre. Cela signifie qu’une faille de sécurité découverte après cette date ne sera pas corrigée et restera ouverte sur les ordinateurs faisant tourner Windows XP.

Pourrais-je continuer d’utiliser mon ordinateur après cette date?

Le 9 avril et les jours suivants, votre ordinateur sera encore exploitable. Cependant, plus le temps va passer, plus vous prendrez de risques en allant sur Internet et vos logiciels seront dépassés.

Si votre système est isolé d’internet et que les logiciels qu’il fait tourner vous conviennent tels qu’ils sont, vous pourrez le garder aussi longtemps que vous voudrez.

Attention, si vous avez un plantage du système d’exploitation ou une panne matérielle, vous prenez alors le risque de ne plus pouvoir accéder à vos données. De même, si vous changez un élément du PC, vous ne disposerez pas des drivers nécessaires pour l’installer.

Pourquoi?

Les fabricants de matériels ou les éditeurs de logiciels doivent gérer Windows Vista, Windows 7, Windows 8, Mac Os et parfois Linux. Windows XP n’étant plus soutenu, ils ne passeront pas du temps pour un système qui disparaîtra à plus ou moins court terme.

Ainsi, la réinstallation de logiciels sera souvent impossible, même si vous possédez l’installateur.

Quelle est la solution ?

Pas de secret, il faut abandonner XP pour passer à un autre système d’exploitation. Plusieurs solutions existent:

Acheter Windows 8: coût de la licence environs 120 euros (OEM famille). Compter ensuite le coût d’installation si vous ne le faites pas vous même.

Il faut vérifier que votre ordinateur est assez puissant pour fonctionner avec Windows 8. Beaucoup de PC encore fonctionnels aujourd’hui sont des postes légers au niveau processeur/mémoire et ne peuvent faire tourner correctement Windows 8. Vous devrez alors savoir s’il est plus intéressant de rajouter de la mémoire ou gonfler votre PC, ou s’il vaut mieux remplacer l’ordinateur par un neuf qui serait déjà équipé de Windows 8.

Mais avant d’en arriver là, même s’il faut commencer à y réfléchir, il y a d’autres étapes importantes à réaliser.

Lesquelles?

Première chose, sauvegarder vos données. C’est quelque chose que vous devriez faire régulièrement, mais dans ce cas, c’est primordial. Le passage de XP à W8 est un grand saut technologique et le risque est plus grand de perdre des données.

Ensuite, vous assurer que les logiciels que vous utilisez fonctionneront sur W8. Rapprochez vous de vos fournisseurs de logiciels que vous utilisez dans votre métier. Renseignez vous aussi en ce qui concerne les licences; certains éditeurs considèrent que la version de leur logiciel pour W8 n’est pas la même de celle de XP, et qu’il vous faudra repasser à la caisse.

C’est peut être le moment pour vérifier qu’il n’existe pas d’autres logiciels métiers qui seraient plus adaptés à votre travail. La concurrence peut jouer pour négocier le prix des licences.

Enfin, il faut peut être aussi profiter de l’occasion pour vous assurer si vous avez vraiment besoin de rester sur Windows. Linux est une solution plus économique et peut être une solution.

Linux?

Linux est, comme Windows, un système d’exploitation d’ordinateur avec plein d’avantages. Entre autres: pas de virus, pas de fragmentation, sécurisé, stable et mis à jour en permanence. L’interface peut se rapprocher de Windows XP, facilitant la migration sans bouleverser vos habitudes. Mais il faut s’assurer de vos besoins avant de d’envisager la migration, certains matériels et logiciels refusant d’être compatible avec Linus. Mais des solutions existent, consultez votre prestataire informatique.

Et Windows 7 ?

Windows 7 se rapproche beaucoup de XP en terme d’ergonomie. Cependant, W8 est plus récent, les licences W7 et W8 sont au même prix et W8 est beaucoup plus sécurisé. De plus, on évoque déjà la sortie du prochain Windows pour le mois d’avril 2015 et il ne serait pas impossible que Vista et W7 disparaissent en 2016, provoquant à nouveau le même problème qu’aujourd’hui.

XP m’allait très bien, pourquoi me font ils ça? Encore payer!

Il y a plusieurs raisons à l’abandon de XP forcé. Comme évoqué précédemment, Microsoft doit gérer beaucoup de versions et les développeur de XP seront disponible pour W8, permettant d’améliorer celui ci, ou de préparer le prochain.

Ensuite, XP est sorti en 2001, il a dont 13 ans, ce qui en matière d’informatique représente une éternité.Beaucoup d’utilisateurs refusant de se séparer de XP à cause des changement de fonctionnement de l’interface de W8, c’est aussi une façon de forcer la migration.

Enfin, Microsoft est une société commerciale qui doit faire des bénéfices, et en utilisant son système d’exploitation, vous avez accepté les termes de son contrat de licence utilisateur (le CLUF) et donc de jouer son jeu. En 13 ans, vous n’avez pas participé à ses bénéfices, il est temps de changer de système.

Je pourrai continuer à utiliser mon Office 2003 sur W8?

Non, le support d’Office 2003 s’arrête à cette même date… Il faudra racheter un pack Microsoft Office.

fin-xp

Pourquoi maintenant? C’est trop juste d’ici le 8 avril.

Microsoft a annoncé la fin de XP il y a plus d’un an, mais les informations n’ont pas atteint l’utilisateur final. Les entreprises ont réussi à faire repousser la date butoir annoncée une fois. Il y a seulement quelques jours (1 mois avant la fin) que les postes sous Windows XP affichent le message d’avertissement et, effectivement, on peut penser que Microsoft aurait pu les afficher bien avant pour prévenir tout le monde. Erreur de communication ou volonté de forcer les utilisateurs? Je ne peux le dire.

Microsoft propose aussi un support étendu au delà de cette date, mais à un prix important, destiné plus à des grands groupes qu’à des PME ou des particuliers. Il est plus intéressant de remplacer son matériel et le système d’exploitation que de payer un support supplémentaires qui est, lui aussi, limité dans le temps.

J’ai un antivirus et un firewall, mon Xp est protégé ?

Non. Cela limite les attaques par les failles connues, mais ces logiciels s’appuient sur le système pour fonctionner. Si le système n’est pas fiable, tout ce qui est au dessus ne l’est pas non plus. Imaginez une maison laissée à l’abandon, vous pouvez mettre toutes les grilles que vous voulez pour la protéger, si les murs s’effondrent, les grilles ne feront pas leur travail.

Certains éditeurs d’antivirus ont annoncé leur volonté de maintenir la protection pour windows XP, mais leur pouvoir de protection est limité puisqu’ils ne pourront pas agir sur le système lui même.

Que faire?

Vous rapprocher de vos prestataires informatiques, ou d’en contacter plusieurs afin de faire des devis et discuter des solutions disponibles. Gardez votre clame et ne cédez pas à la pression pour signer le premier bon de commande voulu, certains petits malins proposant des offres hors de prix en misant sur votre affolement.

Linux peut être une solution viable et très économique sur le long terme, mais une étude par un professionnel est obligatoire pour trouver des solutions de contournement aux problèmes bloquants.

Si vous décidez de passer à W8 et que vous n’avez connu que XP, je vous conseille de trouver un ordinateur avec ce système et de vous faire la main dessus avant de le déployer à tous vos utilisateurs, car des formations sont peut être à envisager pour éviter un blocage de l’activité.

Vous, vous pouvez m’aider?

Je suis basé dans les Pyrénées Orientales (66). Si c’est votre cas (ou un département limitrophe), je le peux, contactez moi. Si ce n’est pas votre cas, il vous sera plus intéressant de contacter un prestataire proche de chez vous, je suis certain qu’il y en a.

Plus d’informations:

TOX, une alternative libre à Skype?

TOX est un logiciel prometteur de messagerie, téléphonie IP et vidéoconférence multi-plateforme libre et ouvert qui offre à ses utilisateurs les mêmes fonctionnalités que Skype sans que leur vie privée ne soit révélée.

En plus d’être un client libre et gratuit, TOX propose des fonctions intéressantes telles que:

  • Fonctions de messagerie instantanée facile et sûre
  • Il existe un client en console (et même deux!)
  • Appels vidéos totalement cryptés
  • Une interface utilisateur facile d’utilisation
  • Pas de messages publicitaires ou de paiement à effectuer pour débloquer des fonctionnalités
  • Le code de l’application est disponible par l’intermédiaire d’un dépôt Git

tox

Vu que j’ai eu des demandes répétées pour remplacer Skype depuis la révélation de PRISM, je vais m’y pencher sérieusement. Attention: ce n’est pas compatible avec Skype! Il faut un client TOX à chaque extrémité de la communication. Ce n’est pas un problème pour mes clients qui sont plus attachés à la confidentialité de leurs communications qu’à l’utilisation d’un logiciel particulier.

Pour plus d’infos, vous pouvez consulter le site web (fr), le wiki (en) ou le dépôt Git.

Utilisation de Venom sur Ubuntu

J’ai installé le client officiel Venom depuis la page de téléchargements sur Ubuntu 12.04 64bits sans problème (dépendances nécessaires: libgtk-3-0 (>= 3.4.1), libjson-glib-1.0-0 (>= 0.14.2), libsqlite3-0 (>= 3.7.9)) sans difficulté.

Après lancement de Venom, je me suis demandé comment trouver l’identifiant unique généré à l’installation… C’est en effet cet identifiant que vous devrez transmettre à votre correspondant pour lui permettre de vous contacter.

En fait c’est simple, il suffit de cliquer sur la petite flèche blanche à droite du nom d’utilisateur et choisir Edit user pour modifier votre pseudo et obtenir l’ID que vous copierez facilement dans le presse papier grâce que bouton dédié. Mauvais point, le logiciel est en anglais…

Il ne vous reste plus, ensuite, qu’à transmettre cet ID à votre correspondant par mail ou autre moyen pour qu’il puisse vous ajouter à sa liste.

Même en l’absence de serveur centralisé gérant les pseudos, personne ne peut prendre votre identité auprès de vos correspondants puisque c’est l’ID qui est utilisé, et nom le pseudo. Mais comme les humains interprètent mieux les lettres que les chiffres, c’est le pseudo qui sera affiché dans la liste des utilisateurs.

tox_param

Utilisation de Venom sur Windows 7

Le client est fourni sous forme d’un zip, autant pour Venom que pour l’autre client QT Gui. Un installateur aurait été plus simple pour les néophytes, mais tout est inclu dans le zip, donc pas besoin d’installation.

Il suffit d’extraire les fichiers de l’archive pour lancer venom.exe.

Une fois lancé, message du pare-feu de Windows sur lequel il suffit de cliquer sur Autoriser l’accès.

Le client est identique à celui de linux, donc les réglages sont au même endroit. Mauvais point, il est en anglais.

J’ai envoyé une demande de contact depuis windows vers linux, et linux m’a affiché le message suivant au bout de 15 secondes

venom_add_contact

Il suffit ensuite de cliquer sur le correspondant dans la liste pour ouvrir une fenêtre de chat classique.

Attention, il y a un délai d’environs 45 secondes avant lequel vous pouvez envoyer les messages. Passé ce délai, c’est vraiment instantané tant que l’échange continue, mais dès que vous arrêtez de communiquer quelques secondes, le délai reprend. Je pense qu’il s’agit du délai de création du canal de communication.

Juste après l’acceptation d’un utilisateur, vous voyez son ID dans la liste des contacts, mais après quelques secondes, c’est son pseudo qui apparaît.

Echange de fichiers

  • J’ai fait plusieurs tests, parce que j’avais des résultats étranges:
  • de linux à linux, pas de soucis, ça fonctionne
  • de linux à windows, comme disait Garcimore, « des fois ça marche, des fois ça marche pas« . De Windows à linux, pas de soucis.
  • Je n’ai pas pu tester de windows à windows, je n’en ai qu’un en machine virtuelle ((et j’ai un peu la flemme d’installer windows dans une autre machine, vu le peu que je m’en sert))

De plus, on voit clairement que Venom est plutot un client linux, l’arborescence affichée dans la fenêtre d’enregistrement des fichiers est celle de gnome. Il faut vraiment tout dérouler pour accéder au bureau windows.

Conclusion et remarques en vrac

  • Pour le chat, pas de problème, ça fonctionne assez bien de linux à linux. De windows à linux, j’ai eu des soucis de pertes de messages après inactivité.
  • Pour l’échange de fichiers, linux à linux, pas de problème. De windows à linux non plus. Par contre, de linux à windows, c’est pas top.
  • Pour la visio, ce n’est pas encore implémenté dans les clients, seulement dans le coeur
  • Les clients sont en anglais, et il n’existe pas de fichier d’internationalisation.
  • Le client windows Qt-Gui consiste en un seul fichier exécutable, plus simple à utiliser, mais c’est dommage de l’avoir fourni dans un zip, d’autant qu’il ne fait que 14Mo. Mais bon, il ne fonctionne pas (messages perdus) et n’est qu’une version développeurs non aboutie.
  • Les problèmes que j’ai eu sous windows proviennent peut être du fait que mon W7 tourne sous virtualbox, et que vu qu’il me sert à faire toutes sortes de tests bizarres et risqués, il est peut être en vrac, mais comme peuvent l’être tous les windows que je dois remettre d’aplomb régulièrement.
  • Lors d’un échange de fichiers, les boutons pour enregistrer/annuler sont en blanc sur fond gris clais. Pas top, mais sur venom, tout peut se régler dans le css (/usr/share/venom/theme/default.css), à voir pour les autres.

tox_fichier

Bref, c’est un logiciel prometteur dont le développement est actif. Cependant, actuellement, seul le chat fonctionne et il est encore loin de pouvoir remplacer skype. A suivre et restester dans quelques mois.

Python: obtenir le nom et des infos sur la fonction appelante

Pour débugguer, il est parfois utile de savoir qui fait appel à quoi, et avec quels arguments. C’est le rôle du module inspect.

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import inspect

def foo(val):
val = val + 1
print "%s: Fonction '%s' appelée par '%s' à la ligne %s" % (inspect.stack()[0][1], inspect.stack()[1][4][0].strip(), inspect.stack()[2][4][0].strip(), inspect.stack()[1][2] )
#print inspect.stack()

def essai(val):
foo(val)

def main():
essai(7)

if __name__ == '__main__':
main()


et le résultat

test_inspect.py: Fonction 'foo(val)' appelée par 'essai(7)' à la ligne 12

Je le met ici pour le jour où j’en aurai encore besoin

MYSQL: start: Job failed to start

Ou

error: ‘Can’t connect to local MySQL server through socket ‘/var/run/mysqld/mysqld.sock »

La première chose à faire est de consulter le fichier de log d’erreurs .

Attention: sur mon installation, je me suis fait avoir parce que j’avais un fichier /var/log/mysql.err vide. Or, le fichier est /var/log/mysql/error.log !


root@pouf:/var/log/mysql# tail error.log
130911 14:18:52 InnoDB: Compressed tables use zlib 1.2.3.4
/usr/sbin/mysqld: Can't create/write to file '/tmp/ibUjgCIe' (Errcode: 13)
130911 14:18:52 InnoDB: Error: unable to create temporary file; errno: 13
130911 14:18:52 [ERROR] Plugin 'InnoDB' init function returned error.
130911 14:18:52 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
130911 14:18:52 [ERROR] Unknown/unsupported storage engine: InnoDB
130911 14:18:52 [ERROR] Aborting
130911 14:18:52 [Note] /usr/sbin/mysqld: Shutdown complete

Le message d’erreur (sur la deuxième ligne lue) indique qu’il ne peut pas créer de fichier temporaire dans /tmp. Un coup d’oeuil sur les permission de tmp nous le confirme.

root@pouf:/# ls -l /|grep tmp
4849665 drwxrwxr-x 16 manu manu 20K sept. 11 14:20 tmp

Les propriétaire/groupe ne sont pas bons, et les permissions non plus! Il s’agit sans doute d’un script ou d’un paquet mal construit qui a modifié tout ça (en particulier les dpkg -x qui changent les permissions du répertoire courant!)
sudo chown root:root /tmp
sudo chmod 777 /tmp
sudo chmod +t /tmp

Problème corrigé, mysql redémarre alors correctement. C’est tout bête, mais j’ai perdu une heure à comprendre pourquoi mon système, et en particulier mysql ne fonctionnait plus correctement.
Si ça peut aider…

rsync par Cron: permission denied

J’ai été confronté à un étrange problème sur certaines machines en Ubuntu 12.04 (precise) pour lequel je vous livre ma solution de contournement. Ce n’est pas transcendant, mais ça fonctionne en attendant d’en savoir plus ou de trouver une autre solution.An_rsync_Primer

S.O.S.s.h.

J’ai des dossiers que je synchronise avec ou depuis un serveur distant en utilisant rsync, principalement pour faire des sauvegardes. Ces commandes rsync sont intégrées dans des scripts que j’utilise depuis plusieurs années sans problème. Pour pouvoir éviter les problèmes de droits, ces scripts sont lancés par le cron du root.
La commande qui nous intéresse est de cette forme:
rsync -avP dossier/local manu@serveur:/dossier/distant/ > /tmp/monlog.log 2>&1

Et le root peut se connecter au serveur sans mot de passe par échange de clef ssh.

Or, depuis quelques temps, impossible de faire la sauvegarde. Les logs contiennent quelque chose comme ceci:

Permission denied, please try again.
Permission denied, please try again.
Permission denied (publickey,password).
rsync: connection unexpectedly closed (0 bytes received so far) [sender]

Alors que lorsque le programme est lancé en root depuis un terminal, il fonctionne sans erreur! (Donc pas de problème de droits d’accès aux dossiers/fichiers)

Environnement variable ou Variables d’environnement

Le cron n’ouvre pas un véritable shell lorsqu’il lance une action programmée, et les variables d’environnement utilisées dans une console ne sont pas toutes présentes. C’est peut être l’une des raisons du problème.

Sur certains forums, on a parlé de SSH_AUTH_SOCK et de SSH_AGENT_PID, mais je n’ai pas réussi à les faire prendre en compte pour résoudre le problème…

Où est la clef?

Qu’importe, indiquons à ssh qu’on veut utiliser la clef qui nous permet de s’identifier sur le serveur

rsync -avP -e "ssh -l root -i /root/.ssh/id_rsa" dossier/local manu@serveur:/dossier/distant/ > /tmp/monlog.log 2>&1

Et? Pas mieux, toujours rejeté par le serveur…

Qui me parle ?

Comme les logs du serveur n’indiquaient pas d’informations utiles, il faut demander à rsync d’être plus bavard

rsync -avvvv -e "ssh -l root -i /root/.ssh/id_rsa" dossier/local manu@serveur:/dossier/distant/  > /tmp/monlog.log 2>&1

Du coup, ça donne quelques indications dans le log:

opening connection using: ssh -l root -i /root/.ssh/id_rsa -l manu serveur rsync --server -vvvvue.Lsf . /dossier/distant/
Permission denied, please try again.
Permission denied, please try again.
Permission denied (publickey,password).

Ahhhh! Pourquoi il me met un -l manu alors que je lui ai spécifié -l root ?
Eh bien je ne sais pas, mais c’est la source du problème: identifié en tant que manu, il ne peut donc plus accéder à la clef ssh du root.

Comme je suis vicieux et mauvais perdant, j’ai essayé d’accéder à la clef de manu:

rsync -avvvv -e "ssh -l root -i /home/manu/.ssh/id_rsa" dossier/local manu@serveur:/dossier/distant/  > /tmp/monlog.log 2>&1

Et ça marche! Parce que le root peut entrer partout et lire les clefs de tous les utilisateurs (et surtout parce que manu aussi peut s’identifier en ssh sur le serveur sans mot de passe)

Et les droits d’accès aux dossiers ? Pas de problème, c’est toujours root (par l’intermédiaire du cron) qui lit les fichiers, mais il n’utilise pas sa propre clef et se fait passer pour manu dans le rsync.

Carpe diem

Pour résumer:

  • Plein de personnes ont rencontré le même problème, mais aucune solution proposée n’a fonctionné pour moi
  • Tout se passe comme si rsync refusait d’utiliser la clef du root
  • On peut utiliser la clef de n’import quel utilisateur, tant qu’il peut accéder au serveur. Au besoin, créer un utilisateur dédié.
  • C’est pénible, il faut que je modifie mes scripts qui me permettaient d’unifier la méthodologie
  • Bug ou pas bug ? Je ne sais pas.
  • Résolu? Je ne suis pas sûr. J’aimerai comprendre pourquoi sur certaines installations ça fonctionne, et pas sur d’autres, d’autant que j’essaye d’avoir des configurations logicielles le plus identiques possibles pour en simplifier la gestion.

En tous cas, si vous avez des infos sur ce changement de comportement, ou sur le moyen de fonctionner à l’ancienne mode, n’hésitez pas à laisser une bafouille.

Nautilus: ouvrir avec le bon logiciel les extensions des programmes

Je sais, le titre n’est pas très clair, mais ça facilitera le travail aux moteurs de recherche…the-nautilus-ii-table-by-marc-fish-05

Il arrive que l’on ait installé des programmes générant des fichiers avec une extension propre à ces programmes, mais que l’accès direct (par double clic par exemple) ouvre le fichier avec un autre logiciel qui n’est pas celui escompté. Pourtant, le programme est bien installé et fonctionnel, mais l’association n’est pas effectuée correctement, et il n’est pas possible de la faire graphiquement.

Dans mon cas, j’ai installé sous Unity Qt4-designer qui fabrique des fichiers avec l’extension .ui mais qui est un programme prévu pour KDE. Or, quand je double clique sur le fichier .ui généré par le programme, c’est firefox qui s’ouvre pour me proposer de télécharger le fichier. Pourtant, dans le menu contextuel, ouvrir avec me propose bien Qt4-designer.

Qu’importe, me dis-je, il suffit d’aller dans les propriétés du fichier, onglet ouvrir avec, et de lui associer le bon logiciel. Sauf que le programme voulu (Qt4-designer) n’apparaît pas dans la liste!

Diable! Pourquoi?

Après quelques (heures de) recherches, c’est simple, encore faut-il le savoir. Le lanceur n’intègre pas la fonction d’ouverture de fichier, et par conséquent Nautilus ne l’affiche pas dans la liste des programmes disponibles.

Corrigeons cette erreur monumentale immédiatement.

Pour tous les utilisateurs du système

Éditez par le moyen de votre choix (avec sudo) le fichier /usr/share/applications/designer-qt4.desktop et modifiez la ligne indiquée ci dessous de

Exec=/usr/bin/designer-qt4

à

Exec=/usr/bin/designer-qt4 %f

Notez le « %f » qui indique que c’est le fichier transmis (celui sélectionné) qu’il faudra ouvrir. Il faudra peut être vous déloguer/reloguer pour que cela soit pris en compte, mais je ne suis même pas sûr que ce soit nécessaire. Retournez dans les propriétés du fichier .ui et vous devriez avoir le programme voulu dans la liste des choix disponibles.

Pour un utilisateur particulier

Admettons que je veuille que cette association ne soit valable que pour l’utilisateur manu. Il me suffit de copier le lanceur de qt4-designer dans le dossier ~/.local/share/applications et d’effectuer la modification indiquée ci dessus dans le fichier que je viens de copier.

cp /usr/share/applications/designer-qt4.desktop /home/manu/.local/share/applications/
gedit /home/manu/.local/share/applications/designer-qt4.desktop

Plus besoin du sudo dans le cas précis, puisque le fichier est dans mon dossier personnel. Ça fonctionne pour tous les logiciels et toutes les extensions, à condition qu’il existe un fichier .desktop dans le dossier des applications.

C’est une bricole, mais ça empoisonne la vie quand le comportement n’est pas celui attendu. En espérant que ça puisse vous servir.

Gérer les disques windows virtuels (virtualbox)

Lorsqu’on utilise windows, certaines opérations de maintenances sont obligatoires, en particulier la gestion de l’espace libre dans les machines virtuelles.vbox_logo2_gradient

En effet, Windows  (au moins sur XP, j’ignore ce qu’il en est exactement sur les autres versions, mais à l’usage, cela semble identique) préfère utiliser l’espace libre qui n’a pas déjà été utilisé. Si vous supprimez un fichier, l’espace disque qui lui était alloué est déclaré disponible, mais tant qu’il reste des zones du disque où rien n’a été précédemment écrit, Windows préférera utiliser celles ci. On peut voir ça comme un avantage permettant la récupération de fichiers effacés, mais dans une machine virtuelle, le disque virtuel enflera jusqu’à la taille maximum qui lui a été allouée en peu de temps sans que son contenu n’ait augmenté.

Ça n’est pas forcément gênant en soi, sauf quand on veut faire des sauvegardes du fichier vdi ou transférer le disque sur un autre ordinateur, puisque l’on va inutilement transférer des informations sensées être supprimées.

Cet article servira de pense bête afin de centraliser les commandes utiles. Pensez à effectuer toutes les sauvegardes nécessaires avant d’agir sur votre système, je ne suis pas responsable des problèmes que vous pourriez rencontrer! Les commandes sont données pour linux, mais ce sont les mêmes pour Windows, à vous d’adapter les chemins et de lancer celles ci depuis un terminal de commande.

1 – Vider le disque

Première chose à faire, dans la machine virtuelle, supprimer les cookies et les fichiers temporaires. Et en particulier les téléchargements d’installateurs de logiciels (qui peuvent être conséquents) et les dossiers temporaires qu’ils créent. Les moteurs de recherche vous indiqueront les dossiers concernés en fonction de vos logiciels.

Pensez aussi à vider la corbeille, en particulier de tous les utilisateurs. En effet, certains ne le font jamais et on retrouve parfois des gigas entiers de données inutiles dans celles ci.

2 – Défragmenter le disque

Une fois les fichiers inutiles supprimés, il faut défragmenter le disque pour récupérer encore un peu d’espace, mais surtout pour rassembler les fichiers. J’aime bien utiliser Auslogic disk defrag parce qu’il a une option pour optimiser les fichiers du disque et pour éteindre l’ordinateur une fois qu’il a fini, mais n’importe quel défragmenteur (y compris celui intégré à windows) peut faire l’affaire.

3 – Vider l’espace libre

L’espace libéré n’est pas encore complètement vide. Pour le vider complètement pour l’étape suivante, il faut remplir de zéros tous les emplacement libres. Vous pouvez utiliser nullfile ou les utilitaires de microsoft avec sdelete de la suite des sysinternals. J’utilise soit l’un, soit l’autre, indifféremment.

Avec sdelete, téléchargez le, extrayez le et copiez le dans C:\windows. Ouvrez ensuite un terminal, puis entrez la commande sdelete -z C:\ (l’option -z indiquant de mettre à zéro les blocs libres). Arrêtez ensuite la machine virtuelle.

4 – Compacter le disque virtuel

Pour compacter le disque virtuel, entrez la commande suivante:

vboxmanage modifyhd /chemin/vers/disque/disque.vdi --compact

C’est relativement rapide, selon la taille initiale du disque. Sur certains systèmes, le gain se compte en gigaoctets, donc c’est intéressant à faire avant de transférer le disque image lorsque le besoin se fait sentir. Cette opération ne laisse dans le disque que les blocs ne contenant pas que des zéros, d’où l’utilité de l’étape précédente.

5 – Augmenter la taille du disque

Si malgré les opérations précédentes vous êtes quand même à l’étroit dans votre windows, c’est sans doute quze vous aviez prévu un peu juste lors du choix de la taille du disque. Il est possible d’augmenter la taille du disque sans devoir tout réinstaller. Utilisez la commande suivante, par exemple pour augmenter le disque à la taille de 20Go:

vboxmanage modifyhd /chemin/vers/disque/disque.vdi --resize 20000

Adaptez bien sûr le chemin vers votre image disque et la taille désirée.

Il faut ensuite lancer votre machine virtuelle avec un live CD pour utiliser gparted afin d’agrandir la partition Windows à tout l’espace disponible pour qu’il puisse prendre en compte l’espace que vous venez d’ajouter. Le live CD gparted fonctionne bien.

Pensez que lorsque vous démarrerez votre windows, il fera une vérification du système de fichiers.

C’est fini, ou presque.

Deux dernières commandes pratiques que je saurais où retrouver.

Pour voir les machines virtuelles lancées, en ligne de commande (par exemple en SSH), et connaitre leur nom:

vboxmanage list runningvms

Pour arrêter une machine virtuelle en ligne de commande:

vboxmanage controlvm winxp2 poweroff (où winxp2 est le nom de la machine obtenue avec la commande précédente)

Voila, rien de bien original ou nouveau, mais toutes les commandes de bases dans un seul endroit me facilitera la vie.