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.

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.

[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

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/

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

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…

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.

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.

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.

greemote et Ubuntu precise 12.04

greemotegreemote est une application très pratique pour commander sa freebox depuis son PC. Malheureusement, l’installation sur 12.04 ne fonctionne pas, le lancement provoque l’erreur suivante:

Traceback (most recent call last):
File "/usr/bin/greemote", line 4, in <module>
import libgreemote.greemote, socket
ImportError: No module named libgreemote.greemote

Mais on peut résoudre le problème!

Téléchargez l’archive libgreemote.tar.gz et copiez la dans /tmp/

Ensuite, exécutez les commandes suivantes:

sudo cp /tmp/libgreemote.tar.gz /usr/share/pycentral
cd /usr/share/pycentral
sudo tar xvfz libgreemote.tar.gz

Enfin, il ne reste plus qu’à modifier le programme afin qu’il trouve ce qu’il cherche et qu’on vient de ranger

sudo gedit /usr/bin/greemote

et remplacez le contenu par

#!/usr/bin/python
# -*- coding:utf-8 -*-
import sys
sys.path.insert(0, "/usr/share/pycentral/")
import libgreemote.greemote, socket
def main():
    print "Télécommande pour Freebox HD."
    socket.setdefaulttimeout(5)
    libgreemote.greemote.greemote()
if __name__ == '__main__':
    main()

Lancez, et ça devrait fonctionner!

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

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

Equivalent à CHKDSK sous Linux

Il est bien évident qu’à choisir un système de fichier mon choix premier ne se porterait pas sur les formats Microsoft. Cependant, l’interopérabilité fait que le choix ne nous est pas forcément disponible.

Surtout quand on me transmet un disque externe  en me disant « Tiens, voilà la sauvegarde, prends en soin c’est la seule » et que je me rends compte que le système de fichier est dans les choux… ((d’ici à ce qu’on vienne dire que c’est parce que j’ai osé le brancher sur un Linux, il n’y a qu’un pas qui a déjà été franchi depuis longtemps!)).

Sueurs froides, tremblement, méditation et incantations :d plus tard, voici ce que ça donne.

Partitions FAT

Certains appareils (lecteur DVD, décodeur TNT, autoradio ou systèmes propriétaires) n’acceptent que les lecteurs externes au format VFAT. Or, quand il y a des problèmes sur la partition et qu’on veut la corriger, c’est dommage de ne garder un windows que pour ça.

Heureusement, le paquet dosfstools possède la commande dosfsck qui permet de le faire:

sudo dosfsck -a -t -w /dev/sdc1

Cette commande va nous permettre de vérifier le disque /dev/sdc1 en réparant automatiquement les erreurs sans confirmation (-a), en marquant les mauvais secteurs comme tels (-t) et en le faisant immédiatement (-w). Vous pouvez aussi ajouter les options -n (à la place de -w) pour simplement tester, -l pour afficher la liste des fichiers traités et -v pour avoir plus de sortie à l’écran.

Démontez votre disque sans le retirer avant de lancer la commande, mais dans les cas où je l’ai utilisée, le disque ne montait pas de lui même.

Partitions NTFS

Je n’ai pas trouvé de commande permettant de le faire. Si vous en connaissez une, je suis preneur.

La commande ntfsfix du paquet ntfsprogs permet de faire certaines réparations simples, mais pas une véritable vérification. Comme le dit le man:

ntfsfix est un utilitaire qui permet de résoudre certains problèmes NTFS communs. ntfsfix N’EST PAS une version Linux de chkdsk. Il répare seulement certaines incohérences fondamentales du NTFS, réset le journal NTFS et programme une vérification du système de fichiers au prochain boot de Windows.

Cependant, on peut s’en sortir sans avoir windows installé, simplement avec le CD d’installation (exemple pour XP) ((même si ça pique les yeux, tout ce bleu)):

  • démarrez un ordinateur où le disque est branché depuis le CD d’installation
  • Dans les choix qui vous sont donnés, choisissez R pour réparation
  • Quand vous êtes dans la console de réparation, lancez la commande CHKDSK C: /R. Si un seul disque est présent, vous pouvez omettre de le nommer.

Si vous n’avez pas le CD d’installation de windows, vous pouvez télécharger Revovery Console (RC.iso) fourni par The computer paramedic qui contient des outils de réparation et l’utiliser comme dans la méthode donnée ci dessus. Notez que si vous avez eu un ordinateur sans CD d’installation, il est utile de le télécharger pour l’avoir sous la main, y compris pour réparer le MBR

Pour Vista et Seven, la méthode est approximativement la même, même si elle n’apporte rien de plus. Démarrez avec votre DVD d’installation et adaptez la méthode à ce qui vous est proposé. Vous pouvez aussi consulter cette page même si l’accès aux consoles de réparation est devenu payant pour des problèmes de licences Microsoft ((Obligé de payer des licences à Microsoft pour permettre de réparer leur système… Comme quoi c’est un business de leur part, pas un bug. Encore un bonnet d’ÂNE mérité.)) depuis Aout 2011.

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:

Tftpd-hpa sur Lucid (erreur TFTP open timeout)

La mise à jour du programme tftpd-hpa sur lucid modifie son fichier de configuration par défaut. Si vous utilisez des clients légers avec LTSP, vous vous retrouvez avec des clients qui s’arrêtent à l’erreur PXE: TFTP open timeout juste après avoir obtenu leur adresse IP du dhcp.

Avant, votre fichier de configuration était ainsi:

root@ltsp:#cat /etc/default/tftpd-hpa
#Defaults for tftpd-hpa
RUN_DAEMON="yes"
OPTIONS="-l -s /var/lib/tftpboot"

Or, maintenant, le fichier se présente ainsi:

# /etc/default/tftpd-hpa
TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/srv/tftp"
TFTP_ADDRESS="0.0.0.0:69"
TFTP_OPTIONS=""

Du coup, le serveur ne se lance plus (il n’apparait pas dans les processus) même si vous avez un message disant qu’il est déjà en cours de fonctionnement lorsque vous tentez de le relancer.

Il suffit alors de modifier votre fichier de la manière suivante:

# /etc/default/tftpd-hpa
TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/var/lib/tftpboot"
TFTP_ADDRESS="0.0.0.0:69"
TFTP_OPTIONS="--secure"

Relancez ensuite votre serveur tftpd et vos clients devraient démarrer.

Si vous avez utilisé des outils qui paramètrent automatiquement le fichier de configuration avec l’ancienne version, réinstallez le paquet pour obtenir le nouveau fichier de configuration:

sudo apt-get install --reinstall tftpd-hpa

puis effectuez manuellement les modifications.

Clavier qwerty sur Ubuntu Oneiric Ocelot

Après une install d’Oneiric sur une machine, je me suis retrouvé avec un clavier US dans l’environnement graphique et dans le gestionnaire de connexion lightdm.

J’ai bien sûr réglé le clavier avec les outils de gnome ((et de lxde puisque j’ai installé les deux environnements)) mais à chaque redémarrage, je me retrouvais en clavier qwerty au lieu de l’azerty voulu.

Après avoir longuement cherché , je suis tombé sur une discussion qui m’a donné la bonne solution.

Il faut aller consulter le fichier /etc/default/keyboard qui, s’il fait référence à un clavier US, est prioritaire sur les autres réglages.
Si c’est le cas, il faut reconfigurer le clavier pour corriger ce fichier et faire en sorte d’obtenir les bonnes touches

dpkg-reconfigure keyboard-configuration

Et suivre les instructions, ce qui devrait donner un résultat tel que celui ci:

# If you change any of the following variables and X is configured to
# use this file, then the changes will become visible to X only if udev
# is restarted. You may need to reboot the system.
 
# The following variables describe your keyboard and can have the same
# values as the XkbModel, XkbLayout, XkbVariant and XkbOptions options
# in /etc/X11/xorg.conf.
 
XKBMODEL="pc105"
XKBLAYOUT="fr"
XKBVARIANT=""
XKBOPTIONS="lv3:ralt_switch,compose:rctrl"
 
# If you don't want to use the XKB layout on the console, you can
# specify an alternative keymap. Make sure it will be accessible
# before /usr is mounted.
# KMAP=/etc/console-setup/defkeymap.kmap.gz

J’ai perdu du temps à trouver la solution, espérons que ça vous sera utile.

Source: http://forum.ubuntu-fr.org/viewtopic.php?pid=6654251#p6654251

Entête Crontab

Pour mémo, voici les lignes devant être présentes en entête de crontab pour éviter les soucis. En effet, le cron utilise son propre processus/shell au lancement, et on a parfois des erreurs difficiles à cerner de chemin non trouvé ou de langage.

A adapter à votre situation

# m h  dom mon dow   command
MAILTO= »monadressel@monfai.fr »
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
SHELL=/bin/bash
LC_ALL=fr_FR.UTF-8

Pas de /var/log/messages sur Ubuntu Maverick/Natty

Sur Ubuntu Natty, j’ai eu la surprise de constater qu’il n’y avais pas de fichier /var/log/messages.

Cela vient du fait que les développeurs ont estimé qu’il était redondant avec les autres fichiers de logs, et ils ont décidé de ne plus l’activer.

…les journaux que vous recherchez sont dans /var/log/syslog. Cela a été une décision délibérée dans maverick pour réduire les chevauchements de log (tout ce qui est logué dans /var/log/messages a toujours été aussi enregistré dans /var/log/syslog ).

Or, certaines applications l’utilisent et se plaignent de ne pas le trouver. On peut le créer vide, mais il le restera. On peut aussi créer un lien vers /var/log/syslog.

Mais le mieux est de le réactiver. Il suffit d’éditer le fichier /etc/rsyslog.d/50-default.conf et de dé-commenter les lignes suivantes:

*.=info;*.=notice;*.=warn;\
auth,authpriv.none;\
cron,daemon.none;\
mail,news.none -/var/log/messages

ensuite, redémarrez ou lancez

sudo restart rsyslog

Source: http://ubuntuforums.org/showthread.php?t=1728570

Désactiver le lancement de GDM sur Lucid

Sur l’une de mes machine, destinée à un usage spécifique dont je parlerais plus tard, j’avais besoin d’avoir une interface graphique pour l’installation et le réglage d’un logiciel particulier.

Mais une fois celui ci configuré, je souhaitais que GDM ne se lance plus, sauf à la demande. J’ai donc installé une version « desktop » puis j’ai cherché à désactiver GDM.

Or, si cela était évident (ou du moins connu) dans les versions précédentes, en supprimant le lien de lancement dans /etc/rc2.d ou avec update-rc.d, avec upstart c’est désormais différent.

Les programmes lancés au démarrage sont situés dans des fichiers de configuration placés dans /etc/init. Celui qui nous intéresse est gdm.conf.

Il faut modifier le fichier de la manière suivante:

de

# gdm - GNOME Display Manager
#
# The display manager service manages the X servers running on the
# system, providing login and auto-login services
 
description    "GNOME Display Manager"
author        "William Jon McCann &lt;<a class="linkification-ext" title="Linkification: mailto:mccann@jhu.edu" href="mailto:mccann@jhu.edu">mccann@jhu.edu</a>&gt;"
 
start on (filesystem
          and started dbus
          and (drm-device-added card0 PRIMARY_DEVICE_FOR_DISPLAY=1
          or stopped udevtrigger))
stop on runlevel [016]
 
emits starting-dm
 
env XORGCONFIG=/etc/X11/xorg.conf
...

à

# gdm - GNOME Display Manager
#
# The display manager service manages the X servers running on the
# system, providing login and auto-login services
 
description    "GNOME Display Manager"
author        "William Jon McCann &lt;<a class="linkification-ext" title="Linkification: mailto:mccann@jhu.edu" href="mailto:mccann@jhu.edu">mccann@jhu.edu</a>&gt;"
 
start on []
#start on (filesystem
#          and started dbus
#          and (drm-device-added card0 PRIMARY_DEVICE_FOR_DISPLAY=1
#          or stopped udevtrigger))
stop on runlevel [016]
 
emits starting-dm
 
env XORGCONFIG=/etc/X11/xorg.conf
...

Relancer ensuite l’ordinateur, GDM ne se lancera plus au démarrage, et vous pourrez alors vous connecter sur les consoles.

Ce n’est pas une astuce exclusive, mais j’ai perdu assez de temps à chercher la réponse que je le note pour savoir où le retrouver.

Ne vous affolez pas parce que vous serez en mode texte, vous verrez qu’on arrive à faire des choses sympas ensuite.

Par exemple, vous pouvez vous identifier avec votre mot de passe et lancer la commande startx pour lancer votre environnement graphique.

Dans un prochain article, nous verrons qu’il y a mieux…

Voir l’occupation des dossiers avec NCDU

Vous connaissez certainement Baobab, qui permet de naviguer rapidement dans le système de fichier pour trouver quel est le dossier ou le fichier qui prend tant de place (( L’équivalent pour windows est WinDirStat )).

Mais quand on se trouve sur une machine qui n’a pas d’interface graphique, ou par SSH ?
Effectivement, on peut s’en sortir à grand coup de du, grep et find .

Par exemple, et vous conviendrez que c’est facile à mémoriser :

du -cks * | sort -rn | while read size fname; do for unit in k M G T P E Z Y; do if [ $size -lt 1024 ]; then echo -e  « ${size}${unit}\t${fname} »; break; fi; size=$((size/1024)); done; done.

Mais il n’est pas du tout pratique de se construire une représentation de l’arborescence pour agir efficacement et rapidement.

Confronté à un manque surprenant de place sur un NAS distant venant à peine d’être installé (500 Go / 1 mois), j’ai recherché un outil me permettant de trouver quel utilisateur squattait la place.

NCDU, pour NCurses Disk Usage, permet d’analyser le système de fichier, en tout cas l’arborescence dans laquelle vous vous trouvez ou celle que vous lui indiquez, et de naviguer dedans. Et de supprimer les fichiers/dossiers inutiles que vous rencontreriez.

Dans mon cas, supprimer le dossier de films de vacances (( mouais… )) d’un utilisateur a permis de retrouver de quoi travailler confortablement pour les autres.

NCDU se trouve dans les dépôts officiels, et un simple sudo apt-get install ncdu vous permettra de profiter de ce formidable cli tool.

gReemote, une remoteware pour votre freebox

Il m’arrive de mettre la télé lorsque je travaille à la maison. Non pas que je la regarde, mais je me sens moins seul et ça m’aide à ne pas perdre la notion du temps lorsque je suis absorbé par mon travail ((et il ne faut pas rater la sortie de l’école!)).

En général, je n’agis sur la télé que pour baisser le son quand les pubs se lâchent sur les décibels, ou que le programme ne me plait pas (certains « artistes » me sortent pas les yeux). Et à ce moment, je suis toujours en train de me demander où j’ai bien pu poser cette télécommande qui n’est pourtant pas discrète!

Puis je me suis dit que, vu que Free a libéré des API’s d’accès à la freebox, quelqu’un avait sans doute développé un soft pour la remplacer ((au pire, je me lançais dans le dev à ce sujet)) et je suis tombé sur ce post sur le forum Ubuntu.

Alors j’ai installé le logiciel comme indiqué dans la documentation et j’en suis très satisfait!

Simple à installer, à paramétrer, à utiliser. Un seul petit reproche ((quand même, il faut que je critique un peu)), les boutons de couleur ne sont pas en couleur, ce qui fait qu’il est parfois difficile dans les menus de la freebox d’appuyer sur le bon bouton. Au risque de faire une erreur. Ils sont notés A B X Y, mais dans les menus seules les couleurs sont indiquées ((Un coup de marqueur sur l’écran du PC pour colorer les boutons de l’interface n’est PAS une bonne idée ;oD )). Depuis la version 1.73 (et l’indication dans le commentaire de sellax), les boutons de l’interface reprennent les couleurs de la télécommande.

Autre avantage que j’y ai trouvé, c’est que mes enfants cachaient la télécommande pour qu’on ne stoppe pas la chaine de dessins animés… On éteignait mais on passait du temps à trouver cette télécommande. Désormais, je leur montre que papa est le plus fort!!!

Petites précisions:

  • Le logiciel sert à commander la freebox et ce qui est affiché sur la télé. Si vous regardez les chaines sur votre ordinateur, ça ne vous servira à rien.
  • Il ne fonctionne que si vous vous trouvez sur le réseau interne de la freebox (wifi, CPL ou ethernet). Pas de fonctionnement en freewifi (heureusement).
  • On peut choisir le débit par défaut des chaines et accéder à celles ci d’un simple clic.
  • Applet 100% opérationnel avec gnome. Il parait que ça l’est aussi pour KDE.

Depuis un mois que je l’utilise, rien à signaler, à part que tout fonctionne bien.

Résoudre « erreur segmentatione des dépendances…50% »

Aujourd’hui, après une installation propre de Maverick Meerkat et une mise à jour du système, je me suis retrouvé dans l’impossibilité d’installer quoi que ce soit…

L’erreur suivante apparaissait toujours:

manu@pctest:~$ sudo apt-get install mplayer
Lecture des listes de paquets... Fait
Erreur de segmentatione des dépendances... 50%

Aucune des commandes habituelles (apt-get -f install, apt-get update) , pas plus que la réparation des fichiers de status ne donnait de résultat positif. J’ai trouvé la solution dans un vieux post de 2005 (!).

Voici ce qu’il faut donc taper:

$ sudo rm -f /var/cache/apt/*.bin
$ sudo apt-get update

Et tout refonctionne de nouveau correctement.

PS: vous aurez noté la faute dans le message d’erreur: ce devrait être « segmentation » au lieu de « segmentatione »

Pourquoi GNU/Linux est il meilleur ?

Et comment l’expliquer simplement ?

Surtout à des gens qui n’y connaissent rien ou qui n’ont pas le temps d’écouter toutes les explications passionnées qu’on a envie de leur transmettre ?

En les envoyant sur ce site: http://www.whylinuxisbetter.net/index_fr.php?lang=fr

Et ce que je trouve excellent, c’est que chaque image, en plus de soulever une question chez le visiteur, lui apporte surtout des réponses lorsqu’il clique dessus.

Je trouve l’idée génialement simple. Pas vous?