jeudi 8 juillet 2021

Imprimante HP et openSUSE

J'ai eu quelques petits soucis lors de l'installation de mon imprimante HP dans openSUSE15.3 (kde)

Aussi je vais tout reprendre dans cet article;

En premier j'installe hplip. En ligne de commande: 

sudo zypper install hplip

Pour moi c'est le plus rapide et le plus facile. Mais on peut aussi procéder via une interface graphique

Choisir Yast software dans le menu:


puis effectuer une recherche sur hplip:


sélectionner hplip, clic droit et dans le menu contextuel qui surgit, prendre 'Installer' (évidemment sur l'image hplip est déjà noté comme étant installé). 

Ensuite dans le menu j'ouvre Yast (administration du système, en fait c'est yast2). Dans la section 'Imprimante', j'appuie sur 'Ajouter une imprimante'. Aucune imprimante n'est trouvée, mais je peux maintenant lancer hp-setup:


J'ai déjà connecté mon imprimante au réseau via mon smartphone et je connais son adresse ip, et j'ai coché et entré les informations qui conviennent  dans l'écran suivant:


Si j’avais coché comme type de connextion wifi (ce qui est pourtant le cas) j'aurais du établir une connexion usb temporaire entre l'imprimante et un ordinateur.

Je termine l'installation, puis j'ai accès au gestionnaire de l'imprimante soit via le menu:



soit en cliquant doit sur l'icone hp dans la systray:


soit en lançant la commande hp-toolbox.

Je peux vérifier les niveaux d'encre:


définir la taille du papier (A4) et sélectionner une impression recto verso. Ce genre d'impression s'effectue sans aucune manipulation de papier. Je peux prendre comme charnière virtuelle soit bord long, soit bord court.

Les soucis ont commencés lorsque j'ai voulu utiliser le scanner. L'installation d'un plugin est requise.

Hélas:


Pour en sortir, j'ai téléchargé ici les fichiers hplip-3.20.11-plugin.run et hplip-3.20.11-plugin.run.asc .

Ensuite j'ai lancé la commande

sudo sed -i 's/pool.sks-keyservers.net/keyserver.ubuntu.com/g' /usr/share/hplip/base/validation.py

qui remplace dans le fichier /usr/share/hplip/base/validation.py, pool.sks-keyservers.net par keyserver.ubuntu.com.

Bien sûr on pourrait procéder autrement: ouvrir le Gestionnaire de fichier en mode super utilisateur,


naviguer jusqu’au fichier validation.py, l'ouvrir avec un éditeur puis effectuer le remplacement. Mais un copier-coller de la commande indiquée est quand même plus rapide.

Cette fois l’installation du plugin réussit en prenant le choix qui convient:

L'installation du plugin peut se demander avec la commande hp-plugin.
Si je veux rester en mode texte la commande est

hp-plugin --plugin=~/Téléchargements -i


jeudi 20 mai 2021

Hypnotix et wayland

Wayland est devenu le protocole d’affichage par défaut pour la nouvelle version (21.04) d'Ubuntu, à la place de Xorg.

Certes il est toujours possible de choisir Xorg dans la fenêtre de connexion (en bas à droite) .

Pour vérifier ce qui est utilisé, il suffit de lancer la commande:

inxi -G


Hypnotix, le lecteur de TV développé pour Linux Mint, peut s'installer facilement dans Ubuntu (voir par exemple ici).

Il fonctionne directement sans problème avec Xorg, mais pas avec Wayland: quelques petits ajustements sont nécessaires.

Dans les préférences d'hypnotix



ajouter vo=x11 dans les options MPV


Il reste alors à lancer hypnotix avec la commande

GDK_BACKEND=x11 hypnotix

Je désire ne plus passer par la ligne de commande, mais cliquer sur une icone du menu. Ces icônes sont liées à des fichiers desktop qui se trouvent dans

/usr/share/applications

Il faut alors modifier le fichier desktop qui convient, remplacer dans la clause Exec 'hypnotix' par 'env GDK_BACKEND=x11 hypnotix'

Je peux par exemple lancer la commande

sudo sed '/Exec/s/hypnotix/env GDK_BACKEND=x11 hypnotix/' /usr/share/applications/hypnotix.desktop

ou procéder avec 

sudo gedit /usr/share/applications/hypnotix.desktop

(suite à un problème 'Editer en tant que root' ne fonctionne  actuellement pas avec Ubuntu 21.04)

Pour être certain que le menu utilise le bon fichier desktop, il reste à copier celui que l'on vient de modifier dans le répertoire personnel de l'utilisateur:

cp  /usr/share/applications/hypnotix.desktop ~/.local/share/applications/


mercredi 28 avril 2021

Hypnotix: passer à la version 1.6 avec Ubuntu

 Si dans Ubuntu, on a installé la version 1.1 d'hypnotix (comme expliqué un peu partout), on peut envisager d'installer la nouvelle version 1.6 telle qu'elle est développée pour linux mint;

Je télécharge le paquet (depuis un terminal, c'est rapide et pratique):

wget http://packages.linuxmint.com/pool/main/h/hypnotix/hypnotix_1.6_all.deb

puis je l'installe (à l'aide d'une commande):

sudo apt install ./hypnotix_1.6_all.deb

Et voilà, ça fonctionne; Hélas le fournisseur n'est plus le même et la liste des stations est fortement réduite.

Qu'à cela ne tienne, je reviens en arrière est installant l'ancien paquet, afin de récupérer l'adresse de l'ancien fournisseur.

Sur l'écran d’accueil, je clique sur la petite TV en haut à droite


puis je choisis d'éditer le fournisseur:

Erreur! 


J'affiche les détails:

Lançant hypnotix depuis un terminal, j'obtiens les mêmes infos: l'erreur est indiquée clairement.

Elle se situe ligne 799 du fichier /usr/lib/hypnotix/hypnotix.py



Je corrige l'erreur en supprimant name= dans le fichier concerné

sudo gedit /usr/lib/hypnotix/hypnotix.py

(gedit ou n'importe quel autre éditeur de textes)

Pour les allergiques à la ligne de commande, il leur est loisible de passer par le navigateur de fichiers nautilus (le paquet nautilus-admin doit avoir été installé):

Dans l'éditeur de textes, je peux facilement procéder à la correction:


Après avoir relancé le programme, j'atteins maintenant un écran où je peux copier l'adresse du fournisseur:



Cette adresse, je pourrai l'utiliser pour la nouvelle version en cliquant sur le bouton 'Ajouter un nouveau fournisseur'




Il reste à cliquer sur l'entrée du nouveau fournisseur:




lundi 1 mars 2021

rpm hypnotix pour openSUSE

Dans cet article j'avais expliqué comment sur Fedora construire facilement grâce à rpmerizor un paquet rpm pour hypnotix pour autant qu'on dispose du paquet deb.

Comme indiqué ici ce paquet peut aussi être construit et installé dans openSUSE.

Ce paquet ne fournit malheureusement aucune indication sur ce qui est requis pour que hypnotix fonctionne. Les paquets nécessaires peuvent être installés à part, mais rien empêche que l'un deux ne soit désinstallé. L'idéal est donc d'indiquer ce qui est requis dans le paquet rpm.

rpmerizor a construit non seulement le paquet mais aussi l'arborescence qui convient:


et aussi un fichier spec qui peut être modifié pour inclure les dépendances.

Dans ce fichier spec, introduire après le tag Group le tag Requires:

Summary: IPTV Player

Name: %{name}

Version: %{version}

Release: 1

License: GPL

Group: video

Requires:python3-IMDbPY python3-setproctitle typelib-1_0-XApp-1_0 python3-pycairo python3-python-mpv python3-requests python3-gobject-Gdk 

En image:



Il reste alors à régénérer le paquet rpm avec la commande

rpmbuild -bb --buildroot=/tmp/rpmerizor_buildroot ~/rpmbuild/SPECS/hypnotix-1.1.spec

A noter que toutes ces manipulations peuvent s'effectuer en tant qu'utilisateur ordinaire;

Il suffit maintenant d’installer le paquet pour que tout ce qui est nécessaire s'installe.

L'inconvénient d'un tel paquet est qu'il est maintenant valable pour une distribution donnée.

vendredi 26 février 2021

Désinstallation multiple

Je suis dans openSUSE, distribution basée sur le système de paquets rpm. J'ai installé un programme dont je ne veux plus.

La commande

sudo zypper remove -u nom-du-programme 

va désinstaller le programme en question et toutes les dépendances venues avec lui et qui sont maintenant inutiles.

Très bien, mais si j'ai effectué de nombreuses installations et que je veux revenir en arrière?

La commande

rpm -qa --last | more

permet de lister les derniers programmes installés, mais elle n'est pas très pratique ne serait-ce que pour en extraire le nom des paquets. 
Il est préférable d'utiliser la commande suivante:

rpm -qa --queryformat "%{INSTALLTIME} %{INSTALLTIME:date} %{NAME}\n" | sort -r  | awk '{print NR,$0}' | more

Le premier INSTALLTIME est nécessaire pour le tri (commande sort). La date (et l'heure) aident à déterminer quels sont les paquets à désinstaller. La géniale commande awk permet d'afficher un numéro de ligne. On peut donc déterminer que les paquets à désinstaller se trouve entre un numéro NR minimum (par exemple 6) et un numéro maximum (par exemple 58);
Il reste à procéder:

rpm -qa --queryformat "%{INSTALLTIME} %{NAME}\n" | sort -r  | awk 'NR==6,NR==58 {print $2}' | xargs sudo zypper remove

La première partie de la commande (avant | xargs) donne simplement la liste des paquets qui vont être désinstallés. En effet la ligne reçue par awk (désignée par $0) comprend deux champs ($1 et $2 séparés par un espace). xargs transmet cette liste de paquets à zypper, en tant qu'arguments.
Après le lancement de la commande, il est encore possible de refuser la changement:


il est important de vérifier le nombre de paquets qui vont être supprimés. Certains paquets sont peut-être devenus indispensables pour d'autres paquets installés ultérieurement: dans ce cas, ceux-ci seront aussi supprimés.
A part zypper, toutes les autres commandes sont indépendantes de la distribution, pourvu qu'elle utilise le système de paquets rpm.
Ainsi par exemple pour Fedora la commande serait:

rpm -qa --queryformat "%{INSTALLTIME} %{NAME}\n" | sort -r  | awk 'NR==6,NR==58 {print $2}' | xargs -o sudo dnf remove

Cependant pour Fedora, il est de loin préférable de travailler autrement. Chaque ensemble d'installations correspond à une transaction.

dnf history list

permet de repérer le ou les numéros des transactions à défaire.

dnf history info numéro

affiche les détails d’une transaction.

dnf history undo numéro

désinstalle les paquets installés lors de la transaction.

mardi 23 février 2021

Hypnotix sur openSuse

Hypnotix est lecteur IPTV développé pour Linux Mint. Il est facilement installable sur les distributins dérivées d'Ubuntu. Il peut aussi être installé et utilisé sur d'autres distribution. Dans cet article, j'avais traité de son installation sur Fedora avec un rpm construit à l'aide de rpmerizor. Cet rpm peut être installé sur openSUSE, distribution qui utilise aussi le système de paquets rpm. Pour l'installation de rpmerizor et la construction du paquet hypnotix, voir l'article précédent  (remplacer dans la commande dnf par zypper).

Ensuite, dans un terminal ouvert où se trouve le paquet:

sudo zypper install ./hypnotix-1.1-1.x86_64.rpm

Le système averti que le paquet n'est pas signé: on ignore.

La différence avec Fedora sont les dépendances à installer.

Tout d'abord il faut ajouter le dépôt packman-essentials.

Ensuite installer les paquets qui conviennent en lançant la commande:

sudo zypper install python3-IMDbPY python3-setproctitle typelib-1_0-XApp-1_0 python3-pycairo python3-python-mpv python3-requests python3-gobject-Gdk 

Par le jeu des dépendances les paquets installés par la commande sont bien plus nombreux que ceux indiqués.

Et voilà: hypnotix fonctionne très bien chez moi sur openSUSE 15.2 bureau kde


mercredi 3 février 2021

Hypnotix sur Fedora avec rpmerizor

Ce billet vient en complément avec celui-ci où il était question d'une méthode pour avoir hypnotix sur Fedora. 

Après avoir téléchargé ici le fichier hypnotix_1.1_all.deb, l'extraction du fichier deb (clic droit -> menu contextuel -> Extraire ici) conduit à la création d'un dossier hypnotix_1.1_all à ouvrir. Ensuite il reste à ouvrir data.tar.xz, puis data pour voir l'icone du dossier usr.

Puis cet usr issu du paquet deb était fusionné avec avec le dossier /usr se trouvant à la racine du système.

C'est une méthode efficace mais dangereuse car une fausse manœuvre risque de mettre tout le système par terre. De plus ce n'est pas tellement propre puisqu'il y a introduction de fichiers qui ne dépendent d'aucun paquet rpm. 

Alors pourquoi ne pas créer un paquet rpm? Pas de panique, rpmerizor rend la chose très facile. J'ai déjà parlé de cet outil dans ce message.

rpmerizor est à télécharger ici.

Ensuite j'ouvre un terminal dans le dossier de téléchargement, puis j'installe le paquet rpmerizor avec la commande:

sudo dnf install ./rpmerizor-2.10-1.noarch.rpm 

Toutes les dépendances nécessaires sont alors automatiquement téléchargées puis installées.

Puis j'ouvre un terminal au niveau du dossier hypnotix_1.1_all qui contient data (voir le message dont je parle au début) et je lance la commande

rpmerizor -name hypnotix -version 1.1 --rootdir data --nosign

Dans la sortie qui vient il suffit d'encoder quelques mots (en bleu):

name: hypnotix

version: 1.1

A brief one line description.

SUMMARY> IPTV Player

release: 1

toplevel_group/subclass (no biggie either way).

GROUP> video

A sales pitch for the package.  A blank line means you are done.

DESCRIPTION> 

mkdir /home/michel/rpmbuild

mkdir /home/michel/rpmbuild/SPECS

write spec file on /home/michel/rpmbuild/SPECS/hypnotix-1.1.spec

.....

Écrit : /home/michel/rpmbuild/RPMS/x86_64/hypnotix-1.1-1.x86_64.rpm

Et voilà le rpm est créé!

rootdir doit indiquer un dossier où se trouve uniquement usr (issu du deb).

On pourrait en modifiant le fichier spec indiquer les dépendances requises, mais pourquoi se casser la tête, il suffit de les installer (les dépôts rpmfusion doivent avoir été activés):

sudo dnf install python3-setproctitle python3-xapps-overrides mpv-libs

sudo pip install IMDbPY

Voir ici.

Pour installer le rpm nouvellement créé, ne pas utiliser dnf, mais la commande:

sudo rpm -i --replacefiles hypnotix-1.1-1.x86_64.rpm

depuis un terminal ouvert là où se trouve le rpm.

Suivant la façon dont est extrait le fichier deb puis data.tar.xz, la structure n'est pas nécessairement celle indiquée ici

Dans ce cas, il faut s'adapter. Si aucun répertoire n'a été créé lors des extractions, ouvrir un terminal où se trouve le paquet deb et exécuter en premier les commandes

mkdir data

mv usr data

Ensuite procéder comme avant.

On peut aussi donner dans la commande rpmerizor le chemin absolu vers data plutôt que le chemin relatif. 



samedi 30 janvier 2021

Hyptnotix sur Kubuntu

 Dans ce billet, j'avais déjà traité d'hypnotix. lecteur IPTV développé pour Linux Mint et pouvant s'installer facilement sur des distributions dérivées d'Ubuntu.

Après avoir téléchargé ici hypnotix_1.1_all.deb, le plus simple est d'ouvrir un terminal là où le fichier a été téléchargé et ensuite d'exécuter la commande:

sudo apt install ./hypnotix_1.1_all.deb

Toutes les dépendances nécessaires sont en principe automatiquement installées.

Ça fonctionne sans problèmes pour Ubuntu (en tout cas si le serveur X est fourni par x.org), mais pour Kubuntu, ça ne fonctionnait pas.

Les dépendances nécessaires sont celles qui sont indiquées dans le paquet deb.

On peut les retrouver facilement dans un terminal en sortie de la commande

apt show hypnotix | grep  'Depends'

Ou alors graphiquement: extraire le deb, puis control.tar.xz. Les dépendances sont indiquées dans le fichier texte 'control':


Parmi les dépendances on trouve python3-gi.
Celui-ci est bien installé, par contre une recherche lancée par

apt search python3-gi

montre qu'un python3-gi-cairo existe mais que celui-ci n'est pas installé.
Je l'installe:

sudo apt install python3-gi-cairo

et miracle: ça fonctionne!




samedi 16 janvier 2021

Hypnotix sur Fedora

Hypnotix est un outil permettant de regarder des programmes TV issus d'un flux IPTV.

Ce lecteur est au départ développé pour Linux Mint et peut s'installer facilement sur toutes les distributions dérivées de Ubuntu.

Il suffit après avoir téléchargé ici le fichier hypnotix_1.1_all.deb d'exécuter dans un terminal la commande

sudo apt install ./hypnotix_1.1_all.deb

ce qui déclenchera automatiquement l'installation de toutes les dépendances nécessaires (bien sûr, il faut que le terminal soit ouvert là où se trouve le fichier en question)

Pour Fedora, c'est une autre paire de manches: heureusement la solution se trouve ici expliquée dans cette vidéo que je vous invite à regarder.

Toutefois, voici quelques explications supplémentaires.

L'extraction du fichier deb (clic droit -> menu contextuel -> Extraire ici) conduit à la création d'un dossier hypnotix_1.1_all à ouvrir. Ensuite il reste à ouvrir data.tar.xz, puis data pour voir l'icone du dossier usr. Ci-dessous, l'arborescence générée:




Ce dossier usr issu du fichier deb sera fusionné comme expliqué dans la vidéo avec le dossier /usr se trouvant à la racine du système.

L'appel au terminal dans lequel on lance la commande

sudo nautilus

permet d'ouvrir une nouvelle instance du navigateur de fichiers avec les droits d'administrateur. Cette nouvelle instance sera la cible de l'opération copier-coller qui va suivre, l'instance initiale sera la source de cette opération

Attention si le premier menu contextuel (pour copier) est obtenu lorsque le pointeur est sur l'icône du dossier usr (issu du paquet deb), le deuxième (pour coller) est obtenu lorsque le pointeur ne survole aucune icône:




Il ne faut pas oublier d’effectuer les commandes indiquées à savoir:

sudo dnf install python3-setproctitle python3-xapps-overrides mpv-libs

sudo pip install IMDbPY

Je précise que les dépôts rpmfusion doivent avoir été activés.

Cependant pour moi ça ne marchait pas, jusqu'au moment ou j'ai choisi au moment du login 'Gnome sur Xorg' ce qui n'était pas le cas par défaut.