mardi 15 décembre 2020

Chromium et linux mint

Depuis quelque temps, Ubuntu impose que chromium soit installé à partir d'un paquet snap. Le paquet deb traditionnel est en fait un paquet de transition. 

Linux Mint dérive de Ubuntu, le problème est que Linux Mint ne veut pas de snap: il en résulte des problèmes pour ceux qui veulent installer chromium.

Ces problèmes peuvent être contournés via l'ajout d'un ppa par la commande:

sudo add-apt-repository ppa:xalt7x/chromium-deb-vaapi

Mais une bonne nouvelle est arrivée: chromium est enfin disponible via flatpak, comme on peut le constater en exécutant la commande

flatpak search chromium

En image:


Donc plus besoin de ppa, installons via flatpak avec la commande:

sudo flatpak install org.chromium.Chromium

Bien sûr cela suppose que flatpak est déjà opérationnel avec le dépôt flathub activé (ce qui est en principe le cas dans linux mint).

Tout semble bien parti, mais ce message tue notre enthousiasme:

Error: org.chromium.Chromium needs a later flatpak version

A moi le ppa qui convient, fournissant une version plus récente de flatpak:

sudo add-apt-repository ppa:alexlarsson/flatpak

Puis:

sudo apt update 

sudo apt upgrade

Ensuite flatpak ayant changé de version

sudo flatpak uninstall --unused

Output chez moi:

       ID                                           Branch          Op

 1. [-] org.freedesktop.Platform.GL.default          19.08           r

 2. [-] org.freedesktop.Platform                     19.08           r

 3. [-] org.freedesktop.Platform.Locale              19.08           r


Maintenant l'installation de chromium via la commande flatpak se déroule sans encombres.

Notons quand même qu'avec Fedora ou Ubuntu 20.10  et d'autres distributions encore, il n'y aurait pas eu de problèmes concernant la version de flatpak.

dimanche 8 novembre 2020

flatpak: downgrade provisoire de wps-office

J'ai dans cet article expliqué comment installer wps-office avec flatpak. L'avantage, outre le fait de garder wps-office à jour, était de pouvoir choisir une interface en français. Cette possibilité a actuellement disparu. Mais pas de panique: il suffit d'effectuer un downgrade de wps-office, de récupérer cette interface pour ensuite l'utiliser avec la nouvelle version de wps-office. Je vais montrer comment procéder.

Tout d'abord rechercher la version qui nous intéresse (on procède dans un émulateur de terminal):

flatpak remote-info --log flathub com.wps.Office

L'output est conséquent:


Je choisis le commit

ba2ffc297b6f827ea285d20d1e699793af2fb53cc102e7015593db8d2f75d438

correspondant à la version 11.1.0.9522.
j'installe cette version:

sudo flatpak update --commit=ba2ffc297b6f827ea285d20d1e699793af2fb53cc102e7015593db8d2f75d438 com.wps.Office

Ensuite je vais là où se trouve l'interface en français:

cd /var/lib/flatpak/app/com.wps.Office/current/active/files/share/wps/office6/mui

Je procède à une copie de cet interface après avoir créer un dossier de sauvegarde:

mkdir ~/wps-mui
cp -R fr_FR ~/wps-mui/

Je réinstalle la nouvelle version de wps-office:

sudo flatpak update

Ensuite je copie l'interface où il convient:

cd /var/lib/flatpak/app/com.wps.Office/current/active/files/extra/wps-office/office6/mui/
sudo cp -R ~/wps-mui/fr_FR .

(Le point de la commande est important: il est mis pour le répertoire où on est)

Certains modules installés avec l'ancienne version sont devenus inutiles. On peut les enlever:

sudo flatpak uninstall --unused

Pour la vérification orthographique, rien de changé par rapport à ce que j'ai écrit ici :

Pour rappel le dictionnaire peut s'installer avec la commande:

sudo unzip fr_FR.zip -d /var/lib/flatpak/app/com.wps.Office/current/active/files/extra/wps-office/office6/dicts/spellcheck/

pour autant que l'on soit là où se trouve le fichier zip, où alors il faut indiquer le chemin complet vers ce fichier.

dimanche 31 mai 2020

Libreoffice avec flatpak et postgresql

Voulant utiliser la dernière version de libreoffice, j'ai choisi une installation via flatpak.
J'ai procédé en ligne de commande:

$ sudo flatpak install flathub org.libreoffice.LibreOffice

Ceci suppose que certaines manipulations ont dèjà été effectuées, comme l'installation de flatpak, du dépôt flathub....

Je voulais cette dernière version à cause d'un bug dans base: je vais donc d'abord essayer d'établir une connexion à une base de données postgresql nommée bdtest.
Je lance libreoffice base et passe par les étapes suivantes:




Il reste à tester la connexion:


Aie: le serveur accepte les connexions sur le socket /var/run/postgresql/.s.PGSQL.5432.
Je modifie l'entrée unix_socket_directories du fichier postgresql.conf:

unix_socket_directories = '/var/run/postgresql, /tmp'

Après un redémarrage du serveur, en exécutant la commande

$ sudo netstat -nlp | grep 'PGSQL'

nous constatons l'existence de deux sockets:


Mais rien de changé: toujours la même erreur!
N'oublions pas qu'il sagit d'une version flatpak de libreoffice: certains droits sont regis par le bac à sable dans lequel libreoffice tourne. Une documentation au sujet de ces droits existe ici.
On y trouve les infos:

These directories are blacklisted: /lib, /lib32, /lib64, /bin, /sbin, /usr, /boot, /root, /tmp, /etc, /app, /run, /proc, /sys, /dev, /var
These directories are mounted under /var/run/host: /etc, /usr

Je donne accès à /tmp:

$ sudo flatpak override org.libreoffice.LibreOffice --filesystem=/tmp

Cette fois ça fonctionne: je peux me connecter.

Si je ne veux pas toucher au bac à sable, j'ajoute host=localhost après le nom de la base de données:


ce qui oblige à une connexion via la boucle locale, donc sans utilisation de socket et sans accès à /tmp.
Dans pg_hba.conf, je remplace dans la ligne adéquate md5 par ident (car je ne veux pas entrer de mot de passe):

# "local" is for Unix domain socket connections only
local   all             all                                     peer map=map01
# IPv4 local connections:
host    all             all             127.0.0.1/32            ident map=map01

Redémarrage de postgresql et puis:


Caramba: encore raté.

En fait il faut installer oidentd:

$ sudo apt install oidentd

Je vais maintenant essayer une connexion java. Avant tout, il faut agir au niveau des options java de libreoffice: passer par 'Chemins de classe', puis ajouter une archive: /var/run/host/usr/share/java/postgresql.jar:


(On se rappelle que dans le bac à sable /usr est monté dans /var/run/host/)

Ensuite:




Aie: problèmes d'authentification avec ident:


Il faut ajouter
-Djava.net.preferIPv4Stack=true
aux paramètres de démarrage java:


Et ça fonctionne.

On peut aussi remplacer ident par md5.
Attention le mot de passe à fournir est un mot de passe postgresql, qui peut par exemple être fixé dans un terminal psql:








samedi 30 mai 2020

Deuxième service postgresql

J'installe postgresql 10, je pousuis par la création d'un utilisateur et d'une base de données (bdtest).
Ensuite j'effectue quelques petits changements sur les fichiers pg_hba.conf et pg_ident.conf (situés dans /etc/postgresql/10/main/ ou ailleurs, ça dépend des distributions). Ces changements nécessitent un redémarrage de postgresql.

$ sudo systemctl restart postgresql

Problème:

$ psql bdtest
psql: could not connect to server: Aucun fichier ou dossier de ce type
 Is the server running locally and accepting
 connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"?

Pas de soucis, la commande suivante va me donner les info adéquates:

$ systemctl status postgresql

● postgresql.service - PostgreSQL RDBMS
   Loaded: loaded (/lib/systemd/system/postgresql.service; enabled; vendor preset: enabled)
   Active: active (exited) since Wed 2020-05-27 17:04:51 +04; 2min 20s ago
  Process: 3277 ExecStart=/bin/true (code=exited, status=0/SUCCESS)
 Main PID: 3277 (code=exited, status=0/SUCCESS)

mai 27 17:04:51 michel-rigel systemd[1]: Starting PostgreSQL RDBMS...
mai 27 17:04:51 michel-rigel systemd[1]: Started PostgreSQL RDBMS.

Tous semble normal.
Il y a quand même un gros problème:

$ ss -nlt | grep 5432

Aucun retour!
Je continue à investiguer:

$ systemctl list-units postgresql*
  UNIT                       LOAD   ACTIVE SUB    DESCRIPTION               
  postgresql.service         loaded active exited PostgreSQL RDBMS          
● postgresql@10-main.service loaded failed failed PostgreSQL Cluster 10-main

En fait un deuxième service s'est planté.

La commande

$ systemctl status postgresql@10-main

donne maintenant les infos qui permettent de corriger le problème (une erreur dans pg_hba.conf).
Je corrige l'erreur puis

$ sudo systemctl restart postgresql

et ça repart.

mardi 25 février 2020

wps pdf

Les nouvelles versions de wps office offrent la particularité de pouvoir ouvrir des pdf. Mais aucune interface en français n'est prévue.


Ce n'est pas tellement handicapant car il s'agit seulement de lire des pdf.
Cependant si je désire imprimer:




Aie! C'est en chinois.
Mais ce n'est pas le cas si l'anglais américain (en_US) est choisi au niveau de writer. Je désire malgré tout conserver l'interface en français au niveau de writer, de la feuille de calcul, de présentation.
Voici la manip à effectuer (dans un terminal):

sudo -i

Pour devenir root (administrateur), ensuite:

cd /opt/kingsoft/wps-office/office6/mui/
cp -i en_US/pdf.qm default/

Et voilà!


Ceci si wps office a été installé à partir d'un paquet classique (deb ou rpm)

Si un paquet flatpak a été uitilisé la commande cd (change directory) est différente

cd /var/lib/flatpak/app/com.wps.Office/current/active/files/extra/wps-office/office6/mui

La manip ci-dessus (copier un fichier là où ça convient) peut s'effectuer également sous interface graphique (mais il faut procéder en root).

Avec flatpak, en cas de mise à jour du produit, il faut recommencer (tout comme pour le dictionnaire, voir ici)

Actuellement la version de wps office qui vient avec un paquet snap est une ancienne version, sans lecture de pdf.

mardi 15 octobre 2019

Convertir avec vlc

Vlc est surtout utilisé pour lire des vidéos, mais on peut aussi s'en servir pour changer le format d'un fichier vidéo.
Je commence par le menu 'Média->Convertir/Enregistrer':


Ensuite je choisis les fichiers dont je veux changer le format:



Et le format désiré après un appui sur 'Convertir/enregistrer':


Un appui sur 'Démarrer' et c'est parti.

Aie:


Pour avoir plus d'infos, je relance vlc en ligne de commande (depuis un émulateur de terminal):

 

Effectivement, avant le message fatal (cannot open VP80...), je trouve des explications intéressantes:

[libvpx @ 0x7f1df80d42e0] [Eval @ 0x7f1e065f8ec0] Invalid chars '.0' at the end of expression '1.0'
[libvpx @ 0x7f1df80d42e0] Unable to parse option value "1.0"
[libvpx @ 0x7f1df80d42e0] Error setting option qsquish to value 1.0.
[00007f1df800cb60] avcodec encoder error: cannot open VP80 video encoder
[00007f1e0ca40b90] stream_out_transcode stream out error: cannot find video encoder (module:any fourcc:VP80). Take a look few lines earlier to see possible reason.

Tout ça parce que les américains, les anglais et d'autres permutent 'point' et 'virgule' dans l'écriture chiffrée des nombres.
Par exemple, ils écrivent mille comme ceci: '1,000'

En fait il faut lancer vlc avec la commande: LC_NUMERIC=C vlc et tout se passe bien.

Si on écrivait LC_ALL=C vlc, tout se passerait bien également, mais vlc serait entièrement en anglais.

Pour ceux qui ne savent pas comment trouver un émulateur de terminal, il suffit de faire une recherche avec 'ter' parmi les applications (dans ubuntu par exemple):


samedi 10 août 2019

chromium widevine

Widevine permet de lire certains contenus protégés.

Avec chrome ou avec firefox, c'est déjà inclus, mais pas avec chromium.

Résolution du problème:

Tout d'abord je télécharge ici les fichiers qui conviennent.

Ensuite (dans un terminal)

$ cd
$ cd Téléchargements
$ sudo unzip 4.10.1440.18-linux-x64.zip -d /usr/lib/chromium-browser/




Le répertoire de décompression peut varier d'une distribution à l'autre.
La version de widevine peut aussi varier et le lien donné ici pointera dans le futur vers une ancienne version.

Je relance chromium et ça fonctionne (pour moi et avec ubuntu).

Dans opensuse, on peut procéder comme ci-dessus mais on décompressera le zip dans /usr/lib64/chromium/ (système 64 bits)
Si le dépôt packman (ou packman-essentials) est actif, il suffit d'installer le paquet  chromium-plugin-widevinecdm.

EDIT: Dans Ubuntu 19.10, chromium vient avec un snap.
La démarche à suivre est:

$ mkdir  ~/snap/chromium/current/.local/lib/ 
$ cd
$ cd Téléchargement
$ unzip 4.10.1440.18-linux-x64 -d ~/snap/chromium/current/.local/lib/