Archives de catégorie : Vie de FUNIX

Passage à Mageia 6 Cauldron

Récemment j’avais évoqué dans un post mon passage aux logiciels de montage vidéo sous linux OpenShot Video Editor 2.1 et kdenlive 16.08.1. Il s’avère en fait que ça marchait quand même pas très bien, hyper lent voire inutilisable pour le premier et aucune sortie vidéo pour le second ! J’avais laissé tomber pour OpenShot  et j’ai dû me résoudre à downgrader kdenlive. Je suis persuadé que mes soucis viennent de versions boguées des packages de KDE Framework 5 (KF5) de ma Mageia 5 que j’avais installés pour pouvoir utiliser les versions récentes de kdenlive qui ne fonctionnent que sous KF5 (cf. ce post). Pied au mur même si je n’aime pas du tout utiliser une version instable, j’ai fait une mise à jour vers Mageia 6 Cauldron. C’est assez simple à faire, on supprime d’abord tous les dépôts de la Mageia 5:

urpmi.removemedia -a

on rajoute ceux de la Mageia 6

urpmi.addmedia –distrib –mirrorlist ‘http://mirrors.mageia.org/api/mageia.6.$ARCH.list’

on fait une simulation d’installation en tapant

urpmi –replacefiles –auto-update –auto –download-all –test

s’il n’y a pas d’erreur, on lance alors la commande suivante

urpmi –replacefiles –auto-update –auto –download-all

et là surprise, tout a à l’air de fonctionner, l’authentification par serveur LDAP, l’automontage, l’imprimante Canon Pixma IP3600, le scanner Epson perfection v30, la tablette XL ThinLine (voir par ) et tout le reste. J’étais resté sur le souvenir de mise à jour désastreuse avec la Mandrake. Du coup pour les changements de version, je partais toujours d’une install « vierge » en conservant juste les partitions de données. J’ai toutefois un peu galéré pour refaire fonctionner ma batterie de logiciels multimédia car mon PC est avant tout une station de montage vidéo. Il faut dire que j’avais gardé les répertoires des binaires et bibliothèques de ma Mageia 5 sous /usr/local/bin et /usr/local/lib. La Mageia 6 m’avait installé les headers de ffmpeg et autres bibliothèques qui rentraient en conflit avec mes propres installations avec les sources. Au final melt me renvoyait un segmentation fault et kdenlive plantait. J’ai bien tenté d’installer le package mlt de la Mageia, kdenlive fonctionne bien, mais il est toutefois dommage qu’il y ait un tas de fonctionnalités qui ne soient pas compilées de base. On s’étonne ensuite que les gens se plaignent qu’il y ait un tas de fonctions qui ne marchent pas sous kdenlive ensuite. Je ne pouvais donc pas rester en l’état.

J’ai supprimé tout ce qu’il y avait sous /usr/local et j’ai recommencé à zéro à tout recompiler, j’ai pris soin également de supprimer des headers comme ceux de ffmpeg (avec parfois l’option –nodeps de rpm). En prenant ces précautions kdenlive 16.08.2 marche sans problème, pour OpenShot Video Editor j’ai encore un soucis d’interfaçage avec blender qu’il ne trouve pas. Quelques logiciels m’ont posé pas mal de soucis comme l’outil de montage vidéo cinelerra, d’animation 2D SynfigStudio, et lecteur audio/gestionnaire bibliothèque audio Clementine mais grosso modo tout refonctionne à nouveau.

Il y a encore quelques détails gênants qui ne fonctionnent pas correctement ou pas du tout

  • le copier/coller à partir de ou vers un shell avec vi ne fonctionne pas, c’est super pénible
  • le vidage de ma GoPro ne fonctionne plus par USB, j’ai droit à une erreur d’entrée/sortie systématique, je suis obligé d’enlever ma carte microSD pour la mettre dans un adaptateur SD
  • il y a du franglais un peu partout
  • pas moyen de mettre les faces icônes avec le gestionnaire de connexion SDDM

Mais bon globalement, quitte à me répéter, ça marche plutôt bien et ça augure d’une excellente mouture de Mageia. Il reste toutefois du travail dans les détails de finition.

J’ai mis à jour mon site funix, et en particulier les pages suivantes, ça vous donnera une idée des modifications à apporter pour les installer sous Mageia 6.

– page outils de base pour la vidéo, passage à x264-snapshot-20161007-2245, x265 2.1, et OpenCV 3.1.0 et ffmpeg 3.1.4, suppression de libfame, mjpegtools, libquicktime et libaac devenus obsolètes
– page transcodage vidéo, passage à avidemux 2.6.14, HandBrake 0.10.5
– page conteneur vidéo, passage à libmatroska 1.4.5 et mkvtoolnix 9.5.0
– page lecteur vidéo, passage à libdvdread 5.0.3, vlc 2.2.4 et MPlayer 1.3.0
– page montage vidéo, passage à kdenlive 16.08.2, LiVES 2.8.0, OpenShot Video 2.1 et blender 2.78
– page outils multimedia pour mediacenter, passage à audacious 3.8 et kodi 16.1

OpenShot Video 2.1

J’ai installé la dernière version du logiciel de montage vidéo sous linux OpenShot Video 2.1.0. Honnêtement je n’ai pas trop vu la révolution par rapport à la dernière version 1.4.3, ça reste assez basique et avec beaucoup moins de fonctionnalités que la référence sous linux kdenlive. L’installation sur ma mageia 5 à partir des sources et assez ardu, d’autant qu’il faut installer également la dernière version du logiciel de manipulation 3D blender.

Il faut que j’aille plus loin dans son utilisation, mais je rencontre des problèmes de lenteur qui m’étonne sur mon i7. Tant qu’à faire j’ai installé la dernière version des bibliothèques vidéo standards sous linux, OpenCV 3.1.0, ffmpeg 3.1.4, ainsi que kdenlive 16.08.1. Malheureusement je n’ai aucune sortie vidéo ! J’ai beau installé les dernières versions en développement de mlt et frei0r, c’est pareil. Finalement j’ai du downgrader avec la version 16.04.0.

Du coup j’ai mis à jour mon site funix avec les modifications suivantes:

– page outils de base pour la vidéo, passage à x264-snapshot-20161007-2245, x265 2.1, et OpenCV 3.1.0 et ffmpeg 3.1.4
– page transcodage vidéo, passage à avidemux 2.6.14 et HandBrake 0.10.5
– page conteneur vidéo, passage à libmatroska 1.4.5 et mkvtoolnix 9.4.2
– page lecteur vidéo, passage à libdvdread 5.0.3, vlc 2.2.4 et MPlayer 1.3.0
– page montage vidéo, passage à kdenlive 16.08.1, LiVES 2.8.0, OpenShot Video 2.1 et blender 2.78

– page outils multimedia pour mediacenter, passage à audacious 3.8 et kodi 16.1

kdenlive 16.04.0

J’ai installé la dernière version de kdenlive, à savoir la 16.04.0. Elle est présentée comme étant une version majeure de ce logiciel de montage vidéo. Elle corrige un certain nombre de bogues et autres instabilités.

Lors de l’installation j’ai remis à jour l’ensemble des bibliothèques, j’ai juste eu une incompatibilité entre la version 3.0.2 de ffmpeg et OpenCV 3.1.0 qui m’a obligé à rester à la version 3.0.0 d’OpenCV. Je suis passé également à la version 6.2.0 de mlt. A voir donc la page sur les bibliothèques vidéo ainsi que celle sur le montage vidéo sur mon site FUNIX.

Voilà un projet chargé avec cette dernière version:

kdenlive16-04Les évolutions marquantes sont:

dans le champ moniteur

  • un champ timecode (le curseur de temps) a fait son apparition dans la fenêtre de moniteur de clip et de projet. Ça peut être utile pour se repérer finement d’autant qu’on peut faire bouger le curseur par unité de 50eme de seconde.
  • les marqueurs de début et de fin de zone du moniteur de clip peuvent maintenant être déplacés à la souris.
  • on peut choisir un effet dans le champ correspondant (cf. copie d’écran) et le glisser dans la fenêtre de moniteur (clip ou projet) pour que celui-ci soit appliqué.
  • dans le champ moniteur on peut voir le niveau audio du clip ou du projet
  • on peut également afficher le nombre d’images par seconde (fps) par le menu accessible avec le bouton droit de la souris (Current Monitor Overlay->Monitor Overlay Timecode)

dans le champ de la timeline

  • rajout d’une fonction « match frame », si vous placez le curseur sur la timeline et en choisissant dans le menu accessible avec le bouton droit Clip in project bin le moniteur renvoie directement sur la même image du clip original

dans le champ effet

  • rajout d’un bouton « split compare », c’est assez génial car il permet dans le moniteur d’avoir la moitié de la vue avec l’effet et l’autre moitié sans effet, très pratique !
  • maintenant on a enfin du son quand on joue avec l’effet de ralentissement/accélération de la vidéo. Auparavant j’étais obligé de passer par OpenShot Video pour pouvoir le faire en réimportant ensuite ma séquence vidéo.
  • on peut mettre les effets qu’on utilise le plus souvent en favoris facilement accessibles en le sélectionnant puis à partir du bouton droit de la souris Add Effect to Favorites.

dans le menu project

  • apparition d’une fonction intéressante pour pouvoir intégrer un compteur à sa vidéo (Project->Generator->Counter)counterde la même manière on peut rajouter une mire TV ou du bruit de fond, utile pour créer un générique.
  • dans les titres, on peut rajouter un gradient de couleur, ainsi qu’une ombre portée.
  • à noter également qu’on peut maintenant copier un clip (Duplicate Clip), très utile pour les titres.

Performous et autres logiciels libres

J’ai découvert récemment performous qui est un clone sous linux du logiciel de karaoke SingStar qu’on peut trouver sur console de jeu, mais pas seulement puisqu’il possède également des fonctionnalités similaires à Guitar Hero et Dance Dance Revolution qu’on peut également trouver sur console. Les périphériques de ces derniers logiciels sont reconnus par performous.

Seul inconvénient il ne comprend pas de manière native les fichiers .kar ou .mid mais seulement les fichiers au format ultrastar. Il existe des bidouilles pour convertir de l’un à l’autre, mais ça reste complexe et surtout coûteux en temps. Dommage car niveau interface c’est quand même plus moderne que pykaraoke ou kmid. Pour plus de détail, voir ma page multimédia de mon site FUNIX que je viens de mettre à jour.

J’ai testé la fonctionnalité fond vert de kdenlive, c’est assez simple à mettre en œuvre avec la transition composite et l’effet chroma key. Par contre il est impératif d’avoir un fond vert bien uniforme, mes premiers essais n’ont pas été très concluants, je crains de devoir investir dans un mini studio photo si je veux aller plus loin.

A part ça je me suis rendu compte que j’avais oublié de mettre en ligne la page pour sécuriser un poste linux que je n’avais pas mise à jour depuis des années. Je l’ai adaptée avec l’arrivée de systemd et d’outils comme shorewall ou MSEC pour mageia.

kodi 16.0 Jarvis

J’ai installé la dernière version du mediacenter kodi 16.0 Jarvis, je n’ai pas vu de grandes évolutions, on trouvera le ChangeLog (en anglais) par ici. J’en ai profité pour installer l’extension vidéo youtube, mais celle par défaut ne fonctionne pas. Du coup il faut récupérer une autre extension youtube qu’on trouvera par . Elle se nomme plugin.video.youtube-master.zip et on la garde dans un coin.

Dans kodi, on  va maintenant dans Vidéos->Extensions->En obtenir plus… 2 fois on clique sur la flèche de retour (en bas à droite) jusqu’à la page Extensions puis Installer depuis un fichier zip et là on va chercher le fichier précédemment récupéré.

Quand on lance l’extension youtube, il faut d’abord cliquer sur Connexion pour l’associer à un compte youtube, et voilà ce que ça donne quand l’association est terminée.

avec mes playlists

j’en ai profité pour mettre à jour la page correspondante sur mon site FUNIX.

Développer des applications Android sous linux

J’ai eu une envie subite pour le fun de voir comment programmer une application Android sous linux. En fait ça vient du fait que je suis incapable de trouver une bête application, évidemment gratuite, pour écouter de la musique où on puisse créer une liste de lecture en cochant des titres trouvés sur la carte SD ou dans sa mémoire interne et qu’on puisse trier sur la base de critères assez simples. Alors tant qu’à faire on n’est jamais mieux servi que par soi même.

Je me rends compte que tout est fait pour faciliter ce développement, l’environnement de développement (Software Development Kit SDK) est très simple à installer, y compris sous linux. Ensuite il faut évidemment avoir quelques bases de programmation. On trouve sur internet, un tas de sites qui expliquent comment faire votre propre application, mais ils ne vont vraiment pas loin, ils se contentent d’aller jusqu’au Hello World et puis c’est tout ! J’ai repéré ce site francophone sur OpenClassRooms qui est vraiment excellent en approfondissant de manière très didactique le sujet. Ce post en anglais est également très fouillé et réellement utile.

Niveau programmation ça m’a rappelé ma jeunesse quand je pissais du code en C en utilisant les toolkits Motif/X11 pour construire son interface graphique, ça ne doit pas dire grand chose aux jeunes mais c’est la bibliothèque graphique de la grande époque d’UNIX qui a inspiré GTK+ et Qt, les bibliothèques de base respectives de Gnome et de KDE. On retrouve les mêmes principes, on définit des widgets dans un environnement de développement wysiwig, puis les évènements (callbacks) qui vont avec.

En attendant une page dédiée sous mon site Funix, pour en revenir à l’installation sous linux, on récupèrera le SDK android par , ainsi qu’un moteur JAVA dans sa version 7 par ici. On commence par installer java en tapant

urpmi jdk-7u79-linux-x64.rpm

Pour le SDK on décompresse l’archive zip en tapant

unzip android-studio-ide-141.2456560-linux.zip

cela donne le répertoire android-studio on lance l’exe qui sous bin

./studio.sh

si vous avez cette erreur

Please ensure JAVA_HOME points to JDK rather than JRE

Éditez votre fichier .bashrc et rajoutez (il faut mettre le chemin absolu de JAVA)

export JAVA_HOME=/usr/java/jdk1.7.0_79

et pour prendre en compte la modification on tape source ~/.bashrc

Pour la suite des opérations et de configuration, il y a tout un tas de sites qui décrivent très bien la configuration initiale d’Android Studio par exemple toujours celui d’OpenClassRooms ici. A un moment on se rend compte que pour lancer un périphérique virtuel (Android Virtual Device) il faut disposer de KVM (Kernel-based Virtual Machine) et d’un noyau linux compatible permettant de faire tourner plusieurs systèmes d’exploitation sur la même machine, c’est également ce qu’on appelle de la virtualisation. Pour savoir si votre noyau est compatible, on tape:

egrep ‘^flags.*(vmx|svm)’ /proc/cpuinfo

voilà le résultat avec un noyau compatible

flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts nopl xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer aes xsave avx lahf_lm ida arat epb pln pts dtherm tpr_shadow vnmi flexpriority ept vpid xsaveopt

maintenant sous Mageia 5 on installe KVM en tapant simplement urpmi kvm. On relance le PC, ce n’est pas fini ! Il faut aller dans le bios, sur mon portable ThinkPad x220 j’ai une option Virtualization et j’ai mis à enabled les options Intel (R) Virtualization technology et Intel (R) VT-d Feature. Voilà à quoi ressemble l’environnement de développement

Voilà le programme que j’ai tapé, je suis parti des sources du programme Hello World par défaut et je me suis inspiré des sites cités plus haut. Les puristes et ayatollahs de la programmation m’excuseront, mais ça fait des années (pour ne pas dire des décennies) que je n’ai pas programmé et en plus je découvre totalement la programmation Android ! J’ai tout simplement construit une interface qui permet de saisir un chiffre qu’on multiplie par 2 ensuite, c’est tout bête ! Voilà le fichier principal avec l’implantation des callbacks

import android.os.Bundle;
import android.view.KeyEvent;
import android.view.MotionEvent;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.View.OnKeyListener;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.EditText;
import android.widget.RadioGroup;
import android.widget.TextView;
import android.widget.Toast;
import android.text.TextWatcher;
import android.text.Editable;

public class MainActivity extends AppCompatActivity {

private final String defaut = « Vous devez cliquer sur le bouton pour obtenir un résultat. »;
Button envoyer = null;
EditText nombre = null;
TextView result = null;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);

// On récupère toutes les vues dont on a besoin
envoyer = (Button)findViewById(R.id.button);
//calcul = (Button)findViewById(R.id.button);
nombre = (EditText)findViewById(R.id.editText);
result = (TextView)findViewById(R.id.textView4);

// On attribue un listener adapté aux vues qui en ont besoin
envoyer.setOnClickListener(envoyerListener);
nombre.addTextChangedListener(textWatcher);

nombre.setOnKeyListener(modificationListener);
}

// Se lance à chaque fois qu’on appuie sur une touche en étant sur un EditText
private OnKeyListener modificationListener = new OnKeyListener() {
@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
// On remet le texte à sa valeur par défaut pour ne pas avoir de résultat incohérent
result.setText(defaut);
return false;
}
};

private TextWatcher textWatcher = new TextWatcher() {
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
result.setText(defaut);
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
}
@Override
public void afterTextChanged(Editable s) {
}
};

// Uniquement pour le bouton « Calcul »
private OnClickListener envoyerListener = new OnClickListener() {

@Override
public void onClick(View v) {
// On récupère le nombre
String t = nombre.getText().toString();
float tValue = Float.valueOf(t);
// Puis on vérifie que le nombre est pas égal à 0
if (tValue == 0)
Toast.makeText(MainActivity.this, « Hého, pas de zéro ! »,                                                        Toast.LENGTH_SHORT).show();
else {
float resultat = tValue / 2;
result.setText(« Le résultat est  » + String.valueOf(resultat));
}
}
};

@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.menu_main, menu);
return true;
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();

//noinspection SimplifiableIfStatement
if (id == R.id.action_settings) {
return true;
}

return super.onOptionsItemSelected(item);
}
}

Je vous invite à parcourir OpenClassRooms pour comprendre ces quelques lignes. Maintenant pour tester le programme, il faut créer un périphérique virtuel, j’ai pris par défaut le Nexus 5 avec Android 4.2 Jelly Bean puisque mon téléphone portable physique Acer Z130 fonctionne avec la version 4.2.2.

Sur le screenshot ci-dessus, je n’avais pas encore configuré KVM d’où le message en rouge, cela semble facultatif, sauf que l’émulateur ne se lançait pas sans… Cela donne cela ensuite avec un Nexus 5 virtuel.

Je ne vous cache pas qu’il faut avoir une machine bien puissante, la compilation et la virtualisation demandent pas mal de ressources, et je ne parle pas quand on passe en mode debogage. Maintenant pour pouvoir le faire tourner sur un vrai portable, il y a quelques manips à mener au niveau, dans les options pour les développeurs, il faut activer le débogage USB et passer en mode PTP (appareil photo) et non mass storage. Et voilà le résultat !

Mise à jour de mon site FUNIX

J’ai mis à jour mon site funix, les dernières modifications portent sur les pages suivantes:

pages divers
– page ma config, j’ai rajouté une copie de mon écran Mageia5  avec KF5 (plasma 5)

pages multimedia
– page outils de base pour la vidéo, passage à xvid 1.3.4, x264  20160205-2245, x265 1.9, opencv 3.0.0 et ffmpeg 2.8.6
– page transcodage vidéo/copie DVD, passage à HandBrake 0.10.3, la compilation m’a donné du fil à retordre, je vous laisse découvrir précisément
– page conteneur vidéo, passage à libmatroska 1.4.4, mkvtoolnix 8.8.0, idem pour ce dernier j’ai du faire appel à son auteur pour comprendre pourquoi il ne voulait pas construire le GUI
– page lecteur vidéo, passage à libdvdcss 1.4.0, libdvbpsi 1.3.0 et MPlayer 1.2.1, avec ce dernier je n’arrive toujours pas à compiler avec les options CDDB et live555, les erreurs sont vraiment rédhibitoires et vraiment trop lourdingues à corriger
– page montage vidéo, passage à mlt 0.9.8, kdenlive 15.12.1, LiVES 2.6.0, cinelerra 4.6.1, synfigstudio 1.0.2 et blender 2.76b, pour kdenlive j’ai laissé la possibilité de l’installation sous Qt4 ou avec KF5 (plasma 5)
– page outils multimedia pour mediacenter, passage à audacious 3.7.1 et kodi 15.2, présentation de l’installation d’une base de données centralisée de kodi en utilisant MySQL, cela permet ainsi à plusieurs utilisateurs sur plusieurs machines différentes du réseau d’avoir accès à la même base. Présentation également du gestionnaire de média WiMM pour pouvoir faire du rangement dans sa base de données multimedia à partir d’un navigateur.

pages ludiques et jeux
– page sur le jeu heroïc fantasy worldforge passage au client ember 0.7.2 et serveur cyphesis 0.6.3, cela fait à peine 8 ans que je ne l’avais pas mise à jour !
– page simulateur de vol FlightGear, passage à SimGear et FlighGear 3.4.0

Dans la page de téléchargement
Mise à jour des documents suivants pour prise en compte des modifications ci-dessus
– vidéo sous linux

Et pour illustrer le tout, voilà un Morane Saulnier MS406 en vol au dessus de Brest avec FlightGear 3.4.0

Lancer une fenêtre interactive avec systemd

j’ai un portable ThinkPad X220 avec mageia 5 qui utilise les services d’authentification utilisateur par LDAP et d’automontage NFS de mon serveur perso Dell PowerEdge T310, Il se trouve que quand je suis en déplacement avec mon portable, les services NFS et LDAP restent actifs et génèrent des timeouts qui sont super pénibles. Je me suis donc creusé la tête pour pouvoir choisir au boot entre un mode maison et un mode mobile avant que l’interface graphique de login se lance.

En tout seigneur tout honneur, je me suis inspiré de ce site https://mespotesgeek.fr/fr/execution-dun-script-interactif-au-boot-avec-systemd/ qui a été lui même inspiré par https://alan-mushi.github.io/2014/10/26/execute-an-interactive-script-at-boot-with-systemd.html

j’ai donc créé le service /etc/systemd/system/choix.service contenant

[Unit]
Description=Service pour passer en mode maison ou mobile
After=getty@tty2.service

[Service]
Type=oneshot
ExecStart=/usr/bin/choix-mode.sh
StandardInput=tty
TTYPath=/dev/tty2
TTYReset=yes
TTYVHangup=yes

[Install]
WantedBy=multi-user.target

pour le détail des paramètres, je vous renvoie aux sites cités plus haut. Revenons à notre script /usr/bin/choix-mode.sh il va contenir

#!/bin/bash

sleep 5

chvt 2

mode=$(whiptail –title « Mode connexion » –radiolist \
« Quel est ton mode de connexion » 15 60 4 \
« Connecte » « Je suis à la maison » ON \
« Mobile » « Je suis en mode mobile » OFF 3>&1 1>&2 2>&3)

exitstatus=$?
if [ $exitstatus -ne 0 ]; then
mode= »Connecte »
fi

if [ $mode == ‘Mobile’ ]; then
systemctl stop nslcd
systemctl stop autofs
fi

chvt 1

par défaut Mageia boote sur la console tty1, on bascule à un moment sur la console tty2 (chvt 2) la fenêtre s’affiche, on fait notre choix et rebascule sur la console de boot tty1 (chvt 1). La commande sleep au tout début du script est nécessaire sinon on n’a pas la main sur la fenêtre. De même si 3>&1 1>&2 2>&3 n’apparait pas à la fin de la commande whiptail, rien ne s’affiche. On donne des droits d’exécutable à notre script en tapant:

chmod 755 choix-mode.sh

Il faudra veiller à avoir le package newt installé pour bénéficier la commande gérant les fenêtres de dialogue whiptail. On active maintenant le service en tapant  systemctl enable choix.service. On reboote et voilà le résultat

 

 

La photo est un peu pourrave, mais on voit que ça marche ! Par contre problème sous Mageia les messages de systemd s’affichent par dessus la fenêtre, c’est plutôt pénible. J’ai bien essayé de jouer avec l’affichage sur les différentes consoles mais c’est à croire que les messages s’affichent indifféremment sur toutes les consoles. Je n’ai rien trouvé de mieux que de passer le boot en mode silencieux. Pour cela on édite le fichier /boot/grub/menu.lst et on rajoute les commandes suivantes (en gras)

kernel (hd0,4)/boot/vmlinuz BOOT_IMAGE=linux root=UUID=56f67d09-fddc-49f2-83c3-8c3c20378f90  splash quiet loglevel=0 noiswmd resume=UUID=b59a03aa-47
44-4ace-ad91-10f8109817b8 vga=788 systemd.show_status=0

ce n’est pas fini, on crée le fichier /etc/sysctl.d/20-quiet-printk.conf qui contient

kernel.printk = 3 3 3 3

on reboote et plus de messages indésirables, that’s all folks !!

J’en ai profité pour mettre à jour ma page sur mon site funix sur le démarrage de linux, 16 ans que je ne l’avais pas mise à jour ! C’est devenu une page sur la gestion des services et du démarrage avec systemd.

Migration vers KDE Frameworks 5 avec mageia 5

Pour résoudre mon problème d’installation de kdenlive 15.12.0, j’ai du me résoudre à migrer mon environnement KDE de QT4/KDE4 vers KDE Frameworks 5 avec plasma 5. C’est une petite révolution car ça change considérablement mon environnement graphique et ça m’a bien perturbé d’autant que j’avais mes petites habitudes héritées des premières versions de KDE d’il y a une quinzaine d’années. Comme je suis habitué aux principes des icônes sur le bureau, je les ai recréé avec des widgets, j’ai rajouté également des widgets pour connaître la température des composants internes et l’utilisation des ressources CPU et RAM.

plasma5Tout n’est pas parfait, il y a un mélange d’anglais/français, le centre de contrôle de Mageia (CCM) ne se lance plus, j’ai perdu KDM pour le login, KDE ne gère plus le son (mais j’ai bien le son avec les applications), bref y a encore un peu de travail pour que ça soit parfait.

A part ça kdenlive 15.12.0 marche sans problème vu qu’il est codé pour s’intégrer parfaitement avec KF5.

j’ai également mis à jour les logiciels de montage vidéo cinelerra vers la version 4.6.1, et LiVES vers la version 2.4.6, et logiciel de création d’animation 2D Synfig Studio vers la bersion 1.0.2. J’en ai profité pour mettre à jour la page sur le montage vidéo sur mon page FUNIX.

Copie de DVD et région

Je copie petit à petit tous mes DVD dans un but de sauvegarde car j’ai moyennement confiance dans la pérennité des DVD, j’utilise HandBrake comme décrit sur cette page de mon site FUNIX. J’ai quelques soucis pour certains DVD notamment les plus récents, le système linux les voit bien mais il est incapable de les décoder alors que libdvdcss est bien installé. Ca se traduit par des erreurs diverses, du style, avec lsdvd:

libdvdread: Can’t seek to block 3835444
libdvdread: Can’t seek to block 3835444
libdvdread: Can’t seek to block 3884532
libdvdread: Can’t seek to block 3884532

ou bien encore avec HandBrake:

hb_demux_ps: not a PS packet (00000000)

(…)

libhb: scan thread found 0 valid title(s)

et avec VLC:

libdvdread: Error cracking CSS key for /VIDEO_TS/VTS_06_0.VOB

En fait c’est une histoire de code de région du DVD et du lecteur DVD. C’est à dire que certains DVD avec le code Europe ne marcheront que si le lecteur DVD est configuré pour la région Europe. Donc l’idée est de voir quelle est la région par défaut du lecteur et éventuellement pouvoir la changer. Il existe un petit soft qui s’appelle regionset qu’on peut trouver . Pour le compiler c’est tout simple, il suffit de taper make puis de copier l’exe quelque part sous /usr/local/bin. Quand on tape regionset en tant que root, cela donne cela:

Current drive parameters for /dev/dvd:
RPC Type: Phase II (Hardware)
RPC Status: no region code set (bitmask=0xFF)
Vendor may reset the RPC 4 times
User is allowed change the region setting 5 times

Par défaut mon lecteur DVD n’était pas configuré ce qui explique que ça passait pour certains DVD (les plus anciens généralement) mais pas pour les plus récents. A noter les dernières phrases, on ne pourra changer la configuration du lecteur que 5 fois ! Ensuite c’est terminé ! Donc ça sera vite impossible de copier des DVD venant de différentes régions. Dans la suite de la  commande on a

Would you like to change the region setting for this drive? [y/n]: y
Enter the new region number for your drive [1..8]: 2
New RPC bitmask is 0xFD, ok? [y/n]: y
Region code set successfully.

On met donc 2 pour le code Europe et pour le bitmask, et là magique ça marche !