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

[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.

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;

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ô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.

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.

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.

Ransomware, ou prise d’otage informatique

prise-otageLes éditeurs d’antivirus rapportent actuellement la montée en puissance d’une forme récente de malware, baptisée ransomware. Ces nuisibles bloquent totalement l’accès au système d’exploitation d’un ordinateur et réclament une somme conséquente pour libérer les données.

Avec les ransomwares, l’infection est la plupart du temps réalisée via une faille provenant d’un logiciel non mis à jour. Un document PDF, Word ou Excel est adressé au destinataire par e-mail. En voulant l’ouvrir, le destinataire fait planter le logiciel associé. Le code stocké dans le document est alors activé et télécharge et installe le ransomware en question.

Lire l’article complet sur http://www.futura-sciences.com/fr/news/t/informatique/d/ranconner-les-internautes-lattaque-malware-a-la-mode_43225/

Notez que si vous avez linux en dual boot sur l’ordinateur et que le MBR est corrompu, la réinstallation du MBR depuis un live CD, exactement de la même manière qu’après une installation de windows, permet de relancer la machine. Windows ,n’est pas dévérolé pour autant, il faudra s’en occuper, mais linux redevient accessible.

En tout cas pour ce qui concerne les 2 machines dont j’ai dû m’occuper aujourd’hui.

Faire un miroir avec apt-mirror de raspberry.org

Je ne vais pas vous réexpliquer comment faire un miroir local, mais comment arriver à faire un miroir pour le raspberry Pi.

Si vous essayez d’utiliser apt-mirror sur une version plus ancienne que Quantal, vous aurez une erreur disant que apt-mirror ne peut localiser le dépôt arm (binary-arm/Packages.gz). Or, il devrait chercher armhf (binary-armhf/Packages.gz)!

Il suffit d’aller modifier /usr/bin/apt-mirror avec un éditeur quelconque pour modifier la ligne 269 ainsi:

remplacer

if($config_line =~ /deb-(alpha|amd64|armel|arm|hppa|hurd-i386|i386|ia64|lpia|m68k|mipsel|mips|powerpc|s390|sh|sparc)/) {
par

if($config_line =~ /deb-(alpha|amd64|armel|armhf|arm|hppa|hurd-i386|i386|ia64|lpia|m68k|mipsel|mips|powerpc|s390|sh|sparc)/) {

en fait, on rajoute armhf avant arm, afin qu’il ne s’arrête pas sur la première correspondance, qui serait incomplète.

Sauvegardez, et ajoutez ensuite dans le fichier /etc/apt/mirror.list la ligne suivante:

deb-armhf http://mirrordirector.raspbian.org/raspbian/ wheezy main contrib non-free rpi

Il ne vous reste plus qu’à lancer apt-mirror pour créer votre miroir local et accélérer le téléchargement des paquets de votre Raspberry Pi.

Ubuntu-tweak est mort. Vive ubuntu-tweak?

Le logiciel bien connu de customisation d’Ubuntu, à mon avis vital depuis le passage à Unity, n’est plus.

L’auteur vient d’annoncer aujourd’hui sur son blog arrêter le développement de ce logiciel. S’il ne donne pas de raison particulière, il dit que ce projet commencé dans l’enthousiasme le rend désormais malheureux et que « si faire du logiciel libre n’est plus gratuit, pourquoi continuer à en faire? » .

C’est vraiment dommage à mon avis.

Le logiciel fonctionne toujours pour la partie customisation, au moins jusqu’à la 12.10, mais l’onglet Application ne fonctionnera plus, vu qu’il s’agissait d’un web service.

Ceci dit, comme tous les projets open source, rien n’empêche qu’il renaisse prochainement de ses cendres, repris par une autre communauté. Longue vie à Ubuntu-tweak et merci au développeur.

Mise à jour: au vu des messages de soutien, l’auteur a décidé de reprendre le développement.

Déplacer les base mysql sur Ubuntu

J’ai voulu déplacer des bases mysql pour les placer sur une autre partition, mais sur Ubuntu, il ne suffit pas de déplacer les bases pour pourvoir relancer le serveur, même en ayant modifié le fichier my.cnf.

L’erreur était la suivante dans le fichier /var/log/mysql/error.log

/usr/sbin/mysqld: Can't find file: './mysql/plugin.frm' (errno: 13)
120902 16:57:07 [ERROR] Can't open the mysql.plugin table. Please run mysql_upgrade to create it.
120902 16:57:07  InnoDB: Initializing buffer pool, size = 8.0M
120902 16:57:07  InnoDB: Completed initialization of buffer pool
120902 16:57:07  InnoDB: Operating system error number 13 in a file operation.
InnoDB: The error means mysqld does not have the access rights to
InnoDB: the directory.
InnoDB: File name ./ibdata1
InnoDB: File operation call: 'open'.
InnoDB: Cannot continue operation.

J’ai heureusement trouvé la solution sur La case de l’oncle tom après avoir beaucoup cherché mais en n’ayant trouvé que des suggestions non fonctionnelles pour mon problème.

Le problème vient de apparmor qui ne considère pas le nouvel emplacement comme fiable. Il suffit donc de modifier le fichier /etc/apparmor.d/usr.sbin.mysqld comme indiqué pour pouvoir relancer mysql.

Pourtant, comme le dit Daniel, le fichier my.cnf comporte bien l’avertissement suivant:

# * IMPORTANT
#   If you make changes to these settings and your system uses apparmor, you may
#   also need to also adjust /etc/apparmor.d/usr.sbin.mysqld.

Comme quoi, vouloir aller trop vite pour gagner du temps et se jeter sur le net n’est pas toujours la bonne solution…

Note a moi même: prendre l’habitude de lire les commentaires des fichiers de configuration, ça peut aider.

Source: La case de l’oncle tom

Unity et le dual screen

C’est rien, mais j’ai cherché quelques minutes avant de trouver ce qui était sous mon nez…

Quand on active le dual-screen, il faut désormais se poser la question de savoir sur quel écran on désire le lanceur. Sur les deux? Celui de gauche? Celui de droite?

Ceci dit, si vous ne vous posez pas la question, un petit détail va vous faire rager rapidement: le passage d’un écran à l’autre est gêné par un ralentissement de la souris dû aux bords collants. Grrr!

Bon, c’est tout simple et il faut lire les fenêtres, même quand on croit les connaitre.

Dans le réglage d’affichage, sélectionnez l’écran sur lequel vous voulez le menu et si vous désirez les bords collants.

Ubuntu: system halted ou le poste ne s’éteint pas

L’ordinateur ne s’éteint pas

J'ai dit halte!
Depuis ubuntu 11.04 ((il me semble)), un problème récurent se produit: lors d’une demande d’arrêt, le poste reste sous tension et un message indique laconiquement:

*Will now halt
[...] System halted

C’est d’autant plus embêtant que parfois la commande entrée manuellement dans un terminal fonctionne sans provoquer ce problème, mais que dans un script ou avec certains logiciels, le système ne se coupe pas. Et si le système n’est pas coupé, impossible de démarrer les postes par wake on lan!

J’avais écrit à ce sujet en donnant une solution de contournement qui ne fonctionnais pas systématiquement non plus…

A noter que ce problème apparait lors d’une mise à jour ou d’une installation neuve, quelle que soit la distribution basée sur ubuntu (voyager, mint, Xubuntu, …)

Je suis tombé sur l’explication de Steve Langasek (vorlon) sur bugs.launchpad qui éclaire ce problème:

Ok, j’ai travaillé à ma façon sur toutes les formes de ce bug maintenant, et je dois conclure que ce comportement ne peut pas / ne devrait pas changer.

– La commande «shutdown» a trois options: « -h » (arrêt ou mise hors tension), ‘-H’ (arrêt), et «-p» (hors tension).
– La commande «halt» fait référence à -H,  par défaut.
– La commande «poweroff» fait référence à -p, par conception.
– La configuration de /etc/default/halt affecte *uniquement* le comportement lorsque ni -H ni -P n’a été spécifié.
– Il n’y a pas moyen de faire «halt» correspondre par lui-même à «poweroff», sans qu’il soit impossible de faire un véritable «arrêt».
– Ce sont toutes des options standard qui ne devraient pas être changé.

Donc, je ferme ce rapport de bug comme «wontfix». Le comportement actuel est incompatible avec le comportement arriviste précédent, mais ce comportement était bogué. Le comportement actuel est correct, et je crains que les gens vont juste devoir apprendre que «halt» ne signifie pas ce que vous avez été amené à croire que cela signifie.

Si vous voulez que le système se coupe, vous avez besoin pour fonctionner soit de « shutdown -h now», «halt -p», ou «poweroff». Toutes ces trois commandes fonctionnent. «halt -p» est la plus courte et probablement la plus compatible avec la mémoire musculaire existante.

Même si le ton est un peu hautain à mon goût ((pour les pauvres utilisateurs perturbés que nous sommes, et vraiment nombreux au vu des pages complètes de google à ce sujet)) , il est logique de comprendre que « halt » arrête le système informatique ((ce qu’il fait d’ailleurs très bien comme le prouve le message « system halted »)) et que « poweroff  » coupe l’alimentation matérielle.

Le problème est que pendant des années nous avons appris à utiliser « halt » plutôt que « shutdown -h » ou « poweroff » et qu’il nous semble que ce nouveau comportement est un bug, alors que c’est l’ancien comportement qui était anormal. Il va falloir commencer à changer certaines habitudes…

On peut contourner ce comportement en modifiant les aliases (alias halt= »halt -p ») mais c’est à faire pour tous les utilisateurs et ne fonctionne pas pour les scripts ou programmes qui ne lancent pas un shell.

De plus, sur la 10.04, vous constaterez que « halt » est un lien vers la commande « reboot »… D’autant plus surprenant que « reboot » fonctionne…

Eteindre ubuntu ET l’ordinateur

Note: la solution proposée par chmd dans les commentaires est en effet plus propre et conseillée.

Je me trouve confronté à des logiciels écrits il y a quelques années qui font appel à la commande halt et à qui je peux difficilement expliquer ((pour diverses raisons…)) que c’est une mauvais habitude, mais une solution de comportement existe en interceptant la commande halt et en la renvoyant vers poweroff

  • renommez la commande halt en autre chose

sudo mv /sbin/halt /sbin/haltorig

  • Créez un programme /sbin/halt qui fera appel à « poweroff » ou « shutdown -h now »

#!/bin/sh
/sbin/poweroff

puis sudo chmod +x /sbin/halt

On retrouve ensuite un comportement « normal » ((le comportement attendu, à savoir une coupure propre, même s’il vaudrait mieux prendre la bonne habitude immédiatement)) du système.

Depuis quelques jours que je teste cette modification, je n’ai remarqué aucun effet de bord, ni graphiquement, ni sur le fonctionnement des autres programmes. À part que c’est un bonheur de pouvoir à nouveau éteindre ses machines par cron ou ssh et de pouvoir les relancer par WOL.

J’ai pensé que vous trouveriez cet article utile ;oD

Rien ne va plus, tout est en panne

Au delà de la polémique qu’il peut y avoir sur le système d’exploitation ou des logiciels choisis, il faut se rappeler une chose: ce n’est pas qu’un système informatique peut tomber en panne, c’est qu’il va tomber en panne un jour ou l’autre.

Plus un commercial me vante la stabilité de son système, plus j’ai peur. Que ce soit dans l’informatique ou dans d’autres domaines. Or, aujourd’hui, l’informatique et les systèmes embarqués sont partout, y compris dans les voitures.

Là où un simple miroir ne peut pas se mettre en carafe, on remplace ceux ci par des caméras + écrans ((où le seul intérêt à mes yeux serait l’enregistrement des informations, le stockage, le traitement et la conservation des données, y compris envers la CNIL, rendent la chose compliquée et coûteuse)), là où un simple interrupteur fait son office, on installe un système intelligent sensé nous simplifier la vie ((mon micro ondes refuse de décongeler mon pain, considérant qu’il n’est pas assez lourd pour justifier la mise en route du four. Je suis obligé de rajouter du poids (2 verres d’eau) pour que la pesée fonctionne et que le four( daigne adapter sa puissance au produit…)), là où in simple téléphone permettait d’appeler les secours, il lui faut maintenant une alimentation et il ne fonctionne plus en cas de coupure électrique.

Plus on rajoute d’éléments dans la chaine de fonctionnement, plus on fragilise le système complet en cas de faille dans l’un des éléments. Sans compter les multiples éléments extérieurs inconnus sur lesquels on ne peut avoir de contrôle (stabilité électrique, parasites électro ou magnétiques, chocs d’un balai, utilisateur lui même, …) qui conduisent parfois à des pannes non franches qu’il est quasiment impossible de reproduire, comprendre et éviter. Les systèmes fermés (logiciels ou matériels) induisent eux aussi une part d’inconnu qui ne nous laisse que la possibilité de constater: c’est en panne, ou ça a été en panne, mais on ne sait pas pourquoi.

Or, lorsqu’un client fait appel à un professionnel, il veut une réponse. Et si le professionnel avoue son ignorance, c’est qu’il est nul et qu’il faut s’adresser à quelqu’un d’autre. La tentation est alors forte d’inventer une cause ou une explication qui satisfera le client, bien qu’on ne sache pas réellement si elle est juste. Déjà que le métier d’informaticien paraît obscur aux non initiés ((ouvrez une ligne de commande chez un client, il vous prend déjà pour un hacker)), que les termes techniques et les explications sont incompris ((ce qui permet à certains de raconter n’importe quoi)), que les médias ne parlent de l’informatique que pour ses effets négatifs (pirates, virus, pédophilie), on arrive très vite à une réputation de menteurs et de voleurs, pas loin derrière les garagistes. C’est parfois difficile à rattraper, surtout quand on passe derrière certains concurrents ((quand il ne s’agit pas du petit fils de la soeur du cousin du beau frère du collègue de travail du voisin qui « s’y connait » et à qui on fait plus confiance)).

Si en plus on apporte des mauvaises nouvelles au client, je vous laisse imaginer ses impressions. Heureusement qu’on ne tue plus les porteurs de mauvaises nouvelles!

Intervenant souvent sur des pannes ((souvent sur des systèmes que je découvre)), le client veut que ça refonctionne au plus tôt ((c’est à dire juste après son appel)) et que ça ne se reproduise plus ((il paye, donc il veut une garantie)). Or, pour étudier une panne, il faut laisser le système dans l’état où il se trouve, c’est à dire en panne. Comme bien souvent un simple redémarrage suffit à résoudre le problème ((en particulier chez qui vous savez)), difficile de savoir le pourquoi et d’être certain que ça ne se reproduira plus. Ce n’est pas le plus difficile à faire comprendre à un client, quand on emploie les mots justes. Il peut comprendre qu’un redémarrage est nécessaire et que c’est un moindre mal mais il est tiraillé entre ce que vous lui dites et le discours appuyé des commerciaux ne disant que ce que les gens ont envie d’entendre. J’appelle ça le chant des sirènes.

En tant que particulier, professionnel ou simple être humain, j’y suis aussi sensible. Entre les publicités et les envies d’être rassuré, difficile de faire la part des choses ((assurances, mutuelles, retraite, services bancaires, alarmes, … On a tous cédé une fois parce qu’on avait envie d’y croire)).

Alors, quand un commercial me jure ses grands dieux que tout est parfait, je lui fait voir la galerie ci dessous ((Y’a bien que des informaticiens pour prendre ces trucs en photo. Et en plus à aimer ça…!)). Ce sont des photos provenant d’Internet pour la majorité, plus quelques unes de mon crû.

Quand un client veut que ça ne se reproduise plus, sans mettre les moyens, je lui fais aussi voir cette galerie. Il comprend alors que si des banques ou des aéroports restent confrontés à des pannes pouvant compromettre la sécurité de leur système alors qu’ils y ont mis des moyens importants ((Et souvent beaucoup plus que le budget disponible chez mon client)), l’objectif de zéro panne n’est pas accessible immédiatement et qu’il va falloir étudier une tolérance de panne acceptable.

Au final, quand on a compris qu’il y aura une panne, qu’on ne saura pas pourquoi ni comment, la seule question importante qu’il reste c’est: comment repartir rapidement après sinistre? Seul un système de sauvegarde efficace ((testé et vérifié régulièrement, ce qui n’est pas le cas dans beaucoup d’endroits)) et une méthodologie de travail adaptée ((Ne pas multiplier les emplacement des données, classer les informations, …)) permettent de relancer, plus ou moins rapidement ((selon les moyens mis en oeuvre et l’acceptation d’un délai de coupure de service)), le système d’information nécessaire au fonctionnement.

Vous qui me lisez, à quand remonte votre dernière sauvegarde vérifiée?

Konica Minolta Bizhub 350 et cups

Après avoir encore une fois perdu du temps à retrouver comment le faire fonctionner, je le note pour pouvoir le retrouver.

Ensuite, ça fonctionne en utilisant le premier driver de la catégorie KONICA MINOLTA (je ne l’ai pas noté…)

A noter que cela est valable pour tous les modèles de la liste suivante:

  • bizhub 7222, 7322, 7228, 7235
  • 7145
  • 7155, 7165, Force 65
  • 7255, 7272
  • 7075, Force 75
  • 7085, Force 85
  • bizhub PRO 1050/1050P
  • bizhub 350/250/200
  • bizhub 500/420/360
  • bizhub 501/421/361
  • bizhub 750/600
  • bizhub 920/PRO 920
  • bizhub C250/C250P
  • bizhub C252
  • bizhub C351
  • bizhub C352/C352P/C300
  • bizhub C353/C353P/C253/C203
  • bizhub C450/C450P
  • bizhub C451
  • bizhub C650/C550
  • magicolor 8650

Utiliser wget pour télécharger un site entier

C’est plus un pense bête qu’une astuce, et ça m’évitera de chercher encore une fois.

Pour l’anecdote, j’ai scripté cet usage afin de garder une copie de sauvegarde d’un site hébergé chez le prestataire d’un client qui a des « problèmes » avec celui ci. En cas de…je ne sais pas, mais au cas où, j’ai une copie de sauvegarde permettant une reprise sans avoir à tout recréer de zéro (images, mise en page, css,…). Et j’ai ainsi l’évolution des modifications sur les x derniers jours (une sorte de google cache en local)

Si vous voulez télécharger un site entier, peut être pour le visiter off-line, wget peut le faire . Par exemple:

$ wget \
     --recursive \
     --no-clobber \
     --page-requisites \
     --html-extension \
     --convert-links \
     --restrict-file-names=windows \
     --domains website.org \
     --no-parent \
         www.website.org/tutorials/html/

Cette commande va télécharger le site  www.website.org/tutorials/html/.

Les options sont:

  • –recursive: télécharge le site web entier.
  • –domains website.org: ne suit pas les liens pointant hors du domaine website.org.
  • –no-parent: ne suis pas les liens pointant hors du dossier tutorials/html/.
  • –page-requisites: récupère tous les éléments qui composent la page (images, CSS et cie).
  • –html-extension: enregistre les fichiers avec l’extention .html.
  • –convert-links: convertit les liens afin qu’ils fontionnent localement (off-line).
  • –restrict-file-names=windows: modifie les noms de fichiers afin qu’ils fonctionnent aussi sur Windows.
  • –no-clobber: n’écrase pas les fichiers déjà existants (utilisé en cas de téléchargement interrompu et repris).

Il peut aussi être important d’ajouter les options --wait=9 --limit-rate=10K qui éviteront de surcharger le serveur qui vous fournit les pages et d’éviter, éventuellement, de vous faire blacklister par un admin un peu pointilleux.

  • –wait=X : attend X secondes entre chaque téléchargement
  • –limit-rate=XK : limite la bande passante utilisée à X Ko/s

Utiliser ces options permet plus de souplesse que de simplement utiliser l’option -m (mirror).

Notez que wget existe aussi sous windows.

source: http://www.linuxjournal.com/content/downloading-entire-web-site-wget

Ubuntu 11.10 (Oneiric) ne s’arrête pas

Sur certains ordinateur, avec Oneiric, l’ordinateur ne s’arrête pas véritablement. L’ordinateur reste sous tension, même si le système est coupé.
Il est alors nécessaire de faire un réset manuellement, ce qui peut être gênant quand l’ordinateur n’est pas accessible.
Cela peut se produire autant lors de la demande d’arrêt que pour celle du redémarrage. Parfois cela fonctionne depuis le gestionnaire de fenêtre, parfois non. La commande « halt » en ligne de commande ne fonctionne pas, elle ((2 machine différentes, même OS, comportement différent. Même avec des systèmes différents (ubuntu/voyager) )) .
Je n’ai pas trouvé de solution, et des rapports de bug ont été ouverts, et on en parle sur beaucoup de forums ((par exemple ici ou ))  mais en attendant, il faut bien pouvoir agir.

J’ai trouvé une solution de contournement qui permet d’effectuer ce qui est véritablement désiré et qui fonctionne sans problèmes.
Créez un script /usr/bin/force_halt et mettez y ce code dedans:

#!/bin/bash
dbus-send --system --print-reply --dest=org.freedesktop.ConsoleKit /org/freedesktop/ConsoleKit/Manager org.freedesktop.ConsoleKit.Manager.Stop

Rendez le exécutable et remplacez vos appels à « halt » par « force_halt« . Vous pouvez aussi remplacer /sbin/halt par un lien vers force_halt

Concernant le reboot, il faut répéter les mêmes opérations mais remplacer le Stop de la fin de la ligne de commande par Restart

Ubuntu: faire fonctionner la carte Ethernet Atheros AR8151

Ethernet controller [0200]: Atheros Communications AR8152 v2.0 Fast Ethernet [1969:2062] (rev c1)

Les derniers pilotes Athéros ne sont pas disponibles. Le serveur semble down ou cassé, mais il est possible d’installer les drivers pour faire fonctionner cette carte réseau grâce à un forum allemand.

Installons d’abord les éléments nécessaires

sudo apt-get install --reinstall linux-headers-$(uname -r) build-essential

Nous allons ensuite installer DKMS pour installer le module

sudo apt-get install --reinstall linux-headers-$(uname -r) build-essential dkms        # s'ils ne sont pas déjà installés
## Pour Ubuntu 10.04
wget http://media.cdn.ubuntu-de.org/forum/attachments/2666793/AR81Family-linux-v1.0.1.14_dkms.tar.gz
sudo tar xvf AR81Family-linux-v1.0.1.14_dkms.tar.gz -C /usr/src
 
# Pour Ubuntu 10.10 et supérieur
wget http://media.cdn.ubuntu-de.org/forum/attachments/2666793/AR81Family-linux-v1.0.1.14_10.10.tar.gz
sudo tar xvf AR81Family-linux-v1.0.1.14_10.10.tar.gz -C /usr/src

Création du module et installation

sudo dkms add -m atl1e -v 1.0.1.14
sudo dkms build -m atl1e -v 1.0.1.14
sudo dkms install -m atl1e -v 1.0.1.14

Chargement du module et test

sudo modprobe atl1e
dmesg | egrep 'atl1e|eth'
ifconfig -a

Malheureusement, l’archive pour 10.10 et supérieurs n’est plus disponible sur ce site. Je met donc au moins l’archive pour 10.04 à disposition sur le mien au cas où elle disparaitrait

AR81Family-linux-v1.0.1.14_dkms.tar

Source: http://forum.ubuntuusers.de/topic/lan-geht-nicht-wlan-schon/#post-2666793

Activer XDMCP sur Ubuntu Lucid 10.04

Cette astuce fonctionne peut être avec les versions suivantes, mais je ne l’ai pas testée. A confirmer.

Si vous avez besoin d’utiliser XDMCP sur votre réseau, vous constaterez qu’avec la « nouvelle » version de GDM, il n’est plus possible de l’activer facilement ((en tout cas, pas aussi facilement qu’avant)).

Or, il suffit de quelques manipulations pour la remettre en place.

Paramétrer le serveur XDMCP

Tout d’abord, il faut créer le fichier /etc/gdm/custom.conf qui va enregistrer les options de GDM, et en particulier celles concernant XDMCP.

Remplissez le avec ceci:

[daemon]
 User=gdm
 Group=gdm
[security]
 DisallowTCP=true
[xdmcp]
 Enable=true
 DisplaysPerHost=2
 HonorIndirect=false
 MaxPending=4
 MaxSessions=16
 MaxWait=30
 MaxWaitIndirect=30
 PingIntervalSeconds=60
 Port=177
[greeter]
[chooser]
 Multicast=false
[debug]
 Enable=false

Il suffit ensuite de redémarrer le service GDM pour activer le XDMCP.

service gdm restart

Cependant, si vous avez désactivé IPV6 sur votre réseau, cela ne fonctionnera pas, puisque XDMCP écoute par défaut en IPV6 désormais. Vous pouvez le voir en root avec la commande netstat:

root@test4:/home/manu# netstat -putan|grep 177
udp6       0      0 :::177        :::*        646/gdm-binary

Il faut alors désactiver IPV6 sur l’ordinateur qui diffusera son affichage, par exemple en le désactivant au niveau du noyau.

On peut le faire en rajoutant une option au fichier de configuration de grub. Modifiez les fichier /etc/default/grub pour ajouter l’option « ipv6.disable=1 »

GRUB_CMDLINE_LINUX_DEFAULT="ipv6.disable=1 quiet splash"

Reconstruisez le fichier de configuration de grub par « sudo update-grub » puis redémarrez votre ordinateur. Netstat vous indique alors que XDMCP écoute en IPV4 ((notez le 6 qui a disparu et la notation des adresses))

root@test4:/home/manu# netstat -putan|grep 177
udp       0      0 0.0.0.0:177        0.0.0.0*        658/gdm-binary

Utiliser le client XDMCP

On peut utiliser Xming depuis Windows, mais depuis Linux, il est plus simple d’utiliser tsclient. Dans la liste des protocoles, si vous ne voyez pas XDMCP, c’est qu’il vous faut l’installer le paquet xnest

sudo apt-get install xnest

tsclient avec XDMCPEnsuite, pour la connexion, c’est du classique.

Un client XDMCP en console

Si vous désirez lancer une session XDMCP systématiquement, il est inutile se charger gnome ou un gestionnaire de fenêtres simplement pour lancer tsclient puis votre session XDMCP. Il est possible de lancer celle ci directement.

Désactivez le lancement de GDM, puis logguez vous sur l’ordinateur et tapez la commande suivante:

/usr/X11R6/bin/X -query 192.168.1.2

où 192.168.1.2 est le serveur sur lequel vous avez activé XDMCP.

Sources:

Changer la couleur de fenêtre de Pidgin

J’ai eu besoin de communiquer par IRC sur un chan particulier, mais j’ai été confronté à un problème auquel je ne m’attendais pas: les administrateurs utilisant mirc (qui utilise par défaut un fond noir), ou irssi (qui fonctionne en console…noire de base) avaient choisi d’avoir des couleurs de polices blanches et jaunes pour certains éléments.

Or, Pidgin utilise un fond blanc, ce qui fait que beaucoup de choses étaient illisibles ((et effectuer des sélections du texte pour arriver à le lire est fatiguant à la longue.)).

Empathy permet de changer les thèmes, et de voir les messages écrits en noir sans tenir compte de la couleur d’origine, mais ne m’affichait pas les personnes présentes dans le salon. Donc, il n’a pas été retenu comme solution.

Mais comme avec le libre, tout est faisable, et un simple changement de couleur devant être à ma portée, j’ai cherché comment modifier Pidgin, et j’ai fini par trouver.

Simple quand on le sait, mais quand on ne sait pas, c’est autre chose…

  • Tout d’abord, ne cherchez pas le dossier pidgin, mais bien purple, qui se trouve dans votre home (~/.purple)
  • Par défaut, pidgin utilise le thème GTK de votre environnement. Sinon, et seulement sinon, il crée un fichier gtkrc-2.0 dans le dossier ~/.purple.
  • Si vous utilisez un gestionnaire de fenêtre basé sur GTK et que vous ne voulez pas changer votre thème général, il faudra créer un fichier nommé gtkrc-2.0 dans le dossier ~/.purple qui apportera des modification à pidgin par rapport à votre thème général.
  • Vous mettrez dans ce fichier texte les informations que vous voulez selon la syntaxe que vous donne la FAQ de Pidgin.((si vous connaissez un peu le CSS, vous devriez comprendre comment fonctionne le fichier))

Dans mon cas, cherchant juste à modifier l’aspect des fenêtres, j’ai utilisé le code fourni:

# Create a style called "inverted" where the text and base (the base color behind the widget) are the reverse of typical.
style "inverted"
{
text[NORMAL] = "#FFFFFF"
base[NORMAL] = "#000000"
}
 
# Apply "inverted" to conversation entry box--where you type.
widget "*pidgin_conv_entry" style "inverted"
 
# Apply "inverted" to conversation history pane--where you read the conversation.
widget "*pidgin_conv_imhtml" style "inverted"

Après avoir relancé Pidgin, c’est tout de suite beaucoup plus lisible ((Il ne s’agit pas du chan qui m’intéressait, mais celui ci présente les mêmes caractéristiques et me sert d’exemple)).

Du texte en couleur, mais lisibleSources: http://developer.pidgin.im/wiki/Using%20Pidgin

Editer les pages web avant de les imprimer

Ne vous est il jamais arrivé de vouloir imprimer une recette, un article ou n’importe quelle information d’une page sans vouloir imprimer l’ensemble des commentaires, des pubs, des menus, des bannières, des boutons, … ?

Moi, c’est souvent.

Alors que j’imprime peu et que ça m’horripile d’imprimer des pages inutiles (sauvons les arbres, mangeons des castors), la partie qui m’intéresse est toujours coupée entre deux pages ou mise en page sur une largeur de 3 cm…

Au moment où je me décide enfin à chercher une solution pratique, korben fait un article sur le sujet, le jour même ((et c’est pas la première fois, il doit lire dans mes pensées)).

Ça s’appelle Print Edit et c’est une extension Firefox qui rajoute une option au menu d’impression et dans la barre de boutons permettant de sélectionner les cadres de la page pour les supprimer ou les masquer. Ça fonctionne très bien, il faut juste faire attention à ses sélections (elles se cumulent quand vous cliquez n’importe où) avant de supprimer, mais un bouton « undo » existe permettant le retour en arrière.